View a markdown version of this page

Cross-account Repository-Zugriff: 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.

Cross-account Repository-Zugriff: 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 KontoA, die von IAM-Benutzern und -Gruppen in KontoB ü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 KontoA eine Richtlinie erstellen, die Benutzern in KontoB Zugriff auf das Repository in KontoA 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 der Berechtigung zum Erstellen von Richtlinien in KontoA an.

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

  3. Wählen Sie im Navigationsbereich Richtlinien.

  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. us-east-2Ersetzen Sie durch das AWS-Region für das Repository, 111122223333 durch die Konto-ID für AccountA und MySharedDemoRepo durch den Namen für Ihr CodeCommit Repository in AccountA:

    JSON
    { "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 der Repositorys auf der CodeCommit Konsolen-Startseite einsehen können, fügen Sie der Richtlinie eine zusätzliche Anweisung wie folgt hinzu:

    JSON
    { "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 Konsole senden. CodeCommit

  6. Wählen Sie Richtlinie prüfen. Der Richtlinienvalidator meldet Syntaxfehler (z. B. wenn Sie vergessen, die Beispielkonto-ID und den Repository-Namen von Amazon Web Services durch Ihre Amazon Web 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 übernehmen 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-Konto.

  4. Geben Sie im Feld Konto-ID die Amazon Web Services-Konto-ID für KontoB 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.