AWS CodeCommit non è più disponibile per i nuovi clienti. I clienti esistenti di AWS CodeCommit possono continuare a utilizzare il servizio normalmente. Scopri di più»
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
Puoi consentire agli utenti di accedere ai tuoi AWS CodeCommit repository senza configurare IAM gli utenti per loro o utilizzare una chiave di accesso e una chiave segreta. Per assegnare le autorizzazioni a un'identità federata, è necessario 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 informazioni sui ruoli per la federazione, consulta Creare un ruolo per un provider di identità di terze parti (federazione) nella Guida per l'utente. IAM Se utilizzi IAM Identity Center, configuri un set di autorizzazioni. Per controllare a cosa possono accedere le identità dopo l'autenticazione, IAM Identity Center correla il set di autorizzazioni a un ruolo in. IAM Per informazioni sui set di autorizzazioni, consulta Set di autorizzazioni nella Guida per l'utente di AWS IAM Identity Center . Puoi anche configurare l'accesso basato sui ruoli per consentire IAM agli utenti 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.
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'impostazionegit-remote-codecommit, questo argomento fornisce esempi di utilizzo di tale utilità. Per ulteriori informazioni, consulta Passaggi di configurazione per HTTPS le connessioni AWS CodeCommit a git-remote-codecommit.
Non è possibile utilizzare SSH o credenziali Git e connettersi HTTPS ai CodeCommit repository con credenziali di accesso temporanee o rotanti.
Non è necessario completare queste fasi se sono soddisfatti tutti i seguenti requisiti:
-
Hai effettuato l'accesso a un'EC2istanza Amazon.
-
Stai usando Git e HTTPS con l'helper delle AWS CLI credenziali per connetterti dall'EC2istanza Amazon ai CodeCommit repository.
-
L'EC2istanza Amazon ha un profilo di IAM istanza allegato che contiene le autorizzazioni di accesso descritte in Per connessioni HTTPS su Linux, macOS o Unix conAWS CLIaiutante per le credenziali oPer le connessioni HTTPS su Windows conAWS CLIaiutante per le credenziali.
-
Hai installato e configurato l'helper per le credenziali Git sull'EC2istanza Amazon, come descritto in Per connessioni HTTPS su Linux, macOS o Unix conAWS CLIaiutante per le credenziali o. Per le connessioni HTTPS su Windows conAWS CLIaiutante per le credenziali
EC2Le istanze Amazon che soddisfano i requisiti precedenti sono già configurate per comunicare credenziali di accesso temporanee CodeCommit a tuo nome.
Nota
Puoi configurare e utilizzare git-remote-codecommit su EC2 istanze Amazon.
Per consentire agli utenti l'accesso temporaneo ai tuoi CodeCommit repository, completa i seguenti passaggi.
Fase 1: completamento dei prerequisiti
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 ruoli e. IAM Configura l'accesso tra account a un AWS CodeCommit repository utilizzando i ruoli
-
Per la SAML federazione, consulta Utilizzo del sistema di autenticazione dell'organizzazione per concedere l'accesso alle AWS risorse e Informazioni sulla federazione basata su 2.0. AWS STS SAML
-
PerMFA, consulta Utilizzo di dispositivi di autenticazione a più fattori (MFA) con AWS e creazione di credenziali di sicurezza temporanee per consentire l'accesso agli utenti. IAM
-
Per Login with Amazon, Amazon Cognito, Facebook, Google o qualsiasi provider di identità OIDC compatibile, consulta Informazioni su AWS STS Web Identity Federation.
Utilizza le informazioni in Autenticazione e controllo degli accessi per AWS CodeCommit per specificare le CodeCommit autorizzazioni che desideri concedere all'utente.
Fase 2: Ottenere il nome del ruolo o le credenziali di accesso
Se desideri che i tuoi utenti accedano ai repository assumendo un ruolo, fornisci ai tuoi utenti l'Amazon Resource Name (ARN) di quel 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 accedere a più account, chiama il comando AWS CLI assume-role o chiama il. AWS STS AssumeRoleAPI
-
PerchéSAML, chiama il comando o il. AWS CLI assume-role-with-saml AWS STSAssumeRoleWithSAMLAPI
-
Per la federazione, chiama AWS CLI assume-role o get-federation-tokencommands o o. AWS STS AssumeRoleGetFederationTokenAPIs
-
PerchéMFA, chiama il AWS CLI get-session-tokencomando o il. AWS STS GetSessionTokenAPI
-
Per Login with Amazon, Amazon Cognito, Facebook, Google o qualsiasi provider di identità OIDC compatibile, chiama il comando AWS CLI assume-role-with-web-identity o il. AWS STS AssumeRoleWithWebIdentityAPI
Passaggio 3: installa git-remote-codecommit e configura AWS CLI
È necessario configurare il computer locale per utilizzare le credenziali di accesso installando git-remote-codecommit
-
Segui le istruzioni in Configurazione 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.
-
È 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 vuoi 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 denominatoCodeAccess
che presuppone un ruolo denominatoCodeCommitAccess
Il nome utente.Maria_Garcia
è associato alla sessione e il profilo predefinito è impostato come origine delle sue AWS credenziali:aws configure set role_arn arn:aws:iam::111111111111:role/
CodeCommitAccess
--profileCodeAccess
aws configure set source_profile default --profileCodeAccess
aws configure set role_session_name "Maria_Garcia
" --profileCodeAccess
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 denominato, è possibile clonare i CodeCommit repository con l'git-remote-codecommitutilità utilizzando il profilo denominato. Ad esempio, per clonare un repository denominato
MyDemoRepo
:git clone codecommit://
CodeAccess
@MyDemoRepo
-
Se utilizzi la federazione delle identità web e OpenID Connect (OIDC), configura un profilo denominato che effettui la
AssumeRoleWithWebIdentity
API chiamata 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 presuppongaCodeCommitAccess
ruolo e utilizza 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=~/
role_session_name = Maria_Garciamy-credentials
/my-token-file
Per ulteriori informazioni, vedere Configurazione AWS Command Line Interface e utilizzo di un IAM ruolo nella Guida per l'AWS Command Line Interface utente. AWS CLI
-
Fase 4: Accedere ai repository CodeCommit
Supponendo che l'utente abbia seguito le istruzioni per connettersi Connessione a un repository 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.