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 ha uno scopo specifico per un servizio, viene classificato 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

È necessario configurare le autorizzazioni per consentire a un'IAMentità (utente o ruolo) di creare o modificare un ruolo di servizio.

Nota

Il ruolo ARN per un ruolo collegato al servizio include un responsabile del servizio, indicato nelle seguenti politiche 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.

Consentire a un'IAMentità di creare un ruolo di servizio specifico

Aggiungi la seguente politica all'IAMentità 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" } ] }

Per consentire a un'IAMentità di creare 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.

Per consentire a un'IAMentità di modificare un ruolo di servizio

Aggiungi la seguente politica all'IAMentità 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": "*" } ] }

Per consentire a un'IAMentità di eliminare un ruolo di servizio specifico

Aggiungi la seguente dichiarazione alla politica delle autorizzazioni per l'IAMentità che deve eliminare il ruolo di servizio specificato.

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

Per consentire a un'IAMentità di eliminare qualsiasi 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 (IAMconsole)
  1. Accedi a AWS Management Console e apri la IAM console all'indirizzo https://console.aws.amazon.com/iam/.

  2. Nel riquadro di navigazione della IAM console, scegli Ruoli, quindi scegli 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 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 associa 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.

      IAMinclude 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 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 unaARN, 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 la sua creazione 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 dei tag inIAM, consulta Tag per AWS Identity and Access Management le risorse nella Guida per l'IAMutente.

  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 esplicitamente ogni passaggio da soli. È necessario creare il ruolo e quindi assegnargli una policy di autorizzazione. Se il servizio con cui lavori è AmazonEC2, 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 attach-role-policy comando seguente collega la politica AWS gestita denominata ReadOnlyAccess al IAM ruolo 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 IAM ruoli (AWS CLI o AWS API).

  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 AmazonEC2, devi archiviare il ruolo in un profilo di istanza. Un profilo di istanza è un contenitore per un ruolo che può essere collegato a un'EC2istanza 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 Usa i profili di istanza. Per informazioni su come avviare un'EC2istanza 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'EC2istanza, specifica il nome del profilo dell'istanza nella pagina Configura i dettagli dell'istanza se utilizzi la AWS console. Se si utilizza il aws ec2 run-instances CLI comando, specificare il --iam-instance-profile parametro.

Creazione di un ruolo per un servizio (AWS API)

La creazione di un ruolo da AWS API richiede più passaggi. Quando si utilizza la console per creare un ruolo, molti passaggi vengono eseguiti automaticamente, ma con la console API è necessario eseguire esplicitamente ogni passaggio da soli. È necessario creare il ruolo e quindi assegnargli una policy di autorizzazione. Se il servizio con cui lavori è AmazonEC2, 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 dei tag sugli IAM utenti (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 AmazonEC2, 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 Usa i profili di istanza. Per informazioni su come avviare un'EC2istanza 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