AWS::DynamoDB::Table ResourcePolicy - AWS CloudFormation

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

AWS::DynamoDB::Table ResourcePolicy

Crea o aggiorna un documento di policy basato sulle risorse che contiene le autorizzazioni per le DynamoDB risorse, come una tabella, i relativi indici e lo stream. Le politiche basate sulle risorse consentono di definire le autorizzazioni di accesso specificando chi ha accesso a ciascuna risorsa e le azioni che può eseguire su ciascuna risorsa.

In un CloudFormation modello, puoi fornire la politica in formato JSON o YAML perché CloudFormation converte YAML in JSON prima di inviarla. DynamoDBPer ulteriori informazioni sulle politiche basate sulle risorse, vedere Utilizzo delle politiche basate sulle risorse per ed Esempi di politiche basate sulle risorse. DynamoDB

Durante la definizione delle politiche basate sulle risorse nei modelli, valgono le seguenti considerazioni: CloudFormation

  • La dimensione massima supportata per un documento di policy basato sulle risorse in formato JSON è di 20 KB. DynamoDB conta gli spazi bianchi nel calcolo della dimensione di una politica rispetto a questo limite.

  • Le politiche basate sulle risorse non supportano il rilevamento delle deviazioni. Se aggiorni una policy al di fuori del modello di CloudFormation stack, dovrai aggiornare lo stack con le CloudFormation modifiche.

  • Le politiche basate sulle risorse non supportano le modifiche. out-of-band Se aggiungi, aggiorni o elimini una politica all'esterno del CloudFormation modello, la modifica non verrà sovrascritta se non ci sono modifiche alla politica all'interno del modello.

    Ad esempio, supponiamo che il modello contenga una politica basata sulle risorse, che successivamente aggiornerai al di fuori del modello. Se non apporti alcuna modifica alla politica nel modello, la politica aggiornata DynamoDB non verrà sincronizzata con la politica nel modello.

    Al contrario, supponiamo che il modello non contenga una politica basata sulle risorse, ma che tu aggiunga una politica esterna al modello. Questa politica non verrà rimossa DynamoDB finché non la aggiungi al modello. Quando aggiungi una politica al modello e aggiorni lo stack, la politica esistente DynamoDB verrà aggiornata in modo che corrisponda a quella definita nel modello.

Per un elenco completo di tutte le considerazioni, consulta Considerazioni sulle politiche basate sulle risorse.

Sintassi

Per dichiarare questa entità nel AWS CloudFormation modello, utilizza la seguente sintassi:

JSON

{ "PolicyDocument" : Json }

YAML

PolicyDocument: Json

Proprietà

PolicyDocument

Un documento di policy basato sulle risorse che contiene le autorizzazioni per l'aggiunta alla DynamoDB tabella, all'indice o a entrambi specificati. In un CloudFormation modello, puoi fornire la policy in formato JSON o YAML perché CloudFormation converte YAML in JSON prima di inviarla a. DynamoDBPer ulteriori informazioni sulle politiche basate sulle risorse, vedere Utilizzo delle politiche basate sulle risorse per ed Esempi di politiche basate sulle risorse. DynamoDB

Campo obbligatorio: sì

Type: Json

Aggiornamento richiesto: nessuna interruzione

Esempi

Allegare una politica basata sulle risorse a una tabella e al relativo flusso DynamoDB

Il CloudFormation modello seguente crea una tabella denominata MusicCollectionTable e allega a tale tabella una politica basata sulle risorse. Questo criterio consente all'utente di foobar eseguire l'GetItemoperazione sulla tabella. Inoltre, il modello seguente abilita uno stream e quindi allega allo stream una policy basata sulle risorse. La politica basata sulle risorse per lo stream consente all'utente di eseguire le operazioni e foobar le operazioni sullo GetRecordsstream. GetShardIteratorDescribeStream

Importante

Se abiliti uno stream all'interno di un CloudFormation modello e definisci anche una policy per lo stream, la policy viene allegata allo stream solo dopo che lo stream è stato abilitato, ma prima del completamento dell'aggiornamento dello stack.

JSON

{ "AWSTemplateFormatVersion": "2010-09-09", "Resources": { "MusicCollectionTable": { "Type": "AWS::DynamoDB::Table", "Properties": { "AttributeDefinitions": [ { "AttributeName": "Artist", "AttributeType": "S" } ], "KeySchema": [ { "AttributeName": "Artist", "KeyType": "HASH" } ], "BillingMode": "PROVISIONED", "ProvisionedThroughput": { "ReadCapacityUnits": 5, "WriteCapacityUnits": 5 }, "StreamSpecification": { "StreamViewType": "OLD_IMAGE", "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": "*" } ] } } }, "TableName": "MusicCollection", "ResourcePolicy": { "PolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Principal": { "AWS": [ "arn:aws:iam::111122223333:user/foobar" ] }, "Effect": "Allow", "Action": "dynamodb:GetItem", "Resource": "*" } ] } } } } } }