

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Utilisation du contrôle d'accès basé sur les attributs avec DynamoDB Streams
<a name="abac-streams"></a>

DynamoDB Streams prend en charge le contrôle d'accès basé sur les attributs (ABAC), selon la même stratégie d'autorisation décrite dans. [Utilisation de politiques basées sur des ressources pour DynamoDB](attribute-based-access-control.md) Avec DynamoDB Streams ABAC, vous associez des balises à vos flux et vous utilisez des conditions basées sur des balises dans vos politiques IAM afin d'en contrôler l'accès.

Les ressources de flux n'héritent pas des balises de leur table parente et vous pouvez gérer les balises des flux de manière indépendante. Vous pouvez ajouter jusqu'à 50 balises pour chaque flux DynamoDB. La taille maximale prise en charge pour toutes les balises d'un flux est de 10 Ko. Pour plus d'informations sur le balisage des ressources DynamoDB et les restrictions de balisage, consultez et. [Ajout de balises et d’étiquettes aux ressources dans DynamoDB](Tagging.md) [Restrictions d’étiquetage dans DynamoDB](Tagging.md#TaggingRestrictions)

Vous pouvez utiliser la clé de ResourceTag [ condition ](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourcetag) aws : pour autoriser ou refuser l'accès à un flux en fonction des balises associées à ce flux. Par exemple, la politique suivante autorise l'`GetRecords`action sur n'importe quel flux qui inclut la clé de balise `environment` avec la valeur`production`.

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

**Topics**
+ [Clés de condition pour implémenter ABAC avec DynamoDB Streams](#condition-keys-implement-abac-streams)
+ [Considérations relatives à l'utilisation d'ABAC avec DynamoDB Streams](#abac-considerations-streams)
+ [Activation d'ABAC pour les flux DynamoDB](abac-enable-streams.md)
+ [Utilisation d'ABAC avec DynamoDB Streams](abac-implementation-streams.md)
+ [Exemples d'utilisation d'ABAC avec DynamoDB Streams](abac-examples-streams.md)
+ [Résolution des erreurs ABAC courantes pour DynamoDB Streams](abac-troubleshooting-streams.md)

## Clés de condition pour implémenter ABAC avec DynamoDB Streams
<a name="condition-keys-implement-abac-streams"></a>

DynamoDB Streams ABAC utilise les mêmes clés de condition que les tables DynamoDB :, et. `aws:ResourceTag/tag-key` `aws:RequestTag/tag-key` `aws:TagKeys` Pour obtenir une description de chaque clé de condition, consultez [Clés de condition pour mettre en œuvre ABAC avec DynamoDB](attribute-based-access-control.md#condition-keys-implement-abac). Le comportement suivant est spécifique à DynamoDB Streams :
+ Les clés de condition s'appliquent aux API DynamoDB Streams qui fonctionnent sur un flux, y compris [ TagResource ](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_TagResource.html)`UntagResource`, et aux API de lecture telles que. `GetRecords`
+ Lorsque DynamoDB Streams ABAC n'est pas activé pour votre compte, `aws:ResourceTag` les conditions sont évaluées comme si aucune balise n'était attachée à la ressource de flux.

## Considérations relatives à l'utilisation d'ABAC avec DynamoDB Streams
<a name="abac-considerations-streams"></a>

Lorsque vous utilisez ABAC avec DynamoDB Streams, les considérations suivantes s'appliquent :
+ ABAC pour DynamoDB Streams est distinct de l'ABAC pour les tables DynamoDB. L'activation d'ABAC pour les tables ne l'active pas automatiquement pour les streams de votre compte. Vous devez activer chacun de manière indépendante.
+ Vous pouvez baliser ou annuler le balisage d'un flux après la suppression de sa table parent, à l'aide de l'interface de ligne de commande ou du SDK `tag-resource` et des `list-tags-of-resource` commandes de l'ARN du flux. `untag-resource` Le flux continue d'exister pendant 24 heures après la suppression de la table avant d'être supprimé. Cette fonctionnalité n'est pas disponible via la console ou CloudFormation après la suppression de la table.
+ Si vous l'utilisez CloudFormation pour gérer vos ressources DynamoDB, assurez-vous que votre rôle de service dispose `dynamodb:TagResource` des `dynamodb:ListTagsOfResource` autorisations nécessaires pour `dynamodb:UntagResource` les ressources de streaming.