AWS::DynamoDB::GlobalTable ResourcePolicy - AWS CloudFormation

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.

AWS::DynamoDB::GlobalTable ResourcePolicy

Crée ou met à jour un document de politique basé sur les ressources qui contient les autorisations relatives aux DynamoDB ressources, telles qu'une table, ses index et un flux. Les politiques basées sur les ressources vous permettent de définir les autorisations d'accès en spécifiant qui a accès à chaque ressource et les actions qu'ils sont autorisés à effectuer sur chaque ressource.

Dans un CloudFormation modèle, vous pouvez fournir la politique au format JSON ou YAML, car il CloudFormation convertit le YAML en JSON avant de l'envoyer à. DynamoDBPour plus d'informations sur les politiques basées sur les ressources, consultez les sections Utilisation de politiques basées sur les ressources DynamoDB et exemples de politiques basées sur les ressources.

Lorsque vous définissez des politiques basées sur les ressources dans vos CloudFormation modèles, les considérations suivantes s'appliquent :

  • La taille maximale prise en charge pour un document de politique basé sur les ressources au format JSON est de 20 Ko. DynamoDB compte les espaces blancs lors du calcul de la taille d'une politique par rapport à cette limite.

  • Les politiques basées sur les ressources ne prennent pas en charge la détection des dérives. Si vous mettez à jour une politique en dehors du modèle de CloudFormation pile, vous devrez mettre à jour la CloudFormation pile avec les modifications.

  • Les politiques basées sur les ressources ne prennent pas en charge out-of-band les modifications. Si vous ajoutez, mettez à jour ou supprimez une politique en dehors du CloudFormation modèle, la modification ne sera pas remplacée si aucune modification n'est apportée à la politique dans le modèle.

    Supposons, par exemple, que votre modèle contienne une politique basée sur les ressources, que vous mettez à jour ultérieurement en dehors du modèle. Si vous n'apportez aucune modification à la politique du modèle, la politique mise à jour DynamoDB ne sera pas synchronisée avec la politique du modèle.

    Inversement, supposons que votre modèle ne contienne pas de stratégie basée sur les ressources, mais que vous ajoutiez une politique en dehors du modèle. Cette politique ne sera pas supprimée DynamoDB tant que vous ne l'ajouterez pas au modèle. Lorsque vous ajoutez une politique au modèle et que vous mettez à jour la pile, la politique existante est mise à jour pour correspondre à celle définie dans le modèle. DynamoDB

  • Dans le cadre d'une politique basée sur les ressources, si l'action permettant à un rôle DynamoDB lié à un service (SLR) de répliquer les données d'une table globale est refusée, l'ajout ou la suppression d'une réplique échouera avec une erreur.

  • La AWS GlobalTable ressource ::DynamoDB : : ne prend pas en charge la création d'une réplique dans la même mise à jour de pile dans des régions autres que la région où vous déployez la mise à jour de pile.

Pour une liste complète de toutes les considérations, voir Considérations relatives aux politiques basées sur les ressources.

Syntaxe

Pour déclarer cette entité dans votre AWS CloudFormation modèle, utilisez la syntaxe suivante :

JSON

{ "PolicyDocument" : Json }

YAML

PolicyDocument: Json

Propriétés

PolicyDocument

Document de politique basé sur les ressources qui contient les autorisations d'ajout à la DynamoDB table spécifiée, à ses index et à son flux. Dans un CloudFormation modèle, vous pouvez fournir la politique au format JSON ou YAML, car il CloudFormation convertit le YAML en JSON avant de l'envoyer à. DynamoDBPour plus d'informations sur les politiques basées sur les ressources, consultez les sections Utilisation de politiques basées sur les ressources DynamoDB et exemples de politiques basées sur les ressources.

Obligatoire : oui

Type : Json

Requis pour la mise à jour : aucune interruption

Exemples

Attacher une politique basée sur les ressources à une DynamoDB table créée à l'aide de la AWS::DynamoDB::GlobalTable ressource.

Le CloudFormation modèle suivant crée une table avec la AWS GlobalTable ressource ::DynamoDB : : et attache une politique basée sur les ressources à la table et à son flux. Cette politique permet foobar à l'utilisateur d'effectuer l'GetItemopération sur la table. En outre, le modèle suivant active un flux, puis y associe une politique basée sur les ressources. La politique basée sur les ressources pour le flux permet foobar à l'utilisateur d'effectuer les DescribeStreamopérations GetRecordsGetShardIterator, et sur le flux.

Important

Si vous activez un flux dans un CloudFormation modèle et que vous définissez également une politique pour le flux, la politique n'est attachée au flux qu'une fois le flux activé, mais avant que la mise à jour de la pile ne soit terminée.

JSON

{ "AWSTemplateFormatVersion": "2010-09-09", "Resources": { "GlobalMusicCollection": { "Type": "AWS::DynamoDB::GlobalTable", "Properties": { "TableName": "MusicCollection", "AttributeDefinitions": [{ "AttributeName": "Artist", "AttributeType": "S" }], "KeySchema": [{ "AttributeName": "Artist", "KeyType": "HASH" }], "BillingMode": "PAY_PER_REQUEST", "StreamSpecification": { "StreamViewType": "NEW_AND_OLD_IMAGES" }, "Replicas": [ { "Region": "us-east-1", "ResourcePolicy": { "PolicyDocument": { "Version": "2012-10-17", "Statement": [{ "Principal": { "AWS": [ "arn:aws:iam::111122223333:user/foobar" ] }, "Effect": "Allow", "Action": "dynamodb:GetItem", "Resource": "*" }] } }, "ReplicaStreamSpecification": { "ResourcePolicy": { "PolicyDocument": { "Version": "2012-10-17", "Statement": [{ "Principal": { "AWS": "arn:aws:iam::111122223333:user/foobar" }, "Effect": "Allow", "Action": [ "dynamodb:GetRecords", "dynamodb:GetShardIterator", "dynamodb:DescribeStream" ], "Resource": "*" }] } } } } ] } } } }