Kontoübergreifender Repository-Zugriff: Aktionen für den Repository-Benutzer in AccountB - AWS CodeCommit

AWS CodeCommit ist für Neukunden nicht mehr verfügbar. Bestandskunden von AWS CodeCommit können den Service weiterhin wie gewohnt nutzen. Erfahren Sie mehr“

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Kontoübergreifender Repository-Zugriff: Aktionen für den Repository-Benutzer in AccountB

Um auf das Repository in Konto A zugreifen zu können, müssen die Benutzer in der Gruppe von Konto B ihre lokalen Computer für den Repository-Zugriff konfigurieren. In den folgenden Abschnitten werden die Schritte dazu mit Beispielen beschrieben.

Schritt 1: Konfiguration von AWS CLI und Git für einen AccountB-Benutzer, um auf das Repository in AccountA zuzugreifen

Sie können SSH Schlüssel oder Git-Anmeldeinformationen nicht verwenden, um auf Repositorys in einem anderen Amazon Web Services Services-Konto zuzugreifen. AccountB-Benutzer müssen ihre Computer so konfigurieren, dass sie entweder git-remote-codecommit (empfohlen) oder den Credential Helper verwenden, um auf das gemeinsame CodeCommit Repository in AccountA zuzugreifen. Sie können jedoch weiterhin SSH Schlüssel oder Git-Anmeldeinformationen verwenden, wenn Sie auf Repositorys in AccountB zugreifen.

Gehen Sie folgendermaßen vor, um den Zugriff mithilfe von git-remote-codecommit zu konfigurieren. Falls Sie es noch nicht installiert habengit-remote-codecommit, laden Sie es von git-remote-codecommitder Python Package Index-Website herunter.

Um Git AWS CLI und Git für den kontoübergreifenden Zugriff zu konfigurieren
  1. Installieren Sie das AWS CLI auf dem lokalen Computer. Anleitungen für Ihr Betriebssystem finden Sie unter Installieren der AWS CLI.

  2. Installieren Sie Git auf dem lokalen Computer. Für die Installation von Git empfehlen wir Websites wie Git Downloads oder Git for Windows.

    Anmerkung

    CodeCommit unterstützt Git-Versionen 1.7.9 und höher. Git Version 2.28 unterstützt die Konfiguration des Branchnamens für anfängliche Commits. Wir empfehlen die Verwendung einer aktuellen Version von Git. Git ist eine sich entwickelnde, regelmäßig aktualisierte Plattform. Gelegentlich kann sich eine Änderung der Funktionen auf die Art und Weise auswirken, mit der es funktioniert CodeCommit. Wenn du Probleme mit einer bestimmten Version von Git und hast CodeCommit, sieh dir die Informationen unter anFehlerbehebung.

  3. Führen Sie am Terminal oder über die Befehlszeile an dem Speicherort, an dem Sie das Repository klonen möchten, die Befehle git config --local user.name und git config --local user.email aus, um den Benutzernamen und die E-Mail-Adresse für die Commits für das Repository anzugeben. Beispielsweise:

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

    Diese Befehle geben nichts zurück. Die E-Mail-Adresse und der Benutzername, die Sie angeben, werden aber mit den Commits verknüpft, die Sie für das Repository in Konto A vornehmen.

  4. Führen Sie den Befehl aws configure --profile aus, um ein Standardprofil für das Herstellen einer Verbindung zu Ressourcen in Konto B zu konfigurieren. Wenn Sie dazu aufgefordert werden, geben Sie den Zugriffsschlüssel und den geheimen Schlüssel für Ihren IAM Benutzer ein.

    Anmerkung

    Wenn Sie das Profil bereits installiert AWS CLI und konfiguriert haben, können Sie diesen Schritt überspringen.

    Führen Sie beispielsweise den folgenden Befehl aus, um ein AWS CLI Standardprofil zu erstellen, das Sie für den Zugriff auf AWS Ressourcen in AccountB in US East (Ohio) (us-east-2) verwenden:

    aws configure

    Wenn Sie dazu aufgefordert werden, geben Sie die folgenden Informationen an:

    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. Führen Sie den Befehl aws configure --profile erneut aus, um ein Profil zu konfigurieren, das für die Verbindung mit dem Repository in Konto A verwendet werden soll. Wenn Sie dazu aufgefordert werden, geben Sie den Zugriffsschlüssel und den geheimen Schlüssel für Ihren Benutzer ein. IAM Führen Sie beispielsweise den folgenden Befehl aus, um ein AWS CLI Profil mit dem Namen zu erstellen MyCrossAccountAccessProfile das Sie für den Zugriff auf ein Repository in AccountA in US East (Ohio) (us-east-2) verwenden:

    aws configure --profile MyCrossAccountAccessProfile

    Wenn Sie dazu aufgefordert werden, geben Sie die folgenden Informationen an:

    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. Öffnen Sie in einem Texteditor die Datei config (die AWS CLI -Konfigurationsdatei). Abhängig von Ihrem Betriebssystem befindet sich diese Datei möglicherweise ~/.aws/config unter Linux, macOS oder Unix oder unter drive:\ Benutzer\USERNAME\ .aws\ config unter Windows.

  7. Suchen Sie in der Datei den Eintrag, der dem Standardprofil entspricht, das Sie für den Zugriff auf Repositorys in Konto B konfiguriert haben. Das sollte bei Ihnen ähnlich wie im folgenden Bild aussehen:

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

    Fügen Sie account der Profilkonfiguration hinzu. Geben Sie die AWS Konto-ID von AccountB an. Beispielsweise:

    [default] account = 888888888888 region = us-east-2 output = json
  8. Suchen Sie in der Datei den Eintrag, der dem entspricht MyCrossAccountAccessProfile Profil, das Sie gerade erstellt haben. Das sollte bei Ihnen ähnlich wie im folgenden Bild aussehen:

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

    Fügen Sie account, role_arn und source_profile der Profilkonfiguration hinzu. Geben Sie die Amazon Web Services Services-Konto-ID von AccountA, die ARN der Rolle in AccountA, von der Sie annehmen, dass sie auf das Repository in dem anderen Konto zugreift, und den Namen Ihres AWS CLI Standardprofils in AccountB an. Beispielsweise:

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

    Speichern Sie Ihre Änderungen und schließen Sie den Texteditor.

Schritt 2: Klonen Sie das CodeCommit Repository in AccountA und greifen Sie darauf zu

Führen Sie git clonegit push, und aus, git pull um das kontenübergreifende CodeCommit Repository zu klonen, zu pushen und Daten daraus abzurufen. Sie können sich auch bei der AWS Management Console anmelden, die Rollen wechseln und die CodeCommit Konsole verwenden, um mit dem Repository in dem anderen Konto zu interagieren.

Anmerkung

Je nachdem, wie die IAM Rolle konfiguriert wurde, können Sie Repositorys möglicherweise auf der Standardseite für CodeCommit anzeigen. Wenn Sie die Repositorys nicht einsehen können, bitten Sie den Repository-Administrator, Ihnen per E-Mail einen URL Link zur Codepage für das gemeinsam genutzte Repository in der CodeCommit Konsole zu senden. Das URL sieht wie folgt aus:

https://console.aws.amazon.com/codecommit/home?region=us-east-2#/repository/MySharedDemoRepo/browse/HEAD/--/
So klonen Sie das kontoübergreifende Repository auf Ihrem lokalen Computer
  1. Führen Sie in der Befehlszeile oder im Terminal in dem Verzeichnis, in dem Sie das Repository klonen möchten, den git clone Befehl mit dem Klon HTTPS (GRC) ausURL. Beispielsweise:

    git clone codecommit://MyCrossAccountAccessProfile@MySharedDemoRepo

    Sofern Sie nichts anderes angeben, wird das Repository in ein Unterverzeichnis mit demselben Namen wie das Repository geklont.

  2. Ändern Sie die Verzeichnisse zum geklonten Repository und fügen Sie eine Datei hinzu oder nehmen Sie eine Änderung an einer Datei vor. Sie können beispielsweise eine Datei mit dem Namen hinzufügen NewFile.txt.

  3. Fügen Sie die Datei zu den verfolgten Änderungen für das lokale Repository hinzu, übertragen Sie die Änderung und übertragen Sie die Datei per Push in das CodeCommit Repository. Beispielsweise:

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

    Weitere Informationen finden Sie unter Erste Schritte mit Git und AWS CodeCommit.

Nachdem du eine Datei hinzugefügt hast, kannst du in der CodeCommit Konsole deinen Commit ansehen, die Änderungen anderer Benutzer am Repo überprüfen, an Pull-Requests teilnehmen und vieles mehr.

So greifen Sie in der Konsole auf das kontoübergreifende Repository zu CodeCommit
  1. Loggen Sie sich AWS Management Console in das AccountB (888888888888) als der IAM Benutzer, dem kontoübergreifender Zugriff auf das Repository in AccountA gewährt wurde.

  2. Wählen Sie in der Navigationsleiste Ihren Benutzernamen aus. Wählen Sie dann in der Dropdown-Liste Rollen wechseln aus.

    Anmerkung

    Wenn Sie diese Option zum ersten Mal auswählen, überprüfen Sie die Informationen auf der Seite und klicken Sie dann erneut auf Rollen wechseln.

  3. Führen Sie auf der Seite Rollen wechseln die folgenden Schritte aus:

    • Geben Sie unter Konto die Konto-ID für AccountA ein (z. B. 111122223333).

    • Geben Sie im Feld Rolle den Namen der Rolle ein, die Sie für den Zugriff auf das Repository in AccountA übernehmen möchten (z. B. MyCrossAccountRepositoryContributorRole).

    • Geben Sie unter Display Name (Anzeigename) einen Anzeigenamen für die Rolle ein. Dieser Name wird in der Konsole angezeigt, wenn Sie diese Rolle übernehmen. Er wird auch in der Liste der angenommenen Rollen angezeigt, wenn Sie in der Konsole das nächste Mal die Rolle wechseln möchten.

    • (Optional) Wählen Sie unter Farbe eine Farbkennzeichnung für den Anzeigenamen aus.

    • Wählen Sie Switch Role.

    Weitere Informationen finden Sie unter Wechseln zu einer Rolle (AWS Management Console).

  4. Öffnen Sie die CodeCommit Konsole unter https://console.aws.amazon.com/codesuite/codecommit/home.

    Wenn die angenommene Rolle berechtigt ist, die Namen von Repositorys in Konto A anzuzeigen, sehen Sie eine Liste der Repositorys sowie eine Fehlermeldung, die Sie darüber informiert, dass Sie keine Berechtigungen zum Anzeigen der zugehörigen Statuswerte haben. Dieses Verhalten wird erwartet. Wählen Sie den Namen des freigegebenen Repositorys aus der Liste aus.

    Wenn die angenommene Rolle nicht berechtigt ist, die Namen von Repositorys in Konto A anzuzeigen, sehen Sie eine Fehlermeldung und eine leere Liste ohne Repositorys. Fügen Sie den URL Link zum Repository ein oder ändern Sie den Konsolen-Link und ändern Sie ihn in /list den Namen des gemeinsam genutzten Repositorys (z. B.). /MySharedDemoRepo

  5. Suchen Sie unter Code den Namen der Datei, die Sie vom lokalen Computer hinzugefügt haben. Wählen Sie die Datei aus und durchsuchen Sie den Code in der Datei. Durchsuchen Sie dann das restliche Repository und beginnen Sie mit der Verwendung der Funktionen.

    Weitere Informationen finden Sie unter Erste Schritte mit AWS CodeCommit.