Kontoübergreifender Zugriff auf das Repository: Aktionen für den Administrator in AccountA - 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 Zugriff auf das Repository: Aktionen für den Administrator in AccountA

Um Benutzern oder Gruppen in Konto B den Zugriff auf ein Repository in Konto A zu erlauben, muss der Administrator von Konto A folgende Schritte ausführen:

  • Erstellen einer Richtlinie in Konto A, die Zugriff auf das Repository gewährt

  • Erstellen Sie eine Rolle in AccountA, die von IAM Benutzern und Gruppen in AccountB übernommen werden kann.

  • Fügen Sie der Rolle die -Richtlinie an.

In den folgenden Abschnitten werden die Schritte dazu mit Beispielen beschrieben.

Schritt 1: Erstellen Sie eine Richtlinie für den Repository-Zugriff in AccountA

Sie können in AccountA eine Richtlinie erstellen, die Benutzern in KontoB Zugriff auf das Repository in AccountA gewährt. Abhängig von der Zugriffsebene, die Sie zulassen möchten, führen Sie einen der folgenden Schritte aus:

  • Konfigurieren Sie die Richtlinie so, dass Benutzern in Konto B Zugriff auf ein bestimmtes Repository gewährt wird. Erlauben Sie ihnen aber nicht, eine Liste aller Repositorys in Konto A anzuzeigen.

  • Konfigurieren Sie zusätzlichen Zugriff, um Benutzern in Konto B die Auswahl des Repositorys aus einer Liste aller Repositorys in Konto A zu erlauben.

So erstellen Sie eine Richtlinie für den Repository-Zugriff
  1. Melden Sie sich bei der AWS Management Console als IAM Benutzer mit Berechtigungen zum Erstellen von Richtlinien in AccountA an.

  2. Öffnen Sie die IAM Konsole unter. https://console.aws.amazon.com/iam/

  3. Wählen Sie im Navigationsbereich Richtlinien.

  4. Wählen Sie Create Policy (Richtlinie erstellen) aus.

  5. Wählen Sie die JSONRegisterkarte und fügen Sie das folgende JSON Richtliniendokument in das JSON Textfeld ein. Ersetzen us-east-2 mit dem AWS-Region für das Repository, 111122223333 mit der Konto-ID für AccountA und MySharedDemoRepo mit dem Namen für dein CodeCommit Repository in AccountA:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codecommit:BatchGet*", "codecommit:Create*", "codecommit:DeleteBranch", "codecommit:Get*", "codecommit:List*", "codecommit:Describe*", "codecommit:Put*", "codecommit:Post*", "codecommit:Merge*", "codecommit:Test*", "codecommit:Update*", "codecommit:GitPull", "codecommit:GitPush" ], "Resource": [ "arn:aws:codecommit:us-east-2:111122223333:MySharedDemoRepo" ] } ] }

    Wenn Sie möchten, dass Benutzer, die diese Rolle übernehmen, eine Liste von Repositorys auf der CodeCommit Konsolen-Startseite einsehen können, fügen Sie der Richtlinie eine zusätzliche Erklärung hinzu, und zwar wie folgt:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codecommit:BatchGet*", "codecommit:Create*", "codecommit:DeleteBranch", "codecommit:Get*", "codecommit:List*", "codecommit:Describe*", "codecommit:Put*", "codecommit:Post*", "codecommit:Merge*", "codecommit:Test*", "codecommit:Update*", "codecommit:GitPull", "codecommit:GitPush" ], "Resource": [ "arn:aws:codecommit:us-east-2:111122223333:MySharedDemoRepo" ] }, { "Effect": "Allow", "Action": "codecommit:ListRepositories", "Resource": "*" } ] }

    Dieser Zugriff macht es für Benutzer, die diese Rolle übernehmen, mit dieser Richtlinie einfacher, das Repository zu finden, auf das sie Zugriff haben. Sie können den Namen des Repositorys aus der Liste auswählen und gelangen dann auf die Startseite des freigegebenen Repositorys (Code). Die Benutzer können nicht auf andere in der Liste angezeigten Repositorys zugreifen, sie können aber die Repositorys in Konto A auf der Seite Dashboard anzeigen.

    Wenn Sie nicht möchten, dass Benutzer, die diese Rolle übernehmen, eine Liste aller Repositorys in AccountA einsehen können, verwenden Sie das erste Richtlinienbeispiel, stellen Sie jedoch sicher, dass Sie diesen Benutzern einen direkten Link zur Startseite des gemeinsam genutzten Repositorys in der CodeCommit Konsole senden.

  6. Wählen Sie Richtlinie prüfen. Der Richtlinienvalidator meldet Syntaxfehler (wenn Sie beispielsweise vergessen, die Amazon Web Services Services-Konto-ID und den Repository-Namen durch Ihre Amazon Web Services Services-Konto-ID und Ihren Repository-Namen zu ersetzen).

  7. Geben Sie auf der Seite „Richtlinie überprüfen“ einen Namen für die Richtlinie ein (z. B. CrossAccountAccessForMySharedDemoRepo). Sie können auch eine optionale Beschreibung für diese Richtlinie angeben. Wählen Sie Create Policy (Richtlinie erstellen) aus.

Schritt 2: Erstellen Sie eine Rolle für den Repository-Zugriff in AccountA

Nachdem Sie eine Richtlinie konfiguriert haben, erstellen Sie eine Rolle, die IAM Benutzer und Gruppen in AccountB annehmen können, und fügen Sie die Richtlinie dieser Rolle hinzu.

So erstellen Sie eine Rolle für den Repository-Zugriff
  1. Wählen Sie in der IAM-Konsole Roles (Rollen) aus.

  2. Wählen Sie Rolle erstellen.

  3. Wählen Sie ein anderes Amazon Web Services Services-Konto.

  4. Geben Sie unter Konto-ID die Amazon Web Services Services-Konto-ID für AccountB ein (zum Beispiel 888888888888). Wählen Sie Weiter: Berechtigungen.

  5. Wählen Sie unter Berechtigungsrichtlinien anhängen die Richtlinie aus, die Sie im vorherigen Verfahren erstellt haben (CrossAccountAccessForMySharedDemoRepo). Wählen Sie Weiter: Überprüfen.

  6. Geben Sie im Feld Rollenname einen Namen für die Rolle ein (z. B. MyCrossAccountRepositoryContributorRole). Sie können auch eine optionale Beschreibung eingeben, damit andere den Zweck der Rolle besser verstehen.

  7. Wählen Sie Rolle erstellen.

  8. Öffnen Sie die Rolle, die Sie gerade erstellt haben, und kopieren Sie die Rolle ARN (z. B.arn:aws:iam::111122223333:role/MyCrossAccountRepositoryContributorRole). Sie müssen dies dem AccountB-Administrator ARN zur Verfügung stellen.