

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
<a name="streams-abac-example-1"></a>

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 übereinstimmen.

## Verwendung der AWS CLI
<a name="streams-abac-example-1-cli"></a>

1. 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
   ```

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
   ```

1. Erstellen Sie eine [Inline-Richtlinie](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#inline-policies) 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 die `GetRecords` Operationen `DescribeStream` und, wenn das Tag des Streams mit dem in der Richtlinie angegebenen Schlüssel „Team“ und dem Wert „Analytics“ übereinstimmt.

1. Nehmen Sie die Rolle mit der in Schritt 3 beschriebenen Richtlinie an.

1. Verwenden Sie den `describe-stream` AWS CLI-Befehl im Stream.

   ```
   aws dynamodb describe-stream \
     --stream-arn $STREAM_ARN \
     --region us-east-1
   ```

## Verhalten mit und ohne Streams (ABAC)
<a name="streams-abac-example-1-behavior"></a>

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 `DescribeStream` Aktion gibt ein zurück`AccessDeniedException`, weil keine Richtlinie die Aktion ohne übereinstimmende Tag-Bedingungen zulässt.

Mit Streams ABAC  
Wenn Streams ABAC für Sie aktiviert ist AWS-Konto, wird die `DescribeStream` Aktion 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.