Connessione aiAWS CodeCommit repository con credenziali rotanti - AWS CodeCommit

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 aiAWS CodeCommit repository con credenziali rotanti

Puoi consentire agli utenti di accedere ai tuoiAWS CodeCommit repository senza configurare gli utenti IAM per loro o utilizzare una chiave di accesso e una chiave segreta. Per assegnare le autorizzazioni a una identità federata, puoi creare un ruolo e definire 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 Creazione di un ruolo per un provider di identità di terza parte nella Guida per l'utente IAM. Se utilizzi IAM Identity Center, configura una serie 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, consultare Set di autorizzazioni nella Guida per l'utente AWS IAM Identity Center. Puoi anche configurare l'accesso basato sui ruoli per consentire agli utenti IAM di accedere aiCodeCommit 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.

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 sono valide solo per l'utilizzo di git-remote-codecommit o dell'dell'assistente credenziali AWS CLI per la connessione ai repository CodeCommit. Poiché l'approccio consigliato per l'accesso temporaneo o federato a CodeCommit è quello di impostare git-remote-codecommit, in questo argomento vengono forniti esempi che utilizzano tale utilità. Per ulteriori informazioni, consulta Passaggi di configurazione per le connessioni HTTPS aAWS CodeCommitcongit-remote-codecommit.

Non puoi utilizzare le credenziali SSH o Git e HTTPS per la connessione a repository CodeCommit con credenziali di accesso temporaneo.

Non è necessario completare queste fasi se sono soddisfatti tutti i seguenti requisiti:

Le istanze Amazon EC2 che soddisfano i requisiti precedenti sono già configurate per comunicare le credenziali di accesso temporaneeCodeCommit a tuo nome.

Nota

È possibile configurare e utilizzaregit-remote-codecommit su istanze di Amazon EC2.

Per consentire agli utenti un accesso temporaneo al repository CodeCommit, completa le seguenti fasi.

Fase 1: completamento dei prerequisiti

Completa le fasi di configurazione per fornire a un utente l'accesso tempo ai repository CodeCommit utilizzando la rotazione delle credenziali:

Utilizza le informazioni contenute in Autenticazione e controllo degli accessi per AWS CodeCommit per specificare le autorizzazioni CodeCommit che desideri concedere all'utente.

Passaggio 2: recupero del nome del ruolo o delle credenziali di accesso

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:

Fase 3: Installaregit-remote-codecommit e configurareAWS CLI

È necessario configurare il computer locale per utilizzare le credenziali di accesso installando git-remote-codecommit e configurando un profilo nell'AWS CLI.

  1. Segui le istruzioni in Impostazione per configurare la AWS CLI. Utilizza il comando aws configure per configurare uno o più profili. Considera la possibilità di creare un profilo con nome da utilizzare quando ti connetti ai repository CodeCommit utilizzando la rotazione delle credenziali.

  2. Puoi associare le credenziali con il profilo con nome AWS CLI dell'utente in uno dei seguenti modi.

    • Se assumi un ruolo per accedere a CodeCommit, configura un profilo con nome con le informazioni necessarie per assumere il ruolo. Ad esempio, se desideri assumere un ruolo denominato CodeCommitAccessnell'account Amazon Web Services 111111111111, puoi configurare un profilo predefinito da utilizzare quando lavori con altreAWS risorse e un profilo denominato da utilizzare quando assumi quel ruolo. I comandi seguenti creano un profilo denominato CodeAccessche assume un ruolo denominato CodeCommitAccess. Il nome utente Maria_Garcia è associato alla sessione e il profilo predefinito è impostato come origine delle sueAWS 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 con nome che effettua la chiamata API AssumeRoleWithWebIdentity AWS Security Token Service (AWS STS) per tuo conto per aggiornare le credenziali temporanee. Utilizza il comando aws configure set o modifica manualmente il file ~/.aws/credentials (per Linux) o il file %UserProfile%.aws\credentials (per Windows) per aggiungere un profilo con nome AWS CLI con i valori di impostazione richiesti. Ad esempio, per creare un profilo che assuma il CodeCommitAccessruolo e utilizzi un file di token di identità web ~/ my-credentials/my-token-file:

      [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 ConfigurazioneAWS Command Line Interface e utilizzo di un ruolo IAMAWS CLI nella Guida per l'AWS Command Line Interfaceutente.

Fase 4: Accedere aiCodeCommit repository

Presumendo che abbia seguito le istruzioni in Connessione a un repository per la connessione ai repository CodeCommit, l'utente utilizzerà la funzionalità estesa fornita da git-remote-codecommit Git per richiamare git clone, git push e git pull per clonare ed eseguire il push e il pull dei repository CodeCommit a cui ha accesso temporaneo. Ad esempio, per clonare un repository:

git clone codecommit://CodeAccess@MyDemoRepo

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

Se l'utente utilizza la AWS CLI e specifica il profilo denominato AWS CLI associato alla rotazione delle credenziali di accesso, verranno restituiti i risultati nell'ambito di quel profilo.