

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 Cognito
<a name="security-iam"></a>





AWS Identity and Access Management (IAM) è uno strumento 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 può effettuare l'accesso) e *autorizzato* (chi dispone delle autorizzazioni) a utilizzare risorse Amazon Cognito. 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 Cognito con IAM](security_iam_service-with-iam.md)
+ [Esempi di policy basate su identità per Amazon Cognito](security_iam_id-based-policy-examples.md)
+ [Risoluzione dei problemi relativi all'identità e all'accesso di Amazon Cognito](security_iam_troubleshoot.md)
+ [Utilizzo di ruoli collegati ai servizi per Amazon Cognito](using-service-linked-roles.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 Cognito](security_iam_troubleshoot.md))
+ **Amministratore del servizio**: determina l’accesso degli utenti e invia le richieste di autorizzazione (consulta [Funzionamento di Amazon Cognito 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 Cognito](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 Cognito con IAM
<a name="security_iam_service-with-iam"></a>

Prima di utilizzare IAM per gestire l'accesso ad Amazon Cognito, scopri quali funzionalità di IAM sono disponibili per l'uso con Amazon Cognito.






**Funzionalità di IAM che puoi utilizzare con Amazon Cognito**  

| Caratteristiche di IAM | Supporto per Amazon Cognito | 
| --- | --- | 
|  [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)  |   No   | 
|  [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)  |   Parziale  | 
|  [Credenziali temporanee](#security_iam_service-with-iam-roles-tempcreds)  |   Sì  | 
|  [Autorizzazioni del principale](#security_iam_service-with-iam-principal-permissions)  |   No   | 
|  [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 Amazon Cognito 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 Amazon Cognito
<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 Amazon Cognito
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>



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

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

**Supporta le policy basate su risorse:** no 

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 Amazon Cognito
<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 di eseguire l’operazione associata.



Per visualizzare un elenco di operazioni di Amazon Cognito, consulta [Operazioni definite da Amazon Cognito](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncognitoidentity.html#amazoncognitoidentity-actions-as-permissions) in *Riferimento per l'autorizzazione del servizio*.

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

```
cognito-identity
```

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

```
"Action": [
      "cognito-identity:action1",
      "cognito-identity:action2"
         ]
```

### Firmato o non firmato APIs
<a name="security_amazon-cognito-signed-versus-unsigned-apis"></a>

Quando firmi le richieste API di Amazon Cognito con AWS credenziali, puoi limitarle in una policy AWS Identity and Access Management (IAM). Richieste API che è necessario firmare con le credenziali AWS includono l'accesso lato server con `AdminInitiateAuth` e operazioni che creano, visualizzano o modificano le risorse Amazon Cognito come `UpdateUserPool`. Per ulteriori informazioni sulle richieste API firmate, consulta [Firmare le richieste AWS API](https://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html).

Poiché Amazon Cognito è un prodotto di identità di consumo per le app che desideri rendere disponibili al pubblico, hai accesso a quanto segue non firmato. APIs L'app effettua queste richieste API per gli utenti e i potenziali utenti. Alcuni non APIs richiedono alcuna autorizzazione preventiva, `InitiateAuth` ad esempio l'avvio di una nuova sessione di autenticazione. Alcuni APIs utilizzano token di accesso o chiavi di sessione per l'autorizzazione, `VerifySoftwareToken` ad esempio per completare la configurazione MFA per un utente che ha una sessione autenticata esistente. Un'API dei pool di utenti di Amazon Cognito non firmata e autorizzata supporta una `Session` o il parametro `AccessToken` nella sintassi della richiesta, come mostrato nella [Documentazione di riferimento dell'API di Amazon Cognito](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/Welcome.html). Un'API di Amazon Cognito Identity non firmata supporta un parametro `IdentityId` come mostrato nella [Documentazione di riferimento dell'API di identità federate di Amazon Cognito](https://docs.aws.amazon.com/cognitoidentity/latest/APIReference/Welcome.html).

Per ulteriori informazioni sui modelli di autorizzazione e i ruoli delle operazioni API dei pool di utenti Amazon Cognito, consultare [Elenco delle operazioni API raggruppate per modello di autorizzazione](authentication-flows-public-server-side.md#user-pool-apis-auth-unauth).

**Operazioni API dei pool di identità di Amazon Cognito**
+ `GetId`
+ `GetOpenIdToken`
+ `GetCredentialsForIdentity`
+ `UnlinkIdentity`

**Operazioni API dei pool di utenti Amazon Cognito**
+ `AssociateSoftwareToken`
+ `ChangePassword`
+ `ConfirmDevice`
+ `ConfirmForgotPassword`
+ `ConfirmSignUp`
+ `DeleteUser`
+ `DeleteUserAttributes`
+ `ForgetDevice`
+ `ForgotPassword`
+ `GetDevice`
+ `GetUser`
+ `GetUserAttributeVerificationCode`
+ `GlobalSignOut`
+ `InitiateAuth`
+ `ListDevices`
+ `ResendConfirmationCode`
+ `RespondToAuthChallenge`
+ `RevokeToken`
+ `SetUserMFAPreference`
+ `SetUserSettings`
+ `SignUp`
+ `UpdateAuthEventFeedback`
+ `UpdateDeviceStatus`
+ `UpdateUserAttributes`
+ `VerifySoftwareToken`
+ `VerifyUserAttribute`





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

## Risorse di policy per Amazon Cognito
<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": "*"
```

### Nomi di risorse Amazon (ARNs)
<a name="security_amazon-cognito-amazon-resource-names"></a>

**ARNs per le identità federate di Amazon Cognito**

Nei pool di identità (identità federate) di Amazon Cognito è possibile limitare l'accesso di un utente IAM a uno specifico pool di identità attraverso il formato Amazon Resource Name (ARN), come nell'esempio riportato di seguito. [Per ulteriori informazioni su ARNs, consulta gli identificatori IAM.](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html)

```
arn:aws:cognito-identity:REGION:ACCOUNT_ID:identitypool/IDENTITY_POOL_ID
```

**ARNs per Amazon Cognito Sync**

In Amazon Cognito Sync, i clienti possono inoltre limitare l'accesso in base all'ID del pool di identità, all'ID identità e al nome del set di dati.

Per quelli APIs che operano su un pool di identità, il formato ARN del pool di identità è lo stesso di Amazon Cognito Federated Identities, tranne per il fatto che il nome del servizio è invece di: `cognito-sync` `cognito-identity`

```
arn:aws:cognito-sync:REGION:ACCOUNT_ID:identitypool/IDENTITY_POOL_ID
```

Per APIs questo operano su un'unica identità, ad esempio`RegisterDevice`, è possibile fare riferimento all'identità individuale con il seguente formato ARN:

```
arn:aws:cognito-sync:REGION:ACCOUNT_ID:identitypool/IDENTITY_POOL_ID/identity/IDENTITY_ID
```

Per APIs operare su set di dati, come `UpdateRecords` e`ListRecords`, è possibile fare riferimento al singolo set di dati utilizzando il seguente formato ARN:

```
arn:aws:cognito-sync:REGION:ACCOUNT_ID:identitypool/IDENTITY_POOL_ID/identity/IDENTITY_ID/dataset/DATASET_NAME
```

**ARNs per i pool di utenti di Amazon Cognito**

Per i pool di utenti di Amazon Cognito, è possibile limitare l'accesso di un utente a un pool di utenti specifico, utilizzando il formato ARN seguente:

```
arn:aws:cognito-idp:REGION:ACCOUNT_ID:userpool/USER_POOL_ID
```

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





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

## Chiavi di condizione delle policy per Amazon Cognito
<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 delle chiavi di condizione di Amazon Cognito, consulta [Chiavi di condizione per Amazon Cognito](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncognitoidentity.html#amazoncognitoidentity-policy-keys) in *Riferimento per l'autorizzazione del servizio*. Per informazioni su operazioni e risorse con cui è possibile utilizzare una chiave di condizione, consulta [Operazioni definite da Amazon Cognito](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncognitoidentity.html#amazoncognitoidentity-actions-as-permissions).

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

## Elenchi di controllo degli accessi (ACLs) in Amazon Cognito
<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 Amazon Cognito
<a name="security_iam_service-with-iam-tags"></a>

**Supporta ABAC (tag nelle policy):** parzialmente

Il controllo degli accessi basato su attributi (ABAC) è una strategia di autorizzazione che definisce le autorizzazioni in base agli 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 Amazon Cognito
<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 Amazon Cognito
<a name="security_iam_service-with-iam-principal-permissions"></a>

**Supporta l'inoltro delle sessioni di accesso (FAS):** no 

 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 Amazon Cognito
<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 la sezione [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*. 

Per ulteriori informazioni sui ruoli di servizio in Amazon Cognito, consulta [Attivazione della sincronizzazione push](identity-pools.md#enable-push-synchronization) e [Implementazione della sincronizzazione push](push-sync.md).

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

## Ruoli collegati ai servizi per Amazon Cognito
<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 maggiori dettagli su come creare e gestire i ruoli collegati ai servizi di Amazon Cognito, consulta [Utilizzo di ruoli collegati ai servizi per Amazon Cognito](using-service-linked-roles.md).

# Esempi di policy basate su identità per Amazon Cognito
<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 Amazon Cognito. 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 Amazon Cognito, incluso il formato di ARNs per ogni tipo di risorsa, consulta [Azioni, risorse e chiavi di condizione per Amazon Cognito](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncognitoidentity.html) nel Service Authorization Reference.*

**Topics**
+ [Best practice per le policy](#security_iam_service-with-iam-policy-best-practices)
+ [Utilizzo della console Amazon Cognito](#security_iam_id-based-policy-examples-console)
+ [Consentire agli utenti di visualizzare le loro autorizzazioni](#security_iam_id-based-policy-examples-view-own-permissions)
+ [Limitazione dell'accesso alla console ad uno specifico pool di identità](#security_amazon-cognito-example-policies)
+ [Consentire l'accesso a un set di dati specifico per tutte le identità di un pool](#security_amazon-cognito-example-allow-access)

## 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 Amazon Cognito nell'account. Queste operazioni 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 *AWS gestite* che concedono le autorizzazioni per molti casi d'uso comuni. 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*.

**Nota**  
La versione originale e quella nuova della console Amazon Cognito hanno un comportamento di base diverso quando si visualizzano e si modificano le proprie risorse Amazon Cognito. Se hai concesso l'autorizzazione alle operazioni nel prefisso del servizio `cognito-idp` solo quando la condizione `aws:ViaAWSService` è True, è possibile che il principale IAM interessato sia stato effettivo per le risorse Amazon Cognito nella console originale, ma non nella nuova console. Per lavorare nella console di Amazon Cognito, non impostare una condizione `aws:ViaAWSService` nelle autorizzazioni di Amazon Cognito nella policy IAM.

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

Per accedere alla console Amazon Cognito, è necessario disporre di un set di autorizzazioni minimo. Queste autorizzazioni devono consentirti di elencare e visualizzare i dettagli sulle risorse Amazon Cognito 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 per la console agli utenti che effettuano chiamate solo verso AWS CLI o l'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 continuare a utilizzare la console Amazon Cognito, collega anche Amazon `ConsoleAccess` Cognito `ReadOnly` AWS o la policy gestita alle entità. 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 politica include le autorizzazioni per completare questa azione sulla console o utilizzando l'API o in modo programmatico. 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": "*"
        }
    ]
}
```

## Limitazione dell'accesso alla console ad uno specifico pool di identità
<a name="security_amazon-cognito-example-policies"></a>

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "cognito-identity:ListIdentityPools"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "cognito-identity:*"
            ],
            "Resource": "arn:aws:cognito-identity:us-east-1:111122223333:identitypool/us-east-1:1a1a1a1a-ffff-1111-9999-12345678"
        },
        {
            "Effect": "Allow",
            "Action": [
                "cognito-sync:*"
            ],
            "Resource": "arn:aws:cognito-sync:us-east-1:111122223333:identitypool/us-east-1:1a1a1a1a-ffff-1111-9999-12345678"
        }
    ]
}
```

------

## Consentire l'accesso a un set di dati specifico per tutte le identità di un pool
<a name="security_amazon-cognito-example-allow-access"></a>

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "cognito-sync:ListRecords",
                "cognito-sync:UpdateRecords"
            ],
            "Resource": "arn:aws:cognito-sync:us-east-1:111122223333:identitypool/us-east-1:1a1a1a1a-ffff-1111-9999-12345678/identity/*/dataset/UserProfile"
        }
    ]
}
```

------







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

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

**Topics**
+ [Non sono autorizzato a eseguire un'operazione in Amazon Cognito](#security_iam_troubleshoot-no-permissions)
+ [Non sono autorizzato a eseguire iam: PassRole](#security_iam_troubleshoot-passrole)
+ [Sono un amministratore e desidero consentire ad altri utenti di accedere a Amazon Cognito](#security_iam_troubleshoot-admin-delegate)
+ [Desidero consentire a persone esterne al mio AWS account di accedere alle mie risorse di Amazon Cognito](#security_iam_troubleshoot-cross-account-access)

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

Se ricevi un errore che indica che non sei autorizzato a eseguire un’operazione, le tue policy devono essere aggiornate per poter eseguire l’operazione.

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

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

In questo caso, la policy per l’utente `mateojackson` deve essere aggiornata per consentire l’accesso alla risorsa `my-example-widget` utilizzando l’azione `cognito-identity:GetWidget`.

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

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

Se si riceve un errore che indica che non si dispone dell'autorizzazione a eseguire l'operazione `iam:PassRole`, per passare un ruolo a Amazon Cognito è necessario aggiornare le policy.

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` prova a utilizzare la console per eseguire un'operazione in Amazon Cognito. 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.

## Sono un amministratore e desidero consentire ad altri utenti di accedere a Amazon Cognito
<a name="security_iam_troubleshoot-admin-delegate"></a>

Per consentire ad altri di accedere ad Amazon Cognito, devi concedere l'autorizzazione alle persone o alle applicazioni che devono accedervi. Se lo utilizzi AWS IAM Identity Center per gestire persone e applicazioni, assegni set di autorizzazioni a utenti o gruppi per definirne il livello di accesso. I set di autorizzazioni creano e assegnano automaticamente le policy IAM ai ruoli IAM associati alla persona o all'applicazione. Per ulteriori informazioni, consulta [Set di autorizzazioni](https://docs.aws.amazon.com/singlesignon/latest/userguide/permissionsetsconcept.html) nella *Guida per l'AWS IAM Identity Center utente*.

Se non utilizzi IAM Identity Center, devi creare entità IAM (utenti o ruoli) per le persone o le applicazioni che necessitano di accesso. Dovrai quindi collegare all'entità una policy che conceda le autorizzazioni corrette in Amazon Cognito. Dopo aver concesso le autorizzazioni, fornisci le credenziali all'utente o allo sviluppatore dell'applicazione. Utilizzeranno tali credenziali per accedere. AWS*Per ulteriori informazioni sulla creazione di utenti, gruppi, policy e autorizzazioni IAM, consulta [IAM Identities](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html) and [Policies and permissions in IAM nella IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) User Guide.*

## Desidero consentire a persone esterne al mio AWS account di accedere alle mie risorse di Amazon Cognito
<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 consentire alle persone di accedere alle tue risorse.

Per maggiori informazioni, consulta gli argomenti seguenti:
+ Per sapere se Amazon Cognito supporta queste funzionalità, consulta [Funzionamento di Amazon Cognito con IAM](security_iam_service-with-iam.md).
+ Per scoprire come fornire l'accesso alle tue risorse attraverso Account AWS le risorse di tua proprietà, consulta [Fornire l'accesso a un utente IAM in un altro Account AWS di tua proprietà](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_aws-accounts.html) nella *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*.

# Utilizzo di ruoli collegati ai servizi per Amazon Cognito
<a name="using-service-linked-roles"></a>

Amazon Cognito utilizza ruoli collegati ai [servizi AWS Identity and Access Management](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role) (IAM). Un ruolo collegato al servizio è un tipo unico di ruolo IAM con una politica di fiducia che consente a un utente di assumere il ruolo. Servizio AWS I ruoli collegati ai servizi sono predefiniti da Amazon Cognito e includono tutte le autorizzazioni richieste dal servizio per chiamare altri servizi per tuo conto. AWS 

Un ruolo collegato ai servizi semplifica la configurazione di Amazon Cognito perché ti permette di evitare l'aggiunta manuale delle autorizzazioni necessarie. Amazon Cognito definisce le autorizzazioni dei ruoli associati ai servizi e, salvo diversamente definito, solo Amazon Cognito può assumere il ruolo. Le autorizzazioni definite includono la policy di attendibilità e la policy delle autorizzazioni che non può essere collegata a nessun'altra entità IAM.

È possibile eliminare un ruolo collegato al servizio solo dopo avere eliminato le risorse correlate. Questa procedura protegge le risorse di Amazon Cognito perché impedisce la rimozione involontaria delle autorizzazioni di accesso alle risorse.

Per informazioni sugli altri servizi che supportano i ruoli collegati ai servizi, consulta [Servizi AWS che funzionano con IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) e cerca i servizi che riportano **Sì** nella colonna **Ruolo collegato ai servizi**. Scegli **Yes** (Sì) in corrispondenza di un link per visualizzare la documentazione relativa al ruolo collegato ai servizi per tale servizio.

## Autorizzazioni del ruolo collegato ai servizi per Amazon Cognito
<a name="slr-permissions"></a>

Amazon Cognito utilizza i seguenti ruoli collegati ai servizi:
+ ** AWSServiceRoleForAmazonCognitoIdpEmailService**— Consente al servizio di pool di utenti Amazon Cognito di utilizzare le identità Amazon SES per l'invio di e-mail.
+ ** AWSServiceRoleForAmazonCognitoIdp**— Consente ai pool di utenti di Amazon Cognito di pubblicare eventi e configurare endpoint per i tuoi progetti Amazon Pinpoint.

**AWSServiceRoleForAmazonCognitoIdpEmailService**

Ai fini dell’assunzione del ruolo, il ruolo collegato al servizio `AWSServiceRoleForAmazonCognitoIdpEmailService` considera attendibili i seguenti servizi:
+ `email.cognito-idp.amazonaws.com`

La policy delle autorizzazioni del ruolo consente ad Amazon Cognito di completare le seguenti operazioni sulle risorse specificate:

**Azioni consentite per: AWSService RoleForAmazonCognitoIdpEmailService**
+ Operazione: `ses:SendEmail` e `ses:SendRawEmail`
+ Risorsa: `*`

La policy impedisce a Amazon Cognito di completare le seguenti operazioni sulle risorse specificate:

**Operazioni rifiutate**
+ Operazione: `ses:List*`
+ Risorsa: `*`

Con queste autorizzazioni, Amazon Cognito può utilizzare gli indirizzi e-mail verificati in Amazon SES solo per inviare e-mail ai tuoi utenti. Amazon Cognito invia e-mail agli utenti quando eseguono alcune operazioni nell'app client per un bacino d'utenza, ad esempio quando accedono o reimpostano una password.

Per consentire a un'entità IAM (come un utente, un gruppo o un ruolo) di creare, modificare o eliminare un ruolo collegato al servizio è necessario configurare le relative autorizzazioni. Per ulteriori informazioni, consulta [Autorizzazioni del ruolo collegato ai servizi](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions) nella *Guida per l'utente IAM*.

**AWSServiceRoleForAmazonCognitoIdp**

Il ruolo AWSService RoleForAmazonCognitoIdp collegato al servizio prevede che i seguenti servizi assumano il ruolo:
+ `email.cognito-idp.amazonaws.com`

La policy delle autorizzazioni del ruolo consente ad Amazon Cognito di completare le seguenti operazioni sulle risorse specificate:

**Azioni consentite per AWSService RoleForAmazonCognitoIdp**
+ Operazione: `cognito-idp:Describe` 
+ Risorsa: `*`

Con questa autorizzazione, Amazon Cognito può chiamare le operazioni API `Describe` di Amazon Cognito per tuo conto.

**Nota**  
Quando integri Amazon Cognito con Amazon Pinpoint utilizzando `createUserPoolClient` e `updateUserPoolClient`, le autorizzazioni della risorsa verranno aggiunte all'SLR come policy in linea. La policy in linea fornirà le autorizzazioni `mobiletargeting:UpdateEndpoint` e `mobiletargeting:PutEvents`. Queste autorizzazioni consentono ad Amazon Cognito di pubblicare eventi e configurare endpoint per i progetti Pinpoint integrati con Cognito.

## Creazione di un ruolo collegato ai servizi per Amazon Cognito
<a name="create-slr"></a>

Non hai bisogno di creare manualmente un ruolo collegato ai servizi. Quando configuri un pool di utenti per utilizzare la configurazione di Amazon SES per gestire la Console di gestione AWS consegna delle e-mail nell'API Amazon Cognito AWS CLI, Amazon Cognito crea il ruolo collegato al servizio per te. 

Se elimini questo ruolo collegato al servizio, è possibile ricrearlo seguendo lo stesso processo utilizzato per ricreare il ruolo nell’account. Quando configuri un bacino d'utenza per utilizzare la configurazione di Amazon SES per gestire il recapito e-mail, Amazon Cognito crea il ruolo collegato al servizio per tuo conto. 

Prima che Amazon Cognito possa creare questo ruolo, le autorizzazioni IAM utilizzate per configurare il bacino d'utenza devono includere l'operazione `iam:CreateServiceLinkedRole`. Per ulteriori informazioni sull'aggiornamento delle autorizzazioni in IAM, consulta [Modifica delle autorizzazioni per un utente IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html) nella *Guida per l'utente di IAM*.

## Modifica di un ruolo collegato ai servizi per Amazon Cognito
<a name="edit-slr"></a>

 Non puoi modificare i ruoli AmazonCognitoIdp o AmazonCognitoIdpEmailService quelli collegati al servizio in. AWS Identity and Access Management Dopo aver creato un ruolo collegato al servizio, non è possibile modificarne il nome, perché potrebbero farvi riferimento diverse entità. È possibile tuttavia modificarne la descrizione utilizzando IAM. Per ulteriori informazioni, consulta [Modifica di un ruolo collegato ai servizi](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role) nella *Guida per l'utente di IAM*.

## Eliminazione di un ruolo collegato ai servizi per Amazon Cognito
<a name="delete-slr"></a>

Se non è più necessario utilizzare una funzionalità o un servizio che richiede un ruolo collegato al servizio, consigliamo di eliminare il ruolo. Se elimini il ruolo, mantieni solo le entità che Amazon Cognito monitora o mantiene attivamente. Prima di poter eliminare i ruoli AmazonCognitoIdp o AmazonCognitoIdpEmailService quelli collegati al servizio, è necessario eseguire una delle seguenti operazioni per ogni pool di utenti che utilizza il ruolo:
+ Eliminare il bacino d'utenza.
+ Aggiornare le impostazioni e-mail nel bacino d'utenza in modo da utilizzare la funzionalità e-mail predefinita. L'impostazione di default non utilizza il ruolo collegato al servizio.

Ricordati di eseguire l'azione in ognuno di essi Regione AWS con un pool di utenti che utilizza il ruolo.

**Nota**  
Se il servizio Amazon Cognito utilizza tale ruolo quando provi a eliminare le risorse, è possibile che l'eliminazione non riesca. In questo caso, attendi alcuni minuti e quindi ripeti l’operazione.

**Come eliminare un bacino d'utenza Amazon Cognito**

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

1. Scegli **Manage User Pools** (Gestisci pool di utenti).

1. Nella pagina **Your User Pools** (I tuoi pool di utenti), scegli il bacino d'utenza da eliminare.

1. Scegli **Delete pool** (Elimina pool).

1. Nella finestra **Delete user pool** (Elimina pool di utenti), digita **delete** e seleziona **Elimina pool**.

**Per aggiornare un bacino d'utenza di Amazon Cognito in modo che utilizzi la funzionalità e-mail di default**

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

1. Scegli **Manage User Pools** (Gestisci pool di utenti).

1. Nella pagina **Your User Pools** (I tuoi pool di utenti), scegli il bacino d'utenza da aggiornare.

1. Nel menu di navigazione a sinistra, seleziona **Message customizations** (Personalizzazioni di messaggio).

1. Alla voce **Do you want to send emails through your Amazon SES Configuration?** (Inviare e-mail tramite la configurazione Amazon SES?), seleziona **No - Use Cognito (Default)** (No, utilizza Cognito (di default)).

1. Una volta completata la configurazione delle opzioni dell'account e-mail, seleziona **Save changes** (Salva modifiche).

**Per eliminare manualmente il ruolo collegato ai servizi utilizzando IAM**

Usa la console IAM AWS CLI, o l' AWS API per eliminare ruoli AmazonCognitoIdp o collegati ai AmazonCognitoIdpEmailService servizi. Per ulteriori informazioni, consulta [Eliminazione del ruolo collegato ai servizi](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role) nella *Guida per l'utente di IAM*.

## Regioni supportate per i ruoli collegati ai servizi di Amazon Cognito
<a name="slr-regions"></a>

Amazon Cognito supporta ruoli collegati al servizio Regioni AWS ovunque il servizio sia disponibile. Per ulteriori informazioni, consulta [Regioni AWS ed endpoint](https://docs.aws.amazon.com/general/latest/gr/rande.html#cognito_identity_region).