

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.

# Identitäts- und Zugriffsmanagement in AWS CodeBuild
<a name="auth-and-access-control"></a>

Für den Zugriff auf AWS CodeBuild sind Anmeldeinformationen erforderlich. Diese Anmeldeinformationen müssen über Berechtigungen für den Zugriff auf AWS Ressourcen verfügen, z. B. zum Speichern und Abrufen von Build-Artefakten in S3-Buckets und zum Anzeigen von CloudWatch Amazon-Logs für Builds. In den folgenden Abschnitten wird beschrieben, wie Sie [AWS Identity and Access Management](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html)(IAM) verwenden und wie Sie CodeBuild den Zugriff auf Ihre Ressourcen sichern können:

# Überblick über die Verwaltung der Zugriffsberechtigungen für Ihre Ressourcen AWS CodeBuild
<a name="auth-and-access-control-iam-access-control-identity-based"></a>

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](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) 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.

**Topics**
+ [AWS CodeBuild Ressourcen und Abläufe](#arn-formats)
+ [Grundlegendes zum Eigentum an Ressourcen](#understanding-resource-ownership)
+ [Verwaltung des Zugriffs auf -Ressourcen](#managing-access-resources)
+ [Festlegen der Richtlinienelemente: Aktionen, Effekte und Prinzipale](#actions-effects-principals)

## AWS CodeBuild Ressourcen und Abläufe
<a name="arn-formats"></a>

 AWS CodeBuild In 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 wurden mit ihnen ARNs verknüpft. Weitere Informationen finden Sie unter [Amazon Resource Names (ARN) und AWS Service Namespaces](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) 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 beispielsweise in Ihrer Anweisung ein bestimmtes Build-Projekt (*myBuildProject*) angeben, indem Sie seinen 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ützt ARNs, verwenden Sie das Platzhalterzeichen (\$1) 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](auth-and-access-control-permissions-reference.md).

## Grundlegendes zum Eigentum an Ressourcen
<a name="understanding-resource-ownership"></a>

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](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) (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.

## Verwaltung des Zugriffs auf -Ressourcen
<a name="managing-access-resources"></a>

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?](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) im *IAM-Benutzerhandbuch*. Für Informationen über die Syntax und Beschreibungen von [AWS -IAM-Richtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html) 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 APIs Lesezugriffe zum Zwecke der kontenübergreifenden gemeinsamen Nutzung von Ressourcen.

### Sicherer Zugriff auf S3-Buckets
<a name="secure-s3-buckets"></a>

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 erhalten Sie unter [Erlaubt Benutzern die Interaktion mit CodeBuild](setting-up-service-permissions-group.md) und [Erlauben CodeBuild Sie die Interaktion mit anderen Diensten AWS](setting-up-service-role.md). 

## Festlegen der Richtlinienelemente: Aktionen, Effekte und Prinzipale
<a name="actions-effects-principals"></a>

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 erhalten Sie unter [AWS CodeBuild Ressourcen und Abläufe](#arn-formats) und [AWS CodeBuild Referenz zu Berechtigungen](auth-and-access-control-permissions-reference.md).

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](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html) 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](auth-and-access-control-permissions-reference.md)

# Verwendung identitätsbasierter Richtlinien für AWS CodeBuild
<a name="auth-and-access-control-iam-identity-based-access-control"></a>

Dieses Thema enthält Beispiele zu identitätsbasierten Richtlinien, die verdeutlichen, wie ein Kontoadministrator IAM-Identitäten (d. h. Benutzern, Gruppen und Rollen) Berechtigungsrichtlinien zuweisen und somit Berechtigungen zur Durchführung von Operationen für AWS CodeBuild -Ressourcen erteilen kann.

**Wichtig**  
Wir empfehlen Ihnen, zunächst die einführenden Themen zu lesen, in denen die grundlegenden Konzepte und Optionen für die Verwaltung des Zugriffs auf Ihre Ressourcen erläutert werden. CodeBuild Weitere Informationen finden Sie unter [Überblick über die Verwaltung der Zugriffsberechtigungen für Ihre Ressourcen AWS CodeBuild](auth-and-access-control-iam-access-control-identity-based.md).

**Topics**
+ [Für die Verwendung der AWS CodeBuild Konsole sind Berechtigungen erforderlich](#console-permissions)
+ [Erforderliche Berechtigungen für AWS CodeBuild die Verbindung mit Amazon Elastic Container Registry](#ecr-policies)
+ [Für die AWS CodeBuild Konsole sind Berechtigungen erforderlich, um eine Verbindung zu Quellanbietern herzustellen](#console-policies)
+ [AWS verwaltete (vordefinierte) Richtlinien für AWS CodeBuild](#managed-policies)
+ [CodeBuild verwaltete Richtlinien und Benachrichtigungen](#notifications-permissions)
+ [CodeBuild Aktualisierungen AWS verwalteter Richtlinien](#security-iam-awsmanpol-updates)
+ [Beispiele für vom Kunden verwaltete Richtlinien](#customer-managed-policies)

Nachfolgend sehen Sie ein Beispiel für eine Berechtigungsrichtlinie, die einem Benutzer ermöglicht, Informationen über Build-Projekte nur in der Region `us-east-2` für Konto `123456789012` für alle Build-Projekte, die mit dem Namen `my` beginnen, abzurufen:

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "codebuild:BatchGetProjects",
      "Resource": "arn:aws:codebuild:us-east-2:111122223333:project/my*"
    }
  ]
}
```

------

## Für die Verwendung der AWS CodeBuild Konsole sind Berechtigungen erforderlich
<a name="console-permissions"></a>

Ein Benutzer, der die AWS CodeBuild Konsole verwendet, muss über Mindestberechtigungen verfügen, die es dem Benutzer ermöglichen, andere AWS Ressourcen für das AWS Konto zu beschreiben. Sie benötigen Berechtigungen für die folgenden Services:
+ AWS CodeBuild
+ Amazon CloudWatch
+ CodeCommit (wenn Sie Ihren Quellcode in einem AWS CodeCommit Repository speichern)
+ Amazon Elastic Container Registry (Amazon ECR) (wenn Sie eine Build-Umgebung verwenden, die auf einem Docker-Image in einem Amazon ECR-Repository basiert)
**Anmerkung**  
Am 26. Juli 2022 wurde die Standard-IAM-Richtlinie aktualisiert. Weitere Informationen finden Sie unter [Erforderliche Berechtigungen für AWS CodeBuild die Verbindung mit Amazon Elastic Container Registry](#ecr-policies).
+ Amazon Elastic Container Service (Amazon ECS) (wenn Sie eine Build-Umgebung verwenden, die auf einem Docker-Image in einem Amazon ECR-Repository basiert)
+ AWS Identity and Access Management (IAM)
+ AWS Key Management Service (AWS KMS)
+ Amazon Simple Storage Service (Amazon-S3)

Wenn Sie eine IAM-Richtlinie erstellen, die restriktiver ist als die erforderlichen Mindestberechtigungen, funktioniert die Konsole nicht wie vorgesehen.

## Erforderliche Berechtigungen für AWS CodeBuild die Verbindung mit Amazon Elastic Container Registry
<a name="ecr-policies"></a>

 AWS CodeBuild Hat am 26. Juli 2022 seine Standard-IAM-Richtlinie für die Amazon ECR-Genehmigung aktualisiert. Die folgenden Berechtigungen wurden aus der Standardrichtlinie entfernt:

```
"ecr:PutImage",
"ecr:InitiateLayerUpload",
"ecr:UploadLayerPart",
"ecr:CompleteLayerUpload"
```

Für CodeBuild Projekte, die vor dem 26. Juli 2022 erstellt wurden, empfehlen wir Ihnen, Ihre Richtlinie mit der folgenden Amazon ECR-Richtlinie zu aktualisieren:

```
"Action": [
    "ecr:BatchCheckLayerAvailability",
    "ecr:GetDownloadUrlForLayer",
    "ecr:BatchGetImage"
]
```

Weitere Informationen zur Aktualisierung Ihrer Richtlinie finden Sie unter[Erlaubt Benutzern die Interaktion mit CodeBuild](setting-up-service-permissions-group.md).

## Für die AWS CodeBuild Konsole sind Berechtigungen erforderlich, um eine Verbindung zu Quellanbietern herzustellen
<a name="console-policies"></a>

Die AWS CodeBuild Konsole verwendet die folgenden API-Aktionen, um eine Verbindung zu Quellanbietern (z. B. GitHub Repositorys) herzustellen.
+ `codebuild:ListConnectedOAuthAccounts`
+ `codebuild:ListRepositories`
+ `codebuild:PersistOAuthToken`
+ `codebuild:ImportSourceCredentials`

Mithilfe der Konsole können Sie Quellanbieter (wie GitHub Repositorys) Ihren Build-Projekten zuordnen. AWS CodeBuild Dazu müssen Sie zunächst die oben genannten API-Aktionen zu den IAM-Zugriffsrichtlinien hinzufügen, die dem Benutzer zugeordnet sind, den Sie für den Zugriff auf die AWS CodeBuild Konsole verwenden.

Die API-Aktionen `ListConnectedOAuthAccounts`, `ListRepositories` und `PersistOAuthToken` werden nicht von Ihrem Code aufgerufen. Daher sind diese API-Aktionen nicht im AWS CLI und AWS SDKs enthalten.

## AWS verwaltete (vordefinierte) Richtlinien für AWS CodeBuild
<a name="managed-policies"></a>

AWS adressiert viele gängige Anwendungsfälle durch die Bereitstellung eigenständiger IAM-Richtlinien, die von erstellt und verwaltet werden. AWS Diese AWS verwalteten Richtlinien gewähren die erforderlichen Berechtigungen für allgemeine Anwendungsfälle, sodass Sie nicht erst untersuchen müssen, welche Berechtigungen benötigt werden. Die verwalteten Richtlinien für gewähren CodeBuild auch Berechtigungen zur Ausführung von Vorgängen in anderen Diensten wie IAM AWS CodeCommit, Amazon EC2, Amazon ECR, Amazon SNS und Amazon CloudWatch Events, je nach den Verantwortlichkeiten der Benutzer, denen die betreffende Richtlinie erteilt wurde. Bei der `AWSCodeBuildAdminAccess` Richtlinie handelt es sich beispielsweise um eine Benutzerrichtlinie auf Administrationsebene, die es Benutzern mit dieser Richtlinie ermöglicht, CloudWatch Veranstaltungsregeln für Projekt-Builds und Amazon SNS SNS-Themen für Benachrichtigungen über projektbezogene Ereignisse (Themen, deren Namen mit einem Präfix versehen sind`arn:aws:codebuild:`) zu erstellen und zu verwalten sowie Projekte und Berichtsgruppen in zu verwalten. CodeBuild Weitere Informationen finden Sie unter [AWS -verwaltete Richtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) im *IAM-Benutzerhandbuch*.

Die folgenden AWS verwalteten Richtlinien, die Sie Benutzern in Ihrem Konto zuordnen können, sind spezifisch für. AWS CodeBuild

**AWSCodeBuildAdminAccess**  
Bietet vollen Zugriff, CodeBuild einschließlich der Berechtigungen zur Verwaltung von CodeBuild Build-Projekten. 

**AWSCodeBuildDeveloperAccess**  
Bietet Zugriff auf die Verwaltung von Build-Projekten, erlaubt CodeBuild aber nicht.

**AWSCodeBuildReadOnlyAccess**  
Bietet schreibgeschützten Zugriff auf. CodeBuild

Um auf die erstellten Build-Ausgabeartefakte zuzugreifen, müssen Sie auch die AWS verwaltete Richtlinie mit dem Namen anhängen. CodeBuild `AmazonS3ReadOnlyAccess`

Um CodeBuild Servicerollen zu erstellen und zu verwalten, müssen Sie auch die AWS verwaltete Richtlinie mit dem Namen anhängen`IAMFullAccess`.

Sie können auch Ihre eigenen, benutzerdefinierten IAM-Richtlinien erstellen, um Berechtigungen für CodeBuild-Aktionen und -Ressourcen zu gewähren. Die benutzerdefinierten Richtlinien können Sie dann den -Benutzern oder -Gruppen zuweisen, die diese Berechtigungen benötigen.

**Topics**
+ [AWSCodeBuildAdminAccess](#admin-access-policy)
+ [AWSCodeBuildDeveloperAccess](#developer-access-policy)
+ [AWSCodeBuildReadOnlyAccess](#read-only-access-policy)

### AWSCodeBuildAdminAccess
<a name="admin-access-policy"></a>

Die `AWSCodeBuildAdminAccess` Richtlinie bietet vollen Zugriff auf CodeBuild Build-Projekte CodeBuild, einschließlich der Berechtigungen zur Verwaltung. Wenden Sie diese Richtlinie nur auf Benutzer auf Administratorebene an, um ihnen die volle Kontrolle über CodeBuild Projekte, Berichtsgruppen und zugehörige Ressourcen in Ihrem AWS Konto zu gewähren, einschließlich der Möglichkeit, Projekte und Berichtsgruppen zu löschen.

Die vollständige verwaltete Richtlinie finden Sie [ AWSCodeBuildAdminAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSCodeBuildAdminAccess.html)in der Referenz zu verwalteten IAM-Richtlinien.

### AWSCodeBuildDeveloperAccess
<a name="developer-access-policy"></a>

Die `AWSCodeBuildDeveloperAccess` Richtlinie ermöglicht den Zugriff auf alle Funktionen von CodeBuild Ressourcen im Zusammenhang mit Projekt- und Berichtsgruppen. Diese Richtlinie erlaubt es Benutzern nicht, CodeBuild Projekte oder Berichtsgruppen oder verwandte Ressourcen in anderen AWS Diensten, wie z. B. CloudWatch Ereignisse, zu löschen. Wir empfehlen, dass diese Richtlinie auf die meisten Benutzer anzuwenden.

Die vollständige verwaltete Richtlinie finden Sie [ AWSCodeBuildDeveloperAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSCodeBuildDeveloperAccess.html)in der Referenz zu verwalteten IAM-Richtlinien.

### AWSCodeBuildReadOnlyAccess
<a name="read-only-access-policy"></a>

Die `AWSCodeBuildReadOnlyAccess` Richtlinie gewährt schreibgeschützten Zugriff auf CodeBuild und verwandte Ressourcen in anderen Diensten. AWS Wenden Sie diese Richtlinie auf Benutzer an, die Builds anzeigen und ausführen, Projekte anzeigen und Berichtsgruppen anzeigen können, jedoch keine Änderungen für sie ausführen dürfen. 

Die vollständige verwaltete Richtlinie finden Sie [ AWSCodeBuildReadOnlyAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSCodeBuildReadOnlyAccess.xml)in der Referenz zu verwalteten IAM-Richtlinien.

## CodeBuild verwaltete Richtlinien und Benachrichtigungen
<a name="notifications-permissions"></a>

CodeBuild unterstützt Benachrichtigungen, mit denen Benutzer über wichtige Änderungen an Build-Projekten informiert werden können. Zu den verwalteten Richtlinien CodeBuild gehören auch Richtlinienerklärungen für die Benachrichtigungsfunktion. Weitere Informationen finden Sie unter [Was sind Benachrichtigungen?](https://docs.aws.amazon.com/codestar-notifications/latest/userguide/welcome.html).

### Berechtigungen in Zusammenhang mit Benachrichtigungen in schreibgeschützten verwalteten Richtlinien
<a name="notifications-readonly"></a>

Die verwaltete Richtlinie `AWSCodeBuildReadOnlyAccess` enthält die folgenden Anweisungen, um schreibgeschützten Zugriff auf Benachrichtigungen zu ermöglichen. Benutzer mit dieser verwalteten Richtlinie können Benachrichtigungen für Ressourcen anzeigen, sie können sie jedoch nicht erstellen, verwalten oder abonnieren. 

```
   {
        "Sid": "CodeStarNotificationsPowerUserAccess",
        "Effect": "Allow",
        "Action": [
            "codestar-notifications:DescribeNotificationRule"
        ],
        "Resource": "*",
        "Condition" : {
            "ArnLike" : {"codestar-notifications:NotificationsForResource" : "arn:aws:codebuild:*:*:project/*"}
        }
    },    
    {
        "Sid": "CodeStarNotificationsListAccess",
        "Effect": "Allow",
        "Action": [
            "codestar-notifications:ListNotificationRules",
            "codestar-notifications:ListEventTypes",
            "codestar-notifications:ListTargets"
        ],
        "Resource": "*"
    }
```

### Berechtigungen in Zusammenhang mit Benachrichtigungen in anderen verwalteten Richtlinien
<a name="notifications-otheraccess"></a>

Die verwaltete Richtlinie `AWSCodeBuildDeveloperAccess` enthält die folgenden Anweisungen, mit denen Sie Benutzern erlauben können, Benachrichtigungen zu erstellen, zu bearbeiten und zu abonnieren. Benutzer können Benachrichtigungsregeln nicht löschen und auch keine Tags für Ressourcen verwalten.

```
    {
        "Sid": "CodeStarNotificationsReadWriteAccess",
        "Effect": "Allow",
        "Action": [
            "codestar-notifications:CreateNotificationRule",
            "codestar-notifications:DescribeNotificationRule",
            "codestar-notifications:UpdateNotificationRule",
            "codestar-notifications:Subscribe",
            "codestar-notifications:Unsubscribe"
        ],
        "Resource": "*",
        "Condition" : {
            "ArnLike" : {"codestar-notifications:NotificationsForResource" : "arn:aws:codebuild:*:*:project/*"}
        }
    },    
    {
        "Sid": "CodeStarNotificationsListAccess",
        "Effect": "Allow",
        "Action": [
            "codestar-notifications:ListNotificationRules",
            "codestar-notifications:ListTargets",
            "codestar-notifications:ListTagsforResource",
            "codestar-notifications:ListEventTypes"
        ],
        "Resource": "*"
    },
    {
        "Sid": "SNSTopicListAccess",
        "Effect": "Allow",
        "Action": [
            "sns:ListTopics"
        ],
        "Resource": "*"
    },
    {
        "Sid": "CodeStarNotificationsChatbotAccess",
        "Effect": "Allow",
        "Action": [
            "chatbot:DescribeSlackChannelConfigurations",
            "chatbot:ListMicrosoftTeamsChannelConfigurations"
          ],
       "Resource": "*"
    }
```

Weitere Informationen zu IAM und Benachrichtigungen finden Sie unter [Identity and Access ManagementAWS CodeStarBenachrichtigungen](https://docs.aws.amazon.com/codestar-notifications/latest/userguide/security-iam.html).

## CodeBuild Aktualisierungen AWS verwalteter Richtlinien
<a name="security-iam-awsmanpol-updates"></a>

Hier finden Sie Informationen zu Aktualisierungen AWS verwalteter Richtlinien CodeBuild seit Beginn der Nachverfolgung dieser Änderungen durch diesen Dienst. Abonnieren Sie den RSS-Feed auf, um automatische Benachrichtigungen über Änderungen an dieser Seite zu erhalten[AWS CodeBuild Dokumenthistorie des Benutzerhandbuches](history.md).




| Änderungen | Beschreibung | Date | 
| --- | --- | --- | 
|  `AWSCodeBuildAdminAccess`und `AWSCodeBuildDeveloperAccess` — Aktualisierung vorhandener Richtlinien  |  CodeBuild diesen Richtlinien wurde die `ssmmessages:OpenDataChannel` Berechtigung hinzugefügt, das interaktive Build-Debugging von Session Manager zu unterstützen. Die `AWSCodeBuildDeveloperAccess` Richtlinien `AWSCodeBuildAdminAccess` und enthalten jetzt die `ssmmessages:OpenDataChannel` Aktion für Sitzungsressourcen (`arn:aws:ssm:*:*:session/*`) von Session Manager, um die SigV4-Durchsetzung auf dieser WebSocket API zu unterstützen.  | 1. Dezember 2025 | 
|  `AWSCodeBuildAdminAccess``AWSCodeBuildDeveloperAccess`, und `AWSCodeBuildReadOnlyAccess` — Aktualisierung der bestehenden Richtlinien  |  CodeBuild hat eine Ressource zu diesen Richtlinien aktualisiert. Die `AWSCodeBuildReadOnlyAccess` Richtlinien `AWSCodeBuildAdminAccess``AWSCodeBuildDeveloperAccess`, und wurden geändert, um eine bestehende Ressource zu aktualisieren. Die ursprüngliche Ressource `arn:aws:codebuild:*` wurde auf aktualisiert`arn:aws:codebuild:*:*:project/*`.  | 15. November 2024 | 
|  `AWSCodeBuildAdminAccess`,`AWSCodeBuildDeveloperAccess`, und `AWSCodeBuildReadOnlyAccess` — Aktualisierung vorhandener Richtlinien  |  CodeBuild hat diesen Richtlinien eine Ressource hinzugefügt, um das AWS CodeConnections Rebranding zu unterstützen. Die `AWSCodeBuildReadOnlyAccess` Richtlinien `AWSCodeBuildAdminAccess``AWSCodeBuildDeveloperAccess`, und wurden geändert, um eine Ressource hinzuzufügen,`arn:aws:codeconnections:*:*:*`.  | 18. April 2024 | 
|  `AWSCodeBuildAdminAccess`und `AWSCodeBuildDeveloperAccess` — Aktualisierung der bestehenden Richtlinien  |  CodeBuild hat diesen Richtlinien eine Berechtigung hinzugefügt, um einen zusätzlichen Benachrichtigungstyp mithilfe von Amazon Q Developer in Chat-Anwendungen zu unterstützen. Die `AWSCodeBuildDeveloperAccess` Richtlinien `AWSCodeBuildAdminAccess` und wurden geändert, um eine Berechtigung hinzuzufügen,`chatbot:ListMicrosoftTeamsChannelConfigurations`.  | 16. Mai 2023 | 
|  CodeBuild hat begonnen, Änderungen zu verfolgen  |  CodeBuild hat begonnen, Änderungen für die AWS verwalteten Richtlinien zu verfolgen.  | 16. Mai 2021 | 

## Beispiele für vom Kunden verwaltete Richtlinien
<a name="customer-managed-policies"></a>

In diesem Abschnitt finden Sie Beispiele für Benutzerrichtlinien, die Berechtigungen für diverse AWS CodeBuild -Aktionen erteilen. Diese Richtlinien funktionieren, wenn Sie die CodeBuild API AWS SDKs, oder AWS CLI verwenden. Bei Verwendung der Konsole müssen Sie zusätzliche konsolenspezifische Berechtigungen erteilen. Weitere Informationen finden Sie unter [Für die Verwendung der AWS CodeBuild Konsole sind Berechtigungen erforderlich](#console-permissions).

Sie können die folgenden IAM-Beispielrichtlinien verwenden, um den CodeBuild Zugriff für Ihre Benutzer und Rollen einzuschränken.

**Topics**
+ [Benutzern das Abrufen von Informationen über Build-Projekte ermöglichen](#customer-managed-policies-example-batch-get-projects)
+ [Ermöglicht es einem Benutzer, Informationen über Flotten abzurufen](#customer-managed-policies-get-information-about-fleets)
+ [Benutzern das Abrufen von Informationen über Berichtsgruppen ermöglichen](#customer-managed-policies-get-information-about-report-group)
+ [Benutzern das Abrufen von Informationen über Berichte ermöglichen](#customer-managed-policies-get-information-about-reports)
+ [Benutzern das Erstellen von Build-Projekten ermöglichen](#customer-managed-policies-example-create-project)
+ [Erlaubt einem Benutzer, eine Flotte zu erstellen](#customer-managed-policies-example-create-fleet)
+ [Benutzern das Erstellen einer Berichtsgruppe ermöglichen](#customer-managed-policies-example-create-report-group)
+ [Erlaubt einem Benutzer, eine Flotte zu löschen](#customer-managed-policies-example-delete-fleet)
+ [Benutzern das Löschen einer Berichtsgruppe ermöglichen](#customer-managed-policies-example-delete-report-group)
+ [Benutzern das Löschen eines Berichts ermöglichen](#customer-managed-policies-example-delete-report)
+ [Benutzern das Löschen von Build-Projekten ermöglichen](#customer-managed-policies-example-delete-project)
+ [Benutzern das Abrufen einer Liste mit Build-Projektnamen ermöglichen](#customer-managed-policies-example-list-projects)
+ [Benutzern das Ändern von Informationen über Build-Projekte ermöglichen](#customer-managed-policies-example-update-project)
+ [Erlaubt einem Benutzer, eine Flotte zu ändern](#customer-managed-policies-example-change-fleet)
+ [Benutzern das Ändern einer Berichtsgruppe ermöglichen](#customer-managed-policies-example-change-report-group)
+ [Benutzern das Abrufen von Informationen über Builds ermöglichen](#customer-managed-policies-example-batch-get-builds)
+ [Ermöglicht es einem Benutzer, eine Build-Liste IDs für ein Build-Projekt abzurufen](#customer-managed-policies-example-list-builds-for-project)
+ [Erlaubt einem Benutzer, eine Liste von Builds abzurufen IDs](#customer-managed-policies-example-list-builds)
+ [Erlaubt einem Benutzer, eine Liste von Flotten abzurufen](#customer-managed-policies-example-get-list-of-fleets)
+ [Benutzern das Abrufen einer Liste von Berichtsgruppen ermöglichen](#customer-managed-policies-example-get-list-of-report-groups)
+ [Benutzern das Abrufen einer Liste von Berichten ermöglichen](#customer-managed-policies-example-get-list-of-reports)
+ [Benutzern das Abrufen einer Liste von Berichten für eine Berichtsgruppe ermöglichen](#customer-managed-policies-example-get-list-of-reports-for-report-group)
+ [Benutzern das Abrufen einer Liste von Testfällen für einen Bericht ermöglichen](#customer-managed-policies-example-get-list-of-test-cases-for-report)
+ [Benutzern das Ausführen eines Builds ermöglichen](#customer-managed-policies-example-start-build)
+ [Benutzern das Stoppen von Builds ermöglichen](#customer-managed-policies-example-stop-build)
+ [Benutzern das Löschen von Builds ermöglichen](#customer-managed-policies-example-delete-builds)
+ [Erlaubt einem Benutzer, Informationen über Docker-Images abzurufen, die verwaltet werden von CodeBuild](#customer-managed-policies-example-list-curated-environment-images)
+ [Erlaubt einem Benutzer, eine Berechtigungsrichtlinie für eine Flottenservice-Rolle hinzuzufügen](#customer-managed-policies-example-permission-policy-fleet-service-role)
+ [Erlauben Sie den CodeBuild Zugriff auf AWS Dienste, die für die Erstellung einer VPC-Netzwerkschnittstelle erforderlich sind](#customer-managed-policies-example-create-vpc-network-interface)
+ [Verwenden Sie eine Deny-Anweisung, um zu verhindern, dass die Verbindung zu den Quellanbietern AWS CodeBuild getrennt wird](#customer-managed-policies-example-deny-disconnect)

### Benutzern das Abrufen von Informationen über Build-Projekte ermöglichen
<a name="customer-managed-policies-example-batch-get-projects"></a>

Nachfolgend sehen Sie ein Beispiel für eine Richtlinienanweisung, die einem Benutzer ermöglicht, Informationen über Build-Projekte in der Region `us-east-2` für Konto `123456789012` für alle Build-Projekte, die mit dem Namen `my` beginnen, abzurufen:

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "codebuild:BatchGetProjects",
      "Resource": "arn:aws:codebuild:us-east-2:111122223333:project/my*"      
    }
  ]
}
```

------

### Ermöglicht es einem Benutzer, Informationen über Flotten abzurufen
<a name="customer-managed-policies-get-information-about-fleets"></a>

Das folgende Beispiel für eine Richtlinienanweisung ermöglicht es einem Benutzer, Informationen über Flotten in der `us-east-2` Region auf eigene Rechnung abzurufen: `123456789012`

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "codebuild:BatchGetFleets",
      "Resource": "arn:aws:codebuild:us-east-2:111122223333:fleet/*"
    }
  ]
}
```

------

### Benutzern das Abrufen von Informationen über Berichtsgruppen ermöglichen
<a name="customer-managed-policies-get-information-about-report-group"></a>

Die folgende Beispielrichtlinienanweisung ermöglicht es einem Benutzer, Informationen zu Berichtsgruppen in der `us-east-2`-Region für das Konto `123456789012` abzurufen:

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "codebuild:BatchGetReportGroups",
      "Resource": "arn:aws:codebuild:us-east-2:111122223333:report-group/*"
    }
  ]
}
```

------

### Benutzern das Abrufen von Informationen über Berichte ermöglichen
<a name="customer-managed-policies-get-information-about-reports"></a>

Die folgende Beispielrichtlinienanweisung ermöglicht es einem Benutzer, Informationen zu Berichten in der `us-east-2`-Region für das Konto `123456789012` abzurufen:

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "codebuild:BatchGetReports",
      "Resource": "arn:aws:codebuild:us-east-2:111122223333:report-group/*"
    }
  ]
}
```

------

### Benutzern das Erstellen von Build-Projekten ermöglichen
<a name="customer-managed-policies-example-create-project"></a>

Die folgende Beispiel-Richtlinienanweisung ermöglicht es einem Benutzer, Build-Projekte mit einem beliebigen Namen zu erstellen, jedoch nur in der `us-east-2` Region für das Konto `123456789012` und nur unter Verwendung der angegebenen CodeBuild Servicerolle:

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "codebuild:CreateProject",
      "Resource": "arn:aws:codebuild:us-east-2:111122223333:project/*"
    },
    {
      "Effect": "Allow",
      "Action": "iam:PassRole",
      "Resource": "arn:aws:iam::111122223333:role/CodeBuildServiceRole"
    }
  ]
}
```

------

Die folgende beispielhafte Richtlinienanweisung ermöglicht es einem Benutzer, Build-Projekte mit einem beliebigen Namen zu erstellen, jedoch nur in der `us-east-2` Region für das Konto `123456789012` und nur unter Verwendung der angegebenen CodeBuild Servicerolle. Sie legt außerdem fest, dass der Benutzer die angegebene Servicerolle nur zusammen mit AWS CodeBuild anderen AWS Diensten verwenden kann.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "codebuild:CreateProject",
      "Resource": "arn:aws:codebuild:us-east-2:111122223333:project/*"
    },
    {
      "Effect": "Allow",
      "Action": "iam:PassRole",
      "Resource": "arn:aws:iam::111122223333:role/CodeBuildServiceRole",
      "Condition": {
          "StringEquals": {"iam:PassedToService": "codebuild.amazonaws.com"}
      }
    }
  ]
}
```

------

### Erlaubt einem Benutzer, eine Flotte zu erstellen
<a name="customer-managed-policies-example-create-fleet"></a>

Das folgende Beispiel für eine Richtlinienerklärung ermöglicht es einem Benutzer, eine Flotte in der `us-east-2` Region für ein Konto `123456789012` zu erstellen:

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "codebuild:CreateFleet",
      "Resource": "arn:aws:codebuild:us-east-2:111122223333:fleet/*"
    }
  ]
}
```

------

### Benutzern das Erstellen einer Berichtsgruppe ermöglichen
<a name="customer-managed-policies-example-create-report-group"></a>

Die folgende Beispielrichtlinienanweisung ermöglicht es einem Benutzer, eine Berichtsgruppe in der Region `us-east-2` für das Konto `123456789012` zu erstellen:

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "codebuild:CreateReportGroup",
      "Resource": "arn:aws:codebuild:us-east-2:111122223333:report-group/*"
    }
  ]
}
```

------

### Erlaubt einem Benutzer, eine Flotte zu löschen
<a name="customer-managed-policies-example-delete-fleet"></a>

Das folgende Beispiel für eine Richtlinienerklärung ermöglicht es einem Benutzer, eine Flotte in der `us-east-2` Region für ein Konto `123456789012` zu löschen:

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "codebuild:DeleteFleet",
      "Resource": "arn:aws:codebuild:us-east-2:111122223333:fleet/*"
    }
  ]
}
```

------

### Benutzern das Löschen einer Berichtsgruppe ermöglichen
<a name="customer-managed-policies-example-delete-report-group"></a>

Die folgende Beispielrichtlinienanweisung ermöglicht es einem Benutzer, eine Berichtsgruppe in der `us-east-2`-Region für das Konto `123456789012` zu löschen:

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "codebuild:DeleteReportGroup",
      "Resource": "arn:aws:codebuild:us-east-2:111122223333:report-group/*"
    }
  ]
}
```

------

### Benutzern das Löschen eines Berichts ermöglichen
<a name="customer-managed-policies-example-delete-report"></a>

Die folgende Beispielrichtlinienanweisung ermöglicht es einem Benutzer, einen Bericht in der `us-east-2`-Region für das Konto `123456789012` zu löschen:

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "codebuild:DeleteReport",
      "Resource": "arn:aws:codebuild:us-east-2:111122223333:report-group/*"
    }
  ]
}
```

------

### Benutzern das Löschen von Build-Projekten ermöglichen
<a name="customer-managed-policies-example-delete-project"></a>

Nachfolgend sehen Sie ein Beispiel für eine Richtlinienanweisung, die einem Benutzer ermöglicht, Build-Projekte in der Region `us-east-2` für Konto `123456789012` für alle Build-Projekte, die mit dem Namen `my` beginnen, zu löschen:

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "codebuild:DeleteProject",
      "Resource": "arn:aws:codebuild:us-east-2:111122223333:project/my*"
    }
  ]
}
```

------

### Benutzern das Abrufen einer Liste mit Build-Projektnamen ermöglichen
<a name="customer-managed-policies-example-list-projects"></a>

Nachfolgend sehen Sie ein Beispiel für eine Richtlinienanweisung, die einem Benutzer ermöglicht, eine Liste mit Build-Projektnamen für dasselbe Konto abzurufen:

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "codebuild:ListProjects",
      "Resource": "*"
    }
  ]
}
```

------

### Benutzern das Ändern von Informationen über Build-Projekte ermöglichen
<a name="customer-managed-policies-example-update-project"></a>

Nachfolgend sehen Sie ein Beispiel für eine Richtlinienanweisung, die einem Benutzer ermöglicht, Informationen über Build-Projekte mit einem beliebigen Namen zu ändern, aber nur in der Region `us-east-2` für Konto `123456789012` und nur mit der angegebenen Servicerolle AWS CodeBuild :

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "codebuild:UpdateProject",
      "Resource": "arn:aws:codebuild:us-east-2:111122223333:project/*"
    },
    {
      "Effect": "Allow",
      "Action": "iam:PassRole",
      "Resource": "arn:aws:iam::111122223333:role/CodeBuildServiceRole"
    }
  ]
}
```

------

### Erlaubt einem Benutzer, eine Flotte zu ändern
<a name="customer-managed-policies-example-change-fleet"></a>

Das folgende Beispiel für eine Richtlinienerklärung ermöglicht es einem Benutzer, eine Flotte in der `us-east-2` Region für ein Konto `123456789012` zu ändern:

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "codebuild:UpdateFleet",
      "Resource": "arn:aws:codebuild:us-east-2:111122223333:fleet/*"
    }
  ]
}
```

------

### Benutzern das Ändern einer Berichtsgruppe ermöglichen
<a name="customer-managed-policies-example-change-report-group"></a>

Die folgende Beispielrichtlinienanweisung ermöglicht es einem Benutzer, eine Berichtsgruppe in der `us-east-2`-Region für das Konto `123456789012` zu ändern:

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "codebuild:UpdateReportGroup",
      "Resource": "arn:aws:codebuild:us-east-2:111122223333:report-group/*"
    }
  ]
}
```

------

### Benutzern das Abrufen von Informationen über Builds ermöglichen
<a name="customer-managed-policies-example-batch-get-builds"></a>

Nachfolgend sehen Sie ein Beispiel für eine Richtlinienanweisung, die einem Benutzer ermöglicht, Informationen über Builds in der Region `us-east-2` für Konto `123456789012` für Build-Projekte mit den Namen `my-build-project` und `my-other-build-project` abzurufen:

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "codebuild:BatchGetBuilds",
      "Resource": [
        "arn:aws:codebuild:us-east-2:111122223333:project/my-build-project",
        "arn:aws:codebuild:us-east-2:111122223333:project/my-other-build-project"
      ]
    }
  ]
}
```

------

### Ermöglicht es einem Benutzer, eine Build-Liste IDs für ein Build-Projekt abzurufen
<a name="customer-managed-policies-example-list-builds-for-project"></a>

Das folgende Beispiel einer Richtlinienanweisung ermöglicht es einem Benutzer, eine Liste von Builds IDs in der `us-east-2` Region unter Berücksichtigung `123456789012` der Build-Projekte mit den Namen `my-build-project` und `my-other-build-project` abzurufen:

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "codebuild:ListBuildsForProject",
      "Resource": [
        "arn:aws:codebuild:us-east-2:111122223333:project/my-build-project",
        "arn:aws:codebuild:us-east-2:111122223333:project/my-other-build-project"
      ]
    }
  ]
}
```

------

### Erlaubt einem Benutzer, eine Liste von Builds abzurufen IDs
<a name="customer-managed-policies-example-list-builds"></a>

Die folgende Beispiel-Richtlinienanweisung ermöglicht es einem Benutzer, eine Liste aller Builds IDs für dasselbe Konto abzurufen:

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "codebuild:ListBuilds",
      "Resource": "*"
    }
  ]
}
```

------

### Erlaubt einem Benutzer, eine Liste von Flotten abzurufen
<a name="customer-managed-policies-example-get-list-of-fleets"></a>

Die folgende beispielhafte Richtlinienanweisung ermöglicht es einem Benutzer, eine Liste von Flotten in der `us-east-2` Region für sein Konto abzurufen: `123456789012`

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "codebuild:ListFleets",
      "Resource": "*"
    }
  ]
}
```

------

### Benutzern das Abrufen einer Liste von Berichtsgruppen ermöglichen
<a name="customer-managed-policies-example-get-list-of-report-groups"></a>

Mit der folgenden Beispielrichtlinienanweisung kann ein Benutzer eine Liste der Berichtsgruppen in der `us-east-2`-Region für das Konto `123456789012` abrufen:

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "codebuild:ListReportGroups",
      "Resource": "*"
    }
  ]
}
```

------

### Benutzern das Abrufen einer Liste von Berichten ermöglichen
<a name="customer-managed-policies-example-get-list-of-reports"></a>

Mit der folgenden Beispielrichtlinienanweisung kann ein Benutzer eine Liste von Berichten in der `us-east-2`-Region für das Konto `123456789012` abrufen:

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "codebuild:ListReports",
      "Resource": "*"
    }
  ]
}
```

------

### Benutzern das Abrufen einer Liste von Berichten für eine Berichtsgruppe ermöglichen
<a name="customer-managed-policies-example-get-list-of-reports-for-report-group"></a>

Mit der folgenden Beispielrichtlinienanweisung kann ein Benutzer eine Liste von Berichten für eine Berichtsgruppe in der `us-east-2`-Region für das Konto `123456789012` abrufen:

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "codebuild:ListReportsForReportGroup",
      "Resource": "arn:aws:codebuild:us-east-2:111122223333:report-group/*"
    }
  ]
}
```

------

### Benutzern das Abrufen einer Liste von Testfällen für einen Bericht ermöglichen
<a name="customer-managed-policies-example-get-list-of-test-cases-for-report"></a>

Mit der folgenden Beispielrichtlinienanweisung kann ein Benutzer eine Liste von Testfällen für einen Bericht in der `us-east-2`-Region für das Konto `123456789012` abrufen:

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "codebuild:DescribeTestCases",
      "Resource": "arn:aws:codebuild:us-east-2:111122223333:report-group/*"
    }
  ]
}
```

------

### Benutzern das Ausführen eines Builds ermöglichen
<a name="customer-managed-policies-example-start-build"></a>

Nachfolgend sehen Sie ein Beispiel für eine Richtlinienanweisung, die einem Benutzer ermöglicht, Builds in der Region `us-east-2` für Konto `123456789012` für alle Build-Projekte, die mit dem Namen `my` beginnen, auszuführen:

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "codebuild:StartBuild",
      "Resource": "arn:aws:codebuild:us-east-2:111122223333:project/my*"
    }
  ]
}
```

------

### Benutzern das Stoppen von Builds ermöglichen
<a name="customer-managed-policies-example-stop-build"></a>

Nachfolgend sehen Sie ein Beispiel für eine Richtlinienanweisung, die einem Benutzer ermöglicht, ausgeführte Builds nur in der Region `us-east-2` für Konto `123456789012` für alle Build-Projekte, die mit dem Namen `my` beginnen, zu stoppen:

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "codebuild:StopBuild",
      "Resource": "arn:aws:codebuild:us-east-2:111122223333:project/my*"
    }
  ]
}
```

------

### Benutzern das Löschen von Builds ermöglichen
<a name="customer-managed-policies-example-delete-builds"></a>

Nachfolgend finden Sie ein Beispiel für eine Richtlinienanweisung, die einem Benutzer ermöglicht, Builds nur in der Region `us-east-2` für Konto `123456789012` zu löschen, wenn der Name des Build-Projekts mit `my` beginnt:

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "codebuild:BatchDeleteBuilds",
      "Resource": "arn:aws:codebuild:us-east-2:111122223333:project/my*"
    }
  ]
}
```

------

### Erlaubt einem Benutzer, Informationen über Docker-Images abzurufen, die verwaltet werden von CodeBuild
<a name="customer-managed-policies-example-list-curated-environment-images"></a>

Nachfolgend sehen Sie ein Beispiel für eine &IAM;-Richtlinienanweisung, die einem Benutzer ermöglicht, Informationen über alle Docker-Images abzurufen, die von CodeBuild verwaltet werden:

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "codebuild:ListCuratedEnvironmentImages",
      "Resource": "*"
    }
  ]
}
```

------

### Erlaubt einem Benutzer, eine Berechtigungsrichtlinie für eine Flottenservice-Rolle hinzuzufügen
<a name="customer-managed-policies-example-permission-policy-fleet-service-role"></a>

Das folgende Beispiel für eine Ressourcenrichtlinienanweisung ermöglicht es einem Benutzer, eine VPC-Berechtigungsrichtlinie für eine Flottenservice-Rolle hinzuzufügen:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "CodeBuildFleetVpcCreateNI",
            "Effect": "Allow",
            "Action": [
                "ec2:CreateNetworkInterface"
            ],
            "Resource": [
                "arn:aws:ec2:us-west-2:111122223333:subnet/subnet-id-1",
                "arn:aws:ec2:us-west-2:111122223333:security-group/security-group-id-1",
                "arn:aws:ec2:us-west-2:111122223333:network-interface/*"
            ]
        },
        {
            "Sid": "CodeBuildFleetVpcPermission",
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeDhcpOptions",
                "ec2:DescribeNetworkInterfaces",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeSubnets",
                "ec2:DescribeVpcs",
                "ec2:ModifyNetworkInterfaceAttribute",
                "ec2:DeleteNetworkInterface"
            ],
            "Resource": "*"
        },
        {
            "Sid": "CodeBuildFleetVpcNIPermission",
            "Effect": "Allow",
            "Action": [
                "ec2:CreateNetworkInterfacePermission"
            ],
            "Resource": "arn:aws:ec2:us-west-2:111122223333:network-interface/*",
            "Condition": {
                "StringEquals": {
                    "ec2:Subnet": [
                        "arn:aws:ec2:us-west-2:111122223333:subnet/subnet-id-1"
                    ]
                }
            }
        }
    ]
}
```

------

Das folgende Beispiel für eine Ressourcenrichtlinien-Anweisung ermöglicht es einem Benutzer, eine benutzerdefinierte Amazon Managed Image (AMI) -Berechtigungsrichtlinie für eine Flottenservice-Rolle hinzuzufügen:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "ec2:DescribeImages",
            "Resource": "*"
        } 
    ]
}
```

------

Das folgende Beispiel für eine Vertrauensrichtlinien-Erklärung ermöglicht es einem Benutzer, eine Berechtigungsrichtlinie für eine Flottenservice-Rolle hinzuzufügen:

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "CodeBuildFleetVPCTrustPolicy",
      "Effect": "Allow",
      "Principal": {
        "Service": "codebuild.amazonaws.com"
      },
      "Action": "sts:AssumeRole",
      "Condition": {
        "StringEquals": {
          "aws:SourceAccount": "111122223333"
        }
      }
    }
  ]
}
```

------

### Erlauben Sie den CodeBuild Zugriff auf AWS Dienste, die für die Erstellung einer VPC-Netzwerkschnittstelle erforderlich sind
<a name="customer-managed-policies-example-create-vpc-network-interface"></a>

Die folgende Beispiel-Richtlinienanweisung erteilt die AWS CodeBuild Erlaubnis, eine Netzwerkschnittstelle in einer VPC mit zwei Subnetzen zu erstellen:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ec2:CreateNetworkInterface",
                "ec2:DescribeDhcpOptions",
                "ec2:DescribeNetworkInterfaces",
                "ec2:DeleteNetworkInterface",
                "ec2:DescribeSubnets",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeVpcs"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:CreateNetworkInterfacePermission"
            ],
            "Resource": "arn:aws:ec2:us-west-2:111122223333:network-interface/*",
            "Condition": {
                "StringEquals": {
                    "ec2:AuthorizedService": "codebuild.amazonaws.com"
                },
                "ArnEquals": {
                    "ec2:Subnet": [
                        "arn:aws:ec2:us-west-2:111122223333:subnet/subnet-id-1",
                        "arn:aws:ec2:us-west-2:111122223333:subnet/subnet-id-2"
                    ]
                }
            }
        }
    ]
}
```

------

### Verwenden Sie eine Deny-Anweisung, um zu verhindern, dass die Verbindung zu den Quellanbietern AWS CodeBuild getrennt wird
<a name="customer-managed-policies-example-deny-disconnect"></a>

 Nachfolgend sehen Sie ein Beispiel für eine Richtlinienanweisung, die eine Deny-Anweisung verwendet, um die Trennung zwischen AWS CodeBuild und Quellanbietern zu verhindern. In der Anweisung wird `codebuild:DeleteOAuthToken`, die Umkehrung von `codebuild:PersistOAuthToken` und `codebuild:ImportSourceCredentials`, verwendet, um eine Verbindung zu Quellanbietern herzustellen. Weitere Informationen finden Sie unter [Für die AWS CodeBuild Konsole sind Berechtigungen erforderlich, um eine Verbindung zu Quellanbietern herzustellen](#console-policies). 

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Deny",
      "Action": "codebuild:DeleteOAuthToken",
      "Resource": "*"
    }
  ]
}
```

------

# AWS CodeBuild Referenz zu Berechtigungen
<a name="auth-and-access-control-permissions-reference"></a>

Sie können in Ihren AWS CodeBuild Richtlinien AWS Bedingungsschlüssel für alle Bereiche verwenden, um Bedingungen auszudrücken. Eine Liste finden Sie unter [Verfügbare Schlüssel](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#AvailableKeys) im *IAM-Benutzerhandbuch*.

Sie geben die Aktionen im Feld `Action` der Richtlinie an. Um eine Aktion anzugeben, verwenden Sie das Präfix `codebuild:` gefolgt vom Namen der API-Operation (z. B. `codebuild:CreateProject` und `codebuild:StartBuild`). Um mehrere Aktionen in einer einzigen Anweisung anzugeben, trennen Sie sie mit Komma (z. B. `"Action": [ "codebuild:CreateProject", "codebuild:StartBuild" ]`).

**Verwenden von Platzhalterzeichen**

Sie geben einen ARN mit oder ohne Platzhalterzeichen (\$1) als Ressourcenwert im Feld `Resource` der Richtlinie an. Sie können das Platzhalterzeichen verwenden, um mehrere Aktionen oder Ressourcen anzugeben. `codebuild:*`Gibt beispielsweise alle Aktionen an und `codebuild:Batch*` gibt alle CodeBuild CodeBuild Aktionen an, die mit dem Wort `Batch` beginnen. Im folgenden Beispiel wird der Zugriff auf alle Build-Projekte erteilt, deren Name mit `my` beginnt: 

```
arn:aws:codebuild:us-east-2:123456789012:project/my*
```<a name="actions-related-to-objects-table"></a>CodeBuild API-Operationen und erforderliche Berechtigungen für Aktionen

BatchDeleteBuilds  
 **Aktion:** `codebuild:BatchDeleteBuilds`   
Erforderlich zum Löschen von Builds.  
 **Ressource:** `arn:aws:codebuild:region-ID:account-ID:project/project-name ` 

BatchGetBuilds  
 **Aktion:** `codebuild:BatchGetBuilds`   
Erforderlich, um Informationen über Builds abzurufen.  
 **Ressource:** `arn:aws:codebuild:region-ID:account-ID:project/project-name ` 

BatchGetProjects  
 **Aktion:** `codebuild:BatchGetProjects`   
Erforderlich, um Informationen über Build-Projekte abzurufen.  
 **Ressource:** `arn:aws:codebuild:region-ID:account-ID:project/project-name ` 

BatchGetReportGroups  
 **Aktion:** `codebuild:BatchGetReportGroups`   
Erforderlich, um Informationen zu Berichtsgruppen abzurufen.  
 **Ressource:** `arn:aws:codebuild:region-ID:account-ID:report-group/report-group-name ` 

BatchGetReports  
 **Aktion:** `codebuild:BatchGetReports`   
Erforderlich, um Informationen über Berichte abzurufen.  
 **Ressource:** `arn:aws:codebuild:region-ID:account-ID:report-group/report-group-name ` 

BatchPutTestCases¹  
 **Aktion:** `codebuild:BatchPutTestCases`   
Erforderlich, um einen Testbericht zu erstellen oder zu aktualisieren.  
 **Ressource:** `arn:aws:codebuild:region-ID:account-ID:report-group/report-group-name ` 

CreateProject  
 **Aktionen:** `codebuild:CreateProject`, `iam:PassRole`   
Erforderlich, um Build-Projekte zu erstellen.  
 **Ressourcen:**   
+  `arn:aws:codebuild:region-ID:account-ID:project/project-name ` 
+  `arn:aws:iam::account-ID:role/role-name ` 

CreateReport¹  
 **Aktion:** `codebuild:CreateReport`   
Erforderlich, um einen Testbericht zu erstellen.  
 **Ressource:** `arn:aws:codebuild:region-ID:account-ID:report-group/report-group-name ` 

CreateReportGroup  
 **Aktion:** `codebuild:CreateReportGroup`   
Erforderlich, um eine Berichtsgruppe zu erstellen.  
 **Ressource:** `arn:aws:codebuild:region-ID:account-ID:report-group/report-group-name ` 

CreateWebhook  
 **Aktion:** `codebuild:CreateWebhook`   
Erforderlich zum Erstellen eines Webhooks.  
 **Ressource:** `arn:aws:codebuild:region-ID:account-ID:project/project-name ` 

DeleteProject  
 **Aktion:** `codebuild:DeleteProject`   
Erforderlich, um ein CodeBuild Projekt zu löschen.  
 **Ressource:** `arn:aws:codebuild:region-ID:account-ID:project/project-name ` 

DeleteReport  
 **Aktion:** `codebuild:DeleteReport`   
Erforderlich zum Löschen eines Berichts.  
 **Ressource:** `arn:aws:codebuild:region-ID:account-ID:report-group/report-group-name ` 

DeleteReportGroup  
 **Aktion:** `codebuild:DeleteReportGroup`   
Erforderlich, um eine Berichtsgruppe zu löschen.  
 **Ressource:** `arn:aws:codebuild:region-ID:account-ID:report-group/report-group-name ` 

DeleteSourceCredentials  
 **Aktion:** `codebuild:DeleteSourceCredentials`   
Erforderlich, um eine Reihe von `SourceCredentialsInfo` Objekten zu löschen, die Informationen über Anmeldeinformationen für ein GitHub GitHub Enterprise Server- oder Bitbucket-Repository enthalten.   
 **Ressource:** `*` 

DeleteWebhook  
 **Aktion:** `codebuild:DeleteWebhook`   
Erforderlich zum Erstellen eines Webhooks.  
 **Ressource:** `arn:aws:codebuild:region-ID:account-ID:project/project-name ` 

DescribeTestCases  
 **Aktion:** `codebuild:DescribeTestCases`   
Erforderlich, um eine paginierte Liste von Testfällen zurückzugeben.  
 **Ressource:** `arn:aws:codebuild:region-ID:account-ID:report-group/report-group-name ` 

ImportSourceCredentials  
 **Aktion:** `codebuild:ImportSourceCredentials`   
Erforderlich, um eine Reihe von `SourceCredentialsInfo` Objekten zu importieren, die Informationen über Anmeldeinformationen für ein GitHub GitHub Enterprise Server- oder Bitbucket-Repository enthalten.   
 **Ressource:** `*` 

InvalidateProjectCache  
 **Aktion:** `codebuild:InvalidateProjectCache`   
Erforderlich, um den Cache für ein Projekt zurückzusetzen.  
 **Ressource:** `arn:aws:codebuild:region-ID:account-ID:project/project-name ` 

ListBuildBatches  
 **Aktion:** `codebuild:ListBuildBatches`   
Erforderlich, um eine Liste von Build-Batches IDs abzurufen.  
 **Ressource:** `*` 

ListBuildBatchesForProject  
 **Aktion:** `codebuild:ListBuildBatchesForProject`   
Erforderlich, um eine Liste der Build-Batches IDs für ein bestimmtes Projekt abzurufen.  
 **Ressource:** `arn:aws:codebuild:region-ID:account-ID:project/project-name` 

ListBuilds  
 **Aktion:** `codebuild:ListBuilds`   
Erforderlich, um eine Build-Liste zu erhalten IDs.  
 **Ressource:** `*` 

ListBuildsForProject  
 **Aktion:** `codebuild:ListBuildsForProject`   
Erforderlich, um eine Build-Liste IDs für ein Build-Projekt abzurufen.  
 **Ressource:** `arn:aws:codebuild:region-ID:account-ID:project/project-name ` 

ListCuratedEnvironmentImages  
 **Aktion:** `codebuild:ListCuratedEnvironmentImages`   
Erforderlich, um Informationen über alle von AWS CodeBuild verwaltete Docker-Images abzurufen.   
 **Ressource:** `*` (erforderlich, aber verweist nicht auf eine aufrufbare AWS -Ressource) 

ListProjects  
 **Aktion:** `codebuild:ListProjects`   
Erforderlich, um eine Liste mit Build-Projektnamen abzurufen.  
 **Ressource:** `*` 

ListReportGroups  
 **Aktion:** `codebuild:ListReportGroups`   
Erforderlich, um eine Liste von Berichtsgruppen abrufen.  
 **Ressource:** `*` 

ListReports  
 **Aktion:** `codebuild:ListReports`   
Erforderlich zum Abrufen einer Liste von Berichten.  
 **Ressource:** `*` 

ListReportsForReportGroup  
 **Aktion:** `codebuild:ListReportsForReportGroup`   
Erforderlich, um eine Liste von Berichten für eine Berichtsgruppe abrufen zu können.  
 **Ressource:** `arn:aws:codebuild:region-ID:account-ID:report-group/report-group-name ` 

RetryBuild  
**Aktion:** `codebuild:RetryBuild`   
Erforderlich, um Builds erneut zu versuchen.  
**Ressource:** `arn:aws:codebuild:region-ID:account-ID:project/project-name `

StartBuild  
 **Aktion:** `codebuild:StartBuild`   
Erforderlich, um Builds auszuführen.  
 **Ressource:** `arn:aws:codebuild:region-ID:account-ID:project/project-name ` 

StopBuild  
 **Aktion:** `codebuild:StopBuild`   
Erforderlich, um ausgeführte Builds zu stoppen.  
 **Ressource:** `arn:aws:codebuild:region-ID:account-ID:project/project-name ` 

UpdateProject  
 **Aktionen:** `codebuild:UpdateProject`, `iam:PassRole`   
Erforderlich, um Informationen über Builds zu ändern.  
 **Ressourcen:**   
+  `arn:aws:codebuild:region-ID:account-ID:project/project-name ` 
+  `arn:aws:iam::account-ID:role/role-name ` 

UpdateProjectVisibility  <a name="UpdateProjectVisibility"></a>
 **Aktionen:** `codebuild:UpdateProjectVisibility`, `iam:PassRole`   
Erforderlich, um die öffentliche Sichtbarkeit der Builds eines Projekts zu ändern.  
 **Ressourcen:**   
+  `arn:aws:codebuild:region-ID:account-ID:project/project-name ` 
+  `arn:aws:iam::account-ID:role/role-name ` 

UpdateReport¹  
 **Aktion:** `codebuild:UpdateReport`   
Erforderlich, um einen Testbericht zu erstellen oder zu aktualisieren.  
 **Ressource:** `arn:aws:codebuild:region-ID:account-ID:report-group/report-group-name ` 

UpdateReportGroup  
 **Aktion:** `codebuild:UpdateReportGroup`   
Erforderlich, um eine Berichtsgruppe zu aktualisieren.  
 **Ressource:** `arn:aws:codebuild:region-ID:account-ID:report-group/report-group-name ` 

UpdateWebhook  
 **Aktion:** `codebuild:UpdateWebhook`   
Erforderlich zum Aktualisieren eines Webhooks.  
 **Ressource:** `arn:aws:codebuild:region-ID:account-ID:project/project-name ` 

¹ Wird nur zur Genehmigung verwendet. Für diese Aktion gibt es keine API.

# Verwendung von Tags zur Steuerung des Zugriffs auf AWS CodeBuild Ressourcen
<a name="auth-and-access-control-using-tags"></a>

Bedingungen in IAM-Richtlinienerklärungen sind Teil der Syntax, mit der Sie Berechtigungen für CodeBuild projektbasierte Aktionen angeben können. Sie können eine Richtlinie erstellen, die Aktionen für Projekte auf der Grundlage der mit diesen Projekten verknüpften Tags zulässt oder verweigert, und diese Richtlinien dann auf die IAM-Gruppen anwenden, die Sie für die Benutzerverwaltung konfigurieren. Informationen zum Anwenden von Tags auf ein Projekt mithilfe der Konsole oder finden Sie AWS CLI unter. [Erstellen Sie ein Build-Projekt in AWS CodeBuild](create-project.md) Informationen zum Anwenden von Tags mithilfe des CodeBuild SDK finden Sie unter [CreateProject ](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_CreateProject.html#API_CreateProject_RequestSyntax)und [Tags](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_Tag.html) in der *CodeBuildAPI-Referenz*. Informationen zur Verwendung von Tags zur Steuerung des Zugriffs auf AWS Ressourcen finden Sie unter [Steuern des Zugriffs auf AWS Ressourcen mithilfe von Ressourcen-Tags](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html) im *IAM-Benutzerhandbuch*.

**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.

**Example Beispiel 1: Beschränken Sie CodeBuild Projektaktionen auf der Grundlage von Ressourcen-Tags**  
 Im folgenden Beispiel werden alle `Production`-Aktionen für Projekte verweigert, die mit dem Schlüssel `BatchGetProjects` mit dem Schlüsselwert `Environment` gekennzeichnet sind. Der Administrator eines Benutzers muss diese IAM-Richtlinie zusätzlich zur verwalteten Benutzerrichtlinie für nicht autorisierte Benutzer anhängen. Der Bedingungsschlüssel `aws:ResourceTag` wird verwendet, um den Zugriff auf Ressourcen basierend auf ihren Tags zu steuern.     
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Deny",
      "Action": [
        "codebuild:BatchGetProjects"
      ],
      "Resource": "*",
      "Condition": {
        "ForAnyValue:StringEquals": {
          "aws:ResourceTag/Environment": "Production"
        }
      }
    }
  ]
}
```

**Example Beispiel 2: Beschränken Sie CodeBuild Projektaktionen auf der Grundlage von Anforderungs-Tags**  
Die folgende Richtlinie verweigert Benutzern die Berechtigung für die Aktion `CreateProject`, wenn die Anforderung ein Tag mit dem Schlüssel `Environment` und dem Schlüsselwert `Production` enthält. Darüber hinaus hindert die Richtlinie diese nicht autorisierten Benutzer daran, Projekte zu ändern, indem sie den Bedingungsschlüssel `aws:TagKeys` verwenden, um `UpdateProject` nicht zuzulassen, wenn die Anforderung ein Tag mit dem Schlüssel `Environment` enthält. Ein Administrator muss diese IAM-Richtlinie zusätzlich zu der Richtlinie für verwaltete Benutzer hinzufügen, die nicht berechtigt sind, diese Aktionen auszuführen. Der `aws:RequestTag` Bedingungsschlüssel wird verwendet, um zu steuern, welche Tags in einer IAM-Anfrage übergeben werden können    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Deny",
      "Action": [
        "codebuild:CreateProject"
      ],
      "Resource": "*",
      "Condition": {
        "ForAnyValue:StringEquals": {
          "aws:RequestTag/Environment": "Production"
        }
      }
    },
    {
      "Effect": "Deny",
      "Action": [
        "codebuild:UpdateProject"
      ],
      "Resource": "*",
      "Condition": {
        "ForAnyValue:StringEquals": {
          "aws:TagKeys": ["Environment"]
        }
      }
    }
  ]
}
```

**Example Beispiel 3: Ablehnen oder Zulassen von Aktionen für Berichtsgruppen basierend auf Ressourcen-Tags**  
Sie können eine Richtlinie erstellen, die Aktionen für CodeBuild Ressourcen (Projekte und Berichtsgruppen) auf der Grundlage der mit diesen Ressourcen verknüpften AWS Tags zulässt oder verweigert, und diese Richtlinien dann auf die IAM-Gruppen anwenden, die Sie für die Benutzerverwaltung konfigurieren. Sie können beispielsweise eine Richtlinie erstellen, die alle CodeBuild Aktionen für eine Berichtsgruppe mit dem AWS Tagschlüssel `Status` und dem Schlüsselwert von verweigert`Secret`, und diese Richtlinie dann auf die IAM-Gruppe anwenden, die Sie für allgemeine Entwickler erstellt haben (). *Developers* Anschließend müssen Sie sicherstellen, dass die Entwickler, die an diesen markierten Berichtsgruppen arbeiten, nicht Mitglieder dieser allgemeinen *Developers* Gruppe sind, sondern einer anderen IAM-Gruppe angehören, auf die die restriktive Richtlinie nicht angewendet wurde (). `SecretDevelopers`  
Im folgenden Beispiel werden alle CodeBuild Aktionen für Berichtsgruppen verweigert, die mit dem Schlüssel `Status` und dem Schlüsselwert von gekennzeichnet sind: `Secret`    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Deny",
      "Action": [
        "codebuild:BatchGetReportGroups",
        "codebuild:CreateReportGroup",
        "codebuild:DeleteReportGroup",
        "codebuild:ListReportGroups",
        "codebuild:ListReportsForReportGroup",
        "codebuild:UpdateReportGroup"
      ],
      "Resource": "*",
      "Condition": {
        "StringLike": {
          "aws:RequestedRegion": "us-east-1"
        }
      }
    }
  ]
}
```

**Example Beispiel 4: Beschränken Sie CodeBuild Aktionen auf die AWSCode BuildDeveloperAccess Grundlage von Ressourcen-Tags**  
Sie können Richtlinien erstellen, die CodeBuild Aktionen für alle Berichtsgruppen und Projekte zulassen, die nicht mit bestimmten Tags gekennzeichnet sind. Die folgende Richtlinie lässt z. B. das Äquivalent von [AWSCodeBuildDeveloperAccess](auth-and-access-control-iam-identity-based-access-control.md#developer-access-policy)-Berechtigungen für alle Berichtsgruppen und Projekte zu. Ausgenommen sind jedoch Berichtsgruppen und Projekte, die mit den angegebenen Tags markiert sind:    
****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Effect": "Allow",
         "Action": [
            "codebuild:StartBuild",
            "codebuild:StopBuild",
            "codebuild:BatchGet*",
            "codebuild:GetResourcePolicy",
            "codebuild:DescribeTestCases",
            "codebuild:List*",
            "codecommit:GetBranch",
            "codecommit:GetCommit",
            "codecommit:GetRepository",
            "codecommit:ListBranches",
            "cloudwatch:GetMetricStatistics",
            "events:DescribeRule",
            "events:ListTargetsByRule",
            "events:ListRuleNamesByTarget",
            "logs:GetLogEvents",
            "s3:GetBucketLocation",
            "s3:ListAllMyBuckets"
         ],
         "Resource": "*",
         "Condition": {
            "StringNotEquals": {
               "aws:ResourceTag/Status": "Secret",
               "aws:ResourceTag/Team": "Saanvi"
            }
         }
      }
   ]
}
```

# Anzeigen von Ressourcen in der Konsole
<a name="console-resources"></a>

Die AWS CodeBuild Konsole benötigt die `ListRepositories` Erlaubnis, eine Liste der Repositorys für Ihr AWS Konto in der AWS Region anzuzeigen, in der Sie angemeldet sind. Die Konsole umfasst auch eine Funktion **Go to resource (Zu Ressource wechseln)**, um schnell ohne Berücksichtigung der Groß- und Kleinschreibung nach Ressourcen zu suchen. Diese Suche wird in Ihrem AWS Konto in der AWS Region durchgeführt, in der Sie angemeldet sind. Die folgenden Ressourcen werden für die folgenden Services angezeigt:
+ AWS CodeBuild: Build-Projekte
+ AWS CodeCommit: Repositorys
+ AWS CodeDeploy: Anwendungen
+ AWS CodePipeline: Pipelines

Für diese Suche unter den Ressourcen in allen Services müssen Sie über die folgenden Berechtigungen verfügen:
+ CodeBuild: `ListProjects`
+ CodeCommit: `ListRepositories`
+ CodeDeploy: `ListApplications`
+ CodePipeline: `ListPipelines`

Es werden keine Ergebnisse für die Ressourcen eines Service zurückgegeben, wenn Sie nicht über Berechtigungen für diesen Service verfügen. Auch wenn Sie über Berechtigungen zum Anzeigen von Ressourcen verfügen, werden manche Ressourcen nicht zurückgegeben, wenn die Anzeige dieser Ressourcen ausdrücklich verweigert wird (`Deny`).