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

Creare 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 uno scopo specializzato per un servizio, questo può essere categorizzato 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'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.

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.

IAM console
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. Scegli Next (Successivo).

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

    • Se il servizio definisce le autorizzazioni per il ruolo, le policy di autorizzazioni non possono essere selezionate.

    • Seleziona una policy da un set limitato di policy di autorizzazione.

    • Seleziona una policy tra tutte le policy di autorizzazione.

    • Non selezionare policy di autorizzazioni, crea le policy dopo la creazione del ruolo e quindi collegale 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 limite delle autorizzazioni e seleziona Usa un limite delle autorizzazioni per controllare il numero massimo di autorizzazioni del 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. Scegli Next (Successivo).

  9. Per Nome del ruolo, le opzioni dipendono dal servizio:

    • Se il servizio definisce il nome del ruolo, non puoi modificarlo.

    • Se il servizio definisce un prefisso per il nome del ruolo, puoi inserire un suffisso facoltativo.

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

      Importante

      Quando assegni un nome a un ruolo, tieni 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 PRODROLE e prodrole. 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, tuttavia quando un nome di ruolo viene visualizzato ai 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, in quanto altre entità possono 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, in Fase 1: seleziona le entità attendibili o Fase 2: aggiungi autorizzazioni seleziona Modifica.

  12. (Facoltativo) Per facilitare l'identificazione, l'organizzazione o la ricerca del ruolo, aggiungi i tag come coppie chiave-valore. Per ulteriori informazioni sull'utilizzo dei tag in IAM, consulta Tags for AWS Identity and Access Management resources nella IAM User Guide.

  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 diversi passaggi. Quando usi la console per creare un ruolo, molti passaggi vengono eseguiti automaticamente, ma con la AWS CLI devi eseguire esplicitamente ogni passaggio da solo. È necessario creare il ruolo e quindi assegnargli una policy di autorizzazione. Se il servizio con cui lavori è Amazon EC2, devi anche creare un profilo di 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 di tag sui ruoli IAM (AWS CLI o API AWS).

  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 di istanza è un contenitore per un ruolo che può essere collegato a un' EC2 istanza Amazon al momento del lancio. 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 automaticamente con lo stesso nome del ruolo. Per ulteriori informazioni sui profili delle istanze, consulta Usare profili dell'istanza. Per informazioni su come avviare un' EC2 istanza con un ruolo, consulta Controlling Access to Amazon EC2 Resources nella Amazon EC2 User Guide.

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. Questo esempio di policy di fiducia consente al EC2 servizio Amazon di assumere il ruolo e visualizzare il example_bucket bucket 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, consulta Configurazione dell'interfaccia a AWS riga di comando.

In questo esempio, è necessario includere la seguente policy di attendibilità nel primo comando al momento della creazione del ruolo. Questa politica di fiducia consente al EC2 servizio Amazon 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' EC2 istanza, 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 con cui lavori è Amazon EC2, devi anche creare un profilo di 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 (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 di tag di utenti IAM (AWS CLI o API AWS).

  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 Usare profili dell'istanza. Per informazioni su come avviare un' EC2 istanza Amazon con un ruolo, consulta Controlling Access to Amazon EC2 Resources nella Amazon EC2 User Guide.

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