Accesso all'archivio tra account: azioni per l'utente del repository in AccountB - AWS CodeCommit

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

Accesso all'archivio tra account: azioni per l'utente del repository in AccountB

Per accedere al repository nell'AccountA, gli utenti del gruppo AccountB devono configurare i loro computer locali per l'accesso al repository. Le sezioni che seguono illustrano i passaggi e gli esempi.

Fase 1: Configurare AWS CLI e Git per consentire a un utente AccountB di accedere al repository in AccountA

Non è possibile utilizzare SSH chiavi o credenziali Git per accedere ai repository in un altro account Amazon Web Services. Gli utenti AccountB devono configurare i propri computer per utilizzare git-remote-codecommit (consigliato) o l'helper delle credenziali per accedere all'archivio CodeCommit condiviso in AccountA. Tuttavia, puoi continuare a utilizzare SSH chiavi o credenziali Git quando accedi ai repository in AccountB.

Attieniti alla seguente procedura per configurare l'accesso utilizzando git-remote-codecommit. Se non l'hai già installatogit-remote-codecommit, scaricalo dal sito Web git-remote-codecommitPython Package Index.

Per configurare AWS CLI e Git per l'accesso tra account diversi
  1. Installa il AWS CLI sul computer locale. Consulta le istruzioni per il tuo sistema operativo nella sezione relativa all'installazione di AWS CLI.

  2. Installare Git sul computer locale. Per installare Git, ti suggeriamo siti Web quali Git Downloads o Git for Windows.

    Nota

    CodeCommit supporta le versioni Git 1.7.9 e successive. La versione Git 2.28 supporta la configurazione del nome del ramo per i commit iniziali. Si consiglia di utilizzare una versione recente di Git. Git è una piattaforma in evoluzione e regolarmente aggiornata. Occasionalmente, una modifica delle funzionalità potrebbe influire sul modo in cui funziona. CodeCommit Se riscontri problemi con una versione specifica di Git and CodeCommit, consulta le informazioni inRisoluzione dei problemi.

  3. Dal terminale o dalla riga di comando, nella posizione della directory dove si desidera clonare il repository, eseguire i comandi git config --local user.name e git config --local user.email per impostare il nome utente e la e-mail dei commit che si vuole apportare al repository. Per esempio:

    git config --local user.name "Saanvi Sarkar" git config --local user.email saanvi_sarkar@example.com

    Questi comandi non restituiscono nulla, ma l'e-mail e il nome utente che hai specificato saranno associati ai commit apportati al repository nell'AccountA.

  4. Eseguire il comando aws configure --profile per configurare un profilo di default da utilizzare durante la connessione alle risorse nell'AccountB. Quando richiesto, fornisci la chiave di accesso e la chiave segreta per il tuo IAM utente.

    Nota

    Se hai già installato AWS CLI e configurato un profilo, puoi saltare questo passaggio.

    Ad esempio, esegui il comando seguente per creare un AWS CLI profilo predefinito da utilizzare per accedere alle AWS risorse in AccountB negli Stati Uniti orientali (Ohio) (us-east-2):

    aws configure

    Quando viene richiesto, fornire le seguenti informazioni:

    AWS Access Key ID [None]: Your-IAM-User-Access-Key AWS Secret Access Key ID [None]: Your-IAM-User-Secret-Access-Key Default region name ID [None]: us-east-2 Default output format [None]: json
  5. Eseguire di nuovo il comando aws configure --profile per configurare un profilo con nome da utilizzare durante la connessione al repository nell'AccountA. Quando richiesto, fornisci la chiave di accesso e la chiave segreta per l'utente. IAM Ad esempio, esegui il comando seguente per creare un AWS CLI profilo denominato MyCrossAccountAccessProfile che usi per accedere a un repository in AccounTa negli Stati Uniti orientali (Ohio) (us-east-2):

    aws configure --profile MyCrossAccountAccessProfile

    Quando viene richiesto, fornire le seguenti informazioni:

    AWS Access Key ID [None]: Your-IAM-User-Access-Key AWS Secret Access Key ID [None]: Your-IAM-User-Secret-Access-Key Default region name ID [None]: us-east-2 Default output format [None]: json
  6. In un editor di testo semplice, aprire il file config, anche chiamato file di configurazione di AWS CLI . A seconda del sistema operativo in uso, questo file potrebbe trovarsi ~/.aws/config in Linux, macOS o Unix oppure in drive:\ Utenti\USERNAME\ .aws\ config su Windows.

  7. Nel file, trovare la voce corrispondente al profilo predefinito configurato per l'accesso ai repository nell'AccountB. La schermata visualizzata dovrebbe risultare simile a quella nell'immagine seguente:

    [default] region = us-east-2 output = json

    Aggiungere account alla configurazione del profilo. Fornisci l'ID AWS account di AccountB. Per esempio:

    [default] account = 888888888888 region = us-east-2 output = json
  8. Nel file, trova la voce che corrisponde alla MyCrossAccountAccessProfile profilo che hai appena creato. La schermata visualizzata dovrebbe risultare simile a quella nell'immagine seguente:

    [profile MyCrossAccountAccessProfile] region = us-east-2 output = json

    Aggiungere account, role_arn e source_profile alla configurazione del profilo. Fornisci l'ID dell'account Amazon Web Services di AccountA, il ARN ruolo in AccountA che assumi per accedere al repository nell'altro account e il nome del tuo profilo predefinito in AccountB. AWS CLI Per esempio:

    [profile MyCrossAccountAccessProfile] region = us-east-2 account = 111122223333 role_arn = arn:aws:iam::111122223333:role/MyCrossAccountRepositoryContributorRole source_profile = default output = json

    Salvare le modifiche e chiudere l'editor di testo normale.

Fase 2: Clona e accedi al CodeCommit repository in AccounTa

Esegui e git pull clonalo git clonegit push, esegui il push e recupera dal repository tra account diversi. CodeCommit Puoi anche accedere alla console di AWS gestione, cambiare ruolo e utilizzare la CodeCommit console per interagire con l'archivio dell'altro account.

Nota

A seconda di come è stato configurato il IAM ruolo, potresti essere in grado di visualizzare gli archivi nella pagina predefinita di. CodeCommit Se non riesci a visualizzare i repository, chiedi all'amministratore del repository di inviarti via email un URL link alla pagina codici relativa all'archivio condiviso nella console. CodeCommit URLÈ simile al seguente:

https://console.aws.amazon.com/codecommit/home?region=us-east-2#/repository/MySharedDemoRepo/browse/HEAD/--/
Per clonare il repository multiaccount sul computer locale
  1. Nella riga di comando o nel terminale, nella directory in cui desideri clonare il repository, esegui il git clone comando con il clone HTTPS (GRC). URL Per esempio:

    git clone codecommit://MyCrossAccountAccessProfile@MySharedDemoRepo

    Salvo diversa indicazione, il repository viene clonato in una sottodirectory con lo stesso nome del repository.

  2. Modificare le directory nel repository clonato e aggiungere o apportare una modifica a un file. Ad esempio, potete aggiungere un file denominato NewFile.txt.

  3. Aggiungi il file alle modifiche tracciate per il repository locale, esegui il commit della modifica e invia il file al repository. CodeCommit Per esempio:

    git add NewFile.txt git commit -m "Added a file to test cross-account access to this repository" git push

    Per ulteriori informazioni, consulta Guida introduttiva a Git e AWS CodeCommit.

Ora che hai aggiunto un file, vai alla CodeCommit console per visualizzare il tuo commit, rivedere le modifiche degli altri utenti al repository, partecipare alle pull request e altro ancora.

Per accedere all'archivio tra account nella console CodeCommit
  1. Accedi all'account AccountB ( AWS Management Console 888888888888) come IAM utente a cui è stato concesso l'accesso tra account diversi al repository in AccounTa.

  2. Scegliere un nome utente nella barra di navigazione e nell'elenco a discesa scegliere Switch Role (Cambia ruolo).

    Nota

    Se è la prima volta che questa opzione viene selezionata, rivedere le informazioni nella pagina, quindi scegliere nuovamente Switch Role (Cambia ruolo).

  3. Nella pagina Switch Role (Cambia ruolo), procedere come segue:

    • In Account, inserisci l'ID account per AccountA (ad esempio, 111122223333).

    • In Ruolo, inserisci il nome del ruolo che desideri assumere per l'accesso al repository in AccountA (ad esempio, MyCrossAccountRepositoryContributorRole).

    • In Display Name (Nome di visualizzazione), immettere un nome descrittivo del ruolo. Questo nome viene visualizzato nella console quando si assume il ruolo. Viene inoltre visualizzato nell'elenco dei ruoli assunti la prossima volta che si desidera cambiare ruoli nella console.

    • (Opzionale) In Color (Colore), scegliere un'etichetta colorata per il nome di visualizzazione.

    • Seleziona Switch Role (Cambia ruolo).

    Per ulteriori informazioni, consulta Passare a un ruolo (AWS Management Console).

  4. Apri la CodeCommit console su codecommit/homehttps://console.aws.amazon.com/codesuite/.

    Se il ruolo assunto dispone dell'autorizzazione per visualizzare i nomi dei repository nell'AccountA, comparirà un elenco dei repository e un messaggio di errore che informa delle mancate autorizzazioni a visualizzarne lo stato. Questo è il comportamento previsto. Scegliere dall'elenco il nome del repository condiviso.

    Se il ruolo assunto non dispone dell'autorizzazione per visualizzare i nomi dei repository nell'AccountA, comparirà un messaggio di errore e un elenco vuoto senza repository. Incolla il URL link nel repository o modifica il link alla console e cambia il nome del repository condiviso (/listad esempio,). /MySharedDemoRepo

  5. In Code (Codice), trovare il nome del file aggiunto dal computer locale. Selezionare il nome per trovare il codice nel file, quindi esplorare il resto del repository e iniziare a utilizzarne le funzionalità.

    Per ulteriori informazioni, consulta Guida introduttiva con AWS CodeCommit.