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 1: Stream-Lesezugriff mit aws zulassen: ResourceTag
Mithilfe des aws:ResourceTag/tag-key Bedingungsschlüssels können Sie das in einer IAM-Richtlinie angegebene Tag-Schlüssel-Wert-Paar mit dem Schlüssel-Wert-Paar vergleichen, das an einen DynamoDB-Stream angehängt ist. Sie können beispielsweise GetRecords Stream-Operationen zulassen, wenn die Tag-Bedingungen erfüllt sind.
Verwendung der AWS CLI
-
Erstellen Sie eine Tabelle mit aktiviertem Stream und fügen Sie ein Tag hinzu.
aws dynamodb create-table \ --table-name myMusicTable \ --attribute-definitions AttributeName=id,AttributeType=S \ --key-schema AttributeName=id,KeyType=HASH \ --provisioned-throughput ReadCapacityUnits=5,WriteCapacityUnits=5 \ --stream-specification StreamEnabled=true,StreamViewType=NEW_AND_OLD_IMAGES \ --region us-east-1 -
Fügen Sie dem Stream ein Tag hinzu. Rufen Sie zunächst den Stream-ARN aus der Tabellenbeschreibung ab.
STREAM_ARN=$(aws dynamodb describe-table \ --table-name myMusicTable \ --query "Table.LatestStreamArn" \ --output text \ --region us-east-1) aws dynamodb tag-resource \ --resource-arn $STREAM_ARN \ --tags Key=Team,Value=Analytics \ --region us-east-1 -
Erstellen Sie eine Inline-Richtlinie und fügen Sie sie einer Rolle hinzu, wie im folgenden Beispiel gezeigt.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "dynamodb:DescribeStream", "dynamodb:GetRecords" ], "Resource": "arn:aws:dynamodb:*:*:table/*/stream/*", "Condition": { "StringEquals": { "aws:ResourceTag/Team": "Analytics" } } } ] }Diese Richtlinie ermöglicht
GetRecordsOperationenDescribeStreamund, wenn das Tag des Streams dem Schlüssel „Team“ und dem Wert „Analytics“ entspricht, die in der Richtlinie angegeben sind. -
Übernehmen Sie die Rolle mit der in Schritt 3 beschriebenen Richtlinie.
-
Verwenden Sie den
describe-streamAWS CLI-Befehl für den Stream.aws dynamodb describe-stream \ --stream-arn $STREAM_ARN \ --region us-east-1
Verhalten mit und ohne Streams ABAC
- Ohne Streams ABAC
-
Wenn Streams ABAC für Sie nicht aktiviert ist AWS-Konto, stimmen die Tag-Bedingungen in der IAM-Richtlinie und im DynamoDB-Stream nicht überein. Die
DescribeStreamAktion gibt einen zurück,AccessDeniedExceptionweil keine Richtlinie die Aktion zulässt, ohne dass die Tag-Bedingungen erfüllt sind. - Mit Streams ABAC
-
Wenn Streams ABAC für Sie aktiviert ist AWS-Konto, wird die
DescribeStreamAktion erfolgreich abgeschlossen. Das liegt daran, dass die Inline-Richtlinie die Aktion zulässt, wenn die Tag-Bedingungen in der IAM-Richtlinie und im Stream übereinstimmen.