

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

# Autenticazione e accesso tramite strumenti AWS SDKs e
<a name="access"></a>

Quando sviluppi un'applicazione AWS SDK o utilizzi AWS strumenti da utilizzare Servizi AWS, devi stabilire con che modo il codice o lo strumento si autentica. AWS Puoi configurare l'accesso programmatico alle AWS risorse in diversi modi, a seconda dell'ambiente in cui viene eseguito il codice e dell' AWS accesso a tua disposizione. 

Le opzioni seguenti fanno parte della catena di [fornitori di credenziali](https://docs.aws.amazon.com/sdkref/latest/guide/standardized-credentials.html#credentialProviderChain). Ciò significa che, configurando `credentials` i file condivisi AWS `config` e quelli condivisi di conseguenza, l' AWS SDK o lo strumento individueranno e utilizzeranno automaticamente quel metodo di autenticazione.

## Scegli un metodo per autenticare il codice dell'applicazione
<a name="authDecisionTree"></a>

Scegli un metodo per autenticare le chiamate effettuate AWS dall'applicazione.

### Stai eseguendo codice ALL'INTERNO di un Servizio AWS (come Amazon EC2, Lambda, Amazon ECS, Amazon EKS,)? CodeBuild
<a name="a"></a>

Se il codice continua a funzionare AWS, le credenziali possono essere rese automaticamente disponibili all'applicazione. Ad esempio, se l'applicazione è ospitata su Amazon Elastic Compute Cloud e a tale risorsa è associato un ruolo IAM, le credenziali vengono automaticamente rese disponibili all'applicazione. Allo stesso modo, se utilizzi contenitori Amazon ECS o Amazon EKS, le credenziali impostate per il ruolo IAM possono essere ottenute automaticamente dal codice in esecuzione all'interno del contenitore tramite la catena di provider di [credenziali](https://docs.aws.amazon.com/sdkref/latest/guide/standardized-credentials.html#credentialProviderChain) dell'SDK.

#### Il tuo codice si trova in un'istanza Amazon Elastic Compute Cloud?
<a name="a1"></a>

[Utilizzo dei ruoli IAM per autenticare le applicazioni distribuite su Amazon EC2](access-iam-roles-for-ec2.md)— Usa i ruoli IAM per eseguire in modo sicuro la tua applicazione su un'istanza Amazon EC2.

#### Il tuo codice è contenuto in una AWS Lambda funzione?
<a name="a2"></a>

Lambda crea un ruolo di esecuzione con autorizzazioni minime quando crei [una funzione Lambda](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html). L' AWS SDK o lo strumento utilizza quindi automaticamente il ruolo IAM collegato a Lambda in fase di esecuzione, tramite l'ambiente di esecuzione Lambda.

#### Il tuo codice è in Amazon Elastic Container Service (su Amazon EC2 o per AWS Fargate Amazon ECS)?
<a name="a3"></a>

Usa IAM Role for Task. È necessario [creare un ruolo di attività](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) e specificare tale ruolo nella [definizione dell'attività Amazon ECS.](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definitions.html) L' AWS SDK o lo strumento utilizza quindi automaticamente il ruolo IAM assegnato all'attività in fase di esecuzione, tramite i metadati Amazon ECS.

#### Il tuo codice è in Amazon Elastic Kubernetes Service?
<a name="a4"></a>

Ti consigliamo di utilizzare [Amazon EKS Pod Identities.](https://docs.aws.amazon.com/eks/latest/userguide/pod-identities.html)

Nota: se ritieni che [IAM roles for service accounts](https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html) (IRSA) possa soddisfare meglio le tue esigenze specifiche, consulta la sezione [Confronto tra EKS Pod Identity e IRSA](https://docs.aws.amazon.com/eks/latest/userguide/service-accounts.html#service-accounts-iam) nella **Amazon EKS User Guide**.

#### Il tuo codice è in esecuzione in AWS CodeBuild
<a name="a5"></a>

Vedi [Utilizzo di politiche basate sull'identità](https://docs.aws.amazon.com/codebuild/latest/userguide/auth-and-access-control-iam-identity-based-access-control.html) per. CodeBuild

#### Il tuo codice è in un altro? Servizio AWS
<a name="a6"></a>

Consulta la guida dedicata per il tuo Servizio AWS. Quando esegui il codice AWS, la [catena di fornitori di credenziali](https://docs.aws.amazon.com/sdkref/latest/guide/standardized-credentials.html#credentialProviderChain) SDK può ottenere e aggiornare automaticamente le credenziali per te.

### Stai creando applicazioni mobili o applicazioni web basate su client?
<a name="b"></a>

Se stai creando applicazioni mobili o applicazioni web basate su client che richiedono l'accesso a AWS, crea la tua app in modo che richieda le credenziali di AWS sicurezza temporanee in modo dinamico utilizzando la federazione delle identità web. 

Con la federazione delle identità Web, non è necessario creare il codice di accesso personalizzato o gestire le identità utente personalizzate. Gli utenti dell'app possono invece accedere utilizzando un provider di identità (IdP) esterno noto, come Login with Amazon, Facebook, Google o qualsiasi altro IdP compatibile con OpenID Connect (OIDC). Possono ricevere un token di autenticazione e quindi scambiarlo con credenziali di sicurezza temporanee in AWS quella mappa con un ruolo IAM con le autorizzazioni per utilizzare le risorse dell'utente. Account AWS

Per informazioni su come configurarlo per il tuo SDK o lo strumento, consulta. [Assumere un ruolo con web identity o OpenID Connect per l'autenticazione e AWS SDKs gli strumenti](access-assume-role-web.md) 

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. Per ulteriori informazioni, consulta [Using Amazon Cognito per app mobili](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_oidc_cognito.html) nella *IAM User Guide*. 

### Stai sviluppando ed eseguendo il codice LOCALMENTE?
<a name="c"></a>

Consigliamo[Utilizzo delle credenziali della console per l'autenticazione AWS SDKs e degli strumenti](access-login.md).

Dopo un rapido flusso di autenticazione basato su browser, genera AWS automaticamente credenziali temporanee che funzionano con strumenti di sviluppo locali come la CLI AWS e. AWS Strumenti per PowerShell AWS SDKs 

#### Se utilizzi Identity Center per l'accesso all'account AWS
<a name="idc"></a>

Usa IAM Identity Center per autenticare l' AWS SDK e gli strumenti se hai già accesso agli AWS account and/or necessari per gestire l'accesso per la tua forza lavoro. Come best practice di sicurezza, ti consigliamo di utilizzare AWS Organizations IAM Identity Center per gestire l'accesso a tutti i tuoi account. AWS Puoi creare utenti in IAM Identity Center, utilizzare Microsoft Active Directory, utilizzare un provider di identità (IdP) SAML 2.0 o federare individualmente il tuo AWS IdP agli account. Per verificare se la tua regione supporta IAM Identity Center, consulta gli endpoint e le quote di [Utilizzo di IAM Identity Center per autenticare AWS SDK e strumenti](access-sso.md) IAM Identity Center nell'Amazon Web Services General Reference.

#### Se stai cercando altri modi per autenticarti
<a name="owa"></a>

Crea un utente IAM con i privilegi minimi con le autorizzazioni per accedere al tuo ruolo di destinazione. `sts:AssumeRole` Quindi configura il tuo profilo per assumere un ruolo utilizzando una `source_profile` configurazione per quell'utente.

Puoi anche utilizzare credenziali IAM temporanee tramite variabili di ambiente o il file di AWS credenziali condivise. Vedi Utilizzo di credenziali a breve termine per l'autenticazione e strumenti AWS SDKs .

Nota: solo in ambienti sandbox o di apprendimento, puoi prendere in considerazione l'utilizzo di credenziali a lungo termine per l'autenticazione e gli strumenti. AWS SDKs 

### Questo codice viene eseguito in locale o in una macchina virtuale ibrida/su richiesta (ad esempio un server che legge o scrive su Amazon S3 o Jenkins che distribuisce nel cloud)?
<a name="d"></a>

#### Stai utilizzando certificati client X.509?
<a name="d1"></a>

Sì: vedi. [Utilizzo di IAM Roles Anywhere per l'autenticazione AWS SDKs e gli strumenti](access-rolesanywhere.md) Puoi utilizzare IAM Roles Anywhere per ottenere credenziali di sicurezza temporanee in IAM per carichi di lavoro come server, contenitori e applicazioni eseguiti all'esterno di. AWS Per utilizzare IAM Roles Anywhere, i carichi di lavoro devono utilizzare certificati X.509.

#### L'ambiente può connettersi in modo sicuro a un provider di identità federato (come Microsoft Entra o Okta) per richiedere credenziali temporanee? AWS
<a name="d2"></a>

##### Sì: usa [Provider di credenziali di processo](feature-process-credentials.md)
<a name="d2a"></a>

Utilizzato [Provider di credenziali di processo](feature-process-credentials.md) per recuperare automaticamente le credenziali in fase di esecuzione. Questi sistemi potrebbero utilizzare uno strumento di supporto o un plug-in per ottenere le credenziali e potrebbero assumere un ruolo IAM dietro le quinte utilizzando. `sts:AssumeRole`

##### No: utilizza credenziali temporanee inserite tramite Gestione dei segreti AWS
<a name="d2b"></a>

Utilizza credenziali temporanee iniettate tramite. Gestione dei segreti AWS*Per le opzioni per ottenere chiavi di accesso di breve durata, consulta [Richiedere credenziali di sicurezza temporanee](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html) nella Guida per l'utente IAM.* Per le opzioni sulla memorizzazione di queste credenziali temporanee, consulta. [AWS chiavi di accesso](feature-static-credentials.md)

È possibile utilizzare queste credenziali per recuperare in modo sicuro autorizzazioni applicative più ampie da Secrets [Manager, dove è possibile archiviare i segreti](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html) di produzione o le credenziali basate sui ruoli di lunga durata.

### State utilizzando uno strumento di terze parti non presente? AWS
<a name="e"></a>

Utilizza la documentazione scritta dal tuo provider di terze parti per ottenere le migliori indicazioni su come ottenere le credenziali.

#### Se la tua terza parte non ha fornito la documentazione, puoi inserire credenziali temporanee in modo sicuro?
<a name="e1"></a>

Sì: utilizza variabili di ambiente e credenziali temporanee. AWS STS 

No: utilizza chiavi di accesso statiche archiviate in un gestore segreto crittografato (ultima risorsa).

## Metodi di autenticazione
<a name="authOptions"></a>

**Metodi di autenticazione per il codice in esecuzione all'interno di un AWS ambiente**

Se il codice continua a funzionare AWS, le credenziali possono essere rese automaticamente disponibili all'applicazione. Ad esempio, se l'applicazione è ospitata su Amazon Elastic Compute Cloud e a tale risorsa è associato un ruolo IAM, le credenziali vengono automaticamente rese disponibili all'applicazione. Allo stesso modo, se utilizzi contenitori Amazon ECS o Amazon EKS, le credenziali impostate per il ruolo IAM possono essere ottenute automaticamente dal codice in esecuzione all'interno del contenitore tramite la catena di provider di credenziali dell'SDK.
+ [Utilizzo dei ruoli IAM per autenticare le applicazioni distribuite su Amazon EC2](access-iam-roles-for-ec2.md)— Usa i ruoli IAM per eseguire in modo sicuro la tua applicazione su un'istanza Amazon EC2. 
+  Puoi interagire a livello di codice con l' AWS utilizzo di IAM Identity Center nei seguenti modi:
  + [AWS CloudShell](https://docs.aws.amazon.com/cloudshell/latest/userguide/)Da utilizzare per eseguire AWS CLI comandi dalla console.
  + [Per provare uno spazio di collaborazione basato sul cloud per i team di sviluppo software, prendi in considerazione l'utilizzo di Amazon. CodeCatalyst](https://docs.aws.amazon.com/codecatalyst/latest/userguide/welcome.html) 

**Autenticazione tramite un provider di identità basato sul Web: applicazioni Web mobili o basate su client**

Se stai creando applicazioni mobili o applicazioni web basate su client che richiedono l'accesso a AWS, crea la tua app in modo che richieda le credenziali di AWS sicurezza temporanee in modo dinamico utilizzando la federazione delle identità web. 

Con la federazione delle identità Web, non è necessario creare il codice di accesso personalizzato o gestire le identità utente personalizzate. Gli utenti dell'app possono invece accedere utilizzando un provider di identità (IdP) esterno noto, come Login with Amazon, Facebook, Google o qualsiasi altro IdP compatibile con OpenID Connect (OIDC). Possono ricevere un token di autenticazione e quindi scambiarlo con credenziali di sicurezza temporanee in AWS quella mappa con un ruolo IAM con le autorizzazioni per utilizzare le risorse dell'utente. Account AWS

Per informazioni su come configurarlo per il tuo SDK o lo strumento, consulta. [Assumere un ruolo con web identity o OpenID Connect per l'autenticazione e AWS SDKs gli strumenti](access-assume-role-web.md) 

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. Per ulteriori informazioni, consulta [Using Amazon Cognito per app mobili](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_oidc_cognito.html) nella *IAM User Guide*. 

**Metodi di autenticazione per il codice eseguito localmente (non in AWS)**
+ [Utilizzo delle credenziali della console per l'autenticazione AWS SDKs e degli strumenti](access-login.md)— Questa funzionalità funziona sia con l'interfaccia a riga di AWS comando che con gli strumenti PowerShell e fornisce credenziali aggiornabili che funzionano con strumenti di sviluppo locali come AWS CLI, Tools for and. PowerShell AWS
+ [Utilizzo di IAM Identity Center per autenticare AWS SDK e strumenti](access-sso.md)— Come best practice di sicurezza, consigliamo di utilizzare AWS Organizations IAM Identity Center per gestire l'accesso su tutti i tuoi. Account AWS Puoi creare utenti in AWS IAM Identity Center, utilizzare Microsoft Active Directory, utilizzare un provider di identità (IdP) SAML 2.0 o federare individualmente il tuo IdP in. Account AWS Per verificare se la tua regione supporta IAM Identity Center, consulta gli [AWS IAM Identity Center endpoint](https://docs.aws.amazon.com/general/latest/gr/sso.html) e le quote nel. *Riferimenti generali di Amazon Web Services* 
+ [Utilizzo di IAM Roles Anywhere per l'autenticazione AWS SDKs e gli strumenti](access-rolesanywhere.md)— Puoi utilizzare IAM Roles Anywhere per ottenere credenziali di sicurezza temporanee in IAM per carichi di lavoro come server, contenitori e applicazioni eseguiti all'esterno di. AWS Per utilizzare IAM Roles Anywhere, i carichi di lavoro devono utilizzare certificati X.509. 
+  [Assumere un ruolo con AWS credenziali di autenticazione e strumenti AWS SDKs](access-assume-role.md)— Puoi assumere un ruolo IAM per accedere temporaneamente a AWS risorse a cui altrimenti non avresti accesso. 
+  [Utilizzo delle chiavi di AWS accesso per l'autenticazione AWS SDKs e degli strumenti](access-users.md)— Altre opzioni che potrebbero essere meno convenienti o che potrebbero aumentare il rischio di sicurezza per le AWS risorse. 

**Ulteriori informazioni sulla gestione degli accessi**

La *Guida per l'utente IAM* contiene le seguenti informazioni sul controllo sicuro dell'accesso alle AWS risorse:
+ [Identità IAM (utenti, gruppi di utenti e ruoli)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html): scopri le basi delle identità in. AWS
+ [Best practice di sicurezza in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)[: raccomandazioni di sicurezza da seguire quando si sviluppano AWS applicazioni secondo il modello di responsabilità condivisa.](https://aws.amazon.com/compliance/shared-responsibility-model/)

*Riferimenti generali di Amazon Web Services*Ha le basi fondamentali su quanto segue:
+ [Comprensione e acquisizione AWS delle credenziali](https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html): accedi alle opzioni chiave e alle pratiche di gestione sia per l'accesso da console che per quello programmatico.

**Plugin TIP (Trusted Identity Propagation) di IAM Identity Center a cui accedere Servizi AWS**
+ [Utilizzo del plugin TIP per accedere Servizi AWS](access-tip.md)— Se stai creando un'applicazione per Amazon Q Business o un altro servizio che supporta la propagazione di identità affidabili e utilizzi il AWS SDK per Java o il AWS SDK per JavaScript, puoi utilizzare il plug-in TIP per un'esperienza di autorizzazione semplificata. 

## ID Builder AWS
<a name="bid"></a>

I ID Builder AWS complementi Account AWS che possiedi già o che desideri creare. Sebbene un Account AWS funga da contenitore per AWS le risorse che crei e fornisca un limite di sicurezza per tali risorse, il tuo ti ID Builder AWS rappresenta come individuo. Puoi accedere con il tuo ID Builder AWS per accedere a strumenti e servizi per sviluppatori come Amazon Q e Amazon CodeCatalyst.
+ [Accedi tramite la ID Builder AWS](https://docs.aws.amazon.com/signin/latest/userguide/sign-in-aws_builder_id.html) *Guida per l'Accedi ad AWS utente*: scopri come creare e utilizzare un ID Builder ID Builder AWS e scopri cosa offre.
+ [CodeCatalystconcetti - ID Builder AWS](https://docs.aws.amazon.com/codecatalyst/latest/userguide/concepts.html#sign-in-concept) nella *Amazon CodeCatalyst User Guide* - Scopri come CodeCatalyst usa un ID Builder AWS.

# Utilizzo delle credenziali della console per l'autenticazione AWS SDKs e degli strumenti
<a name="access-login"></a>

L'utilizzo delle credenziali della console è il metodo consigliato per fornire AWS le credenziali durante lo sviluppo di un' AWS applicazione nell'ambiente locale o in altri ambienti di servizio non di AWS elaborazione. Se stai sviluppando su una AWS risorsa, come Amazon Elastic Compute Cloud (Amazon EC2) AWS CloudShell oppure, ti consigliamo di ottenere le credenziali da quel servizio.

Puoi anche autenticarti tramite IAM Identity Center. [Utilizzo di IAM Identity Center per autenticare AWS SDK e strumenti](access-sso.md) Questa opzione è un modo comune per le organizzazioni di gestire l'accesso per la propria forza lavoro e richiede l'attivazione di Identity Center.

## Come funziona?
<a name="access-login-how"></a>

L'[accesso per lo sviluppo AWS locale utilizzando le credenziali della console](https://docs.aws.amazon.com/signin/latest/userguide/command-line-sign-in.html) consente di utilizzare le credenziali di accesso esistenti AWS della Console di gestione per l'accesso programmatico ai servizi. AWS Dopo un flusso di autenticazione basato su browser, AWS genera credenziali temporanee che funzionano con strumenti di sviluppo locali come AWS CLI, Tools for and. PowerShell AWS SDKs Questa funzionalità semplifica il processo di configurazione e gestione delle credenziali AWS CLI, soprattutto se si preferisce l'autenticazione interattiva alla gestione delle chiavi di accesso a lungo termine.

Con questo processo, puoi autenticarti utilizzando le credenziali root create durante la configurazione iniziale dell'account, gli utenti IAM o un'identità federata del tuo provider di identità.

Se lo utilizzi SDKs per lo sviluppo, i client SDK utilizzeranno le credenziali temporanee tramite. [AWS SDKs e Tools: fornitori di credenziali standardizzati](standardized-credentials.md) Puoi anche configurare il. [Provider di credenziali di accesso](feature-login-credentials.md)

L'autenticazione tramite il comando login è supportata sia dalla AWS CLI che dagli strumenti per: PowerShell
+ [Accedi per lo sviluppo AWS locale utilizzando le credenziali della console](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sign-in.html)
+ [Accedi utilizzando le credenziali della console nella guida](https://docs.aws.amazon.com/powershell/v5/userguide/creds-idc.html#login-con-creds) per l' AWS Strumenti per PowerShell utente

# Utilizzo di IAM Identity Center per autenticare AWS SDK e strumenti
<a name="access-sso"></a>

 AWS IAM Identity Center può essere utilizzato per fornire AWS credenziali durante lo sviluppo di un' AWS applicazione in ambienti di servizio non di AWS elaborazione. Se stai sviluppando su una AWS risorsa, come Amazon Elastic Compute Cloud (Amazon EC2) AWS Cloud9 oppure, ti consigliamo di ottenere le credenziali da quel servizio.

Utilizza l'autenticazione IAM Identity Center se utilizzi già Identity Center per l'accesso all' AWS account o devi gestire l'accesso per un'organizzazione. 

In questo tutorial, stabilisci l'accesso a IAM Identity Center e lo configurerai per il tuo SDK o strumento utilizzando il portale di AWS accesso e il AWS CLI.
+ Il portale di AWS accesso è il luogo web in cui è possibile accedere manualmente a IAM Identity Center. Il formato dell'URL è `d-xxxxxxxxxx.awsapps.com/start` o`your_subdomain.awsapps.com/start`. Una volta effettuato l' AWS accesso al portale di accesso, è possibile visualizzare Account AWS i ruoli configurati per quell'utente. Questa procedura utilizza il portale di AWS accesso per ottenere i valori di configurazione necessari per il processo di SDK/tool autenticazione. 
+  AWS CLI Viene utilizzato per configurare l'SDK o lo strumento per utilizzare l'autenticazione IAM Identity Center per le chiamate API effettuate dal codice. Questo processo monouso aggiorna il AWS `config` file condiviso, che viene poi utilizzato dal tuo SDK o dallo strumento quando esegui il codice. 

## Prerequisiti
<a name="prereq-auth"></a>

Prima di iniziare questa procedura, dovresti aver completato quanto segue:
+ Se non ne hai uno Account AWS, [iscriviti a un Account AWS](https://portal.aws.amazon.com/billing/signup).
+ Se non hai ancora abilitato IAM Identity Center, [abilita IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/get-set-up-for-idc.html) seguendo le istruzioni nella *Guida per l'AWS IAM Identity Center utente*.

## Configura l'accesso programmatico utilizzando IAM Identity Center
<a name="idcGettingStarted"></a>

### Fase 1: Stabilire l'accesso e selezionare il set di autorizzazioni appropriato
<a name="establishAccess"></a>

Scegli uno dei seguenti metodi per accedere alle tue AWS credenziali.

#### Non ho stabilito l’accesso tramite Centro identità IAM
<a name="idc-access"></a>

1. Aggiungi un utente e aggiungi le autorizzazioni amministrative seguendo la procedura [Configure user access with the default IAM Identity Center directory nella Guida](https://docs.aws.amazon.com/singlesignon/latest/userguide/quick-start-default-idc.html) per l'*AWS IAM Identity Center utente*. 

1. Il set di `AdministratorAccess` autorizzazioni non deve essere utilizzato per lo sviluppo regolare. Si consiglia invece di utilizzare il set di `PowerUserAccess` autorizzazioni predefinito, a meno che il datore di lavoro non abbia creato un set di autorizzazioni personalizzato per questo scopo.

   Segui nuovamente la stessa procedura [Configure user access with the IAM Identity Center directory predefinita](https://docs.aws.amazon.com/singlesignon/latest/userguide/quick-start-default-idc.html), ma questa volta:
   + Invece di creare il `Admin team` gruppo, crea un `Dev team` gruppo e sostituiscilo successivamente nelle istruzioni.
   + È possibile utilizzare l'utente esistente, ma l'utente deve essere aggiunto al nuovo `Dev team` gruppo.
   + Invece di creare il set di `AdministratorAccess` autorizzazioni, create un set di `PowerUserAccess` autorizzazioni e sostituitelo successivamente nelle istruzioni.

   Al termine, è necessario disporre di quanto segue:
   + Un `Dev team` gruppo.
   + Un set di `PowerUserAccess` autorizzazioni allegato al `Dev team` gruppo.
   + L'utente è stato aggiunto al `Dev team` gruppo.

1. Esci dal portale e accedi nuovamente per visualizzare le tue opzioni Account AWS e per `Administrator` or`PowerUserAccess`. Seleziona `PowerUserAccess` quando lavori con il tuo strumento/SDK. 

#### Ho già accesso AWS tramite un provider di identità federato gestito dal mio datore di lavoro (come Microsoft Entra o Okta)
<a name="federated-access"></a>

Accedi AWS tramite il portale del tuo provider di identità. Se il tuo amministratore cloud ti ha concesso le autorizzazioni `PowerUserAccess` (sviluppatore), vedi quelle a Account AWS cui hai accesso e il tuo set di autorizzazioni. Accanto al nome del set di autorizzazioni, vengono visualizzate le opzioni per accedere agli account manualmente o a livello di programmazione utilizzando il set di autorizzazioni. 

Le implementazioni personalizzate possono dare luogo a esperienze diverse, ad esempio nomi di set di autorizzazioni diversi. In caso di dubbi su quale set di autorizzazioni utilizzare, contatta il team IT per assistenza. 

#### Ho già accesso AWS tramite il portale di AWS accesso gestito dal mio datore di lavoro
<a name="accessportal-access"></a>

Accedi AWS tramite il portale di AWS accesso. Se l’amministratore cloud ti ha concesso autorizzazioni `PowerUserAccess` (sviluppatore), potrai visualizzare gli Account AWS a cui hai accesso e il tuo set di autorizzazioni. Accanto al nome del set di autorizzazioni, vengono visualizzate le opzioni per accedere agli account manualmente o a livello di programmazione utilizzando il set di autorizzazioni. 

#### Ho già accesso AWS tramite un provider di identità personalizzato federato gestito dal mio datore di lavoro
<a name="customfederated-access"></a>

Contatta il team IT per assistenza.

### Fase 2: Configurazione SDKs e strumenti per utilizzare IAM Identity Center
<a name="configureAccess"></a>

1.  Sulla tua macchina di sviluppo, installa la versione più recente AWS CLI. 

   1. Vedi [Installazione o aggiornamento della versione più recente di AWS CLI nella](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) *Guida AWS Command Line Interface per l'utente*. 

   1.  (Facoltativo) Per verificare che funzioni, aprite il prompt dei comandi ed eseguite il `aws --version` comando. AWS CLI 

1. Accedere al portale di AWS accesso. Il tuo datore di lavoro può fornire questo URL o riceverlo tramite e-mail dopo la **Fase 1: Stabilisci l'accesso**. In caso contrario, trova l'**URL del portale di AWS accesso** nella **dashboard** di [https://console.aws.amazon.com/singlesignon/](https://console.aws.amazon.com/singlesignon/). 

   1. Nel portale di AWS accesso, nella scheda **Account**, seleziona il singolo account da gestire. Vengono visualizzati i ruoli dell'utente. Scegli **le chiavi di accesso** per ottenere le credenziali per la riga di comando o l'accesso programmatico per il set di autorizzazioni appropriato. Utilizza il set di `PowerUserAccess` autorizzazioni predefinito o qualsiasi set di autorizzazioni creato da te o dal tuo datore di lavoro per applicare le autorizzazioni con privilegi minimi per lo sviluppo. 

   1. Nella finestra di dialogo **Ottieni credenziali**, scegli **macOS e** Linux **o** Windows, a seconda del sistema operativo in uso.

   1. Scegli il metodo di **credenziali IAM Identity Center** per ottenere i `SSO Region` valori `Issuer URL` e di cui hai bisogno per il passaggio successivo. Nota: `SSO Start URL` può essere usato in modo intercambiabile con. `Issuer URL`

1. Nel prompt dei AWS CLI comandi, esegui il comando. `aws configure sso` Quando richiesto, inserisci i valori di configurazione raccolti nel passaggio precedente. Per i dettagli su questo AWS CLI comando, consulta [Configurare il profilo con la `aws configure sso` procedura guidata](https://docs.aws.amazon.com/cli/latest/userguide/sso-configure-profile-token.html#sso-configure-profile-token-auto-sso). 

   1. Per visualizzare la richiesta`SSO Start URL`, immettete il valore ottenuto per. `Issuer URL` 

   1.  Per il **nome del profilo CLI**, ti consigliamo di inserire *default* quando inizi. Per informazioni su come impostare profili non predefiniti (denominati) e la variabile di ambiente associata, consulta. [Profili](file-format.md#file-format-profile) 

1. (Facoltativo) Nel AWS CLI prompt dei comandi, confermate l'identità della sessione attiva eseguendo il `aws sts get-caller-identity` comando. La risposta dovrebbe mostrare il set di autorizzazioni IAM Identity Center che hai configurato. 

1. Se utilizzi un AWS SDK, crea un'applicazione per il tuo SDK nel tuo ambiente di sviluppo.

   1. Per alcuni SDKs, è `SSOOIDC` necessario aggiungere pacchetti aggiuntivi come `SSO` e all'applicazione prima di poter utilizzare l'autenticazione IAM Identity Center. Per i dettagli, consulta il tuo SDK specifico.

   1.  Se in precedenza hai configurato l'accesso a AWS, esamina il AWS `credentials` file condiviso per verificarne l'eventuale [AWS chiavi di accesso](feature-static-credentials.md) presenza. È necessario rimuovere tutte le credenziali statiche prima che l'SDK o lo strumento utilizzino le credenziali IAM Identity Center a causa della precedenza. [Comprendi la catena di fornitori di credenziali](standardized-credentials.md#credentialProviderChain) 

 Per un'analisi approfondita del modo in cui gli strumenti SDKs e utilizzano e aggiornano le credenziali utilizzando questa configurazione, consulta. [Come viene risolta l'autenticazione AWS SDKs e gli strumenti di IAM Identity Center](understanding-sso.md) 

Per configurare le impostazioni del provider IAM Identity Center direttamente nel `config` file condiviso, consulta questa [Provider di credenziali IAM Identity Center](feature-sso-credentials.md) guida.

## Aggiornamento delle sessioni di accesso al portale
<a name="refreshSession"></a>

L'accesso alla fine scadrà e l'SDK o lo strumento riscontreranno un errore di autenticazione. Il momento in cui si verifica questa scadenza dipende dalla durata delle sessioni configurate. Per aggiornare nuovamente la sessione del portale di accesso quando necessario, utilizzare il comando AWS CLI per eseguire il `aws sso login` comando. 

È possibile estendere sia la durata della sessione del portale di accesso IAM Identity Center sia la durata della sessione del set di autorizzazioni. In questo modo si allunga il periodo di tempo in cui è possibile eseguire il codice prima di dover accedere nuovamente manualmente con. AWS CLI Per ulteriori informazioni, consulta gli argomenti seguenti nella *Guida per l'utente AWS IAM Identity Center *:
+ **Durata della sessione di IAM Identity Center**: [configura la durata delle sessioni del portale di accesso degli utenti AWS](https://docs.aws.amazon.com/singlesignon/latest/userguide/configure-user-session.html) 
+ **Durata della sessione del set di autorizzazioni: imposta la durata** [della sessione](https://docs.aws.amazon.com/singlesignon/latest/userguide/howtosessionduration.html)

# Come viene risolta l'autenticazione AWS SDKs e gli strumenti di IAM Identity Center
<a name="understanding-sso"></a>



## Termini pertinenti di IAM Identity Center
<a name="ssoterms"></a>

I seguenti termini ti aiutano a comprendere il processo e la configurazione alla base AWS IAM Identity Center. La documentazione per AWS SDK APIs utilizza nomi diversi da IAM Identity Center per alcuni di questi concetti di autenticazione. È utile conoscere entrambi i nomi. 

La tabella seguente mostra come i nomi alternativi si relazionano tra loro.


| Nome IAM Identity Center | Nome dell'API SDK | Description | 
| --- | --- | --- | 
| Centro identità  | sso  | Sebbene AWS Single Sign-On venga rinominato, i namespace delle sso API manterranno il nome originale per motivi di compatibilità con le versioni precedenti. Per ulteriori informazioni, consulta [IAM Identity Center rename](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html#renamed) nella Guida per l’utente di AWS IAM Identity Center . | 
| Console IAM Identity CenterConsole amministrativa |   | La console che usi per configurare il Single Sign-On.  | 
| AWS accedere all'URL del portale  |  | Un URL univoco per il tuo account IAM Identity Center, ad esempiohttps://xxx.awsapps.com/start. Accedi a questo portale utilizzando le tue credenziali di accesso IAM Identity Center.  | 
| Sessione IAM Identity Center Access Portal  | Sessione di autenticazione  | Fornisce un token di accesso al portatore al chiamante.  | 
| Sessione con set di autorizzazioni  |   | La sessione IAM che l'SDK utilizza internamente per effettuare le Servizio AWS chiamate. Nelle discussioni informali, potresti vederla erroneamente definita «sessione di ruolo». | 
| Credenziali del set di autorizzazioni  | AWS credenzialicredenziali sigv4  | Le credenziali che l'SDK utilizza effettivamente per la maggior parte delle Servizio AWS chiamate (in particolare, tutte le chiamate sigv4). Servizio AWS Nelle discussioni informali, potreste vedere che queste informazioni vengono erroneamente chiamate «credenziali di ruolo». | 
| Provider di credenziali IAM Identity Center  | Provider di credenziali SSO  | Come si ottengono le credenziali, ad esempio la classe o il modulo che fornisce la funzionalità.  | 

## Comprendi la risoluzione delle credenziali SDK per Servizi AWS
<a name="idccredres"></a>

L'API IAM Identity Center scambia le credenziali del token del portatore con credenziali sigv4. La maggior parte Servizi AWS sono sigv4 APIs, con alcune eccezioni come e. Amazon CodeWhisperer Amazon CodeCatalyst Di seguito viene descritto il processo di risoluzione delle credenziali utilizzato per supportare la maggior parte delle Servizio AWS chiamate per il codice dell'applicazione. AWS IAM Identity Center

### Avviare una sessione del portale di AWS accesso
<a name="idccredres1"></a>
+ Inizia il processo accedendo alla sessione con le tue credenziali.
  + Usa il `aws sso login` comando in AWS Command Line Interface (AWS CLI). Questo avvia una nuova sessione di IAM Identity Center se non hai già una sessione attiva.
+ Quando inizi una nuova sessione, ricevi un token di aggiornamento e un token di accesso da IAM Identity Center. AWS CLI Inoltre aggiorna un file JSON della cache SSO con un nuovo token di accesso e un token di aggiornamento e lo rende disponibile per l'uso da parte di. SDKs
+ Se hai già una sessione attiva, il AWS CLI comando riutilizza la sessione esistente e scadrà ogni volta che scade la sessione esistente. *Per informazioni su come impostare la durata di una sessione di IAM Identity Center, consulta [Configurare la durata delle sessioni del portale di AWS accesso degli utenti nella Guida per l'utente](https://docs.aws.amazon.com/singlesignon/latest/userguide/configure-user-session.html).AWS IAM Identity Center * 
  + La durata massima della sessione è stata estesa a 90 giorni per ridurre la necessità di accessi frequenti.

### In che modo l'SDK ottiene le credenziali per le chiamate Servizio AWS
<a name="idccredres2"></a>

SDKs fornisci l'accesso a Servizi AWS quando crei un'istanza di un oggetto client per servizio. Quando il profilo selezionato del AWS `config` file condiviso è configurato per la risoluzione delle credenziali di IAM Identity Center, IAM Identity Center viene utilizzato per risolvere le credenziali per l'applicazione. 
+ Il [processo di risoluzione delle credenziali](https://docs.aws.amazon.com/sdkref/latest/guide/standardized-credentials.html#credentialProviderChain) viene completato durante l'esecuzione, quando viene creato un client.

Per recuperare le credenziali per sigv4 APIs utilizzando il single sign-on di IAM Identity Center, l'SDK utilizza il token di accesso IAM Identity Center per ottenere una sessione IAM. Questa sessione IAM è chiamata sessione del set di autorizzazioni e fornisce l' AWS accesso all'SDK assumendo un ruolo IAM. 
+  La durata della sessione del set di autorizzazioni è impostata indipendentemente dalla durata della sessione di IAM Identity Center.
  + Per informazioni su come impostare la durata della sessione del set di autorizzazioni, consulta [Impostare la durata della sessione](https://docs.aws.amazon.com/singlesignon/latest/userguide/howtosessionduration.html) nella *Guida per l'AWS IAM Identity Center utente*.
+  Tieni presente che le credenziali del set di autorizzazioni vengono anche chiamate credenziali e *AWS credenziali* *sigv4 nella maggior parte della documentazione sulle API SDK*. AWS 

Le credenziali del set di autorizzazioni vengono restituite da una chiamata all'API IAM Identity [getRoleCredentials](https://docs.aws.amazon.com/singlesignon/latest/PortalAPIReference/API_GetRoleCredentials.html)Center all'SDK. L'oggetto client dell'SDK utilizza quel ruolo IAM assunto per effettuare chiamate a Servizio AWS, ad esempio chiedere ad Amazon S3 di elencare i bucket nel tuo account. L'oggetto client può continuare a funzionare utilizzando le credenziali del set di autorizzazioni fino alla scadenza della sessione del set di autorizzazioni. 

### Scadenza e aggiornamento della sessione
<a name="idccredres3"></a>

Quando si utilizza il[Configurazione del provider di token SSO](feature-sso-credentials.md#sso-token-config), il token di accesso orario ottenuto da IAM Identity Center viene aggiornato automaticamente utilizzando il token di aggiornamento.
+ Se il token di accesso è scaduto quando l'SDK tenta di utilizzarlo, l'SDK utilizza il token di aggiornamento per cercare di ottenere un nuovo token di accesso. IAM Identity Center confronta il token di aggiornamento con la durata della sessione del portale di accesso IAM Identity Center. Se il token di aggiornamento non è scaduto, IAM Identity Center risponde con un altro token di accesso.
+ Questo token di accesso può essere utilizzato per aggiornare la sessione del set di autorizzazioni dei client esistenti o per risolvere le credenziali per nuovi client. 

Tuttavia, se la sessione del portale di accesso IAM Identity Center è scaduta, non viene concesso alcun nuovo token di accesso. Pertanto, la durata del set di autorizzazioni non può essere rinnovata. Scadrà (e l'accesso verrà perso) ogni volta che scade la durata della sessione del set di autorizzazioni memorizzato nella cache per i client esistenti. 

Qualsiasi codice che crea un nuovo client fallirà l'autenticazione non appena scadrà la sessione di IAM Identity Center. Questo perché le credenziali del set di autorizzazioni non vengono memorizzate nella cache. Il codice non sarà in grado di creare un nuovo client e completare il processo di risoluzione delle credenziali finché non avrai un token di accesso valido. 

Ricapitolando, quando l'SDK necessita di nuove credenziali del set di autorizzazioni, l'SDK verifica innanzitutto la presenza di eventuali credenziali valide ed esistenti e le utilizza. Questo vale sia che le credenziali siano per un nuovo client o per un client esistente con credenziali scadute. Se le credenziali non vengono trovate o non sono valide, l'SDK chiama l'API IAM Identity Center per ottenere nuove credenziali. Per chiamare l'API, è necessario il token di accesso. Se il token di accesso è scaduto, l'SDK utilizza il token di aggiornamento per cercare di ottenere un nuovo token di accesso dal servizio IAM Identity Center. Questo token viene concesso se la sessione del portale di accesso IAM Identity Center non è scaduta. 

# Utilizzo di IAM Roles Anywhere per l'autenticazione AWS SDKs e gli strumenti
<a name="access-rolesanywhere"></a>

Puoi utilizzare IAM Roles Anywhere per ottenere credenziali di sicurezza temporanee in IAM per carichi di lavoro come server, contenitori e applicazioni eseguiti all'esterno di. AWS Per utilizzare IAM Roles Anywhere, i carichi di lavoro devono utilizzare certificati X.509. L'amministratore cloud deve fornire il certificato e la chiave privata necessari per configurare IAM Roles Anywhere come fornitore di credenziali.

## Fase 1: configurare IAM Roles Anywhere
<a name="config-ira"></a>

IAM Roles Anywhere offre un modo per ottenere credenziali temporanee per un carico di lavoro o un processo eseguito all'esterno di. AWS Viene stabilito un trust anchor con l'autorità di certificazione per ottenere credenziali temporanee per il ruolo IAM associato. Il ruolo imposta le autorizzazioni che il carico di lavoro avrà quando il codice si autentica con IAM Roles Anywhere.

*Per i passaggi per configurare trust anchor, IAM role e IAM Roles Anywhere, consulta [Creating a trust anchor and profile in Roles Anywhere nella Guida per l'utente di IAM AWS Identity and Access Management Roles Anywhere](https://docs.aws.amazon.com/rolesanywhere/latest/userguide/getting-started.html).*

**Nota**  
Un *profilo* nella *IAM Roles Anywhere User Guide* si riferisce a un concetto unico all'interno del servizio IAM Roles Anywhere. Non è correlato ai profili all'interno del AWS `config` file condiviso. 

## Passaggio 2: utilizza IAM Roles Anywhere
<a name="use-ira"></a>

Per ottenere credenziali di sicurezza temporanee da IAM Roles Anywhere, utilizza lo strumento di supporto alle credenziali fornito da IAM Roles Anywhere. Lo strumento per le credenziali implementa il processo di firma per IAM Roles Anywhere.

Per istruzioni su come scaricare lo strumento di supporto alle credenziali, consulta [Ottenere credenziali di sicurezza temporanee da AWS Identity and Access Management Roles Anywhere nella Guida per l'utente di *IAM* Roles Anywhere](https://docs.aws.amazon.com/rolesanywhere/latest/userguide/credential-helper.html).

Per utilizzare le credenziali di sicurezza temporanee di IAM Roles Anywhere con AWS SDKs and the AWS CLI, puoi configurare le `credential_process` impostazioni nel file condiviso. AWS `config` AWS CLI Supporta un provider di credenziali di processo che utilizza `credential_process` per l'autenticazione. SDKs Di seguito viene illustrata la struttura generale da impostare. `credential_process`

```
credential_process = [path to helper tool] [command] [--parameter1 value] [--parameter2 value] [...]  
```

Il `credential-process` comando dello strumento di supporto restituisce credenziali temporanee in un formato JSON standard compatibile con l'impostazione. `credential_process` Notate che il nome del comando contiene un trattino, ma il nome dell'impostazione contiene un carattere di sottolineatura. Il comando richiede i seguenti parametri:
+ `private-key`— Il percorso della chiave privata che ha firmato la richiesta. 
+ ` certificate`— Il percorso del certificato. 
+ `role-arn`— L'ARN del ruolo per cui ottenere le credenziali temporanee. 
+ `profile-arn`— L'ARN del profilo che fornisce una mappatura per il ruolo specificato. 
+ `trust-anchor-arn`— L'ARN del trust anchor utilizzato per l'autenticazione. 

L'amministratore del cloud deve fornire il certificato e la chiave privata. Tutti e tre i valori ARN possono essere copiati da. Console di gestione AWS L'esempio seguente mostra un `config` file condiviso che configura il recupero delle credenziali temporanee dallo strumento di supporto. 

```
[profile dev]
credential_process = ./aws_signing_helper credential-process --certificate /path/to/certificate --private-key /path/to/private-key --trust-anchor-arn arn:aws:rolesanywhere:region:account:trust-anchor/TA_ID --profile-arn arn:aws:rolesanywhere:region:account:profile/PROFILE_ID --role-arn arn:aws:iam::account:role/ROLE_ID
```

 Per i parametri opzionali e i dettagli aggiuntivi dello strumento di supporto, consulta [IAM](https://github.com/aws/rolesanywhere-credential-helper#readme) Roles Anywhere Credential Helper on. GitHub 

Per i dettagli sull'impostazione della configurazione SDK stessa e sul fornitore delle credenziali di processo, consulta questa guida. [Provider di credenziali di processo](feature-process-credentials.md)

# Assumere un ruolo con AWS credenziali di autenticazione e strumenti AWS SDKs
<a name="access-assume-role"></a>

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](https://docs.aws.amazon.com/STS/latest/APIReference/API_Operations.html) nell'*AWS Security Token Service API* Reference. 

Per configurare l'SDK o lo strumento in modo che assuma 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).](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html) I ruoli stabiliscono relazioni di fiducia con un'altra entità. L'entità attendibile che utilizza il ruolo potrebbe essere una Servizio AWS o un'altra Account AWS. Per ulteriori informazioni sui ruoli IAM, consulta [Using IAM roles](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html) 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. 

**Nota**  
È consigliabile utilizzare gli endpoint regionali ogni volta che è possibile e configurare i propri. AWS [Regione AWS](feature-region.md) 

## Assumi un ruolo IAM
<a name="credOrSourceAssumeRole"></a>

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. In genere, questo tipo di assunzione di un ruolo viene utilizzato quando si dispone delle AWS credenziali per un account, ma l'applicazione richiede l'accesso alle risorse di un altro account. 

### Fase 1: configurare un ruolo IAM
<a name="credOrSourceAssumeRole_step1"></a>

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.](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html) 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](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create.html) nella *Guida per l'utente IAM*.

### Passaggio 2: configura l'SDK o lo strumento
<a name="credOrSourceAssumeRole_step2"></a>

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

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

Utilizzalo `source_profile` per ottenere credenziali da un altro profilo. `source_profile`supporta 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 effettuano automaticamente la chiamata AWS STS [https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)API corrispondente. Per recuperare e utilizzare le 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](feature-assume-role-credentials.md#feature-assume-role-credentials-settings) 
+ `role_arn`- Dal ruolo IAM che hai creato nella fase 1
+ Configura uno dei due `credential_source` o `source_profile`
+ (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
credential_source = Ec2InstanceMetadata
```

```
[profile-with-user-that-can-assume-role]
aws_access_key_id=AKIAIOSFODNN7EXAMPLE
aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
aws_session_token=IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE

[profile dev]
region = us-east-1
output = json
role_arn = arn:aws:iam::123456789012:role/my-role-name
source_profile = profile-with-user-that-can-assume-role
role_session_name = my_session
```

Per i dettagli su tutte le impostazioni del provider di credenziali di assunzione del ruolo, [Assumi il ruolo di fornitore di credenziali](feature-assume-role-credentials.md) consulta questa guida.

# Assumere un ruolo con web identity o OpenID Connect per l'autenticazione e AWS SDKs gli strumenti
<a name="access-assume-role-web"></a>

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](https://docs.aws.amazon.com/STS/latest/APIReference/API_Operations.html) nell'*AWS Security Token Service API* Reference. 

Per configurare l'SDK o lo strumento in modo che assuma 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).](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html) I ruoli stabiliscono relazioni di fiducia con un'altra entità. L'entità affidabile che utilizza il ruolo potrebbe essere un provider di identità Web o una federazione OpenID Connect (OIDC) o SAML. *Per ulteriori informazioni sui ruoli IAM, consulta [Metodi per assumere un ruolo](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage-assume.html) nella Guida per l'utente IAM.* 

Dopo aver configurato il ruolo IAM nel tuo SDK, se tale ruolo è configurato in modo da considerare attendibile il tuo provider di identità, puoi configurare ulteriormente il tuo SDK per assumere quel ruolo e ottenere credenziali temporanee AWS .

**Nota**  
È consigliabile utilizzare gli endpoint regionali ogni volta che è possibile e configurare i propri. AWS [Regione AWS](feature-region.md) 

## Federazione con identità web o OpenID Connect
<a name="webidentity"></a>

Puoi utilizzare i JSON Web Tokens (JWTs) di provider di identità pubblici, come Login With Amazon, Facebook, Google per ottenere AWS credenziali temporanee utilizzando. `AssumeRoleWithWebIdentity` A seconda di come vengono utilizzati, JWTs possono essere chiamati token ID o token di accesso. È inoltre possibile utilizzare dati JWTs emessi da provider di identità (IdPs) compatibili con il protocollo di rilevamento di OIDC, come o. EntraId PingFederate

Se utilizzi Amazon Elastic Kubernetes Service, questa funzionalità offre la possibilità di specificare diversi ruoli IAM per ciascuno dei tuoi account di servizio in un cluster Amazon EKS. Questa funzionalità di Kubernetes viene distribuita JWTs ai tuoi pod, che vengono poi utilizzati da questo provider di credenziali per ottenere credenziali temporanee. AWS Per ulteriori informazioni su questa configurazione di Amazon EKS, consulta [i ruoli IAM per gli account di servizio](https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html) nella **Amazon EKS User Guide**. Tuttavia, per un'opzione più semplice, ti consigliamo di utilizzare invece [Amazon EKS Pod Identities](https://docs.aws.amazon.com/eks/latest/userguide/pod-identities.html) se il tuo [SDK](feature-container-credentials.md#feature-container-credentials-sdk-compat) lo supporta.

### Fase 1: configurare un provider di identità e un ruolo IAM
<a name="webidentity_step1"></a>

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 JSON Web Token (JWT) per l'autenticazione, devi prima configurare l'identity provider (IdP) e il ruolo IAM utilizzato per accedervi. Per configurarli, consulta [Creating a role for web identity o OpenID Connect Federation (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp_oidc.html) nella *IAM User* Guide.

### Passaggio 2: configura l'SDK o lo strumento
<a name="webidentity_step2"></a>

Configura l'SDK o lo strumento per utilizzare un JSON Web Token (JWT) per l'autenticazione. AWS STS 

Quando lo specifichi in un profilo, l'SDK o lo strumento effettua automaticamente la chiamata AWS STS [https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html)API corrispondente. 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](feature-assume-role-credentials.md#feature-assume-role-credentials-settings) 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 di SDKs and tools 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 SDKs, consulta [Esempi di codice](https://docs.aws.amazon.com/cognito/latest/developerguide/service_code_examples.html) nella *Amazon Cognito Developer Guide*.

Per i dettagli su tutte le impostazioni del provider di credenziali di assunzione del ruolo, [Assumi il ruolo di fornitore di credenziali](feature-assume-role-credentials.md) consulta questa guida.

# Utilizzo delle chiavi di AWS accesso per l'autenticazione AWS SDKs e degli strumenti
<a name="access-users"></a>

L'uso delle chiavi di AWS accesso è un'opzione per l'autenticazione quando si utilizzano AWS SDKs strumenti.

## Usa credenziali a breve termine
<a name="credentials-temporary"></a>

 Ti consigliamo di configurare l'SDK o lo strumento da utilizzare per utilizzare [Utilizzo di IAM Identity Center per autenticare AWS SDK e strumenti](access-sso.md) opzioni di durata estesa della sessione. 

Tuttavia, per configurare direttamente l'SDK o le credenziali temporanee dello strumento, consulta. [Utilizzo di credenziali a breve termine per l'autenticazione AWS SDKs e gli strumentiCredenziali a breve termine](access-temp-idc.md)

## Usa credenziali a lungo termine
<a name="credentials-long-term"></a>

**avvertimento**  
Per evitare rischi per la sicurezza, non utilizzare gli utenti IAM per l’autenticazione quando sviluppi software creato ad hoc o lavori con dati reali. Utilizza invece la federazione con un provider di identità come [AWS IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html).

### Gestisci l'accesso in tutto Account AWS
<a name="manage-access-accounts"></a>

Come best practice di sicurezza, ti consigliamo di utilizzare AWS Organizations IAM Identity Center per gestire l'accesso su tutti i tuoi Account AWS. Per ulteriori informazioni, consulta [Best Practice di sicurezza in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) nella *Guida per l'utente di IAM*.

Puoi creare utenti in IAM Identity Center, utilizzare Microsoft Active Directory, utilizzare un provider di identità (IdP) SAML 2.0 o federare individualmente il tuo IdP. Account AWS Utilizzando uno di questi approcci, puoi fornire un'esperienza Single Sign-On ai tuoi utenti. Puoi anche applicare l'autenticazione a più fattori (MFA) e utilizzare credenziali temporanee per l'accesso. Account AWS Ciò differisce da un utente IAM, che è una credenziale a lungo termine che può essere condivisa e che potrebbe aumentare il rischio di sicurezza per le risorse. AWS 

### Crea utenti IAM solo per ambienti sandbox
<a name="create-iam-user-sandbox"></a>

Se sei un principiante AWS, potresti creare un utente IAM di prova e poi utilizzarlo per eseguire tutorial ed esplorare ciò che AWS ha da offrire. Va bene usare questo tipo di credenziale quando impari, ma ti consigliamo di evitare di utilizzarle al di fuori di un ambiente sandbox.

Per i seguenti casi d'uso, potrebbe essere utile iniziare con gli utenti IAM in: AWS
+ Inizia a usare il tuo AWS SDK o il tuo strumento ed esplora Servizi AWS in un ambiente sandbox.
+ L'esecuzione di script, processi e altri processi automatizzati pianificati che non supportano un processo di accesso con assistenza umana come parte del tuo apprendimento.

Se utilizzi utenti IAM al di fuori di questi casi d'uso, passa a IAM Identity Center o federa il tuo provider di identità a Account AWS il prima possibile. Per ulteriori informazioni, consulta [Identity Federation in AWS](https://aws.amazon.com/identity/federation/).

### Chiavi di accesso utente IAM sicure
<a name="secure-iam-access-keys"></a>

È necessario ruotare regolarmente le chiavi di accesso utente IAM. Segui le indicazioni contenute nella sezione [Rotating access keys](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html#Using_RotateAccessKey) nella *IAM User* Guide. Se ritieni di aver condiviso accidentalmente le tue chiavi di accesso utente IAM, ruota le chiavi di accesso.

Le chiavi di accesso utente IAM devono essere archiviate nel AWS `credentials` file condiviso sul computer locale. Non memorizzate le chiavi di accesso utente IAM nel codice. Non includere file di configurazione che contengono le chiavi di accesso utente IAM all'interno di alcun software di gestione del codice sorgente. Strumenti esterni, come il progetto open source [git-secrets](https://github.com/awslabs/git-secrets), possono aiutarti a non inserire inavvertitamente informazioni sensibili in un repository Git. Per ulteriori informazioni, consulta [Identità IAM (utenti, gruppi e ruoli)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html) nella *Guida per l’utente di IAM*.

Per configurare un utente IAM per iniziare, consulta. [Utilizzo di credenziali a lungo termine per l'autenticazione AWS SDKs e gli strumenti](access-iam-users.md)

# Utilizzo di credenziali a breve termine per l'autenticazione AWS SDKs e gli strumenti
<a name="access-temp-idc"></a>

 Ti consigliamo di configurare l' AWS SDK o lo strumento da utilizzare [Utilizzo di IAM Identity Center per autenticare AWS SDK e strumenti](access-sso.md) con opzioni di durata prolungata della sessione. Tuttavia, puoi copiare e utilizzare le credenziali temporanee disponibili nel portale di accesso. AWS Le nuove credenziali dovranno essere copiate quando scadono. È possibile utilizzare le credenziali temporanee in un profilo o utilizzarle come valori per le proprietà di sistema e le variabili di ambiente.

Procedura consigliata: anziché gestire manualmente le chiavi di accesso e un token nel file delle credenziali, consigliamo all'applicazione di utilizzare credenziali temporanee fornite da: 
+ Un servizio di AWS elaborazione, ad esempio l'esecuzione della tua applicazione su Amazon Elastic Compute Cloud o in. AWS Lambda
+ Un'altra opzione nella catena di fornitori di credenziali, ad esempio. [Utilizzo di IAM Identity Center per autenticare AWS SDK e strumenti](access-sso.md)
+ Oppure usa il [Provider di credenziali di processo](feature-process-credentials.md) per recuperare le credenziali temporanee.

**Configura un file di credenziali utilizzando credenziali a breve termine recuperate dal portale di accesso AWS**

1. [Crea un file di credenziali condiviso](https://docs.aws.amazon.com/sdkref/latest/guide/file-location.html).

1. Nel file delle credenziali, incolla il seguente testo segnaposto fino a incollare le credenziali temporanee di lavoro.

   ```
   [default]
   aws_access_key_id=<value from AWS access portal>
   aws_secret_access_key=<value from AWS access portal>
   aws_session_token=<value from AWS access portal>
   ```

1. Salvare il file. Il file `~/.aws/credentials` dovrebbe ora esistere sul tuo sistema di sviluppo locale. Questo file contiene il [profilo [predefinito]](https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html#file-format-profile) utilizzato dall'SDK o dallo strumento se non viene specificato un profilo denominato specifico. 

1. [Accedi al portale di AWS accesso](https://docs.aws.amazon.com/singlesignon/latest/userguide/howtosignin.html).

1. Segui queste istruzioni per [l'aggiornamento manuale delle credenziali](https://docs.aws.amazon.com/singlesignon/latest/userguide/howtogetcredentials.html#how-to-get-temp-credentials) per copiare le credenziali del ruolo IAM dal AWS portale di accesso.

   1. Per la fase 4 delle istruzioni collegate, scegli il nome del ruolo IAM che concede l'accesso per le tue esigenze di sviluppo. Questo ruolo ha in genere un nome simile **PowerUserAccess**a **Developer**.

   1. Per il passaggio 7 delle istruzioni collegate, seleziona l'opzione **Aggiungi manualmente un profilo al file delle AWS credenziali** e copia il contenuto.

1. Incolla le credenziali copiate nel file locale. `credentials` Il nome del profilo generato non è necessario se si utilizza il `default` profilo. Il file dovrebbe essere simile al seguente.

   ```
   [default]
   aws_access_key_id=AKIAIOSFODNN7EXAMPLE
   aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
   aws_session_token=IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE
   ```

1. Salvare il file `credentials`.

Quando l’SDK crea un client di servizio, accederà a queste credenziali temporanee e le utilizzerà per ogni richiesta. Le impostazioni per il ruolo IAM scelto nella fase 5a [determinano la durata di validità delle credenziali temporanee](https://docs.aws.amazon.com/singlesignon/latest/userguide/howtosessionduration.html). La durata massima è di dodici ore.

Dopo la scadenza delle credenziali temporanee, ripeti i passaggi da 4 a 7.

# Utilizzo di credenziali a lungo termine per l'autenticazione AWS SDKs e gli strumenti
<a name="access-iam-users"></a>

**avvertimento**  
Per evitare rischi per la sicurezza, non utilizzare gli utenti IAM per l’autenticazione quando sviluppi software creato ad hoc o lavori con dati reali. Utilizza invece la federazione con un provider di identità come [AWS IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html).

Se utilizzi un utente IAM per eseguire il codice, l'SDK o lo strumento nel tuo ambiente di sviluppo si autentica utilizzando credenziali utente IAM a lungo termine nel file condiviso. AWS `credentials` Consulta le [best practice di sicurezza nell'argomento IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-users-federation-idp) e passa a IAM Identity Center o ad altre credenziali temporanee il prima possibile.

## Avvertenze e linee guida importanti per le credenziali
<a name="iam-warnings-and-guidelines"></a>

**Avvertenze per le credenziali**
+ ***NON*** utilizzare le credenziali root dell'account per accedere alle risorse AWS . Queste credenziali forniscono un accesso illimitato all’account e sono difficili da revocare.
+ ***NON*** inserire chiavi di accesso letterali o informazioni sulle credenziali nei file dell’applicazione. In caso contrario, rischi di esporre accidentalmente le credenziali se, per esempio, carichi il progetto in repository pubblici.
+ ***NON*** includere file che contengono credenziali nell’area del progetto.
+ Tieni presente che tutte le credenziali archiviate nel AWS `credentials` file condiviso vengono archiviate in testo non crittografato.

**Linee guida aggiuntive per la gestione sicura delle credenziali**

Per una discussione generale su come gestire in modo sicuro le AWS credenziali, vedere Procedure [ottimali per la gestione AWS](https://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html) delle chiavi di accesso nel. [Riferimenti generali di AWS](https://docs.aws.amazon.com/general/latest/gr/) Considera inoltre quanto segue:
+ Usa [ruoli IAM](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) per le attività di Amazon Elastic Container Service (Amazon ECS).
+ Usa [ruoli IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) per le applicazioni in esecuzione sulle istanze Amazon EC2.

## Prerequisiti: creare un account AWS
<a name="signup"></a>

Per utilizzare un utente IAM per accedere ai AWS servizi, sono necessari un AWS account e delle AWS credenziali.

1. **Creazione di un account.**

   Per creare un AWS account, vedi [Guida introduttiva: sei un utente principiante AWS](https://docs.aws.amazon.com/accounts/latest/reference/welcome-first-time-user.html)? nella *Guida di Gestione dell'account AWS riferimento*.

1. **Creazione di un utente amministratore.**

   Evita di utilizzare l'account utente root (l'account iniziale creato) per accedere alla console di gestione e ai servizi. Crea invece un account utente amministratore, come illustrato in [Creazione di un utente amministratore](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-set-up.html#create-an-admin) nella *Guida per l'utente di IAM*.

   Dopo aver creato l'account utente amministratore e registrato i dettagli di accesso, **assicurati di disconnetterti dall'account utente root** e di accedere nuovamente utilizzando l'account amministrativo.

Nessuno di questi account è adatto per lo sviluppo AWS o l'esecuzione di applicazioni su AWS. Come procedura ottimale, è necessario creare utenti, set di autorizzazioni o ruoli di servizio appropriati per queste attività. Per ulteriori informazioni, consulta [Applicazione delle autorizzazioni del privilegio minimo](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege) nella *Guida per l'utente di IAM*.

## Fase 1: creare un utente IAM
<a name="step1authIamUser"></a>
+ Crea il tuo utente IAM seguendo la procedura [Creazione di utenti IAM (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html#id_users_create_console) nella *Guida per l’utente di IAM*. Quando crei il tuo utente IAM:
  + Ti consigliamo di selezionare **Fornisci l'accesso utente a Console di gestione AWS**. Ciò ti consente di visualizzare Servizi AWS il codice in esecuzione in un ambiente visivo, ad esempio controllando i log di AWS CloudTrail diagnostica o caricando file su Amazon Simple Storage Service, il che è utile per il debug del codice.
  + Per le **opzioni **Imposta autorizzazioni - Autorizzazione****, seleziona **Allega direttamente le politiche** per indicare come desideri assegnare le autorizzazioni a questo utente. 
    + La maggior parte dei tutorial SDK “Nozioni di base” utilizza il servizio Amazon S3 come esempio. Per fornire alla tua applicazione l’accesso completo ad Amazon S3, seleziona la policy `AmazonS3FullAccess` da allegare a questo utente.
  + Puoi ignorare i passaggi facoltativi di tale procedura relativi all'impostazione dei limiti o dei tag di autorizzazione. 

## Fase 2: ottenere le chiavi di accesso
<a name="stepGetKeys"></a>

1. Nel riquadro di navigazione della console IAM, seleziona **Utenti**, quindi seleziona il **User name** dell’utente che hai creato in precedenza.

1. Nella pagina dell’utente, scegli la scheda **Credenziali di sicurezza**. Quindi, in **Chiavi di accesso**, seleziona **Crea chiave di accesso**.

1. Per **Creare la chiave di accesso Step 1**, scegli **Command Line Interface (CLI)** o Codice **locale**. Entrambe le opzioni generano lo stesso tipo di chiave da utilizzare sia con che con. AWS CLI SDKs

1. Per **Crea chiave di accesso (fase 2)**, inserisci facoltativamente un tag e scegli **Avanti**.

1. Per **Crea chiave di accesso (fase 3)**, seleziona **Scarica il file.csv** per salvare un file `.csv` con la chiave di accesso e la chiave di accesso segreta dell’utente IAM. Queste informazioni serviranno in seguito.
**avvertimento**  
Utilizza le misure di sicurezza appropriate per proteggere queste credenziali.

1. Seleziona **Done (Fatto)** 

## Passaggio 3: Aggiornare il file condiviso `credentials`
<a name="stepauthIamUser"></a>

1. Crea o apri il file delle credenziali AWS `credentials` condiviso. Questo file è denominato `~/.aws/credentials` su sistemi Linux e macOS e `%USERPROFILE%\.aws\credentials` su Windows. Per ulteriori informazioni, consulta [Ubicazione dei file delle credenziali](https://docs.aws.amazon.com/credref/latest/refdocs/file-location.html).

1. Aggiungi il testo seguente al file `credentials` condiviso. Sostituisci il valore ID di esempio e il valore della chiave di esempio con i valori del `.csv` file scaricato in precedenza. 

   ```
   [default]
   aws_access_key_id = AKIAIOSFODNN7EXAMPLE
   aws_secret_access_key = wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
   ```

   

1. Salvare il file.

Il `credentials` file condiviso è il modo più comune per archiviare le credenziali. Queste possono anche essere impostate come variabili di ambiente, vedi [AWS chiavi di accesso](feature-static-credentials.md) per i nomi delle variabili di ambiente. Questo è un modo per iniziare, ma ti consigliamo di passare a IAM Identity Center o ad altre credenziali temporanee il prima possibile. Dopo aver abbandonato l'utilizzo di credenziali a lungo termine, ricordati di eliminare queste credenziali dal file condiviso. `credentials`

# Utilizzo dei ruoli IAM per autenticare le applicazioni distribuite su Amazon EC2
<a name="access-iam-roles-for-ec2"></a>

Questo esempio illustra la configurazione di un AWS Identity and Access Management ruolo con accesso Amazon S3 da utilizzare nella tua applicazione distribuita su un'istanza Amazon Elastic Compute Cloud. 

Per eseguire la tua applicazione AWS SDK su un'istanza Amazon Elastic Compute Cloud, crea un ruolo IAM e consenti all' EC2 istanza Amazon di accedere a quel ruolo. Per ulteriori informazioni, consulta [IAM Roles for Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html) nella *Amazon EC2 User Guide*.

## Creazione di un ruolo IAM
<a name="createRoleForEc2"></a>

L'applicazione AWS SDK che sviluppi probabilmente accede ad almeno una Servizio AWS per eseguire azioni. Crea un ruolo IAM che conceda le autorizzazioni necessarie per l'esecuzione dell'applicazione.

 Questa procedura crea un ruolo che garantisce l'accesso in sola lettura ad Amazon S3, ad esempio. Molte guide AWS SDK contengono tutorial introduttivi tratti da Amazon S3.

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. Nel riquadro di navigazione, seleziona **Ruoli**, quindi seleziona **Crea ruolo**.

1. Per **Seleziona entità attendibile**, in **Tipo di entità affidabile**, scegli **Servizio AWS**.

1. **In Caso d'uso**, scegli **Amazon EC2**, quindi seleziona **Avanti**.

1. **Per **Aggiungi autorizzazioni**, seleziona la casella di controllo per **Amazon S3 Read Only** Access dall'elenco delle policy, quindi seleziona Avanti.** 

1. **Inserisci un nome per il ruolo, quindi seleziona Crea ruolo.** *Ricorda questo nome perché ti servirà quando creerai la tua EC2 istanza Amazon.*

## Avvia un' EC2 istanza Amazon e specifica il tuo ruolo IAM
<a name="launchAndSpecify"></a>

Puoi creare e avviare un' EC2 istanza Amazon utilizzando il tuo ruolo IAM effettuando le seguenti operazioni:
+ Segui [Quickly launch an instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html#liw-quickly-launch-instance) nella *Amazon EC2 User Guide*. Tuttavia, prima della fase finale di invio, procedi anche come segue:
  + In **Dettagli avanzati**, per il **profilo IAM Instance**, scegli il ruolo che hai creato nel passaggio precedente.

 Con questa EC2 configurazione IAM e Amazon, puoi distribuire la tua applicazione sull' EC2 istanza Amazon e la tua applicazione avrà accesso in lettura al servizio Amazon S3. 

## Connect all' EC2 istanza
<a name="net-dg-hosm-connect"></a>

Connettiti all' EC2 istanza Amazon in modo da poter trasferire l'applicazione su di essa e quindi eseguire l'applicazione. Avrai bisogno del file che contiene la parte privata della coppia di chiavi che hai usato in **Key pair (login)** quando hai creato l'istanza, ovvero il file PEM.

Puoi farlo seguendo le indicazioni per il tuo tipo di istanza: [Connetti alla tua istanza Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect-to-linux-instance.html) o [Connect alla tua istanza Windows](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connecting_to_windows_instance.html). Quando ti connetti, fallo in modo da poter trasferire i file dalla macchina di sviluppo all'istanza. 

**Nota**  
Sul terminale Linux o macOS, puoi usare il comando secure copy per copiare la tua applicazione. Da usare `scp` con una key pair, puoi usare il seguente comando:`scp -i path/to/key file/to/copy ec2-user@ec2-xx-xx-xxx-xxx.compute.amazonaws.com:~`.  
Per ulteriori informazioni per Windows, consulta [Trasferimento di file su istanze Windows](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect-to-linux-instanceWindowsFileTransfer.html).

Se utilizzi un AWS Toolkit, spesso puoi connetterti all'istanza anche utilizzando il Toolkit. Per ulteriori informazioni, consulta la guida utente specifica per il Toolkit che utilizzi.

## Esegui l'applicazione sull'istanza EC2
<a name="net-dg-hosm-run-the-app"></a>

1. Copia i file dell'applicazione dall'unità locale all' EC2 istanza Amazon.

1. Avvia l'applicazione e verifica che funzioni con gli stessi risultati della macchina di sviluppo.

1. (Facoltativo) Verifica che l'applicazione utilizzi le credenziali fornite dal ruolo IAM.

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

   1. Selezionare l'istanza.

   1. Scegli **Azioni**, **Sicurezza**, quindi scegli **Modifica ruolo IAM**.

   1.  Per il **ruolo IAM**, scollega il ruolo IAM scegliendo **Nessun ruolo IAM**.

   1.  Scegli **Aggiorna ruolo IAM**.

   1. Esegui nuovamente l'applicazione e conferma che restituisca un errore di autorizzazione.

# Utilizzo del plugin TIP per accedere Servizi AWS
<a name="access-tip"></a>

 La propagazione affidabile dell'identità (TIP) è una funzionalità AWS IAM Identity Center che consente agli amministratori di concedere autorizzazioni Servizi AWS in base agli attributi degli utenti, come le associazioni di gruppo. Con la propagazione affidabile delle identità, il contesto dell'identità viene aggiunto a un ruolo IAM per identificare l'utente che richiede l'accesso alle risorse. AWS Questo contesto viene propagato ad altri. Servizi AWS

 Il contesto di identità comprende le informazioni che vengono Servizi AWS utilizzate per prendere decisioni di autorizzazione quando ricevono richieste di accesso. Queste informazioni includono metadati che identificano il richiedente (ad esempio, un utente IAM Identity Center), il Servizio AWS cui accesso è richiesto (ad esempio, Amazon Redshift) e l'ambito di accesso (ad esempio, l'accesso in sola lettura). La ricezione Servizio AWS utilizza questo contesto e tutte le autorizzazioni assegnate all'utente per autorizzare l'accesso alle sue risorse. Per ulteriori informazioni, vedere la [panoramica sulla propagazione delle identità affidabili](https://docs.aws.amazon.com/singlesignon/latest/userguide/trustedidentitypropagation-overview.html) nella Guida per l' AWS IAM Identity Center utente. 

 Il plug-in TIP può essere utilizzato con dispositivi Servizi AWS che supportano la propagazione di identità affidabili. Come caso d'uso di riferimento, consulta [Configurazione di un'applicazione Amazon Q Business utilizzando AWS IAM Identity Center](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/create-application.html) nella *Amazon Q Business User Guide*. 

**Nota**  
 Se utilizzi Amazon Q Business, consulta [Configurazione di un'applicazione Amazon Q Business AWS IAM Identity Center per istruzioni specifiche](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/create-application.html) sul servizio. 

## Prerequisiti per l'utilizzo del plug-in TIP
<a name="prereq-tip"></a>

Per il funzionamento del plugin sono necessarie le seguenti risorse: 

1. È necessario utilizzare il AWS SDK per Java o il AWS SDK per JavaScript. 

1. Verifica che il servizio che stai utilizzando supporti la propagazione dell'identità affidabile.

   Consulta la colonna **Abilita la propagazione dell'identità affidabile tramite IAM Identity Center** delle [applicazioni AWS gestite che si integrano con IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/awsapps-that-work-with-identity-center.html) nella Guida per l'*AWS IAM Identity Center utente*. 

1. Abilita IAM Identity Center e la propagazione affidabile delle identità.

   *Consulta i [prerequisiti e le considerazioni del TIP nella Guida](https://docs.aws.amazon.com/singlesignon/latest/userguide/trustedidentitypropagation-overall-prerequisites.html) per l'AWS IAM Identity Center utente.* 

1. È necessario disporre di un' Identity-Center-integratedapplicazione. 

   Vedi [le applicazioni AWS gestite o le](https://docs.aws.amazon.com/singlesignon/latest/userguide/awsapps-quick-start-setting-up-identity-center-to-test-awsmanagedapps.html) [applicazioni gestite dal cliente](https://docs.aws.amazon.com/singlesignon/latest/userguide/customermanagedapps-trusted-identity-propagation-set-up-your-own-app-OAuth2.html) nella *Guida AWS IAM Identity Center per l'utente*. 

1. È necessario configurare un Trusted Token Issuer (TTI) e connettere il servizio a IAM Identity Center. 

   *Consulta [Prerequisiti per emittenti di token affidabili](https://docs.aws.amazon.com/singlesignon/latest/userguide/using-apps-with-trusted-token-issuer.html#trusted-token-issuer-prerequisites) e [Attività per la configurazione di un emittente di token affidabile nella Guida per l'utente.](https://docs.aws.amazon.com/singlesignon/latest/userguide/setuptrustedtokenissuer.html#setuptrustedtokenissuer-tasks)AWS IAM Identity Center *

## Per utilizzare il plug-in TIP nel codice
<a name="using-tip"></a>

1. Crea un'istanza del plugin affidabile per la propagazione delle identità.

1. Crea un'istanza del client di servizio per interagire con il tuo Servizio AWS e personalizza il client di servizio aggiungendo il plug-in di propagazione dell'identità affidabile. 

Il plugin TIP accetta i seguenti parametri di input:
+ **`webTokenProvider`**: una funzione che il cliente implementa per ottenere un token OpenID dal proprio provider di identità esterno. 
+ **`accessRoleArn`**: l'ARN del ruolo IAM che deve essere assunto dal plug-in con il contesto di identità dell'utente per ottenere le credenziali con identità avanzata. 
+ **`applicationArn`**: La stringa identificativa univoca per il client o l'applicazione. Questo valore è un ARN dell'applicazione con OAuth sovvenzioni configurate. 
+ **`ssoOidcClient`**: (Facoltativo) Un client SSO OIDC, ad esempio [https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/ssooidc/SsoOidcClient.html](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/ssooidc/SsoOidcClient.html)per Java o [https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-sso-oidc/](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-sso-oidc/)for JavaScript, con configurazioni definite dal cliente. Se non viene fornito, verrà istanziato e utilizzato un client OIDC che utilizza `applicationRoleArn`. 
+  **`stsClient`**: (Facoltativo) Un AWS STS client con configurazioni definite dal cliente, utilizzato per assumere il contesto di identità dell'utente. `accessRoleArn` Se non viene fornito, `applicationRoleArn` verrà istanziato e utilizzato un AWS STS client che utilizza. 
+ **`applicationRoleArn`**: (Facoltativo) L'ARN del ruolo IAM da assumere in `AssumeRoleWithWebIdentity` modo che l'OIDC e AWS STS i client possano essere avviati.
  + Se non viene fornito, devono essere forniti **entrambi i** parametri `ssoOidcClient` and`stsClient`.
  + Se fornito, non `applicationRoleArn` può avere lo stesso valore del `accessRoleArn` parametro. `applicationRoleArn`viene utilizzato per creare STSClient, che viene utilizzato per assumere AccessRole. Se si utilizza lo stesso ruolo per entrambi `applicationRole` e`accessRole`, ciò significherebbe utilizzare un ruolo per assumere se stesso (presupposto del ruolo autonomo), cosa sconsigliata da. AWS Vedi l'[annuncio per maggiori dettagli](https://aws.amazon.com/blogs/security/announcing-an-update-to-iam-role-trust-policy-behavior/).

### Considerazioni relative `ssoOidcClient` a `stsClient` e parametri `applicationRoleArn`
<a name="considerations-tip"></a>

Quando configurate il plugin TIP, tenete conto dei seguenti requisiti di autorizzazione in base ai parametri forniti:
+ Se stai fornendo `ssoOidcClient` e`stsClient`:
  + Le credenziali sul centro di identità `ssoOidcClient` devono essere `oauth:CreateTokenWithIAM` autorizzate a chiamare il centro di identità per ottenere il contesto utente specifico del centro di identità.
  + Le credenziali `stsClient` devono essere attivate `sts:AssumeRole` e le `sts:SetContext` autorizzazioni devono essere attivate. `accessRole` `accessRole`deve inoltre essere configurato con una relazione di fiducia con le credenziali attivate. `stsClient`
+ Se stai fornendo`applicationRoleArn`:
  + `applicationRole`dovrebbe avere le `oauth:CreateTokenWithIAM` autorizzazioni `sts:AssumeRole` e `sts:SetContext` le autorizzazioni sulle risorse richieste (istanza IdC`accessRole`), poiché verrà utilizzata per creare client OIDC e STS.
  + `applicationRole`dovrebbe avere una relazione di fiducia con il provider di identità utilizzato per generare il`webToken`, poiché `webToken` verrà utilizzato per assumere l'ApplicationRole tramite la chiamata del plug-in. [AssumeRoleWithWebIdentity](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html)

**Configurazione di esempio ApplicationRole :**

Politica di fiducia con provider di token Web:

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Federated": "arn:aws:iam::ACCOUNT_ID:oidc-provider/IDENTITY_PROVIDER_URL"
            },
            "Action": "sts:AssumeRoleWithWebIdentity",
            "Condition": {
                "StringEquals": {
                    "IDENTITY_PROVIDER_URL:aud": "CLIENT_ID_TO_BE_TRUSTED"
                }
            }
        }
    ]
}
```

Politica di autorizzazione:

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "sts:AssumeRole",
                "sts:SetContext"
            ],
            "Resource": [
                "accessRoleArn"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "sso-oauth:CreateTokenWithIAM"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
```

## Esempi di codice che utilizzano TIP
<a name="tip-code-example"></a>

Gli esempi seguenti mostrano come implementare il plug-in TIP nel codice utilizzando AWS SDK per Java o il AWS SDK per JavaScript.

------
#### [ Java ]

Per utilizzare il plugin TIP nel tuo AWS SDK per Java progetto, devi dichiararlo come dipendenza nel file del `pom.xml` tuo progetto. 

```
<dependency>
<groupId>software.amazon.awsidentity.trustedIdentityPropagation</groupId>
<artifactId>aws-sdk-java-trustedIdentityPropagation-java-plugin</artifactId>
   <version>2.0.0</version>
</dependency>
```

Nel codice sorgente, includete la dichiarazione del pacchetto richiesta per. `software.amazon.awssdk.trustedidentitypropagation` 

Gli esempi seguenti mostrano due modi per creare un'istanza del plugin di propagazione dell'identità affidabile e aggiungerla a un client di servizio. Entrambi gli esempi utilizzano Amazon S3 come servizio e lo utilizzano `S3AccessGrantsPlugin` per gestire le autorizzazioni specifiche degli utenti, ma possono essere applicati a qualsiasi sistema Servizio AWS che supporti la propagazione dell'identità affidabile (TIP). 

**Nota**  
Per questi esempi, è necessario configurare le autorizzazioni specifiche dell'utente da S3 Access Grants. Consulta la documentazione di [S3 Access Grants](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants.html) per maggiori dettagli.

**Opzione 1: crea e trasferisci client OIDC e STS**

```
SsoOidcClient oidcClient = SsoOidcClient.builder()
    .region(Region.US_EAST_1)
    .credentialsProvider(credentialsProvider).build();

StsClient stsClient = StsClient.builder()
    .region(Region.US_EAST_1)
    .credentialsProvider(credentialsProvider).build();

TrustedIdentityPropagationPlugin trustedIdentityPropagationPlugin = TrustedIdentityPropagationPlugin.builder()
        .webTokenProvider(() -> webToken)
        .applicationArn(idcApplicationArn)
        .accessRoleArn(accessRoleArn)
        .ssoOidcClient(oidcClient)
        .stsClient(stsClient)
        .build();

S3AccessGrantsPlugin accessGrantsPlugin = S3AccessGrantsPlugin.builder()
        .build();

S3Client s3Client =
        S3Client.builder().region(Region.US_EAST_1)
                .crossRegionAccessEnabled(true)
                .addPlugin(trustedIdentityPropagationPlugin)
                .addPlugin(accessGrantsPlugin)
                .build();

final var resp = s3Client.getObject(GetObjectRequest.builder()
        .key("path/to/object/fileName")
        .bucket("bucketName")
        .build());
```

**Opzione 2: Passa applicationRoleArn e rimanda la creazione del client al plugin**

```
TrustedIdentityPropagationPlugin trustedIdentityPropagationPlugin = TrustedIdentityPropagationPlugin.builder()
        .webTokenProvider(() -> webToken)
        .applicationArn(idcApplicationArn)
        .accessRoleArn(accessRoleArn)
        .applicationRoleArn(applicationRoleArn)
        .build();

S3AccessGrantsPlugin accessGrantsPlugin = S3AccessGrantsPlugin.builder()
        .build();

S3Client s3Client =
        S3Client.builder().region(Region.US_EAST_1)
                .crossRegionAccessEnabled(true)
                .addPlugin(trustedIdentityPropagationPlugin)
                .addPlugin(accessGrantsPlugin)
                .build();

final var resp = s3Client.getObject(GetObjectRequest.builder()
        .key("path/to/object/fileName")
        .bucket("bucketName")
        .build());
```

Per ulteriori dettagli e fonti, vedi [ trusted-identity-propagation-java](https://github.com/aws-sdk-plugin/trusted-identity-propagation-java)su GitHub.

------
#### [ JavaScript ]

Esegui il seguente comando per installare il pacchetto del plug-in di autenticazione TIP nel tuo AWS SDK per JavaScript progetto: 

```
$  npm i @aws-sdk-extension/trusted-identity-propagation
```

Il finale `package.json` dovrebbe includere una dipendenza simile alla seguente: 

```
  "dependencies": {
"@aws-sdk-extension/trusted-identity-propagation": "^2.0.0"
  },
```

 Nel codice sorgente, importa la `TrustedIdentityPropagationExtension` dipendenza richiesta. 

 Gli esempi seguenti mostrano due modi per creare un'istanza del plugin di propagazione dell'identità affidabile e aggiungerla a un client di servizio. Entrambi gli esempi utilizzano Amazon S3 come servizio e Amazon S3 Access Grants per gestire le autorizzazioni specifiche degli utenti, ma possono essere applicati a qualsiasi sistema Servizio AWS che supporti la propagazione dell'identità affidabile (TIP). 

**Nota**  
Per questi esempi, è necessario configurare le autorizzazioni specifiche dell'utente da Amazon S3 Access Grants, consulta la documentazione di Amazon [S3 Access Grants per maggiori dettagli](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants.html).

**Opzione 1: crea e trasferisci client OIDC e STS**

```
import { S3Client, GetObjectCommand } from "@aws-sdk/client-s3";
import { S3ControlClient, GetDataAccessCommand } from "@aws-sdk/client-s3-control";
import { TrustedIdentityPropagationExtension } from "@aws-sdk-extension/trusted-identity-propagation";

const s3ControlClient = new S3ControlClient({
    region: "us-east-1",
    extensions: [
        TrustedIdentityPropagationExtension.create({
            webTokenProvider: async () => {
                return 'ID_TOKEN_FROM_YOUR_IDENTITY_PROVIDER';
            },
            ssoOidcClient: customOidcClient,
            stsClient: customStsClient,
            accessRoleArn: accessRoleArn,
            applicationArn: applicationArn,
        }),
    ],
});

const getDataAccessParams = {
  Target: "S3_URI_PATH",
  Permission: "READ",
  AccountId: ACCOUNT_ID,
  InstanceArn: S3_ACCESS_GRANTS_ARN,
  TargetType: "Object",
};

try {
  const command = new GetDataAccessCommand(getDataAccessParams);
  const response = await s3ControlClient.send(command);

  const credentials = response.Credentials;

  // Create a new S3 client with the temporary credentials
  const temporaryS3Client = new S3Client({
    region: "us-east-1",
    credentials: {
      accessKeyId: credentials.AccessKeyId,
      secretAccessKey: credentials.SecretAccessKey,
      sessionToken: credentials.SessionToken,
    },
  });

  // Use the temporary S3 client to perform the operation
  const s3Params = {
    Bucket: "BUCKET_NAME",
    Key: "S3_OBJECT_KEY",
  };
  const getObjectCommand = new GetObjectCommand(s3Params);
  const s3Object = await temporaryS3Client.send(getObjectCommand);

  const fileContent = await s3Object.Body.transformToString();

  // Process the S3 object data
  console.log("Successfully retrieved S3 object:", fileContent);
} catch (error) {
  console.error("Error accessing S3 data:", error);
}
```

**Opzione 2: Passa applicationRoleArn e rimanda la creazione del client al plugin**

```
import { S3Client, GetObjectCommand } from "@aws-sdk/client-s3";
import { S3ControlClient, GetDataAccessCommand } from "@aws-sdk/client-s3-control";
import { TrustedIdentityPropagationExtension } from "@aws-sdk-extension/trusted-identity-propagation";

const s3ControlClient = new S3ControlClient({
    region: "us-east-1",
    extensions: [
        TrustedIdentityPropagationExtension.create({
            webTokenProvider: async () => {
                return 'ID_TOKEN_FROM_YOUR_IDENTITY_PROVIDER';
            },
            accessRoleArn: accessRoleArn,
            applicationRoleArn: applicationRoleArn,
            applicationArn: applicationArn,
        }),
    ],
});

// Same S3 AccessGrants workflow as Option 1
const getDataAccessParams = {
  Target: "S3_URI_PATH",
  Permission: "READ",
  AccountId: ACCOUNT_ID,
  InstanceArn: S3_ACCESS_GRANTS_ARN,
  TargetType: "Object",
};

try {
  const command = new GetDataAccessCommand(getDataAccessParams);
  const response = await s3ControlClient.send(command);

  const credentials = response.Credentials;

  const temporaryS3Client = new S3Client({
    region: "us-east-1",
    credentials: {
      accessKeyId: credentials.AccessKeyId,
      secretAccessKey: credentials.SecretAccessKey,
      sessionToken: credentials.SessionToken,
    },
  });

  const s3Params = {
    Bucket: "BUCKET_NAME",
    Key: "S3_OBJECT_KEY",
  };
  const getObjectCommand = new GetObjectCommand(s3Params);
  const s3Object = await temporaryS3Client.send(getObjectCommand);

  const fileContent = await s3Object.Body.transformToString();

  console.log("Successfully retrieved S3 object:", fileContent);
} catch (error) {
  console.error("Error accessing S3 data:", error);
}
```

Per ulteriori dettagli e fonti, vedi [trusted-identity-propagation-js](https://github.com/aws-sdk-plugin/trusted-identity-propagation-js)su GitHub.

------