

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

# Concedere a un utente le autorizzazioni per passare un ruolo a un servizio AWS
<a name="id_roles_use_passrole"></a>

Per configurare molti AWS servizi, è necessario *passare* un ruolo IAM al servizio. Ciò consente al servizio di assumere successivamente il ruolo ed eseguire operazioni per tuo conto. Per la maggior parte dei servizi, è sufficiente passare il ruolo al servizio una sola volta durante la configurazione e non ogni volta che il servizio assume il ruolo. Ad esempio, si supponga di disporre di un'applicazione in esecuzione in un'istanza Amazon EC2. Tale applicazione richiede credenziali temporanee per l'autenticazione e autorizzazioni per autorizzare l'applicazione a eseguire operazioni in AWS. Quando configuri l'applicazione, devi passare un ruolo ad Amazon EC2 per l'utilizzo con l'istanza che fornisce tali credenziali. È possibile definire le autorizzazioni per le applicazioni in esecuzione nell'istanza collegando una policy IAM al ruolo. L'applicazione assume il ruolo ogni volta che è necessario per eseguire le operazioni consentite dal ruolo.

Per passare un ruolo (e le relative autorizzazioni) a un AWS servizio, un utente deve disporre delle autorizzazioni per *passare il ruolo* al servizio. Ciò consente agli amministratori di garantire che solo gli utenti autorizzati possano configurare un servizio con un ruolo che concede le autorizzazioni. Per consentire a un utente di passare un ruolo a un AWS servizio, devi concedere l'`PassRole`autorizzazione all'utente, al ruolo o al gruppo IAM dell'utente.

**avvertimento**  
Puoi utilizzare l'`PassRole`autorizzazione solo per passare un ruolo IAM a un servizio che condivide lo stesso AWS account. Per passare un ruolo nell'Account A a un servizio nell'Account B, devi prima creare un ruolo IAM nell'Account B che possa assumere il ruolo dall'Account A, quindi il ruolo nell'Account B può essere passato al servizio. Per informazioni dettagliate, vedi [Accesso alle risorse multi-account in IAM](access_policies-cross-account-resource-access.md).
Non cercare di controllare chi può passare un ruolo assegnando tag al ruolo e utilizzando la chiave di condizione `ResourceTag` in una policy con l'operazione `iam:PassRole`. Questo approccio non produce risultati affidabili.

Quando imposti l'autorizzazione `PassRole`, devi assicurarti che un utente non invii un ruolo dove il ruolo dispone di più autorizzazioni di quelle che desideri che l'utente abbia. Ad esempio, Alice potrebbe non essere autorizzata a eseguire alcune operazioni su Amazon S3. Se Alice potesse trasferire un ruolo a un servizio che consente le azioni di Amazon S3, il servizio potrebbe eseguire azioni Amazon S3 per conto di Alice durante l'esecuzione del processo.

Quando si specifica un ruolo collegato ai servizi, è necessario disporre anche delle autorizzazioni per inoltrare tale ruolo al servizio. Alcuni servizi creano automaticamente un ruolo collegato ai servizi nell'account quando si esegue un'azione in quel servizio. Ad esempio, Amazon EC2 Auto Scaling crea il ruolo collegato ai servizi `AWSServiceRoleForAutoScaling` la prima volta che crei un gruppo Auto Scaling. Se provi a specificare il ruolo collegato ai servizi quando crei un gruppo con scalabilità automatica senza l'autorizzazione `iam:PassRole`, viene visualizzato un messaggio di errore. Se non specifichi esplicitamente il ruolo, l'autorizzazione `iam:PassRole` non è richiesta e l'impostazione predefinita prevede l'utilizzo del ruolo `AWSServiceRoleForAutoScaling` per tutte le operazioni eseguite su quel gruppo. Per scoprire i servizi che supportano i ruoli collegati ai servizi, consulta [AWS servizi che funzionano con IAM](reference_aws-services-that-work-with-iam.md). Per scoprire quali servizi creano automaticamente un ruolo collegato ai servizi quando si esegue un'operazione in quel servizio, selezionare il collegamento **Yes (Sì)** e visualizzare il ruolo collegato ai servizi per il servizio.

Un utente può passare un ruolo ARN come parametro in qualsiasi operazione API che utilizza il ruolo per assegnare le autorizzazioni al servizio. Il servizio quindi verifica se l'utente dispone dell'autorizzazione `iam:PassRole`. Per limitare l'utente a passare solo i ruoli approvati, puoi filtrare l'autorizzazione `iam:PassRole` con l'elemento `Resources` dell'istruzione della policy IAM. 

Puoi utilizzare l'`Condition`elemento in una policy JSON per testare il valore delle chiavi incluse nel contesto di richiesta di tutte le AWS richieste. Per ulteriori informazioni sull'utilizzo delle chiavi di condizione in una policy, consulta [Elementi delle policy JSON IAM: Condition](reference_policies_elements_condition.md). La chiave di condizione `iam:PassedToService` può essere utilizzata per specificare il principale del servizio del servizio a cui è possibile passare un ruolo. Per ulteriori informazioni sull'utilizzo della chiave `iam:PassedToService` condition in una politica, consulta [iam: PassedToService](reference_policies_iam-condition-keys.md#ck_PassedToService).

**Esempio 1**  
Si immagini di voler concedere a un utente la possibilità di trasferire uno qualsiasi dei set di ruoli approvati al servizio Amazon EC2 all'avvio di un'istanza. È necessario disporre di tre elementi:
+ Una *policy di autorizzazioni* IAM collegata al ruolo che determina quali operazioni può compiere il ruolo. Definire l'ambito delle autorizzazioni in modo da includere solo le operazioni che il ruolo deve effettuare e sole le risorse necessarie per tali operazioni. Puoi utilizzare una politica di autorizzazioni IAM AWS gestita o creata dal cliente.

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

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": {
          "Effect": "Allow",
          "Action": [ "A list of the permissions the role is allowed to use" ],
          "Resource": [ "A list of the resources the role is allowed to access" ]
      }
  }
  ```

------
+ Una* policy di attendibilità* per il ruolo che consente al servizio di assumere tale ruolo. Ad esempio, è possibile collegare la seguente policy di affidabilità al ruolo con l'operazione `UpdateAssumeRolePolicy`. Questa policy di attendibilità consente ad Amazon EC2 di utilizzare il ruolo e le autorizzazioni associate al ruolo.

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

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": {
          "Sid": "TrustPolicyStatementThatAllowsEC2ServiceToAssumeTheAttachedRole",
          "Effect": "Allow",
          "Principal": { "Service": "ec2.amazonaws.com" },
         "Action": "sts:AssumeRole"
      }
  }
  ```

------
+ Una *policy di autorizzazioni* IAM collegata all'utente IAM che consente all'utente di trasferire solo i ruoli approvati. In genere si aggiunge `iam:GetRole` a `iam:PassRole` in modo che l'utente possa ottenere i dettagli del ruolo da passare. In questo esempio, l'utente può passare solo i ruoli esistenti nell'account specificato con nomi che iniziano con `EC2-roles-for-XYZ-`:

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

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Effect": "Allow",
              "Action": [
                  "iam:GetRole",
                  "iam:PassRole"
              ],
              "Resource": "arn:aws:iam::111122223333:role/EC2-roles-for-XYZ-*"
          }
      ]
  }
  ```

------

Ora l'utente può avviare un'istanza Amazon EC2 con un ruolo assegnato. Le applicazioni in esecuzione nell'istanza possono accedere alle credenziali temporanee per il ruolo tramite i metadati del profilo dell'istanza. Le policy delle autorizzazioni collegate al ruolo determinano cosa può fare l'istanza. 

**Esempio 2**  
Amazon Relational Database Service (Amazon RDS) supporta una funzione chiamata **Monitoraggio avanzato**. Questa funzione consente ad Amazon RDS di monitorare un'istanza di database tramite un agente. Consente inoltre ad Amazon RDS di registrare i parametri su Amazon CloudWatch Logs. Per abilitare questa funzione, è necessario creare un ruolo di servizio per fornire le autorizzazioni Amazon RDS per monitorare e scrivere i parametri per i log. 

**Come creare un ruolo IAM per il monitoraggio avanzato di Amazon RDS**

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

1. Selezionare **Roles (Ruoli)**, quindi selezionare **Create role (Crea ruolo)**.

1. Scegli il tipo di ruolo di **AWS servizio**, quindi, per **Casi d'uso per altri Servizi AWS**, scegli il servizio **RDS**. Scegli **RDS - Enhanced Monitoring** (RDS - Monitoraggio avanzato), quindi seleziona **Next** (Successivo).

1. Scegli la politica di RDSEnhanced MonitoringRole autorizzazione di **Amazon**.

1. Scegli **Next (Successivo)**.

1. In **Role name** (Nome ruolo), inserisci un nome del ruolo che consenta di identificarne lo scopo. I nomi dei ruoli devono essere univoci all'interno del tuo Account AWS. Quando il nome di un ruolo viene utilizzato in una policy o come parte di un ARN, il nome del ruolo fa distinzione tra maiuscole e minuscole. Quando un nome di ruolo viene visualizzato ai clienti nella console, ad esempio durante la procedura di accesso, il nome del ruolo non fa distinzione tra maiuscole e minuscole. Poiché varie entità possono fare riferimento al ruolo, non puoi modificare il nome del ruolo dopo averlo creato.

1. (Facoltativo) In **Description** (Descrizione), inserisci una descrizione per il nuovo ruolo.

1. (Facoltativo) Aggiungi metadati all'utente collegando i tag come coppie chiave-valore. Per ulteriori informazioni sull'utilizzo dei tag in IAM, consultare [Tag per AWS Identity and Access Management le risorse](id_tags.md).

1. Rivedere il ruolo e scegliere **Crea ruolo**.

Il ruolo ottiene automaticamente una policy di affidabilità che concede le autorizzazioni del servizio `monitoring.rds.amazonaws.com` per assumere il ruolo. Dopo l'avvio, Amazon RDS potrà eseguire tutte le operazioni consentite dalla policy `AmazonRDSEnhancedMonitoringRole`.

L'utente a cui desideri accedere a Enhanced Monitoring necessita di una politica che includa un'istruzione che consenta all'utente di elencare i ruoli RDS e un'istruzione che consenta all'utente di passare il ruolo, come la seguente. Utilizza il tuo numero di account e sostituisci il nome del ruolo con il nome fornito nel passaggio 6.

```
    {
      "Sid": "PolicyStatementToAllowUserToListRoles",
      "Effect": "Allow",
      "Action": ["iam:ListRoles"],
      "Resource": "*"
    },
    {
        "Sid": "PolicyStatementToAllowUserToPassOneSpecificRole",
        "Effect": "Allow",
        "Action": [ "iam:PassRole" ],
        "Resource": "arn:aws:iam::account-id:role/RDS-Monitoring-Role"
    }
```

È possibile combinare questa istruzione con dichiarazioni in un'altra policy o collocarla nella policy personalizzata. Invece, per specificare che l'utente può passare qualsiasi ruolo che inizia con `RDS-`, puoi sostituire il nome del ruolo nella risorsa ARN con un carattere jolly, come nell'esempio seguente.

```
        "Resource": "arn:aws:iam::account-id:role/RDS-*"
```

## `iam:PassRole`azioni nei log AWS CloudTrail
<a name="id_roles_use_passrole_logs"></a>

 `PassRole`non è una chiamata API. `PassRole`è un'autorizzazione, il che significa che non vengono generati CloudTrail log per IAM`PassRole`. Per verificare quali ruoli vengono passati a quali Servizi AWS in CloudTrail, è necessario esaminare il CloudTrail registro che ha creato o modificato la AWS risorsa che riceve il ruolo. Ad esempio, un ruolo viene passato a una AWS Lambda funzione al momento della creazione. Il log per l'operazione `CreateFunction` mostra un record del ruolo passato alla funzione. 