Überblick über die Verwaltung der Zugriffsberechtigungen für Ihre Ressourcen AWS CodeBuild - 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 der Zugriffsberechtigungen für Ihre Ressourcen AWS CodeBuild

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 Berechtigungsrichtlinien an IAM-Identitäten (Benutzer, Gruppen und Rollen) anfügen.

Anmerkung

Ein Kontoadministrator (oder Administratorbenutzer) ist ein Benutzer mit Administratorrechten. Weitere Informationen finden Sie unter Bewährte Methoden für IAM im IAM-Benutzerhandbuch.

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

In AWS CodeBuild ist die primäre Ressource ein Build-Projekt. In einer Richtlinie identifizieren Sie die Ressource, für welche die Richtlinie gilt, mithilfe eines Amazon-Ressourcennamens (ARN). Builds sind ebenfalls Ressourcen und haben einen zugeordneten ARN. Weitere Informationen finden Sie unter Amazon Resource Names (ARN) und AWS Service Namespaces in der. Allgemeine Amazon Web Services-Referenz

Ressourcentyp ARN-Format
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 Ressourcen CodeBuild

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 in ARNs. CodeBuild Verwendet jedoch eine exakte Übereinstimmung in den Ressourcenmustern und Regeln. Verwenden Sie also die richtigen Zeichen zum Erstellen von Ereignismustern, sodass sie mit der ARN-Syntax in der Ressource übereinstimmen.

Sie können in Ihrer Anweisung beispielsweise ein bestimmtes Build-Projekt (myBuildProject) mit seinem ARN wie folgt angeben:

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

Wenn Sie alle Ressourcen angeben möchten oder wenn eine API-Aktion keine ARNs unterstützt, 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 die ARNs mit Komma, wie folgt:

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

CodeBuild bietet eine Reihe von Operationen für die Arbeit mit den CodeBuild Ressourcen. 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 Root-Konto, 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

Dieser Abschnitt beschäftigt sich mit der Verwendung von IAM in AWS CodeBuild. Er enthält keine detaillierten Informationen über den IAM-Service. Eine umfassende IAM-Dokumentation finden Sie unter Was ist IAM? im IAM-Benutzerhandbuch. Für Informationen über die Syntax und Beschreibungen von AWS -IAM-Richtlinien lesen Sie die IAM-Richtlinienreferenz im IAM-Benutzerhandbuch.

An eine IAM-Identität angefügte Richtlinien werden als identitätsbasierte Richtlinien (oder IAM-Richtlinien) bezeichnet. Mit einer Ressource verknüpfte Richtlinien werden als ressourcenbasierte Richtlinien bezeichnet. CodeBuild unterstützt identitätsbasierte Richtlinien und ressourcenbasierte Richtlinien für bestimmte schreibgeschützte APIs zum Zwecke der kontenübergreifenden gemeinsamen Nutzung von Ressourcen.

Sicherer Zugriff auf S3-Buckets

Wir empfehlen dringend, dass Sie die folgenden Berechtigungen in Ihre IAM-Rolle aufnehmen, 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 in Ihrer IAM-Rolle aktualisieren. Weitere Informationen finden Sie unter Hinzufügen von CodeBuild Zugriffsberechtigungen zu einer IAM-Gruppe oder einem IAM-Benutzer und Erstellen Sie eine CodeBuild Servicerolle.

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 Aktionen, die Sie in einer Richtlinie angeben können, um Berechtigungen für diese API-Operationen zu gewähren. Einige API-Operationen erfordern möglicherweise Berechtigungen für mehr als eine Aktion, um die API-Operation auszuführen. Weitere Informationen finden 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, für welche die Richtlinie gilt, zu identifizieren.

  • 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 (IAM-Richtlinien) 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 Syntax und zu Beschreibungen von IAM-Richtlinien finden Sie in der AWS -IAM-Richtlinienreferenz im IAM-Benutzerhandbuch.

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