Creazione di un ruolo per delegare le autorizzazioni a un servizio AWS - AWS Identity and Access Management

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Creazione di un ruolo per delegare le autorizzazioni a un servizio AWS

Molti AWS servizi richiedono l'utilizzo di ruoli per consentire al servizio di accedere alle risorse di altri servizi per conto dell'utente. Un ruolo che un servizio assume per eseguire operazioni a tuo nome viene chiamato ruolo del servizio. Quando un ruolo fornisce un determinato scopo per un servizio, viene categorizzato come ruolo del servizio per le istanze EC2 (per esempio) oppure come ruolo collegato al servizio. Per visualizzare i servizi che supportano ruoli collegati ai servizi, oppure se un servizio supporta qualsiasi forma di credenziali provvisorie, consulta AWS servizi che funzionano con IAM. Per apprendere come un singolo servizio utilizza i ruoli, scegli il nome del servizio nella tabella e visualizza la documentazione relativa a tale servizio.

Quando imposti l'PassRoleautorizzazione, devi assicurarti che a un utente non venga assegnato un ruolo in cui il ruolo dispone di più autorizzazioni di quelle che desideri che l'utente abbia. Ad esempio, Alice potrebbe non essere autorizzata a eseguire alcuna azione 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 job.

Per informazioni su come i ruoli aiutano a delegare le autorizzazioni, consulta Termini e concetti dei ruoli.

Autorizzazioni del ruolo del servizio

Per consentire a una entità IAM (utente o ruolo) di creare o modificare un ruolo di servizio, occorre configurare le autorizzazioni.

Nota

L'ARN per un ruolo collegato ai servizi include un principale del servizio, indicata nelle policy seguenti come SERVICE-NAME.amazonaws.com. Non tentare di indovinare il principale del servizio, perché fa distinzione tra maiuscole e minuscole e il formato può variare tra i servizi AWS . Per visualizzare l'entità principale di un servizio, consulta la relativa documentazione del ruolo collegato al servizio.

Come consentire a un'entità IAM di creare un ruolo di servizio specifico

Aggiungi la policy seguente all'entità IAM che deve creare il ruolo di servizio. Questa policy ti permette di creare un ruolo del servizio per il servizio specificato e utilizzando un nome specifico. Puoi quindi collegare le policy gestite o inline a tale ruolo.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:AttachRolePolicy", "iam:CreateRole", "iam:PutRolePolicy" ], "Resource": "arn:aws:iam::*:role/SERVICE-ROLE-NAME" } ] }

Come consentire a un'entità IAM di creare un qualsiasi ruolo di servizio

AWS consiglia di consentire solo agli utenti amministrativi di creare qualsiasi ruolo di servizio. Una persona con autorizzazioni per creare un ruolo e allegare qualsiasi policy può eseguire l'escalation delle proprie autorizzazioni. Invece, crea una policy che consenta a questa persona di creare solo i ruoli di cui hanno bisogno o lascia che un amministratore crei il ruolo di servizio per suo conto.

Per allegare una policy che consenta a un amministratore di accedere all'intero account Account AWS, utilizza la policy AdministratorAccess AWS gestita.

Come consentire a un'entità IAM di modificare un ruolo di servizio

Aggiungi la policy seguente all'entità IAM che deve modificare il ruolo di servizio.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "EditSpecificServiceRole", "Effect": "Allow", "Action": [ "iam:AttachRolePolicy", "iam:DeleteRolePolicy", "iam:DetachRolePolicy", "iam:GetRole", "iam:GetRolePolicy", "iam:ListAttachedRolePolicies", "iam:ListRolePolicies", "iam:PutRolePolicy", "iam:UpdateRole", "iam:UpdateRoleDescription" ], "Resource": "arn:aws:iam::*:role/SERVICE-ROLE-NAME" }, { "Sid": "ViewRolesAndPolicies", "Effect": "Allow", "Action": [ "iam:GetPolicy", "iam:ListRoles" ], "Resource": "*" } ] }

Come consentire a un'entità IAM di eliminare un ruolo di servizio specifico

Aggiungi l'istruzione seguente alla policy delle autorizzazioni per l'entità IAM che deve eliminare il ruolo di servizio specificato.

{ "Effect": "Allow", "Action": "iam:DeleteRole", "Resource": "arn:aws:iam::*:role/SERVICE-ROLE-NAME" }

Come consentire a un'entità IAM di eliminare qualunque ruolo di servizio

AWS consiglia di consentire solo agli utenti amministrativi di eliminare qualsiasi ruolo di servizio. Invece, crea una policy che consenta loro di eliminare solo i ruoli di cui hanno bisogno o lascia che un amministratore elimini il ruolo di servizio per suo conto.

Per allegare una politica che consenta a un amministratore di accedere all'intero account Account AWS, utilizza la politica AdministratorAccess AWS gestita.

Creazione di un ruolo per un AWS servizio (console)

È possibile utilizzare il AWS Management Console per creare un ruolo per un servizio. Dal momento che alcuni servizi supportano più ruoli del servizio, consulta la documentazione AWS relativa al servizio per determinare quale caso d'uso selezionare. È possibile apprendere come assegnare le necessarie policy di affidabilità e autorizzazioni al ruolo, in modo che il servizio possa assumere quel ruolo per conto dell'utente. Le operazioni che è possibile utilizzare per controllare le autorizzazioni per il tuo ruolo possono variare, a seconda del modo in cui il servizio definisce i casi d'uso e della creazione o meno di un ruolo collegato ai servizi.

Per creare un ruolo per una Servizio AWS (console IAM)
  1. Accedi AWS Management Console e apri la console IAM all'indirizzo https://console.aws.amazon.com/iam/.

  2. Nel pannello di navigazione della console IAM, scegliere Ruoli e quindi Crea ruolo.

  3. Per Trusted entity type (Tipo di entità attendibile), scegli Servizio AWS.

  4. Per Servizio o caso d'uso, scegli un servizio, quindi scegli il caso d'uso. I casi d'uso sono definiti dal servizio in modo da includere la policy di attendibilità richiesta dal servizio.

  5. Seleziona Successivo.

  6. Per i criteri di autorizzazione, le opzioni dipendono dal caso d'uso selezionato:

    • Se il servizio definisce le autorizzazioni per il ruolo, non è possibile selezionare le politiche di autorizzazione.

    • Seleziona da un set limitato di politiche di autorizzazione.

    • Seleziona tra tutte le politiche di autorizzazione.

    • Seleziona nessuna politica di autorizzazione, crea le politiche dopo la creazione del ruolo e quindi allega le politiche al ruolo.

  7. (Facoltativo) Impostare un limite delle autorizzazioni. Questa è una caratteristica avanzata disponibile per i ruoli di servizio, ma non per i ruoli collegati ai servizi.

    1. Apri la sezione Imposta i limiti delle autorizzazioni, quindi scegli Usa un limite di autorizzazioni per controllare il numero massimo di autorizzazioni per il ruolo.

      IAM include un elenco delle politiche AWS gestite e gestite dal cliente nel tuo account.

    2. Selezionare la policy da utilizzare per il limite delle autorizzazioni.

  8. Seleziona Successivo.

  9. Per Role name, le opzioni dipendono dal servizio:

    • Se il servizio definisce il nome del ruolo, non è possibile modificare il nome del ruolo.

    • Se il servizio definisce un prefisso per il nome del ruolo, è possibile inserire un suffisso opzionale.

    • Se il servizio non definisce il nome del ruolo, puoi assegnare un nome al ruolo.

      Importante

      Quando assegnate un nome a un ruolo, tenete presente quanto segue:

      • I nomi dei ruoli devono essere univoci all'interno del tuo Account AWS account e non possono essere resi unici per caso.

        Ad esempio, non creare ruoli denominati entrambi PRODROLE eprodrole. Quando un nome di ruolo viene utilizzato in una policy o come parte di un ARN, il nome del ruolo fa distinzione tra maiuscole e minuscole, tuttavia quando un nome di ruolo viene visualizzato dai clienti nella console, ad esempio durante il processo di accesso, il nome del ruolo non fa distinzione tra maiuscole e minuscole.

      • Non è possibile modificare il nome del ruolo dopo averlo creato perché altre entità potrebbero fare riferimento al ruolo.

  10. (Facoltativo) In Descrizione, inserisci una descrizione per il ruolo.

  11. (Facoltativo) Per modificare i casi d'uso e le autorizzazioni per il ruolo, nelle sezioni Passo 1: Seleziona entità attendibili o Passaggio 2: Aggiungi autorizzazioni, scegli Modifica.

  12. (Facoltativo) Per facilitare l'identificazione, l'organizzazione o la ricerca del ruolo, aggiungi tag come coppie chiave-valore. Per ulteriori informazioni sull'utilizzo di tag in IAM, consulta la sezione Applicazione di tag alle risorse IAM nella Guida per l'utente di IAM.

  13. Verificare il ruolo e quindi scegliere Create role (Crea ruolo).

Creazione di un ruolo per un servizio (AWS CLI)

La creazione di un ruolo da AWS CLI richiede più passaggi. Quando si utilizza la console per creare un ruolo, molti passaggi vengono eseguiti automaticamente, ma con la console è AWS CLI necessario eseguire ogni passaggio in modo esplicito e autonomo. È necessario creare il ruolo e quindi assegnargli una policy di autorizzazione. Se il servizio in uso è Amazon EC2, è necessario creare anche un profilo dell'istanza e aggiungervi il ruolo. Puoi anche scegliere di impostare il limite delle autorizzazioni per il ruolo.

Per creare un ruolo per un AWS servizio da AWS CLI
  1. Il seguente comando create-role crea un ruolo denominato Ruolo di test e gli collega una policy di attendibilità:

    aws iam create-role --role-name Test-Role --assume-role-policy-document file://Test-Role-Trust-Policy.json

  2. Allega una politica di autorizzazioni gestite al ruolo: aws iam attach-role-policy.

    Ad esempio, il seguente comando attach-role-policy allega la policy gestita AWS denominata ReadOnlyAccess al ruolo IAM denominato ReadOnlyRole:

    aws iam attach-role-policy --policy-arn arn:aws:iam::aws:policy/ReadOnlyAccess --role-name ReadOnlyRole

    oppure

    Crea una politica di autorizzazioni in linea per il ruolo: aws iam put-role-policy

    Per aggiungere una policy di autorizzazioni in linea, consulta l'esempio seguente:

    aws iam put-role-policy --role-name Test-Role --policy-name ExamplePolicy --policy-document file://AdminPolicy.json

  3. (Facoltativo) Aggiungere attributi personalizzati al ruolo collegando tag: aws iam tag-role

    Per ulteriori informazioni, consulta Gestione dei tag sui ruoli (AWS CLI o AWS API) IAM.

  4. (Facoltativo) Imposta il limite delle autorizzazioni per il ruolo: aws iam put-role-permissions-boundary

    Il limite delle autorizzazioni controlla il numero massimo di autorizzazioni che è possibile concedere a un ruolo. I limiti delle autorizzazioni sono una funzionalità avanzata. AWS

Se intendi utilizzare il ruolo con Amazon EC2 o un altro AWS servizio che utilizza Amazon EC2, devi archiviare il ruolo in un profilo di istanza. Un profilo dell'istanza è un container per un ruolo che può essere associato a un'istanza Amazon EC2 quando viene avviato. Un profilo dell'istanza può contenere un solo ruolo e tale limite non può essere aumentato. Se crei il ruolo utilizzando AWS Management Console, il profilo dell'istanza viene creato per te con lo stesso nome del ruolo. Per ulteriori informazioni sui profili delle istanze, consulta Utilizzo dei profili delle istanze. Per informazioni su come avviare un'istanza EC2 con un ruolo, consulta Controllo dell'accesso alle risorse Amazon EC2 nella Guida per l'utente di Amazon EC2 per le istanze Linux.

Per creare un profilo dell'istanza e memorizzarvi il ruolo (AWS CLI)
  1. Crea un profilo di istanza: aws iam create-instance-profile

  2. Aggiungi il ruolo al profilo dell'istanza: aws iam add-role-to-instance -profile

Il comando di AWS CLI esempio riportato di seguito illustra i primi due passaggi per la creazione di un ruolo e l'assegnazione delle autorizzazioni. Mostra inoltre i due passaggi necessari per creare un profilo dell'istanza e aggiungere il ruolo al profilo. Questa policy di attendibilità di esempio permette al servizio Amazon EC2 di assumere il ruolo e visualizzare il bucket example_bucket di Amazon S3. L'esempio presuppone inoltre l'uso un computer client con Windows e che l'interfaccia a riga di comando sia già configurata con le credenziali dell'account e la regione. Per ulteriori informazioni, vedere Configurazione dell'interfaccia a riga di comando. AWS

In questo esempio, è necessario includere la seguente policy di attendibilità nel primo comando al momento della creazione del ruolo. La policy di attendibilità consente al servizio Amazon EC2 di assumere il ruolo.

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

Quando si utilizza il secondo comando, è necessario collegare una policy di autorizzazione al ruolo. L'esempio di policy di autorizzazione seguente consente al ruolo di eseguire solo l'operazione ListBucket sul bucket example_bucket di Amazon S3.

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::example_bucket" } }

Per creare questo ruolo Test-Role-for-EC2, è innanzitutto necessario salvare la policy di attendibilità precedente con il nome trustpolicyforec2.json e la policy di autorizzazione precedente con il nome permissionspolicyforec2.json nella directory policies dell'unità C: locale. È quindi possibile utilizzare i comandi seguenti per creare il ruolo, collegare la policy, creare il profilo dell'istanza e aggiungere il ruolo al profilo dell'istanza.

# Create the role and attach the trust policy that allows EC2 to assume this role. $ aws iam create-role --role-name Test-Role-for-EC2 --assume-role-policy-document file://C:\policies\trustpolicyforec2.json # Embed the permissions policy (in this example an inline policy) to the role to specify what it is allowed to do. $ aws iam put-role-policy --role-name Test-Role-for-EC2 --policy-name Permissions-Policy-For-Ec2 --policy-document file://C:\policies\permissionspolicyforec2.json # Create the instance profile required by EC2 to contain the role $ aws iam create-instance-profile --instance-profile-name EC2-ListBucket-S3 # Finally, add the role to the instance profile $ aws iam add-role-to-instance-profile --instance-profile-name EC2-ListBucket-S3 --role-name Test-Role-for-EC2

Quando avvii l'istanza EC2, specifica il nome del profilo dell'istanza nella pagina Configura i dettagli dell'istanza se utilizzi la AWS console. Se utilizzi il comando della CLI aws ec2 run-instances, specifica il parametro --iam-instance-profile.

Creazione di un ruolo per un servizio (API AWS )

La creazione di un ruolo dall' AWS API prevede diversi passaggi. Quando si usa la console per creare un ruolo, molti dei passaggi vengono eseguiti automaticamente, ma con l'API ogni passaggio deve essere eseguito esplicitamente dall'utente. È necessario creare il ruolo e quindi assegnargli una policy di autorizzazione. Se il servizio in uso è Amazon EC2, è necessario creare anche un profilo dell'istanza e aggiungervi il ruolo. Puoi anche scegliere di impostare il limite delle autorizzazioni per il ruolo.

Creare un ruolo per un AWS servizio (AWS API)
  1. Crea un ruolo: CreateRole

    Per la policy di affidabilità del ruolo, è possibile specificare una posizione del file.

  2. Allega una politica di autorizzazioni gestite al ruolo: AttachRolePolicy

    oppure

    Crea una politica di autorizzazioni in linea per il ruolo: PutRolePolicy

  3. (Facoltativo) Aggiungi attributi personalizzati all'utente allegando tag: TagRole

    Per ulteriori informazioni, consulta Gestione dei tag sugli utenti IAM (AWS CLI o AWS API).

  4. (Facoltativo) Imposta il limite delle autorizzazioni per il ruolo: PutRolePermissionsBoundary

    Il limite delle autorizzazioni controlla il numero massimo di autorizzazioni che è possibile concedere a un ruolo. I limiti delle autorizzazioni sono una funzionalità avanzata. AWS

Se intendi utilizzare il ruolo con Amazon EC2 o un altro AWS servizio che utilizza Amazon EC2, devi archiviare il ruolo in un profilo di istanza. Un profilo dell'istanza è un container per un ruolo. Ogni profilo dell'istanza può contenere un solo ruolo e tale limite non può essere superato. Se crei il ruolo in AWS Management Console, il profilo dell'istanza viene creato per te con lo stesso nome del ruolo. Per ulteriori informazioni sui profili delle istanze, consulta Utilizzo dei profili delle istanze. Per informazioni su come avviare un'istanza Amazon EC2 con un ruolo, consulta Controllo dell'accesso alle risorse Amazon EC2 nella Guida per l'utente di Amazon EC2 per le istanze Linux.

Per creare un profilo di istanza e memorizzare il ruolo al suo interno (AWS API)
  1. Crea un profilo di istanza: CreateInstanceProfile

  2. Aggiungi il ruolo al profilo dell'istanza: AddRoleToInstanceProfile