Assunzione di un ruolo - AWS SDKse strumenti

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

Assunzione di un ruolo

Assumere un ruolo implica l'utilizzo di un set di credenziali di sicurezza temporanee per accedere a AWS risorse a cui altrimenti non avreste accesso. Le credenziali temporanee sono costituite da un ID chiave di accesso, una chiave di accesso segreta e un token di sicurezza. Per ulteriori informazioni sulle richieste API AWS Security Token Service (AWS STS), consulta Azioni nell'AWS Security Token ServiceAPI Reference.

Per configurare l'SDK o lo strumento per assumere un ruolo, devi prima creare o identificare un ruolo specifico da assumere. I ruoli IAM sono identificati in modo univoco da un ruolo Amazon Resource Name (ARN). I ruoli stabiliscono relazioni di fiducia con un'altra entità. L'entità affidabile che utilizza il ruolo potrebbe essere un'altra Servizio AWSAccount AWS, un provider di identità Web o una federazione OIDC o SAML. Per ulteriori informazioni sui ruoli IAM, consulta Using IAM roles nella IAM User Guide.

Dopo aver identificato il ruolo IAM, se quel ruolo ti affida la fiducia, puoi configurare il tuo SDK o lo strumento per utilizzare le autorizzazioni concesse dal ruolo. Per farlo, o. Assumi un ruolo IAM Federazione con identità web o OpenID Connect

Assumi un ruolo IAM

Quando assume un ruolo, AWS STS restituisce un set di credenziali di sicurezza temporanee. Queste credenziali provengono da un altro profilo o dall'istanza o dal contenitore in cui è in esecuzione il codice. Altri esempi di assunzione di un ruolo includono la gestione di più account Account AWS da Amazon EC2, l'AWS CodeCommitutilizzo Account AWS di più account o l'accesso a un altro account da. AWS CodeBuild

Fase 1: configurare un ruolo IAM

Per configurare il tuo SDK o lo strumento per assumere un ruolo, devi prima creare o identificare un ruolo specifico da assumere. I ruoli IAM vengono identificati in modo univoco utilizzando un ruolo ARN. I ruoli stabiliscono relazioni di fiducia con un'altra entità, in genere all'interno dell'account o per l'accesso tra account. Per configurarlo, consulta Creazione di ruoli IAM nella Guida per l'utente IAM.

Passaggio 2: configura l'SDK o lo strumento

Configura l'SDK o lo strumento per ottenere le credenziali da o. credential_source source_profile

credential_sourceUtilizzalo per ottenere credenziali da un contenitore Amazon ECS, un'istanza Amazon EC2 o da variabili di ambiente.

Utilizza source_profile per ottenere credenziali da un altro profilo. source_profilesupporta anche il concatenamento dei ruoli, ossia gerarchie di profili in cui un ruolo assunto viene poi utilizzato per assumere un altro ruolo.

Quando lo specificate in un profilo, l'SDK o lo strumento effettua automaticamente la chiamata AWS STS AssumeRoleAPI corrispondente. Per recuperare e utilizzare credenziali temporanee assumendo un ruolo, specificate i seguenti valori di configurazione nel file condiviso. AWS config Per maggiori dettagli su ciascuna di queste impostazioni, consulta la sezione. Assumi le impostazioni del fornitore di credenziali di ruolo

  • role_arn- Dal ruolo IAM che hai creato nella fase 1

  • Configura uno source_profile o credential_source

  • (Facoltativo) duration_seconds

  • (Facoltativo) external_id

  • (Facoltativo) mfa_serial

  • (Facoltativo) role_session_name

Gli esempi seguenti mostrano la configurazione di entrambe le opzioni di assunzione del ruolo in un config file condiviso:

role_arn = arn:aws:iam::123456789012:role/my-role-name source_profile = profile-name-with-user-that-can-assume-role
role_arn = arn:aws:iam::123456789012:role/my-role-name credential_source = Ec2InstanceMetadata

Per i dettagli su tutte le impostazioni del provider di credenziali di assunzione del ruolo, Assumi il ruolo di fornitore di credenziali consulta questa guida.

Federazione con identità web o OpenID Connect

Quando si creano applicazioni mobili o applicazioni Web basate su client che richiedono l'accesso aAWS, AWS STS restituisce un set di credenziali di sicurezza temporanee per gli utenti federati autenticati tramite un provider di identità pubblico (IdP). Esempi di provider di identità pubblici comprendono Login with Amazon, Facebook, Google o qualsiasi provider di identità compatibile con OpenID Connect (OIDC). Con questo metodo, gli utenti non hanno bisogno delle proprie identità o di quelle di IAM. AWS

Se utilizzi Amazon Elastic Kubernetes Service, questa funzionalità offre la possibilità di specificare diversi ruoli IAM per ciascuno dei tuoi contenitori. Kubernetes offre la possibilità di distribuire token OIDC ai contenitori, che vengono utilizzati da questo fornitore di credenziali per ottenere credenziali temporanee. Per ulteriori informazioni su questa configurazione di Amazon EKS, consulta i ruoli IAM per gli account di servizio nella Amazon EKS User Guide. Tuttavia, per un'opzione più semplice, ti consigliamo di utilizzare invece Amazon EKS Pod Identities se il tuo SDK lo supporta.

Fase 1: configurare un provider di identità e un ruolo IAM

Per configurare la federazione con un IdP esterno, utilizza un provider di identità IAM per fornire AWS informazioni sull'IdP esterno e sulla sua configurazione. In questo modo si instaura un rapporto di fiducia tra il tuo Account AWS e l'IdP esterno. Prima di configurare l'SDK per utilizzare il token di identità web per l'autenticazione, devi prima configurare il provider di identità (IdP) e il ruolo IAM utilizzato per accedervi. Per configurarli, consulta Creating a role for web identity o OpenID Connect Federation (console) nella IAM User Guide.

Passaggio 2: configura l'SDK o lo strumento

Configura l'SDK o lo strumento per utilizzare un token di identità Web AWS STS per l'autenticazione.

Quando lo specifichi in un profilo, l'SDK o lo strumento effettua automaticamente la chiamata AWS STS AssumeRoleWithWebIdentityAPI corrispondente per te. Per recuperare e utilizzare le credenziali temporanee utilizzando la federazione delle identità Web, specificate i seguenti valori di configurazione nel file condiviso. AWS config Per maggiori dettagli su ciascuna di queste impostazioni, consulta la Assumi le impostazioni del fornitore di credenziali di ruolo sezione.

  • role_arn- Dal ruolo IAM che hai creato nella fase 1

  • web_identity_token_file- Dall'IdP esterno

  • (Facoltativo) duration_seconds

  • (Facoltativo) role_session_name

Di seguito è riportato un esempio di configurazione di config file condivisa per assumere un ruolo con identità web:

[profile web-identity] role_arn=arn:aws:iam::123456789012:role/my-role-name web_identity_token_file=/path/to/a/token
Nota

Per le applicazioni mobili, prendi in considerazione l'utilizzo di Amazon Cognito. Amazon Cognito funge da broker di identità e svolge gran parte del lavoro federativo per te. Tuttavia, il provider di identità Amazon Cognito non è incluso nelle librerie di base degli SDK e degli strumenti come altri provider di identità. Per accedere all'API Amazon Cognito, includi il client del servizio Amazon Cognito nella build o nelle librerie del tuo SDK o strumento. Per l'utilizzo con AWS gli SDK, consulta Esempi di codice nella Amazon Cognito Developer Guide.

Per i dettagli su tutte le impostazioni del provider di credenziali di assunzione del ruolo, consulta questa guidaAssumi il ruolo di fornitore di credenziali.