

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

# Identity and Access Management per Amazon DynamoDB
<a name="security-iam"></a>





AWS Identity and Access Management (IAM) è un servizio Servizio AWS che aiuta un amministratore a controllare in modo sicuro l'accesso alle AWS risorse. Gli amministratori IAM controllano chi può essere *autenticato* (chi ha effettuato l'accesso) e *autorizzato* (chi dispone di autorizzazioni) a utilizzare le risorse DynamoDB. IAM è un software Servizio AWS che puoi utilizzare senza costi aggiuntivi.

**Topics**
+ [Destinatari](#security_iam_audience)
+ [Autenticazione con identità](#security_iam_authentication)
+ [Gestione dell’accesso tramite policy](#security_iam_access-manage)
+ [Funzionamento di Amazon DynamoDB con IAM](security_iam_service-with-iam.md)
+ [Esempi di policy basate su identità per Amazon DynamoDB](security_iam_id-based-policy-examples.md)
+ [Risoluzione dei problemi relativi all'identità e all'accesso di Amazon DynamoDB](security_iam_troubleshoot.md)
+ [Policy IAM per impedire l'acquisto di capacità riservata DynamoDB](iam-policy-prevent-purchase-reserved-capacity.md)

## Destinatari
<a name="security_iam_audience"></a>

Il modo in cui utilizzi AWS Identity and Access Management (IAM) varia in base al tuo ruolo:
+ **Utente del servizio**: richiedi le autorizzazioni all’amministratore se non riesci ad accedere alle funzionalità (consulta [Risoluzione dei problemi relativi all'identità e all'accesso di Amazon DynamoDB](security_iam_troubleshoot.md))
+ **Amministratore del servizio**: determina l’accesso degli utenti e invia le richieste di autorizzazione (consulta [Funzionamento di Amazon DynamoDB con IAM](security_iam_service-with-iam.md))
+ **Amministratore IAM**: scrivi policy per gestire l’accesso (consulta [Esempi di policy basate su identità per Amazon DynamoDB](security_iam_id-based-policy-examples.md))

## Autenticazione con identità
<a name="security_iam_authentication"></a>

L'autenticazione è il modo in cui accedi AWS utilizzando le tue credenziali di identità. Devi autenticarti come utente IAM o assumendo un ruolo IAM. Utente root dell'account AWS

Puoi accedere come identità federata utilizzando credenziali provenienti da una fonte di identità come AWS IAM Identity Center (IAM Identity Center), autenticazione Single Sign-On o credenziali. Google/Facebook Per ulteriori informazioni sull’accesso, consulta [Come accedere all’ Account AWS](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html) nella *Guida per l’utente di Accedi ad AWS *.

Per l'accesso programmatico, AWS fornisce un SDK e una CLI per firmare crittograficamente le richieste. Per ulteriori informazioni, consulta [AWS Signature Version 4 per le richieste API](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html) nella *Guida per l’utente di IAM*.

### Account AWS utente root
<a name="security_iam_authentication-rootuser"></a>

 Quando si crea un Account AWS, si inizia con un'identità di accesso denominata *utente Account AWS root* che ha accesso completo a tutte Servizi AWS le risorse. Consigliamo vivamente di non utilizzare l’utente root per le attività quotidiane. Per le attività che richiedono le credenziali dell’utente root, consulta [Attività che richiedono le credenziali dell’utente root](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks) nella *Guida per l’utente IAM*. 

### Identità federata
<a name="security_iam_authentication-federated"></a>

Come procedura ottimale, richiedi agli utenti umani di utilizzare la federazione con un provider di identità per accedere Servizi AWS utilizzando credenziali temporanee.

Un'*identità federata* è un utente della directory aziendale, del provider di identità Web o Directory Service che accede Servizi AWS utilizzando le credenziali di una fonte di identità. Le identità federate assumono ruoli che forniscono credenziali temporanee.

Per la gestione centralizzata degli accessi, si consiglia di utilizzare AWS IAM Identity Center. Per ulteriori informazioni, consulta [Che cos’è il Centro identità IAM?](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html) nella *Guida per l’utente di AWS IAM Identity Center *.

### Utenti e gruppi IAM
<a name="security_iam_authentication-iamuser"></a>

Un *[utente IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html)* è una identità che dispone di autorizzazioni specifiche per una singola persona o applicazione. Ti consigliamo di utilizzare credenziali temporanee invece di utenti IAM con credenziali a lungo termine. *Per ulteriori informazioni, consulta [Richiedere agli utenti umani di utilizzare la federazione con un provider di identità per accedere AWS utilizzando credenziali temporanee](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-users-federation-idp) nella Guida per l'utente IAM.*

Un [https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html) specifica una raccolta di utenti IAM e semplifica la gestione delle autorizzazioni per gestire gruppi di utenti di grandi dimensioni. Per ulteriori informazioni, consulta [Casi d’uso per utenti IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/gs-identities-iam-users.html) nella *Guida per l’utente di IAM*.

### Ruoli IAM
<a name="security_iam_authentication-iamrole"></a>

Un *[ruolo IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)* è un’identità con autorizzazioni specifiche che fornisce credenziali temporanee. Puoi assumere un ruolo [passando da un ruolo utente a un ruolo IAM (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-console.html) o chiamando un'operazione AWS CLI o AWS API. Per ulteriori informazioni, consulta [Metodi per assumere un ruolo](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage-assume.html) nella *Guida per l’utente di IAM*.

I ruoli IAM sono utili per l’accesso degli utenti federati, le autorizzazioni utente IAM temporanee, l’accesso multi-account, l’accesso multi-servizio e le applicazioni in esecuzione su Amazon EC2. Per maggiori informazioni, consultare [Accesso a risorse multi-account in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) nella *Guida per l’utente IAM*.

## Gestione dell’accesso tramite policy
<a name="security_iam_access-manage"></a>

Puoi controllare l'accesso AWS creando policy e associandole a AWS identità o risorse. Una policy definisce le autorizzazioni quando è associata a un'identità o a una risorsa. AWS valuta queste politiche quando un preside effettua una richiesta. La maggior parte delle politiche viene archiviata AWS come documenti JSON. Per maggiori informazioni sui documenti delle policy JSON, consulta [Panoramica delle policy JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json) nella *Guida per l’utente IAM*.

Utilizzando le policy, gli amministratori specificano chi ha accesso a cosa definendo quale **principale** può eseguire **azioni** su quali **risorse** e in quali **condizioni**.

Per impostazione predefinita, utenti e ruoli non dispongono di autorizzazioni. Un amministratore IAM crea le policy IAM e le aggiunge ai ruoli, che gli utenti possono quindi assumere. Le policy IAM definiscono le autorizzazioni indipendentemente dal metodo utilizzato per eseguirle.

### Policy basate sull’identità
<a name="security_iam_access-manage-id-based-policies"></a>

Le policy basate su identità sono documenti di policy di autorizzazione JSON che è possibile collegare a un’identità (utente, gruppo o ruolo). Tali policy controllano le operazioni autorizzate per l’identità, nonché le risorse e le condizioni in cui possono essere eseguite. Per informazioni su come creare una policy basata su identità, consultare [Definizione di autorizzazioni personalizzate IAM con policy gestite dal cliente](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) nella *Guida per l’utente IAM*.

Le policy basate su identità possono essere *policy in linea* (con embedding direttamente in una singola identità) o *policy gestite* (policy autonome collegate a più identità). Per informazioni su come scegliere tra una policy gestita o una policy inline, consulta [Scegliere tra policy gestite e policy in linea](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-choosing-managed-or-inline.html) nella *Guida per l’utente di IAM*.

### Policy basate sulle risorse
<a name="security_iam_access-manage-resource-based-policies"></a>

Le policy basate su risorse sono documenti di policy JSON che è possibile collegare a una risorsa. Gli esempi includono le *policy di trust dei ruoli* IAM e le *policy dei bucket* di Amazon S3. Nei servizi che supportano policy basate sulle risorse, gli amministratori dei servizi possono utilizzarli per controllare l’accesso a una risorsa specifica. In una policy basata sulle risorse è obbligatorio [specificare un’entità principale](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html).

Le policy basate sulle risorse sono policy inline che si trovano in tale servizio. Non è possibile utilizzare le policy AWS gestite di IAM in una policy basata sulle risorse.

### Altri tipi di policy
<a name="security_iam_access-manage-other-policies"></a>

AWS supporta tipi di policy aggiuntivi che possono impostare le autorizzazioni massime concesse dai tipi di policy più comuni:
+ **Limiti delle autorizzazioni**: imposta il numero massimo di autorizzazioni che una policy basata su identità ha la possibilità di concedere a un’entità IAM. Per ulteriori informazioni, consulta [Limiti delle autorizzazioni per le entità IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html) nella *Guida per l’utente di IAM*.
+ **Politiche di controllo del servizio (SCPs)**: specificano le autorizzazioni massime per un'organizzazione o un'unità organizzativa in. AWS Organizations Per ulteriori informazioni, consultare [Policy di controllo dei servizi](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html) nella *Guida per l’utente di AWS Organizations *.
+ **Politiche di controllo delle risorse (RCPs)**: imposta le autorizzazioni massime disponibili per le risorse nei tuoi account. Per ulteriori informazioni, consulta [Politiche di controllo delle risorse (RCPs)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_rcps.html) nella *Guida per l'AWS Organizations utente*.
+ **Policy di sessione**: policy avanzate passate come parametro quando si crea una sessione temporanea per un ruolo o un utente federato. Per maggiori informazioni, consultare [Policy di sessione](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) nella *Guida per l’utente IAM*.

### Più tipi di policy
<a name="security_iam_access-manage-multiple-policies"></a>

Quando a una richiesta si applicano più tipi di policy, le autorizzazioni risultanti sono più complicate da comprendere. Per scoprire come si AWS determina se consentire o meno una richiesta quando sono coinvolti più tipi di policy, consulta [Logica di valutazione delle policy](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html) nella *IAM User Guide*.

# Funzionamento di Amazon DynamoDB con IAM
<a name="security_iam_service-with-iam"></a>

Prima di utilizzare IAM per gestire l'accesso a DynamoDB, scopri quali funzionalità di IAM sono disponibili per l'uso con DynamoDB.






| Funzionalità IAM | Supporto in DynamoDB | 
| --- | --- | 
|  [Policy basate sull’identità](#security_iam_service-with-iam-id-based-policies)  |   Sì  | 
|  [Policy basate su risorse](#security_iam_service-with-iam-resource-based-policies)  |   Sì  | 
|  [Operazioni di policy](#security_iam_service-with-iam-id-based-policies-actions)  |   Sì  | 
|  [Risorse relative alle policy](#security_iam_service-with-iam-id-based-policies-resources)  |   Sì  | 
|  [Chiavi di condizione delle policy](#security_iam_service-with-iam-id-based-policies-conditionkeys)  |   Sì  | 
|  [ACLs](#security_iam_service-with-iam-acls)  |   No   | 
|  [ABAC (tag nelle policy)](#security_iam_service-with-iam-tags)  |   Sì  | 
|  [Credenziali temporanee](#security_iam_service-with-iam-roles-tempcreds)  |   Sì  | 
|  [Autorizzazioni del principale](#security_iam_service-with-iam-principal-permissions)  |   Sì  | 
|  [Ruoli di servizio](#security_iam_service-with-iam-roles-service)  |   Sì  | 
|  [Ruoli collegati al servizio](#security_iam_service-with-iam-roles-service-linked)  |   Sì  | 

*Per avere una visione di alto livello di come DynamoDB e AWS altri servizi funzionano con la maggior parte delle funzionalità IAM, [AWS consulta i servizi che funzionano con](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) IAM nella IAM User Guide.*

## Policy basate su identità per DynamoDB
<a name="security_iam_service-with-iam-id-based-policies"></a>

**Supporta le policy basate sull’identità:** sì

Le policy basate sull'identità sono documenti di policy di autorizzazione JSON che è possibile allegare a un'identità (utente, gruppo di utenti o ruolo IAM). Tali policy definiscono le operazioni che utenti e ruoli possono eseguire, su quali risorse e in quali condizioni. Per informazioni su come creare una policy basata su identità, consulta [Definizione di autorizzazioni personalizzate IAM con policy gestite dal cliente](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) nella *Guida per l’utente di IAM*.

Con le policy basate sull’identità di IAM, è possibile specificare quali operazioni e risorse sono consentite o respinte, nonché le condizioni in base alle quali le operazioni sono consentite o respinte. Per informazioni su tutti gli elementi utilizzabili in una policy JSON, consulta [Guida di riferimento agli elementi delle policy JSON IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html) nella *Guida per l’utente IAM*.

### Esempi di policy basate su identità per DynamoDB
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>



Per visualizzare esempi di policy basate su identità DynamoDB, consultare [Esempi di policy basate su identità per Amazon DynamoDB](security_iam_id-based-policy-examples.md).

## Policy basate su risorse all'interno di DynamoDB
<a name="security_iam_service-with-iam-resource-based-policies"></a>

**Supporta le policy basate sulle risorse**: sì

Le policy basate su risorse sono documenti di policy JSON che è possibile collegare a una risorsa. Esempi di policy basate sulle risorse sono le *policy di attendibilità dei ruoli* IAM e le *policy di bucket* Amazon S3. Nei servizi che supportano policy basate sulle risorse, gli amministratori dei servizi possono utilizzarli per controllare l’accesso a una risorsa specifica. Quando è collegata a una risorsa, una policy definisce le operazioni che un principale può eseguire su tale risorsa e a quali condizioni. In una policy basata sulle risorse è obbligatorio [specificare un’entità principale](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html). I principali possono includere account, utenti, ruoli, utenti federati o. Servizi AWS

Per consentire l’accesso multi-account, è possibile specificare un intero account o entità IAM in un altro account come entità principale in una policy basata sulle risorse. Per ulteriori informazioni, consulta [Accesso a risorse multi-account in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) nella *Guida per l’utente IAM*.

## Operazioni delle policy per DynamoDB
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

**Supporta le operazioni di policy:** si

Gli amministratori possono utilizzare le policy AWS JSON per specificare chi ha accesso a cosa. In altre parole, quale **entità principale** può eseguire **operazioni** su quali **risorse** e in quali **condizioni**.

L'elemento `Action` di una policy JSON descrive le operazioni che è possibile utilizzare per consentire o negare l'accesso in una policy. Includere le operazioni in una policy per concedere le autorizzazioni a eseguire l’operazione associata.



Per visualizzare un elenco di operazioni DynamoDB, consultare [Operazioni definite da Amazon DynamoDB](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazondynamodb.html#amazondynamodb-actions-as-permissions) in *Informazioni di riferimento sull'autorizzazione del servizio*.

Le operazioni delle policy in DynamoDB utilizzano il seguente prefisso prima dell'operazione:

```
aws
```

Per specificare più operazioni in una sola istruzione, occorre separarle con la virgola.

```
"Action": [
      "aws:action1",
      "aws:action2"
         ]
```





Per visualizzare esempi di policy basate su identità DynamoDB, consultare [Esempi di policy basate su identità per Amazon DynamoDB](security_iam_id-based-policy-examples.md).

## Operazioni delle policy per DynamoDB
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>

**Supporta le risorse relative alle policy:** sì

Gli amministratori possono utilizzare le policy AWS JSON per specificare chi ha accesso a cosa. In altre parole, quale **entità principale** può eseguire **operazioni** su quali **risorse** e in quali **condizioni**.

L’elemento JSON `Resource` della policy specifica l’oggetto o gli oggetti ai quali si applica l’operazione. Come best practice, specifica una risorsa utilizzando il suo [nome della risorsa Amazon (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html). Per le azioni che non supportano le autorizzazioni a livello di risorsa, si utilizza un carattere jolly (\$1) per indicare che l’istruzione si applica a tutte le risorse.

```
"Resource": "*"
```

*Per visualizzare un elenco dei tipi di risorse DynamoDB e ARNs relativi, [consulta Resources defined by Amazon DynamoDB nel Service Authorization Reference](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazondynamodb.html#amazondynamodb-resources-for-iam-policies).* Per informazioni sulle operazioni con cui è possibile specificare l'ARN di ogni risorsa, consultare [Operazioni definite da Amazon DynamoDB](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazondynamodb.html#amazondynamodb-actions-as-permissions).





Per visualizzare esempi di policy basate su identità DynamoDB, consultare [Esempi di policy basate su identità per Amazon DynamoDB](security_iam_id-based-policy-examples.md).

## Chiavi di condizione delle policy per DynamoDB
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

**Supporta le chiavi di condizione delle policy specifiche del servizio:** sì

Gli amministratori possono utilizzare le policy AWS JSON per specificare chi ha accesso a cosa. In altre parole, quale **entità principale** può eseguire **operazioni** su quali **risorse** e in quali **condizioni**.

L’elemento `Condition` specifica quando le istruzioni vengono eseguite in base a criteri definiti. È possibile compilare espressioni condizionali che utilizzano [operatori di condizione](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html), ad esempio uguale a o minore di, per soddisfare la condizione nella policy con i valori nella richiesta. Per visualizzare tutte le chiavi di condizione AWS globali, consulta le chiavi di [contesto delle condizioni AWS globali nella Guida](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) per l'*utente IAM*.

Per visualizzare un elenco di chiavi di condizione DynamoDB, consultare [Chiavi di condizione per Amazon DynamoDB](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazondynamodb.html#amazondynamodb-policy-keys) in *Informazioni di riferimento sull'autorizzazione del servizio*. Per informazioni su operazioni e risorse con cui è possibile utilizzare una chiave di condizione, consultare [Operazioni definite da Amazon DynamoDB](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazondynamodb.html#amazondynamodb-actions-as-permissions).

Per visualizzare esempi di policy basate su identità DynamoDB, consultare [Esempi di policy basate su identità per Amazon DynamoDB](security_iam_id-based-policy-examples.md).

## Liste di controllo degli accessi (ACLs) in DynamoDB
<a name="security_iam_service-with-iam-acls"></a>

**Supporti ACLs**: No 

Le liste di controllo degli accessi (ACLs) controllano quali principali (membri dell'account, utenti o ruoli) dispongono delle autorizzazioni per accedere a una risorsa. ACLs sono simili alle politiche basate sulle risorse, sebbene non utilizzino il formato del documento di policy JSON.

## Controllo degli accessi basato su attributi (ABAC) con DynamoDB
<a name="security_iam_service-with-iam-tags"></a>

**Supporta ABAC (tag nelle policy):** sì

Il controllo degli accessi basato su attributi (ABAC) è una strategia di autorizzazione che definisce le autorizzazioni in base ad attributi chiamati tag. È possibile allegare tag a entità e AWS risorse IAM, quindi progettare politiche ABAC per consentire operazioni quando il tag del principale corrisponde al tag sulla risorsa.

Per controllare l’accesso basato su tag, fornire informazioni sui tag nell’[elemento condizione](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) di una policy utilizzando le chiavi di condizione `aws:ResourceTag/key-name`, `aws:RequestTag/key-name` o `aws:TagKeys`.

Se un servizio supporta tutte e tre le chiavi di condizione per ogni tipo di risorsa, il valore per il servizio è **Sì**. Se un servizio supporta tutte e tre le chiavi di condizione solo per alcuni tipi di risorsa, allora il valore sarà **Parziale**.

Per maggiori informazioni su ABAC, consulta [Definizione delle autorizzazioni con autorizzazione ABAC](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html) nella *Guida per l’utente di IAM*. Per visualizzare un tutorial con i passaggi per l’impostazione di ABAC, consulta [Utilizzo del controllo degli accessi basato su attributi (ABAC)](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html) nella *Guida per l’utente di IAM*.

## Utilizzo di credenziali temporanee con DynamoDB
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

**Supporta le credenziali temporanee:** sì

Le credenziali temporanee forniscono l'accesso a breve termine alle AWS risorse e vengono create automaticamente quando si utilizza la federazione o si cambia ruolo. AWS consiglia di generare dinamicamente credenziali temporanee anziché utilizzare chiavi di accesso a lungo termine. Per ulteriori informazioni, consulta [Credenziali di sicurezza temporanee in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html) e [Servizi AWS compatibili con IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) nella *Guida per l’utente IAM*.

## Autorizzazioni del principale tra servizi per DynamoDB
<a name="security_iam_service-with-iam-principal-permissions"></a>

**Supporta l’inoltro delle sessioni di accesso (FAS):** sì

 Le sessioni di accesso inoltrato (FAS) utilizzano le autorizzazioni del principale che chiama e, in combinazione con la richiesta Servizio AWS, Servizio AWS per effettuare richieste ai servizi downstream. Per i dettagli delle policy relative alle richieste FAS, consulta [Forward access sessions](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_forward_access_sessions.html). 

## Ruoli di servizio per DynamoDB
<a name="security_iam_service-with-iam-roles-service"></a>

**Supporta i ruoli di servizio:** sì

 Un ruolo di servizio è un [ruolo IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) che un servizio assume per eseguire operazioni per tuo conto. Un amministratore IAM può creare, modificare ed eliminare un ruolo di servizio dall’interno di IAM. Per ulteriori informazioni, consulta [Create a role to delegate permissions to an Servizio AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) nella *Guida per l’utente IAM*. 

**avvertimento**  
La modifica delle autorizzazioni per un ruolo di servizio potrebbe compromettere la funzionalità di DynamoDB. Modifica i ruoli di servizio solo quando DynamoDB fornisce le indicazioni per farlo.

## Ruoli collegati ai servizi creati per DynamoDB
<a name="security_iam_service-with-iam-roles-service-linked"></a>

**Supporta i ruoli collegati ai servizi:** sì

 Un ruolo collegato al servizio è un tipo di ruolo di servizio collegato a un. Servizio AWS Il servizio può assumere il ruolo per eseguire un’operazione per tuo conto. I ruoli collegati al servizio vengono visualizzati nel tuo account Account AWS e sono di proprietà del servizio. Un amministratore IAM può visualizzare le autorizzazioni per i ruoli collegati al servizio, ma non modificarle. 

Per ulteriori informazioni su come creare e gestire i ruoli collegati ai servizi, consulta [Servizi AWS supportati da IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html). Trova un servizio nella tabella che include un `Yes` nella colonna **Service-linked role (Ruolo collegato ai servizi)**. Scegli il collegamento **Sì** per visualizzare la documentazione relativa al ruolo collegato ai servizi per tale servizio.

### Ruoli collegati al servizio supportati in DynamoDB
<a name="security_iam_service-with-iam-roles-service-linked-supported-by-dynamodb"></a>

I seguenti ruoli collegati al servizio sono supportati in DynamoDB.
+ DynamoDB utilizza il **AWSServiceRoleForDynamoDBReplication**ruolo collegato ai servizi per la replica globale delle tabelle su tutto il territorio. Regioni AWS Vedi [Sicurezza per tabelle globali DynamoDB](globaltables-security.md) per ulteriori informazioni sul ruolo collegato al servizio. **AWSServiceRoleForDynamoDBReplication**
+ DynamoDB Accelerator (DAX) utilizza il ** AWSServiceRoleForruolo** DAX collegato ai servizi per la configurazione e la manutenzione di un cluster DAX. **Per ulteriori informazioni sul ruolo collegato ai servizi DAX, vedere[Utilizzo di ruoli IAM collegati ai servizi per DAX](using-service-linked-roles.md). AWSService RoleFor**

Oltre a questi ruoli collegati al servizio DynamoDB, DynamoDB utilizza il servizio Application Auto Scaling per gestire automaticamente le impostazioni di throughput nelle tabelle della modalità con capacità allocata. Il servizio Application Auto Scaling utilizza il ruolo collegato al servizio ** AWSServiceRoleForApplicationAutoScaling\$1DynamoDBTable**per gestire le impostazioni di throughput nelle tabelle DynamoDB che hanno l'auto scaling abilitato. Consulta [Ruoli collegati ai servizi per Application Auto Scaling](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-service-linked-roles.html) per ulteriori informazioni.

# Esempi di policy basate su identità per Amazon DynamoDB
<a name="security_iam_id-based-policy-examples"></a>

Per impostazione predefinita, gli utenti e i ruoli non dispongono dell'autorizzazione per creare o modificare risorse DynamoDB. Per concedere agli utenti l’autorizzazione a eseguire azioni sulle risorse di cui hanno bisogno, un amministratore IAM può creare policy IAM.

Per informazioni su come creare una policy basata su identità IAM utilizzando questi documenti di policy JSON di esempio, consulta [Creazione di policy IAM (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html) nella *Guida per l’utente di IAM*.

*Per dettagli sulle azioni e sui tipi di risorse definiti da DynamoDB, incluso il formato di per ogni tipo di ARNs risorsa, [consulta Azioni, risorse e chiavi di condizione per Amazon DynamoDB nel Service Authorization Reference](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazondynamodb.html).*

**Topics**
+ [Best practice per le policy](#security_iam_service-with-iam-policy-best-practices)
+ [Utilizzo della console DynamoDB](#security_iam_id-based-policy-examples-console)
+ [Consentire agli utenti di visualizzare le loro autorizzazioni](#security_iam_id-based-policy-examples-view-own-permissions)
+ [Utilizzo di policy basate su identità con Amazon DynamoDB](using-identity-based-policies.md)

## Best practice per le policy
<a name="security_iam_service-with-iam-policy-best-practices"></a>

Le policy basate su identità determinano se qualcuno può creare, accedere o eliminare risorse DynamoDB nel tuo account. Queste azioni possono comportare costi aggiuntivi per l’ Account AWS. Quando si creano o modificano policy basate sull’identità, seguire queste linee guida e raccomandazioni:
+ **Inizia con le politiche AWS gestite e passa alle autorizzazioni con privilegi minimi: per iniziare a concedere autorizzazioni** *a utenti e carichi di lavoro, utilizza le politiche gestite che concedono le autorizzazioni per molti casi d'uso comuni.AWS * Sono disponibili nel tuo. Account AWS Ti consigliamo di ridurre ulteriormente le autorizzazioni definendo politiche gestite dai AWS clienti specifiche per i tuoi casi d'uso. Per maggiori informazioni, consulta [Policy gestite da AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) o [Policy gestite da AWS per le funzioni dei processi](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html) nella *Guida per l’utente di IAM*.
+ **Applicazione delle autorizzazioni con privilegio minimo** - Quando si impostano le autorizzazioni con le policy IAM, concedere solo le autorizzazioni richieste per eseguire un’attività. È possibile farlo definendo le azioni che possono essere intraprese su risorse specifiche in condizioni specifiche, note anche come *autorizzazioni con privilegio minimo*. Per maggiori informazioni sull’utilizzo di IAM per applicare le autorizzazioni, consulta [Policy e autorizzazioni in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) nella *Guida per l’utente di IAM*.
+ **Condizioni d’uso nelle policy IAM per limitare ulteriormente l’accesso** - Per limitare l’accesso ad azioni e risorse è possibile aggiungere una condizione alle policy. Ad esempio, è possibile scrivere una condizione di policy per specificare che tutte le richieste devono essere inviate utilizzando SSL. Puoi anche utilizzare le condizioni per concedere l'accesso alle azioni del servizio se vengono utilizzate tramite uno specifico Servizio AWS, ad esempio CloudFormation. Per maggiori informazioni, consultare la sezione [Elementi delle policy JSON di IAM: condizione](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) nella *Guida per l’utente di IAM*.
+ **Utilizzo dello strumento di analisi degli accessi IAM per convalidare le policy IAM e garantire autorizzazioni sicure e funzionali** - Lo strumento di analisi degli accessi IAM convalida le policy nuove ed esistenti in modo che aderiscano al linguaggio (JSON) della policy IAM e alle best practice di IAM. Lo strumento di analisi degli accessi IAM offre oltre 100 controlli delle policy e consigli utili per creare policy sicure e funzionali. Per maggiori informazioni, consultare [Convalida delle policy per il Sistema di analisi degli accessi IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html) nella *Guida per l’utente di IAM*.
+ **Richiedi l'autenticazione a più fattori (MFA**): se hai uno scenario che richiede utenti IAM o un utente root nel Account AWS tuo, attiva l'MFA per una maggiore sicurezza. Per richiedere la MFA quando vengono chiamate le operazioni API, aggiungere le condizioni MFA alle policy. Per maggiori informazioni, consultare [Protezione dell’accesso API con MFA](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html) nella *Guida per l’utente di IAM*.

Per maggiori informazioni sulle best practice in IAM, consulta [Best practice di sicurezza in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) nella *Guida per l’utente di IAM*.

## Utilizzo della console DynamoDB
<a name="security_iam_id-based-policy-examples-console"></a>

Per accedere alla console Amazon DynamoDB, è necessario disporre di un set di autorizzazioni minimo. Queste autorizzazioni devono consentirti di elencare e visualizzare i dettagli sulle risorse DynamoDB presenti nel tuo. Account AWS Se crei una policy basata sull’identità più restrittiva rispetto alle autorizzazioni minime richieste, la console non funzionerà nel modo previsto per le entità (utenti o ruoli) associate a tale policy.

Non è necessario consentire autorizzazioni minime di console per gli utenti che effettuano chiamate solo verso o l' AWS CLI API. AWS Al contrario, è opportuno concedere l’accesso solo alle azioni che corrispondono all’operazione API che stanno cercando di eseguire.

Per garantire che utenti e ruoli possano ancora utilizzare la console DynamoDB, collega anche `ConsoleAccess` DynamoDB o la policy gestita alle entità `ReadOnly` AWS . Per maggiori informazioni, consulta [Aggiunta di autorizzazioni a un utente](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) nella *Guida per l’utente di IAM*.

## Consentire agli utenti di visualizzare le loro autorizzazioni
<a name="security_iam_id-based-policy-examples-view-own-permissions"></a>

Questo esempio mostra in che modo è possibile creare una policy che consente agli utenti IAM di visualizzare le policy inline e gestite che sono collegate alla relativa identità utente. Questa policy include le autorizzazioni per completare questa azione sulla console o utilizzando programmaticamente l'API o. AWS CLI AWS 

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ViewOwnUserInfo",
            "Effect": "Allow",
            "Action": [
                "iam:GetUserPolicy",
                "iam:ListGroupsForUser",
                "iam:ListAttachedUserPolicies",
                "iam:ListUserPolicies",
                "iam:GetUser"
            ],
            "Resource": ["arn:aws:iam::*:user/${aws:username}"]
        },
        {
            "Sid": "NavigateInConsole",
            "Effect": "Allow",
            "Action": [
                "iam:GetGroupPolicy",
                "iam:GetPolicyVersion",
                "iam:GetPolicy",
                "iam:ListAttachedGroupPolicies",
                "iam:ListGroupPolicies",
                "iam:ListPolicyVersions",
                "iam:ListPolicies",
                "iam:ListUsers"
            ],
            "Resource": "*"
        }
    ]
}
```

# Utilizzo di policy basate su identità con Amazon DynamoDB
<a name="using-identity-based-policies"></a>

Questo argomento tratta l'uso di politiche basate sull'identità AWS Identity and Access Management (IAM) con Amazon DynamoDB e fornisce esempi. Gli esempi illustrano come un amministratore account può collegare policy di autorizzazioni a identità IAM (ovvero utenti, gruppi e ruoli) e quindi concedere autorizzazioni per eseguire operazioni sulle risorse di Amazon DynamoDB.

In questa sezione vengono trattati gli argomenti seguenti:
+ [Autorizzazioni IAM necessarie per utilizzare la console Amazon DynamoDB](#console-permissions)
+ [AWS politiche IAM gestite (predefinite) per Amazon DynamoDB](#access-policy-examples-aws-managed)
+ [Esempi di policy gestite dal cliente](#access-policy-examples-for-sdk-cli)



Di seguito è riportato un esempio di policy delle autorizzazioni.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "DescribeQueryScanBooksTable",
            "Effect": "Allow",
            "Action": [
                "dynamodb:DescribeTable",
                "dynamodb:Query",
                "dynamodb:Scan"
            ],
            "Resource": "arn:aws:dynamodb:us-west-2:111122223333:table/Books"
        }
    ]
}
```

------

 La politica precedente contiene un'istruzione che concede le autorizzazioni per tre azioni DynamoDB (`dynamodb:DescribeTable``dynamodb:Query`, e`dynamodb:Scan`) su una tabella nella `us-west-2` AWS regione, di proprietà dell'account specificato da. AWS `account-id` Il *nome della risorsa Amazon (ARN)* nel valore `Resource` specifica la tabella a cui si applicano le autorizzazioni.

## Autorizzazioni IAM necessarie per utilizzare la console Amazon DynamoDB
<a name="console-permissions"></a>

Per lavorare con la console DynamoDB, un utente deve disporre di un set minimo di autorizzazioni che gli consentano di utilizzare le risorse DynamoDB del proprio AWS account. Oltre a queste autorizzazioni DynamoDB, la console richiede le autorizzazioni dei seguenti servizi:
+  CloudWatch Autorizzazioni Amazon per visualizzare metriche e grafici.
+ AWS Data Pipeline autorizzazioni per esportare e importare dati DynamoDB. 
+  AWS Identity and Access Management autorizzazioni per accedere ai ruoli necessari per le esportazioni e le importazioni.
+ Autorizzazioni di Amazon Simple Notification Service per avvisarti ogni volta che viene attivato un CloudWatch allarme.
+ AWS Lambda autorizzazioni per elaborare i record DynamoDB Streams.

Se decidi di creare una policy IAM più restrittiva delle autorizzazioni minime richieste, la console non funzionerà come previsto per gli utenti con tale policy IAM. Per garantire che tali utenti possano continuare a utilizzare la console DynamoDB, allega anche `AmazonDynamoDBReadOnlyAccess` AWS la policy gestita all'utente, come descritto in. [AWS politiche IAM gestite (predefinite) per Amazon DynamoDB](#access-policy-examples-aws-managed)

Non è necessario consentire autorizzazioni minime per la console per gli utenti che effettuano chiamate solo verso l' AWS CLI API di Amazon DynamoDB.

**Nota**  
 Se fai riferimento a un endpoint VPC, dovrai anche autorizzare la chiamata DescribeEndpoints API per i principali IAM richiedenti con l'azione IAM (dynamodb:). DescribeEndpoints Per ulteriori informazioni, consulta [Policy richieste per gli endpoint](inter-network-traffic-privacy.md#inter-network-traffic-DescribeEndpoints). 

## AWS politiche IAM gestite (predefinite) per Amazon DynamoDB
<a name="access-policy-examples-aws-managed"></a>

AWS affronta alcuni casi d'uso comuni fornendo politiche IAM autonome create e amministrate da. AWS Queste policy AWS gestite concedono le autorizzazioni necessarie per i casi d'uso comuni in modo da evitare di dover verificare quali autorizzazioni sono necessarie. Per ulteriori informazioni, consulta [Policy gestite da AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) nella *Guida per l'utente di IAM*.

Le seguenti policy AWS gestite, che puoi allegare agli utenti del tuo account, sono specifiche di DynamoDB e sono raggruppate per scenario d'uso:
+ **AmazonDynamoDBReadOnlyAccess**— Concede l'accesso in sola lettura alle risorse DynamoDB tramite. Console di gestione AWS
+ **AmazonDynamoDBFullAccesso**: garantisce l'accesso completo alle risorse DynamoDB tramite. Console di gestione AWS

Puoi rivedere queste politiche di autorizzazione AWS gestite accedendo alla console IAM e cercando lì policy specifiche.

**Importante**  
La best practice consiste nel creare policy IAM personalizzate che forniscano il [privilegio minimo](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege) agli utenti, ai ruoli o ai gruppi che ne hanno bisogno. 

## Esempi di policy gestite dal cliente
<a name="access-policy-examples-for-sdk-cli"></a>

In questa sezione sono riportati esempi di policy che concedono autorizzazioni per diverse operazioni DynamoDB. Queste politiche funzionano quando si utilizza AWS SDKs o il AWS CLI. Quando si utilizza la console, è necessario concedere autorizzazioni aggiuntive che sono specifiche della console. Per ulteriori informazioni, consulta [Autorizzazioni IAM necessarie per utilizzare la console Amazon DynamoDB](#console-permissions).

**Nota**  
Tutti i seguenti esempi di politiche utilizzano una delle AWS regioni e contengono nomi di account IDs e tabelle fittizi.

Esempi:
+ [Policy IAM per concedere autorizzazioni a tutte le azioni DynamoDB in una tabella](grant-permissions-to-any-action-on-table.md)
+ [Policy IAM per concedere le autorizzazioni di sola lettura su elementi in una tabella DynamoDB](read-only-permissions-on-table-items.md)
+ [Policy IAM per concedere l'accesso a una tabella DynamoDB specifica e ai relativi indici](iam-policy-specific-table-indexes.md)
+ [Policy IAM per l'accesso in lettura, scrittura, aggiornamento ed eliminazione su una tabella DynamoDB](iam-policy-example-data-crud.md)
+ [Politica IAM per separare gli ambienti DynamoDB nello stesso account AWS](iam-policy-separate-environments.md)
+ [Policy IAM per impedire l'acquisto di capacità riservata DynamoDB](iam-prevent-purchase-reserved-capacity.md)
+ [Policy IAM per concedere l'accesso in lettura solo per un flusso DynamoDB (non per la tabella)](iam-policy-read-stream-only.md)
+ [Politica IAM per consentire a una AWS Lambda funzione di accedere ai record di flusso DynamoDB](iam-policy-example-lamda-process-dynamodb-streams.md)
+ [Policy IAM per l'accesso in lettura e scrittura a un cluster DynamoDB Accelerator (DAX)](iam-policy-example-read-write-dax-access.md)

 La *Guida per l'utente di IAM*, include [tre ulteriori esempi di DynamoDB](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_examples.html):
+ [Amazon DynamoDB: consente l'accesso a una tabella specifica](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_examples_dynamodb_specific-table.html)
+ [Amazon DynamoDB: consente l'accesso a colonne specifiche](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_examples_dynamodb_columns.html)
+ [Amazon DynamoDB: consente l'accesso a livello di riga a DynamoDB in base a un ID Amazon Cognito](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_examples_dynamodb_rows.html)

# Policy IAM per concedere autorizzazioni a tutte le azioni DynamoDB in una tabella
<a name="grant-permissions-to-any-action-on-table"></a>

La seguente policy concede le autorizzazioni per *tutte* le operazioni DynamoDB su una tabella denominata `Books`. L'ARN della risorsa specificato in `Resource` identifica una tabella in una regione specifica. AWS Se sostituisci il nome della tabella `Books` nell'ARN`Resource` con un carattere jolly (\$1), *tutte* le operazioni DynamoDB saranno consentite su *tutte* le tabelle nell'account. Valuta attentamente le possibili implicazioni per la sicurezza prima di utilizzare un carattere jolly in questa o qualsiasi altra policy IAM.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllAPIActionsOnBooks",
            "Effect": "Allow",
            "Action": "dynamodb:*",
            "Resource": "arn:aws:dynamodb:us-west-2:123456789012:table/Books"
        }
    ]
}
```

------

**Nota**  
Questo è un esempio di utilizzo di un carattere jolly (\$1) per consentire *tutte* le operazioni, tra cui l'amministrazione, le operazioni dei dati, il monitoraggio e l'acquisto di capacità riservata DynamoDB. Invece, è una best practice specificare in modo esplicito ogni azione da concedere e solo ciò di cui ha bisogno un dato utente, ruolo o gruppo.

# Policy IAM per concedere le autorizzazioni di sola lettura su elementi in una tabella DynamoDB
<a name="read-only-permissions-on-table-items"></a>

La seguente policy di autorizzazioni concede le autorizzazioni solo per le operazioni DynamoDB `GetItem`, `BatchGetItem`, `Scan`, `Query` e `ConditionCheckItem`, quindi imposta l'accesso in sola lettura sulla tabella `Books`.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ReadOnlyAPIActionsOnBooks",
            "Effect": "Allow",
            "Action": [
                "dynamodb:GetItem",
                "dynamodb:BatchGetItem",
                "dynamodb:Scan",
                "dynamodb:Query",
                "dynamodb:ConditionCheckItem"
            ],
            "Resource": "arn:aws:dynamodb:us-west-2:123456789012:table/Books"
        }
    ]
}
```

------

# Policy IAM per concedere l'accesso a una tabella DynamoDB specifica e ai relativi indici
<a name="iam-policy-specific-table-indexes"></a>

La policy seguente concede le autorizzazioni necessarie per le operazioni di modifica dei dati in una tabella DynamoDB denominata `Books` e tutti i relativi indici. Per ulteriori informazioni sul funzionamento degli indici, consulta [Miglioramento dell’accesso ai dati con gli indici secondari in DynamoDB](SecondaryIndexes.md).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AccessTableAllIndexesOnBooks",
            "Effect": "Allow",
            "Action": [
              "dynamodb:PutItem",
              "dynamodb:UpdateItem",
              "dynamodb:DeleteItem",
              "dynamodb:BatchWriteItem",
              "dynamodb:GetItem",
              "dynamodb:BatchGetItem",
              "dynamodb:Scan",
              "dynamodb:Query",
              "dynamodb:ConditionCheckItem"
            ],
            "Resource": [
                "arn:aws:dynamodb:us-west-2:123456789012:table/Books",
                "arn:aws:dynamodb:us-west-2:123456789012:table/Books/index/*"
            ]
        }
    ]
}
```

------

# Policy IAM per l'accesso in lettura, scrittura, aggiornamento ed eliminazione su una tabella DynamoDB
<a name="iam-policy-example-data-crud"></a>

Utilizza questa policy per consentire all'applicazione di creare, leggere, aggiornare ed eliminare dati in tabelle, indici e flussi di Amazon DynamoDB. Sostituisci il nome AWS della regione, l'ID dell'account e il nome della tabella o il carattere jolly (\$1), se appropriato.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "DynamoDBIndexAndStreamAccess",
            "Effect": "Allow",
            "Action": [
                "dynamodb:GetShardIterator",
                "dynamodb:Scan",
                "dynamodb:Query",
                "dynamodb:DescribeStream",
                "dynamodb:GetRecords",
                "dynamodb:ListStreams"
            ],
            "Resource": [
                "arn:aws:dynamodb:us-west-2:123456789012:table/Books/index/*",
                "arn:aws:dynamodb:us-west-2:123456789012:table/Books/stream/*"
            ]
        },
        {
            "Sid": "DynamoDBTableAccess",
            "Effect": "Allow",
            "Action": [
                "dynamodb:BatchGetItem",
                "dynamodb:BatchWriteItem",
                "dynamodb:ConditionCheckItem",
                "dynamodb:PutItem",
                "dynamodb:DescribeTable",
                "dynamodb:DeleteItem",
                "dynamodb:GetItem",
                "dynamodb:Scan",
                "dynamodb:Query",
                "dynamodb:UpdateItem"
            ],
            "Resource": "arn:aws:dynamodb:us-west-2:123456789012:table/Books"
        },
        {
            "Sid": "DynamoDBDescribeLimitsAccess",
            "Effect": "Allow",
            "Action": "dynamodb:DescribeLimits",
            "Resource": [
                "arn:aws:dynamodb:us-west-2:123456789012:table/Books",
                "arn:aws:dynamodb:us-west-2:123456789012:table/Books/index/*"
            ]
        }
    ]
}
```

------

Per estendere questa policy a tutte le tabelle DynamoDB in AWS tutte le regioni per questo account, usa un carattere jolly (\$1) per la regione e il nome della tabella. Esempio:

```
"Resource":[
                "arn:aws:dynamodb:*:123456789012:table/*",
                "arn:aws:dynamodb:*:123456789012:table/*/index/*"
                ]
```

# Politica IAM per separare gli ambienti DynamoDB nello stesso account AWS
<a name="iam-policy-separate-environments"></a>

Si supponga di avere ambienti separati in cui ogni ambiente mantiene la propria versione di una tabella denominata `ProductCatalog`. Se crei due `ProductCatalog` tabelle nello stesso AWS account, lavorare in un ambiente potrebbe influire sull'altro ambiente a causa del modo in cui sono impostate le autorizzazioni. Ad esempio, le quote sul numero di operazioni simultanee del piano di controllo (ad esempio`CreateTable`) vengono impostate a livello di account. AWS 

Di conseguenza, ogni operazione in un ambiente riduce il numero di operazioni disponibili nell'altro ambiente. Vi è, inoltre, il rischio che il codice in un ambiente possa accedere per errore alle tabelle nell'altro ambiente.

**Nota**  
Se desideri separare i carichi di lavoro di produzione e di test per controllare il potenziale "raggio di esplosione" di un evento, la best practice consiste nel creare account AWS separati per i carichi di lavoro di test e produzione. Per ulteriori informazioni, consulta [Gestione e separazione degli account AWS](https://docs.aws.amazon.com//wellarchitected/latest/security-pillar/aws-account-management-and-separation.html).

Si supponga di avere due sviluppatori, Amit e Alice, che stanno eseguendo il test della tabella `ProductCatalog`. Invece di richiedere a ogni sviluppatore un AWS account separato, i tuoi sviluppatori possono condividere lo stesso account di test AWS . In questo account di test puoi creare per ogni sviluppatore una copia della stessa tabella su cui lavorare, ad esempio `Alice_ProductCatalog` e `Amit_ProductCatalog`. In questo caso, puoi creare gli utenti Alice e Amit nell' AWS account che hai creato per l'ambiente di test. È quindi possibile concedere a questi utenti le autorizzazioni per eseguire le operazioni DynamoDB sulle tabelle di loro proprietà. 

Per concedere queste autorizzazioni utente IAM, è possibile completare una delle operazioni seguenti:
+ Crea una policy separata per ogni utente e quindi collegare separatamente ogni policy al proprio utente. Ad esempio, è possibile collegare la seguente policy all'utente Alice per consentire l'accesso a tutte le operazioni DynamoDB sulla tabella `Alice_ProductCatalog`: 

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

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Sid": "AllAPIActionsOnAliceTable",
              "Effect": "Allow",
              "Action": [
                "dynamodb:DeleteItem",
                "dynamodb:DescribeContributorInsights",
                "dynamodb:RestoreTableToPointInTime",
                "dynamodb:ListTagsOfResource",
                "dynamodb:CreateTableReplica",
                "dynamodb:UpdateContributorInsights",
                "dynamodb:CreateBackup",
                "dynamodb:DeleteTable",
                "dynamodb:UpdateTableReplicaAutoScaling",
                "dynamodb:UpdateContinuousBackups",
                "dynamodb:TagResource",
                "dynamodb:DescribeTable",
                "dynamodb:GetItem",
                "dynamodb:DescribeContinuousBackups",
                "dynamodb:BatchGetItem",
                "dynamodb:UpdateTimeToLive",
                "dynamodb:BatchWriteItem",
                "dynamodb:ConditionCheckItem",
                "dynamodb:UntagResource",
                "dynamodb:PutItem",
                "dynamodb:Scan",
                "dynamodb:Query",
                "dynamodb:UpdateItem",
                "dynamodb:DeleteTableReplica",
                "dynamodb:DescribeTimeToLive",
                "dynamodb:RestoreTableFromBackup",
                "dynamodb:UpdateTable",
                "dynamodb:DescribeTableReplicaAutoScaling",
                "dynamodb:GetShardIterator",
                "dynamodb:DescribeStream",
                "dynamodb:GetRecords",
                "dynamodb:DescribeLimits",
                "dynamodb:ListStreams"
              ],
              "Resource": "arn:aws:dynamodb:us-west-2:123456789012:table/Alice_ProductCatalog/*"
          }
      ]
  }
  ```

------

  Quindi, è possibile creare una policy simile con una risorsa diversa (la tabella `Amit_ProductCatalog`) per l'utente Amit. 
+ Invece di collegare le policy ai singoli utenti, puoi utilizzare variabili di policy IAM per scrivere un'unica policy e collegarla a un gruppo. È necessario creare un gruppo e, per questo esempio, aggiungervi entrambi gli utenti Alice e Amit. Nel seguente esempio vengono concesse le autorizzazioni per eseguire tutte le operazioni DynamoDB sulla tabella `${aws:username}_ProductCatalog`. Quando la policy viene valutata, la variabile `${aws:username}` viene sostituita dal nome utente del richiedente. Ad esempio, se Alice invia una richiesta di aggiunta di un item, l'operazione è consentita solo se l'item viene aggiunto alla tabella `Alice_ProductCatalog`. 

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

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Sid": "ActionsOnUserSpecificTable",
              "Effect": "Allow",
              "Action": [
                "dynamodb:PutItem",
                "dynamodb:UpdateItem",
                "dynamodb:DeleteItem",
                "dynamodb:BatchWriteItem",
                "dynamodb:GetItem",
                "dynamodb:BatchGetItem",
                "dynamodb:Scan",
                "dynamodb:Query",
                "dynamodb:ConditionCheckItem"
              ],
              "Resource": "arn:aws:dynamodb:us-west-2:123456789012:table/${aws:username}_ProductCatalog"
          },
          {
              "Sid": "AdditionalPrivileges",
              "Effect": "Allow",
              "Action": [
                  "dynamodb:ListTables",
                  "dynamodb:DescribeTable",
                  "dynamodb:DescribeContributorInsights"
              ],
              "Resource": "arn:aws:dynamodb:us-west-2:123456789012:table/*"
          }
      ]
  }
  ```

------

**Nota**  
Quando si utilizzano le variabili di policy IAM, è necessario specificare esplicitamente la versione `2012-10-17` del linguaggio di policy IAM nella policy. La versione predefinita del linguaggio di policy IAM (`2008-10-17`) non supporta le variabili di policy. 

Invece di identificare una tabella specifica come risorsa come si farebbe normalmente, è possibile utilizzare un carattere jolly (\$1) per concedere le autorizzazioni su tutte le tabelle il cui nome abbia il prefisso del nome dell'utente che sta effettuando la richiesta, come mostrato di seguito:

```
"Resource":"arn:aws:dynamodb:us-west-2:123456789012:table/${aws:username}_*"
```

# Policy IAM per impedire l'acquisto di capacità riservata DynamoDB
<a name="iam-prevent-purchase-reserved-capacity"></a>

Con la capacità riservata di Amazon DynamoDB, si paga una commissione anticipata una tantum e ci si impegna a pagare per un livello minimo di utilizzo, con un risparmio significativo, per un periodo di tempo. È possibile utilizzare il Console di gestione AWS per visualizzare e acquistare la capacità riservata. Tuttavia, si potrebbe volere che non tutti gli utenti nell'organizzazione abbiano la possibilità di acquistare capacità riservata. Per ulteriori informazioni sulla capacità riservata, consulta [Prezzi di Amazon DynamoDB](https://aws.amazon.com/dynamodb/pricing).

DynamoDB fornisce le seguenti operazioni API per controllare l'accesso alla gestione della capacità riservata:
+ `dynamodb:DescribeReservedCapacity`: restituisce gli acquisti di capacità riservata attualmente in vigore.
+ `dynamodb:DescribeReservedCapacityOfferings`: restituisce i dettagli sui piani di capacità riservata attualmente offerti da AWS.
+ `dynamodb:PurchaseReservedCapacityOfferings`: esegue un acquisto effettivo della capacità riservata.

 Console di gestione AWS Utilizza queste azioni API per visualizzare le informazioni sulla capacità riservata ed effettuare acquisti. Non puoi chiamare queste operazioni da un programma applicativo, poiché sono accessibili solo dalla console. Tuttavia, è possibile consentire o negare l'accesso a queste operazioni in una policy di autorizzazioni IAM.

La seguente politica consente agli utenti di visualizzare gli acquisti e le offerte di capacità riservata utilizzando il Console di gestione AWS , ma i nuovi acquisti vengono negati.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowReservedCapacityDescriptions",
            "Effect": "Allow",
            "Action": [
                "dynamodb:DescribeReservedCapacity",
                "dynamodb:DescribeReservedCapacityOfferings"
            ],
            "Resource": "arn:aws:dynamodb:us-west-2:123456789012:*"
        },
        {
            "Sid": "DenyReservedCapacityPurchases",
            "Effect": "Deny",
            "Action": "dynamodb:PurchaseReservedCapacityOfferings",
            "Resource": "arn:aws:dynamodb:us-west-2:123456789012:*"
        }
    ]
}
```

------

Ricorda che questa policy utilizza il carattere jolly (\$1) per consentire a tutti di descrivere le autorizzazioni, e per impedire a tutti l'acquisto della capacità riservata di DynamoDB.

# Policy IAM per concedere l'accesso in lettura solo per un flusso DynamoDB (non per la tabella)
<a name="iam-policy-read-stream-only"></a>

Quando si abilita DynamoDB Streams su una tabella, vengono acquisite le informazioni su ogni modifica apportata agli elementi nella tabella. Per ulteriori informazioni, consulta [Acquisizione dei dati di modifica per DynamoDB Streams](Streams.md).

In alcuni casi, è possibile che si desideri impedire a un'applicazione di leggere i dati da una tabella DynamoDB, permettendo comunque l'accesso al flusso di tale tabella. Ad esempio, puoi configurare il AWS Lambda polling di uno stream e richiamare una funzione Lambda quando vengono rilevati aggiornamenti degli elementi, quindi eseguire un'elaborazione aggiuntiva.

Per controllare l'accesso a DynamoDB Streams sono disponibili le seguenti operazioni:
+ `dynamodb:DescribeStream`
+ `dynamodb:GetRecords`
+ `dynamodb:GetShardIterator`
+ `dynamodb:ListStreams`

Nella seguente policy esempio vengono concesse le autorizzazioni agli utenti per accedere ai flussi di una tabella denominata `GameScores`. Il carattere jolly (\$1) nell'ARN corrisponde a qualsiasi flusso associato a tale tabella.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AccessGameScoresStreamOnly",
            "Effect": "Allow",
            "Action": [
                "dynamodb:DescribeStream",
                "dynamodb:GetRecords",
                "dynamodb:GetShardIterator",
                "dynamodb:ListStreams"
            ],
            "Resource": "arn:aws:dynamodb:us-west-2:123456789012:table/GameScores/stream/*"
        }
    ]
}
```

------

Questa policy concede l'accesso ai flussi della tabella `GameScores`, ma non alla tabella stessa.

# Politica IAM per consentire a una AWS Lambda funzione di accedere ai record di flusso DynamoDB
<a name="iam-policy-example-lamda-process-dynamodb-streams"></a>

Se desideri eseguire determinate azioni in base agli eventi in un flusso DynamoDB, puoi scrivere AWS Lambda una funzione attivata da questi eventi. Una funzione Lambda come questa ha bisogno delle autorizzazioni per leggere i dati da un flusso di DynamoDB. Per ulteriori informazioni sull'uso di Lambda con DynamoDB Streams, consulta [Streams e trigger DynamoDB AWS Lambda](Streams.Lambda.md).

Per concedere autorizzazioni a Lambda, utilizza la policy di autorizzazione associata al ruolo IAM della funzione Lambda (nota anche come ruolo di esecuzione). È possibile specificare questa policy quando si crea la funzione Lambda.

Ad esempio, è possibile associare la seguente policy di autorizzazioni a un ruolo di esecuzione per concedere le autorizzazioni Lambda per eseguire le azioni DynamoDB Streams elencate.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "APIAccessForDynamoDBStreams",
            "Effect": "Allow",
            "Action": [
                "dynamodb:GetRecords",
                "dynamodb:GetShardIterator",
                "dynamodb:DescribeStream",
                "dynamodb:ListStreams"
            ],
            "Resource": "arn:aws:dynamodb:us-west-2:123456789012:table/GameScores/stream/*"
        }
    ]
}
```

------

Per ulteriori informazioni, consulta [Autorizzazioni AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/intro-permission-model.html) nella *Guida per gli sviluppatori di AWS Lambda *.

# Policy IAM per l'accesso in lettura e scrittura a un cluster DynamoDB Accelerator (DAX)
<a name="iam-policy-example-read-write-dax-access"></a>

La seguente policy consente l'accesso in lettura, scrittura, aggiornamento ed eliminazione a un cluster DynamoDB Accelerator (DAX), ma non alla tabella DynamoDB associata. Per utilizzare questa politica, sostituisci il nome della AWS regione, l'ID dell'account e il nome del cluster DAX.

**Nota**  
Questa policy dà accesso al cluster DAX, ma non alla tabella DynamoDB associata. Assicurati che il cluster DAX disponga delle policy corrette per eseguire le stesse operazioni sulla tabella DynamoDB per conto dell'utente. 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AmazonDynamoDBDAXDataOperations",
            "Effect": "Allow",
            "Action": [
                "dax:GetItem",
                "dax:PutItem",
                "dax:ConditionCheckItem",
                "dax:BatchGetItem",
                "dax:BatchWriteItem",
                "dax:DeleteItem",
                "dax:Query",
                "dax:UpdateItem",
                "dax:Scan"
            ],
            "Resource": "arn:aws:dax:eu-west-1:123456789012:cache/MyDAXCluster"
        }
    ]
}
```

------

Per estendere questa politica all'accesso DAX per tutte le AWS regioni di un account, utilizza un carattere jolly (\$1) per il nome della regione.

```
"Resource": "arn:aws:dax:*:123456789012:cache/MyDAXCluster"
```







# Risoluzione dei problemi relativi all'identità e all'accesso di Amazon DynamoDB
<a name="security_iam_troubleshoot"></a>

Utilizza le informazioni seguenti per diagnosticare e risolvere i problemi comuni che possono verificarsi durante l'utilizzo di DynamoDB e IAM.

**Topics**
+ [Non sono autorizzato a eseguire un'operazione in DynamoDB](#security_iam_troubleshoot-no-permissions)
+ [Non sono autorizzato a eseguire iam: PassRole](#security_iam_troubleshoot-passrole)
+ [Voglio consentire a persone esterne a me di accedere Account AWS alle mie risorse DynamoDB](#security_iam_troubleshoot-cross-account-access)

## Non sono autorizzato a eseguire un'operazione in DynamoDB
<a name="security_iam_troubleshoot-no-permissions"></a>

Se ti Console di gestione AWS dice che non sei autorizzato a eseguire un'azione, devi contattare l'amministratore per ricevere assistenza. L'amministratore è la persona da cui si sono ricevuti il nome utente e la password.

Il seguente esempio di errore si verifica quando l'utente `mateojackson` prova a utilizzare la console per visualizzare i dettagli relativi a una risorsa `my-example-widget` fittizia, ma non dispone di autorizzazioni `aws:GetWidget` fittizie.

```
User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: aws:GetWidget on resource: my-example-widget
```

In questo caso, Mateo richiede al suo amministratore di aggiornare le policy per poter accedere alla risorsa `my-example-widget` utilizzando l'operazione `aws:GetWidget`.

## Non sono autorizzato a eseguire iam: PassRole
<a name="security_iam_troubleshoot-passrole"></a>

Se si riceve un errore che indica che non si è autorizzati a eseguire l'operazione `iam:PassRole`, è necessario aggiornare le policy per poter passare un ruolo a DynamoDB.

Alcuni Servizi AWS consentono di passare un ruolo esistente a quel servizio invece di creare un nuovo ruolo di servizio o un ruolo collegato al servizio. Per eseguire questa operazione, è necessario disporre delle autorizzazioni per trasmettere il ruolo al servizio.

L'errore di esempio seguente si verifica quando un utente IAM denominato `marymajor` cerca di utilizzare la console per eseguire un'operazione in DynamoDB. Tuttavia, l’azione richiede che il servizio disponga delle autorizzazioni concesse da un ruolo di servizio. Mary non dispone delle autorizzazioni per trasmettere il ruolo al servizio.

```
User: arn:aws:iam::123456789012:user/marymajor is not authorized to perform: iam:PassRole
```

In questo caso, le policy di Mary devono essere aggiornate per poter eseguire l’operazione `iam:PassRole`.

Se hai bisogno di aiuto, contatta il tuo AWS amministratore. L’amministratore è la persona che ti ha fornito le credenziali di accesso.

## Voglio consentire a persone esterne a me di accedere Account AWS alle mie risorse DynamoDB
<a name="security_iam_troubleshoot-cross-account-access"></a>

È possibile creare un ruolo con il quale utenti in altri account o persone esterne all’organizzazione possono accedere alle tue risorse. È possibile specificare chi è attendibile per l’assunzione del ruolo. Per i servizi che supportano politiche basate sulle risorse o liste di controllo degli accessi (ACLs), puoi utilizzare tali politiche per concedere alle persone l'accesso alle tue risorse.

Per maggiori informazioni, consulta gli argomenti seguenti:
+ Per capire se DynamoDB supporta queste funzionalità, consultare [Funzionamento di Amazon DynamoDB con IAM](security_iam_service-with-iam.md).
+ Per scoprire come fornire l'accesso alle risorse di tua proprietà, consulta [Fornire l'accesso a un utente IAM in Account AWS un altro Account AWS di tua proprietà nella](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_aws-accounts.html) *IAM* User Guide.
+ Per scoprire come fornire l'accesso alle tue risorse a terze parti Account AWS, consulta [Fornire l'accesso a soggetti Account AWS di proprietà di terze parti](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_third-party.html) nella *Guida per l'utente IAM*.
+ Per informazioni su come fornire l'accesso tramite la federazione delle identità, consulta [Fornire l'accesso a utenti autenticati esternamente (federazione delle identità)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_federated-users.html) nella *Guida per l'utente IAM*.
+ Per informazioni sulle differenze di utilizzo tra ruoli e policy basate su risorse per l’accesso multi-account, consulta [Accesso a risorse multi-account in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) nella *Guida per l’utente di IAM*.

# Policy IAM per impedire l'acquisto di capacità riservata DynamoDB
<a name="iam-policy-prevent-purchase-reserved-capacity"></a>

Con la capacità riservata di Amazon DynamoDB, si paga una commissione anticipata una tantum e ci si impegna a pagare per un livello minimo di utilizzo, con un risparmio significativo, per un periodo di tempo. Puoi utilizzare il Console di gestione AWS per visualizzare e acquistare la capacità riservata. Tuttavia, si potrebbe volere che non tutti gli utenti nell'organizzazione abbiano la possibilità di acquistare capacità riservata. Per ulteriori informazioni sulla capacità riservata, consulta [Prezzi di Amazon DynamoDB](https://aws.amazon.com/dynamodb/pricing).

DynamoDB fornisce le seguenti operazioni API per controllare l'accesso alla gestione della capacità riservata:
+ `dynamodb:DescribeReservedCapacity`: restituisce gli acquisti di capacità riservata attualmente in vigore.
+ `dynamodb:DescribeReservedCapacityOfferings`: restituisce i dettagli sui piani di capacità riservata attualmente offerti da AWS.
+ `dynamodb:PurchaseReservedCapacityOfferings`: esegue un acquisto effettivo della capacità riservata.

 Console di gestione AWS Utilizza queste azioni API per visualizzare le informazioni sulla capacità riservata ed effettuare acquisti. Non puoi chiamare queste operazioni da un programma applicativo, poiché sono accessibili solo dalla console. Tuttavia, è possibile consentire o negare l'accesso a queste operazioni in una policy di autorizzazioni IAM.

La seguente politica consente agli utenti di visualizzare gli acquisti e le offerte di capacità riservata utilizzando il Console di gestione AWS , ma i nuovi acquisti vengono negati.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowReservedCapacityDescriptions",
            "Effect": "Allow",
            "Action": [
                "dynamodb:DescribeReservedCapacity",
                "dynamodb:DescribeReservedCapacityOfferings"
            ],
            "Resource": "arn:aws:dynamodb:us-west-2:123456789012:*"
        },
        {
            "Sid": "DenyReservedCapacityPurchases",
            "Effect": "Deny",
            "Action": "dynamodb:PurchaseReservedCapacityOfferings",
            "Resource": "arn:aws:dynamodb:us-west-2:123456789012:*"
        }
    ]
}
```

------

Ricorda che questa policy utilizza il carattere jolly (\$1) per consentire a tutti di descrivere le autorizzazioni, e per impedire a tutti l'acquisto della capacità riservata di DynamoDB.