View a markdown version of this page

Beispiel 3: Verweigern Sie den Stream-Zugriff, sofern kein bestimmtes Tag vorhanden ist - Amazon DynamoDB

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Beispiel 3: Verweigern Sie den Stream-Zugriff, sofern kein bestimmtes Tag vorhanden ist

Mithilfe des aws:TagKeys Bedingungsschlüssels können Sie das Taggen eines Streams verweigern, es sei denn, ein erforderlicher Tag-Schlüssel ist in der Anfrage enthalten.

Verwendung der AWS CLI

  1. Fügen Sie einer Rolle, die über DynamoDB-Zugriff verfügt, eine vom Kunden verwaltete Richtlinie hinzu, wie im folgenden Beispiel gezeigt.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "dynamodb:TagResource" ], "Resource": "arn:aws:dynamodb:*:*:table/*/stream/*", "Condition": { "Null": { "aws:TagKeys": "false" }, "ForAllValues:StringNotEquals": { "aws:TagKeys": "CostCenter" } } } ] }
  2. Nehmen Sie die Rolle an und versuchen Sie, einen Stream mit einem Tag-Schlüssel zu taggen, der dies nicht ist. CostCenter

    aws dynamodb tag-resource \ --resource-arn arn:aws:dynamodb:us-east-1:123456789012:table/myMusicTable/stream/2024-01-01T00:00:00.000 \ --tags Key=Department,Value=Engineering

Verhalten mit und ohne Streams (ABAC)

Ohne Streams ABAC

Wenn Streams ABAC für Sie nicht aktiviert ist AWS-Konto, sendet DynamoDB die Tag-Schlüssel in der Anfrage nicht an IAM. Die Null Bedingung stellt sicher, dass die Bedingung als falsch ausgewertet wird, wenn die Anforderung keine Tagschlüssel enthält. Da die Deny-Richtlinie nicht übereinstimmt, wird der tag-resource Befehl erfolgreich abgeschlossen.

Mit Streams ABAC

Wenn Streams ABAC für Sie aktiviert ist AWS-Konto, wird der Tag-Schlüssel anhand des bedingungsbasierten Tag-Schlüssels ausgewertet, der in der CostCenter Deny-Richtlinie enthalten Department ist. Der Tag-Schlüssel stimmt aufgrund des Operators Department nicht mit dem Tag-Schlüssel überein, der in der Deny-Richtlinie enthalten istStringNotEquals. Daher schlägt die TagResource Aktion fehl und gibt eine zurückAccessDeniedException.