Crea una tabella con una policy basata sulle risorse - Amazon DynamoDB

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à.

Crea una tabella con una policy basata sulle risorse

È possibile aggiungere una policy basata sulle risorse durante la creazione di una tabella utilizzando la console DynamoDB,,, CreateTableAPIo un modello. AWS CLIAWS SDK AWS CloudFormation

L'esempio seguente crea una tabella denominata MusicCollection utilizzando il create-table AWS CLI comando. Questo comando include anche il resource-policy parametro che aggiunge una politica basata sulle risorse alla tabella. Questa politica consente all'utente John per eseguire le PutItemAPIazioni RestoreTableToPointInTimeGetItem, e sulla tabella.

Ricordati di sostituire il italicized testo con le informazioni specifiche della risorsa.

aws dynamodb create-table \ --table-name MusicCollection \ --attribute-definitions AttributeName=Artist,AttributeType=S AttributeName=SongTitle,AttributeType=S \ --key-schema AttributeName=Artist,KeyType=HASH AttributeName=SongTitle,KeyType=RANGE \ --provisioned-throughput ReadCapacityUnits=5,WriteCapacityUnits=5 \ --resource-policy \ "{ \"Version\": \"2012-10-17\", \"Statement\": [ { \"Effect\": \"Allow\", \"Principal\": { \"AWS\": \"arn:aws:iam::123456789012:user/John\" }, \"Action\": [ \"dynamodb:RestoreTableToPointInTime\", \"dynamodb:GetItem\", \"dynamodb:DescribeTable\" ], \"Resource\": \"arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection\" } ] }"
  1. Accedi AWS Management Console e apri la console DynamoDB all'indirizzo. https://console.aws.amazon.com/dynamodb/

  2. Nella dashboard, scegli Crea tabella.

  3. In Dettagli della tabella, inserisci il nome della tabella, la chiave di partizione e i dettagli della chiave di ordinamento.

  4. In Impostazioni tabella, scegli Personalizza impostazioni.

  5. (Facoltativo) Specificate le opzioni per la classe di tabella, il calcolatore della capacità, le impostazioni della capacità di lettura/scrittura, gli indici secondari, la crittografia a riposo e la protezione da eliminazione.

  6. Nella politica basata sulle risorse, aggiungi una politica per definire le autorizzazioni di accesso per la tabella e i relativi indici. In questa politica, si specifica chi ha accesso a tali risorse e le azioni che è consentito eseguire su ciascuna risorsa. Per aggiungere una politica, esegui una delle seguenti operazioni:

    • Digitate o incollate un documento di JSON policy. Per i dettagli sul linguaggio delle IAM policy, consulta Creazione di policy using the JSON editor nella Guida IAM per l'utente.

      Suggerimento

      Per vedere esempi di policy basate sulle risorse nella Amazon DynamoDB Developer Guide, scegli Esempi di policy.

    • Scegli Aggiungi nuova dichiarazione per aggiungere una nuova dichiarazione e inserisci le informazioni nei campi forniti. Ripeti questo passaggio per tutte le istruzioni che desideri aggiungere.

    Importante

    Assicurati di risolvere eventuali avvisi, errori o suggerimenti di sicurezza prima di salvare la politica.

    Il seguente esempio IAM di policy consente all'utente John per eseguire le PutItemAPIazioni RestoreTableToPointInTimeGetItem, e sulla tabella MusicCollection.

    Ricordati di sostituire il italicized testo con le informazioni specifiche della risorsa.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:user/John" }, "Action": [ "dynamodb:RestoreTableToPointInTime", "dynamodb:GetItem", "dynamodb:PutItem" ], "Resource": "arn:aws:dynamodb:us-east-1:123456789012:table/MusicCollection" } ] }
  7. (Facoltativo) Scegli Preview external access (Anteprima accesso esterno) nell'angolo in alto a destra per visualizzare in anteprima in che modo la nuova policy influisce sull'accesso pubblico e multi-account alla risorsa. Prima di salvare la policy, è possibile verificare se introduce nuovi risultati di IAM Access Analyzer o risolve i risultati esistenti. Se non vedi un analizzatore attivo, scegli Vai a Access Analyzer per creare un analizzatore di account in Access Analyzer. IAM Per ulteriori informazioni, consulta Accesso in anteprima.

  8. Scegliere Create table (Crea tabella).

Using the AWS::DynamoDB::Table resource

Il CloudFormation modello seguente crea una tabella con un flusso utilizzando la risorsa AWS: :DynamoDB: :Table. Questo modello include anche politiche basate sulle risorse che sono allegate sia alla tabella che allo stream.

{ "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/John" }, "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/John" ] }, "Effect": "Allow", "Action": "dynamodb:GetItem", "Resource": "*" } ] } } } } } }
Using the AWS::DynamoDB::GlobalTable resource

Il CloudFormation modello seguente crea una tabella con la GlobalTable risorsa AWS: :DynamoDB:: e allega una policy basata sulle risorse alla tabella e al relativo flusso.

{ "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/John" ] }, "Effect": "Allow", "Action": "dynamodb:GetItem", "Resource": "*" }] } }, "ReplicaStreamSpecification": { "ResourcePolicy": { "PolicyDocument": { "Version": "2012-10-17", "Statement": [{ "Principal": { "AWS": "arn:aws:iam::111122223333:user/John" }, "Effect": "Allow", "Action": [ "dynamodb:GetRecords", "dynamodb:GetShardIterator", "dynamodb:DescribeStream" ], "Resource": "*" }] } } } } ] } } } }