Kontoübergreifender Zugriff auf das Repository: Aktionen für den Administrator in AccountA - AWS CodeCommit

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 eine Richtlinie in Konto A erstellen, die Zugriff auf das Repository in Konto B 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 Policies aus.

  4. Wählen Sie Richtlinie erstellen aus.

  5. Wählen Sie die Registerkarte JSON aus und kopieren Sie das folgende JSON-Richtliniendokument in das JSON-Textfeld. Ersetzen Sie us-east-2 durch das AWS-Region für das Repository, 111122223333 durch die Konto-ID für AccountA und MySharedDemoRepodurch den Namen für Ihr Repository in AccountA: CodeCommit

    { "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, die wie folgt lautet:

    { "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 optional auch eine Beschreibung für die Richtlinie eingeben. Wählen Sie 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 aus.

  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 (z. B. 888888888888). Wählen Sie Weiter: Berechtigungen aus.

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

  6. Geben Sie im Feld Rollenname einen Namen für die Rolle ein (z. B. MyCrossAccountRepositoryContributorRole). Sie können optional auch eine Beschreibung eingeben, um anderen den Zweck dieser Rolle mitzuteilen.

  7. Wählen Sie Rolle erstellen aus.

  8. Öffnen Sie die Rolle, die Sie gerade erstellt haben, und kopieren Sie den ARN der Rolle (z. B. arn:aws:iam::111122223333:role/MyCrossAccountRepositoryContributorRole). Sie müssen diesen ARN dem Administrator von Konto B mitteilen.