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": "*" } ] } } } } } }