Überblick über die Verwaltung von Zugriffsberechtigungen für Ihre AWS CodeBuild Ressourcen - AWS CodeBuild

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.

Überblick über die Verwaltung von Zugriffsberechtigungen für Ihre AWS CodeBuild Ressourcen

Jede AWS Ressource gehört einem AWS Konto, und die Berechtigungen zum Erstellen oder Zugreifen auf eine Ressource werden durch Berechtigungsrichtlinien geregelt. Ein Kontoadministrator kann IAM Identitäten (d. h. Benutzern, Gruppen und Rollen) Berechtigungsrichtlinien zuordnen.

Anmerkung

Ein Kontoadministrator (oder Administratorbenutzer) ist ein Benutzer mit Administratorrechten. Weitere Informationen finden Sie im IAMBenutzerhandbuch unter IAMBewährte Methoden.

Beim Erteilen von Berechtigungen entscheiden Sie, wer die Berechtigungen erhält, für welche Ressourcen diese gelten und welche Aktionen an diesen Ressourcen gestattet werden sollen.

AWS CodeBuild Ressourcen und Abläufe

AWS CodeBuild In ist die primäre Ressource ein Build-Projekt. In einer Richtlinie verwenden Sie einen Amazon-Ressourcennamen (ARN), um die Ressource zu identifizieren, für die die Richtlinie gilt. Builds sind ebenfalls Ressourcen und wurden mit ihnen ARNs verknüpft. Weitere Informationen finden Sie unter Amazon Resource Names (ARN) und AWS Service Namespaces in der. Allgemeine Amazon Web Services-Referenz

Ressourcentyp ARNformatieren
Build-Projekt

arn:aws:codebuild:region-ID:account-ID:project/project-name

Entwicklung

arn:aws:codebuild:region-ID:account-ID:build/build-ID

Berichtsgruppe arn:aws:codebuild:region-ID:account-ID:report-group/report-group-name
Bericht arn:aws:codebuild:region-ID:account-ID:report/report-ID
Flotte

arn:aws:codebuild:region-ID:account-ID:fleet/fleet-ID

Alle CodeBuild Ressourcen

arn:aws:codebuild:*

Alle CodeBuild Ressourcen, die dem angegebenen Konto in der angegebenen AWS Region gehören

arn:aws:codebuild:region-ID:account-ID:*

Wichtig

Wenn Sie die Funktion für reservierte Kapazität verwenden, können andere Projekte innerhalb desselben Kontos auf Daten zugreifen, die auf Flotteninstanzen zwischengespeichert sind, einschließlich Quelldateien, Docker-Layern und zwischengespeicherten Verzeichnissen, die in der Buildspec angegeben sind. Dies ist beabsichtigt und ermöglicht es Projekten innerhalb desselben Kontos, Flotteninstanzen gemeinsam zu nutzen.

Anmerkung

Die meisten AWS Dienste behandeln einen Doppelpunkt (:) oder einen Schrägstrich (/) als dasselbe Zeichen inARNs. CodeBuild Verwendet jedoch eine exakte Übereinstimmung in den Ressourcenmustern und Regeln. Achten Sie darauf, dass Sie beim Erstellen von Ereignismustern die richtigen Zeichen verwenden, damit sie der ARN Syntax in der Ressource entsprechen.

Sie können beispielsweise ein bestimmtes Build-Projekt angeben (myBuildProject) in Ihrer Aussage, indem Sie es ARN wie folgt verwenden:

"Resource": "arn:aws:codebuild:us-east-2:123456789012:project/myBuildProject"

Um alle Ressourcen anzugeben, oder falls eine API Aktion dies nicht unterstütztARNs, verwenden Sie das Platzhalterzeichen (*) im Resource Element wie folgt:

"Resource": "*"

Einige CodeBuild API Aktionen akzeptieren mehrere Ressourcen (z. B.BatchGetProjects). Um mehrere Ressourcen in einer einzigen Anweisung anzugeben, trennen Sie sie wie folgt ARNs durch Kommas:

"Resource": [ "arn:aws:codebuild:us-east-2:123456789012:project/myBuildProject", "arn:aws:codebuild:us-east-2:123456789012:project/myOtherBuildProject" ]

CodeBuild stellt eine Reihe von Operationen für die Arbeit mit den CodeBuild Ressourcen bereit. Eine Liste finden Sie hier: AWS CodeBuild Referenz zu Berechtigungen.

Grundlegendes zum Eigentum an Ressourcen

Das AWS Konto besitzt die Ressourcen, die im Konto erstellt wurden, unabhängig davon, wer die Ressourcen erstellt hat. Insbesondere ist der Ressourcenbesitzer das AWS Konto der Prinzipalentität (d. h. das Stammkonto, ein Benutzer oder eine IAM Rolle), das die Anfrage zur Ressourcenerstellung authentifiziert. Die Funktionsweise wird anhand der folgenden Beispiele deutlich:

  • Wenn Sie die Root-Kontoanmeldeinformationen Ihres AWS Kontos verwenden, um eine Regel zu erstellen, ist Ihr AWS Konto der Eigentümer der CodeBuild Ressource.

  • Wenn Sie in Ihrem AWS Konto einen Benutzer erstellen und diesem Benutzer Berechtigungen zum Erstellen von CodeBuild Ressourcen gewähren, kann der Benutzer CodeBuild Ressourcen erstellen. Ihr AWS Konto, zu dem der Benutzer gehört, besitzt jedoch die CodeBuild Ressourcen.

  • Wenn Sie in Ihrem AWS Konto eine IAM Rolle mit Berechtigungen zum Erstellen von CodeBuild Ressourcen erstellen, kann jeder, der die Rolle übernehmen kann, CodeBuild Ressourcen erstellen. Ihr AWS Konto, zu dem die Rolle gehört, besitzt die CodeBuild Ressourcen.

Verwalten des Zugriffs auf Ressourcen

Eine Berechtigungsrichtlinie beschreibt, wer Zugriff auf welche Ressourcen hat.

Anmerkung

In diesem Abschnitt wird die Verwendung von IAM in beschrieben AWS CodeBuild. Es enthält keine detaillierten Informationen über den IAM Dienst. Eine vollständige IAM Dokumentation finden Sie unter Was istIAM? im IAMBenutzerhandbuch. Informationen zur IAM Richtliniensyntax und zu Beschreibungen finden Sie unter AWS IAMPolicy Reference im IAMBenutzerhandbuch.

Mit einer IAM Identität verknüpfte Richtlinien werden als identitätsbasierte Richtlinien (IAMRichtlinien) bezeichnet. Mit einer Ressource verknüpfte Richtlinien werden als ressourcenbasierte Richtlinien bezeichnet. CodeBuild unterstützt identitätsbasierte Richtlinien und ressourcenbasierte Richtlinien für bestimmte APIs Lesezugriffe zum Zwecke der kontenübergreifenden gemeinsamen Nutzung von Ressourcen.

Sicherer Zugriff auf S3-Buckets

Wir empfehlen Ihnen dringend, die folgenden Berechtigungen in Ihre IAM Rolle aufzunehmen, um sicherzustellen, dass der mit Ihrem CodeBuild Projekt verknüpfte S3-Bucket Ihnen oder einer Person gehört, der Sie vertrauen. Diese Berechtigungen sind nicht in AWS verwalteten Richtlinien und Rollen enthalten. Sie müssen sie selbst hinzufügen.

  • s3:GetBucketAcl

  • s3:GetBucketLocation

Wenn sich der Besitzer eines von Ihrem Projekt verwendeten S3-Buckets ändert, müssen Sie überprüfen, ob Sie weiterhin Eigentümer des Buckets sind, und andernfalls die Berechtigungen für Ihre IAM Rolle aktualisieren. Weitere Informationen erhalten Sie unter Erlaubt Benutzern die Interaktion mit CodeBuild und Erlaube CodeBuild die Interaktion mit anderen AWS Diensten.

Festlegen der Richtlinienelemente: Aktionen, Effekte und Prinzipale

Für jede AWS CodeBuild Ressource definiert der Service eine Reihe von API Vorgängen. CodeBuild Definiert eine Reihe von API Aktionen, die Sie in einer Richtlinie angeben können, um Berechtigungen für diese Operationen zu gewähren. Bei einigen API Vorgängen können Berechtigungen für mehr als eine Aktion erforderlich sein, um den API Vorgang auszuführen. Weitere Informationen erhalten Sie unter AWS CodeBuild Ressourcen und Abläufe und AWS CodeBuild Referenz zu Berechtigungen.

Grundlegende Richtlinienelemente:

  • Ressource — Sie verwenden einen Amazon-Ressourcennamen (ARN), um die Ressource zu identifizieren, für die die Richtlinie gilt.

  • Aktion — Sie verwenden Aktionsschlüsselwörter, um Ressourcenoperationen zu identifizieren, die Sie zulassen oder verweigern möchten. Die codebuild:CreateProject-Berechtigung erteilt dem Benutzer zum Beispiel Berechtigungen zum Ausführen der CreateProject-Operation.

  • Wirkung — Sie geben den Effekt an, entweder zulassen oder verweigern, wenn der Benutzer die Aktion anfordert. Wenn Sie den Zugriff auf eine Ressource nicht ausdrücklich gestatten („Allow“), wird er automatisch verweigert. Sie können den Zugriff auf eine Ressource auch explizit verweigern. So können Sie zum Beispiel sicherstellen, dass Benutzer nicht auf eine Ressource zugreifen können, auch wenn der Zugriff durch eine andere Richtlinie gestattet wird.

  • Principal — In identitätsbasierten Richtlinien (IAMRichtlinien) ist der Benutzer, an den die Richtlinie angehängt ist, der implizite Prinzipal. In ressourcenbasierten Richtlinien müssen Sie den Benutzer, das Konto, den Service oder die sonstige Entität angeben, die die Berechtigungen erhalten soll.

Weitere Informationen zur IAM Richtliniensyntax und zu deren Beschreibung finden Sie unter AWS IAMRichtlinien-Referenz im IAM Benutzerhandbuch.

Eine Tabelle mit allen CodeBuild API Aktionen und den Ressourcen, für die sie gelten, finden Sie unterAWS CodeBuild Referenz zu Berechtigungen.