

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

# Connessione ai AWS CodeCommit repository con credenziali rotanti
<a name="temporary-access"></a>

Puoi consentire agli utenti di accedere ai tuoi AWS CodeCommit repository senza configurare gli utenti IAM per loro o utilizzare una chiave di accesso e una chiave segreta. Per assegnare le autorizzazioni a un'identità federata, crei un ruolo e definisci le autorizzazioni per il ruolo. Quando un’identità federata viene autenticata, l’identità viene associata al ruolo e ottiene le autorizzazioni da esso definite. Per ulteriori informazioni sulla federazione dei ruoli, consulta [ Creare un ruolo per un provider di identità di terze parti (federazione)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp.html) nella *Guida per l'utente IAM*. Se si utilizza IAM Identity Center, configurare un set di autorizzazioni. IAM Identity Center mette in correlazione il set di autorizzazioni con un ruolo in IAM per controllare a cosa possono accedere le identità dopo l’autenticazione. Per informazioni sui set di autorizzazioni, consulta [Set di autorizzazioni](https://docs.aws.amazon.com/singlesignon/latest/userguide/permissionsetsconcept.html) nella *Guida per l’utente di AWS IAM Identity Center *. Puoi anche configurare l'accesso basato sui ruoli per consentire agli utenti IAM di accedere ai CodeCommit repository in account Amazon Web Services separati (una tecnica nota come accesso *tra* account). Per una panoramica della configurazione dell'accesso tra account a un repository, consulta [Configura l'accesso tra account a un AWS CodeCommit repository utilizzando i ruoli](cross-account.md). 

Puoi anche configurare l'accesso per gli utenti che desiderano o devono effettuare l'autenticazione tramite metodi quali:
+ Security Assertion Markup Language (SAML)
+ Autenticazione a più fattori (MFA)
+ Federazione
+ Login with Amazon
+ Amazon Cognito
+ Facebook
+ Google
+ Provider di identità compatibile con OpenID Connect (OIDC)

**Nota**  
Le seguenti informazioni si applicano solo all'uso **git-remote-codecommit** o all'helper delle AWS CLI credenziali per la connessione ai repository. CodeCommit Poiché l'approccio consigliato per l'accesso temporaneo o federato CodeCommit è l'impostazione**git-remote-codecommit**, questo argomento fornisce esempi di utilizzo di tale utilità. Per ulteriori informazioni, consulta [Passaggi di configurazione per le connessioni HTTPS a AWS CodeCommit con git-remote-codecommit](setting-up-git-remote-codecommit.md).   
Non è possibile utilizzare credenziali SSH o Git e HTTPS per connettersi ai CodeCommit repository con credenziali di accesso rotanti o temporanee. 

Non è necessario completare queste fasi se sono soddisfatti tutti i seguenti requisiti:
+ Hai effettuato l'accesso a un'istanza Amazon EC2.
+ Stai utilizzando Git e HTTPS con l'helper delle AWS CLI credenziali per connetterti dall'istanza Amazon EC2 ai repository. CodeCommit 
+ L'istanza Amazon EC2 ha un profilo di istanza IAM collegato che contiene le autorizzazioni di accesso descritte in o. [Per connessioni HTTPS su Linux, macOS o Unix con l'helper delle credenziali AWS CLI ](setting-up-https-unixes.md) [Per le connessioni HTTPS su Windows con l'helper per le credenziali AWS CLI ](setting-up-https-windows.md)
+ Hai installato e configurato l'helper per le credenziali Git sull'istanza Amazon EC2, come descritto in o. [Per connessioni HTTPS su Linux, macOS o Unix con l'helper delle credenziali AWS CLI ](setting-up-https-unixes.md) [Per le connessioni HTTPS su Windows con l'helper per le credenziali AWS CLI ](setting-up-https-windows.md)

Le istanze Amazon EC2 che soddisfano i requisiti precedenti sono già configurate per comunicare credenziali di accesso temporanee per tuo conto. CodeCommit 

**Nota**  
Puoi configurare e utilizzare **git-remote-codecommit** su istanze Amazon EC2.

Per consentire agli utenti l'accesso temporaneo ai tuoi CodeCommit repository, completa i seguenti passaggi.



## Fase 1: completamento dei prerequisiti
<a name="temporary-access-prerequisites"></a>

Completa i passaggi di configurazione per fornire a un utente l'accesso ai tuoi CodeCommit repository utilizzando credenziali rotanti: 
+ Per l'accesso su più account, consulta [Procedura dettagliata: delega dell'accesso tra account Amazon Web Services utilizzando](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-walkthrough-crossacct.html) ruoli IAM e. [Configura l'accesso tra account a un AWS CodeCommit repository utilizzando i ruoli](cross-account.md)
+ [Per SAML e federazione, consulta [Utilizzo del sistema di autenticazione dell'organizzazione per concedere l'accesso alle AWS risorse](https://docs.aws.amazon.com/STS/latest/UsingSTS/STSUseCases.html#IdentityBrokerApplication) e Informazioni sulla federazione basata su SAML 2.0. AWS STS](https://docs.aws.amazon.com/STS/latest/UsingSTS/CreatingSAML.html)
+ Per l'MFA, consulta [Utilizzo di dispositivi Multi-Factor Authentication (MFA) AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_ManagingMFA.html) con [e creazione di credenziali di sicurezza temporanee](https://docs.aws.amazon.com/STS/latest/UsingSTS/CreatingSessionTokens.html) per abilitare l'accesso per gli utenti IAM.
+ [Per Login with Amazon, Amazon Cognito, Facebook, Google o qualsiasi provider di identità compatibile con OIDC, consulta Informazioni su Web Identity Federation. AWS STS](https://docs.aws.amazon.com/STS/latest/UsingSTS/web-identity-federation.html)

Utilizza le informazioni in [Autenticazione e controllo degli accessi per AWS CodeCommit](auth-and-access-control.md) per specificare le CodeCommit autorizzazioni che desideri concedere all'utente.

## Fase 2: Ottenere il nome del ruolo o le credenziali di accesso
<a name="temporary-access-get-credentials"></a>

Se desideri che gli utenti accedano ai repository assumendo un ruolo, fornisci agli utenti l'Amazon Resource Name (ARN) del ruolo. In caso contrario, a seconda del modo in cui hai configurato l'accesso, l'utente può ottenere la rotazione delle credenziali in uno dei seguenti modi:
+ Per l'accesso su più account, chiama il comando AWS CLI [assume-role](https://docs.aws.amazon.com/cli/latest/reference/sts/assume-role.html) o chiama l'API. AWS STS [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)
+ [Per SAML, chiama il AWS CLI[assume-role-with-saml](https://docs.aws.amazon.com/cli/latest/reference/sts/assume-role-with-saml.html)comando o l'API SAML. AWS STS AssumeRoleWith](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithSAML.html)
+ Per la federazione, chiama AWS CLI [assume-role](https://docs.aws.amazon.com/cli/latest/reference/sts/assume-role.html) o commands o o [get-federation-token](https://docs.aws.amazon.com/cli/latest/reference/sts/get-federation-token.html). AWS STS [AssumeRole[GetFederationToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetFederationToken.html)](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) APIs
+ Per l'MFA, chiama il AWS CLI [get-session-token](https://docs.aws.amazon.com/cli/latest/reference/sts/get-session-token.html)comando o l' AWS STS [GetSessionToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetSessionToken.html)API.
+ Per Login with Amazon, Amazon Cognito, Facebook, Google o qualsiasi provider di identità compatibile con OIDC, chiama il comando AWS CLI [assume-role-with-web-identity](https://docs.aws.amazon.com/cli/latest/reference/sts/assume-role-with-web-identity.html) o l'API. AWS STS [AssumeRoleWithWebIdentity](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html)



## Passaggio 3: installa e configura git-remote-codecommit AWS CLI
<a name="temporary-access-configure-credentials"></a>

È necessario configurare il computer locale per utilizzare le credenziali di accesso installando [https://pypi.org/project/git-remote-codecommit/](https://pypi.org/project/git-remote-codecommit/) e configurando un profilo nell' AWS CLI.

1. Segui le istruzioni in [Configurazione ](setting-up.md) per configurare la AWS CLI. Utilizza il comando **aws configure** per configurare uno o più profili. Prendi in considerazione la creazione di un profilo denominato da utilizzare quando ti connetti ai CodeCommit repository utilizzando credenziali rotanti.

1. È possibile associare le credenziali al profilo AWS CLI denominato dell'utente in uno dei seguenti modi. 
   + Se stai assumendo un ruolo per accedere CodeCommit, configura un profilo denominato con le informazioni necessarie per assumere quel ruolo. Ad esempio, se desideri assumere un ruolo denominato *CodeCommitAccess* nell'account Amazon Web Services 1111, puoi configurare un profilo predefinito da utilizzare quando lavori con altre AWS risorse e un profilo denominato da utilizzare quando assumi quel ruolo. I seguenti comandi creano un profilo denominato *CodeAccess* che assume un ruolo denominato. *CodeCommitAccess* Il nome utente *Maria\$1Garcia* è associato alla sessione e il profilo predefinito è impostato come origine delle relative AWS credenziali:

     ```
     aws configure set role_arn arn:aws:iam::111111111111:role/CodeCommitAccess --profile CodeAccess
     aws configure set source_profile default --profile CodeAccess
     aws configure set role_session_name "Maria_Garcia" --profile CodeAccess
     ```

     Per verificare le modifiche, visualizza o modifica manualmente il file `~/.aws/config` (per Linux) o il file `%UserProfile%.aws\config` (per Windows) e rivedi le informazioni sotto il profilo con nome. Il file ad esempio potrebbe essere simile al seguente.

     ```
     [default]
     region = us-east-1
     output = json
     
     [profile CodeAccess]
     source_profile = default
     role_session_name = Maria_Garcia
     role_arn = arn:aws:iam::111111111111:role/CodeCommitAccess
     ```

      Dopo aver configurato il profilo con nome, è possibile clonare i repository CodeCommit con l'utilità **git-remote-codecommit** utilizzando il profilo con nome. Ad esempio, per clonare un repository con nome *MyDemoRepo*: 

     ```
     git clone codecommit://CodeAccess@MyDemoRepo
     ```
   + Se utilizzi la federazione delle identità web e OpenID Connect (OIDC), configura un profilo denominato che effettui la chiamata `AssumeRoleWithWebIdentity` API AWS Security Token Service (AWS STS) per tuo conto per aggiornare le credenziali temporanee. Utilizzate il **aws configure set** comando o modificate manualmente il `~/.aws/credentials` file (per Linux) o il `%UserProfile%.aws\credentials` file (per Windows) per aggiungere un profilo AWS CLI denominato con i valori di impostazione richiesti. Ad esempio, per creare un profilo che assuma il *CodeCommitAccess* ruolo e utilizzi un file di token di identità Web *my-credentials* */my-token-file* \$1/:

     ```
     [CodeCommitWebIdentity]
     role_arn = arn:aws:iam::111111111111:role/CodeCommitAccess
     web_identity_token_file=~/my-credentials/my-token-file
     role_session_name = Maria_Garcia
     ```

   *Per ulteriori informazioni, consulta [Configurazione AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html) e [utilizzo di un ruolo IAM nella Guida per l' AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-role.html)utente.AWS Command Line Interface *

## Fase 4: Accedere ai repository CodeCommit
<a name="temporary-access-use-credentials"></a>

Supponendo che l'utente abbia seguito le istruzioni per connettersi [Connessione a un repository](how-to-connect.md) ai CodeCommit repository, l'utente utilizza quindi le funzionalità estese fornite da e **git-remote-codecommit** Git per chiamare **git clone** e **git pull** clonare, inviare ed estrarre i CodeCommit repository a cui ha accesso. **git push** Ad esempio, per clonare un repository:

```
git clone codecommit://CodeAccess@MyDemoRepo
```

I comandi Git commit, push e pull utilizzano la sintassi Git regolare. 

Quando l'utente utilizza AWS CLI e specifica il profilo AWS CLI denominato associato alle credenziali di accesso rotanti, vengono restituiti i risultati relativi a quel profilo.

