

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.

# Verwenden der attributbasierten Zugriffskontrolle mit DynamoDB Streams
<a name="abac-streams"></a>

DynamoDB Streams unterstützt die attributebasierte Zugriffskontrolle (ABAC), dieselbe Autorisierungsstrategie, die unter beschrieben ist. [Verwenden ressourcenbasierter Richtlinien für DynamoDB](attribute-based-access-control.md) Mit DynamoDB Streams ABAC hängen Sie Tags an Ihre Streams an und verwenden tagbasierte Bedingungen in Ihren IAM-Richtlinien, um den Zugriff darauf zu kontrollieren.

Stream-Ressourcen erben keine Tags aus ihrer übergeordneten Tabelle, und Sie können Tags in Streams unabhängig voneinander verwalten. Sie können bis zu 50 Tags für jeden DynamoDB-Stream hinzufügen. Die maximale Größe, die für alle Tags in einem Stream unterstützt wird, beträgt 10 KB. Weitere Informationen zum Taggen von DynamoDB-Ressourcen und zu Tagging-Einschränkungen finden Sie unter und. [Hinzufügen von Tags und Labels zu Ressourcen in DynamoDB](Tagging.md) [Markierungseinschränkungen in DynamoDB](Tagging.md#TaggingRestrictions)

Sie können den ResourceTag Bedingungsschlüssel [aws:](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourcetag) verwenden, um den Zugriff auf einen Stream auf der Grundlage der Tags, die an diesen Stream angehängt sind, zuzulassen oder zu verweigern. Die folgende Richtlinie erlaubt beispielsweise die `GetRecords` Aktion für jeden Stream, der den Tag-Schlüssel `environment` mit dem Wert enthält`production`.

```
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "dynamodb:GetRecords"
      ],
      "Resource": "arn:aws:dynamodb:*:*:table/*/stream/*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/environment": "production"
        }
      }
    }
  ]
}
```

**Topics**
+ [Bedingungsschlüssel zur Implementierung von ABAC mit DynamoDB Streams](#condition-keys-implement-abac-streams)
+ [Überlegungen zur Verwendung von ABAC mit DynamoDB Streams](#abac-considerations-streams)
+ [ABAC für DynamoDB Streams aktivieren](abac-enable-streams.md)
+ [ABAC mit DynamoDB Streams verwenden](abac-implementation-streams.md)
+ [Beispiele für die Verwendung von ABAC mit DynamoDB Streams](abac-examples-streams.md)
+ [Behebung häufiger ABAC-Fehler für DynamoDB Streams](abac-troubleshooting-streams.md)

## Bedingungsschlüssel zur Implementierung von ABAC mit DynamoDB Streams
<a name="condition-keys-implement-abac-streams"></a>

DynamoDB Streams ABAC verwendet dieselben Bedingungsschlüssel wie DynamoDB-Tabellen:, und. `aws:ResourceTag/tag-key` `aws:RequestTag/tag-key` `aws:TagKeys` Eine Beschreibung der einzelnen Bedingungsschlüssel finden Sie unter [Bedingungsschlüssel für die Implementierung von ABAC mit DynamoDB](attribute-based-access-control.md#condition-keys-implement-abac). Das folgende Verhalten ist spezifisch für DynamoDB Streams:
+ Die Bedingungsschlüssel gelten für die DynamoDB-Streams-APIs, die mit einem Stream arbeiten, einschließlich [TagResource](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_TagResource.html)`UntagResource`, und Lese-APIs wie. `GetRecords`
+ Wenn DynamoDB Streams ABAC für Ihr Konto nicht aktiviert ist, werden die `aws:ResourceTag` Bedingungen so ausgewertet, als ob keine Tags an die Stream-Ressource angehängt wären.

## Überlegungen zur Verwendung von ABAC mit DynamoDB Streams
<a name="abac-considerations-streams"></a>

Wenn Sie ABAC mit DynamoDB Streams verwenden, gelten die folgenden Überlegungen:
+ ABAC für DynamoDB Streams ist von ABAC für DynamoDB-Tabellen getrennt. Wenn Sie ABAC für Tabellen aktivieren, wird es nicht automatisch für Streams in Ihrem Konto aktiviert. Sie müssen beide unabhängig voneinander aktivieren.
+ Sie können einen Stream markieren oder die Markierung aufheben, nachdem seine übergeordnete Tabelle gelöscht wurde, indem Sie die CLI oder das SDK `tag-resource` und `list-tags-of-resource` Befehle im Stream-ARN verwenden. `untag-resource` Der Stream ist nach dem Löschen der Tabelle noch 24 Stunden lang vorhanden, bevor er entfernt wird. Diese Funktion ist in der Konsole oder CloudFormation nach dem Löschen der Tabelle nicht verfügbar.
+ Wenn Sie CloudFormation Ihre DynamoDB-Ressourcen verwalten, stellen Sie sicher, dass Ihre Servicerolle über `dynamodb:ListTagsOfResource` Berechtigungen für Stream-Ressourcen verfügt`dynamodb:TagResource`. `dynamodb:UntagResource`