

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

# Creazione di una tabella con una policy basata su risorse
<a name="rbac-create-table"></a>

[Puoi aggiungere una policy basata sulle risorse mentre crei una tabella utilizzando la console DynamoDB, l'[CreateTable](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_CreateTable.html)API, AWS CLI l'SDK o un modello.AWS](rbac-attach-resource-based-policy.md#rbac-attach-policy-java-sdk) CloudFormation 

## AWS CLI
<a name="rbac-create-table-CLI"></a>

L'esempio seguente crea una tabella denominata utilizzando il comando. *MusicCollection* `create-table` AWS CLI Questo comando include anche il parametro `resource-policy` che aggiunge una policy basata su risorse alla tabella. Questo criterio consente *John* all'utente di eseguire le azioni [RestoreTableToPointInTime[GetItem](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_GetItem.html)](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_RestoreTableToPointInTime.html), e [PutItem](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_PutItem.html)API 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\"
                }
            ]
        }"
```

## Console di gestione AWS
<a name="rbac-create-table-console"></a>

1. Accedi Console di gestione AWS e apri la console DynamoDB all'indirizzo. [https://console.aws.amazon.com/dynamodb/](https://console.aws.amazon.com/dynamodb/)

1. Nella dashboard, seleziona **Crea tabella**.

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

1. In **Impostazioni tabella**, seleziona **Personalizza impostazioni**.

1. (Facoltativo) Specifica le opzioni per **Classe tabella**, **Calcolatore di capacità**, **Impostazioni di capacità in scrittura/lettura**, **Indici secondari**, **Crittografia dei dati inattivi** e **Protezione da eliminazione**.

1. In **Policy basata sulle risorse**, aggiungi una policy per definire le autorizzazioni di accesso per la tabella e i relativi indici. In questa policy si specificano gli utenti che hanno accesso a queste risorse e le azioni che è consentito eseguire su ciascuna risorsa. Per aggiungere una policy, procedi in uno dei seguenti modi:
   + Digitare o incollare un documento di policy JSON. Per i dettagli sul linguaggio della policy IAM, consulta [Creating policies using the JSON editor](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html#access_policies_create-json-editor) nella *Guida per l’utente di IAM*.
**Suggerimento**  
**Per vedere esempi di policy basate su risorse nella Guida per gli sviluppatori di Amazon DynamoDB, seleziona Esempi di policy**.
   + Seleziona **Aggiungi nuova istruzione** per aggiungere una nuova istruzione e inserisci le informazioni nei campi forniti. Ripeti questo passaggio per tutte le istruzioni che desideri aggiungere.
**Importante**  
Assicurati di risolvere gli avvisi di sicurezza, gli errori o i suggerimenti prima di salvare la policy.

   Il seguente esempio di policy IAM consente *John* all'utente di eseguire le azioni [RestoreTableToPointInTime[GetItem](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_GetItem.html)](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_RestoreTableToPointInTime.html), e [PutItem](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_PutItem.html)API sulla tabella. *MusicCollection*

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

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "AWS": "arn:aws:iam::123456789012:user/username"
         },
         "Action": [
           "dynamodb:RestoreTableToPointInTime",
           "dynamodb:GetItem",
           "dynamodb:PutItem"
         ],
         "Resource": "arn:aws:dynamodb:us-east-1:123456789012:table/MusicCollection"
       }
     ]
   }
   ```

------

1. (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, puoi verificare se introduce nuovi risultati di IAM Access Analyzer o risolve i risultati esistenti. Se non è presente uno strumento di analisi attivo, scegli **Go to Access Analyzer** (Passa a strumento analisi accessi) per [creare uno strumento di analisi degli account](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-getting-started.html#access-analyzer-enabling) in IAM Access Analyzer. Per ulteriori informazioni, consulta [Preview access](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-access-preview.html).

1. Scegliere **Create table (Crea tabella)**.

## AWS CloudFormation modello
<a name="rbac-create-table-cfn"></a>

------
#### [ Using the AWS::DynamoDB::Table resource ]

Il CloudFormation modello seguente crea una tabella con un flusso utilizzando la risorsa [AWS: :DynamoDB: :Table](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html). Questo modello include anche policy basate su risorse e collegate sia alla tabella che al flusso.

```
{
    "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::](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html) 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": "*"
                                    }]
                                }
                            }
                        }
                    }
                ]
            }
        }
    }
}
```

------