

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.

# Sicherheit in AWS CodeBuild
<a name="security"></a>

Cloud-Sicherheit AWS hat höchste Priorität. Als AWS Kunde profitieren Sie von Rechenzentren und Netzwerkarchitekturen, die darauf ausgelegt sind, die Anforderungen der sicherheitssensibelsten Unternehmen zu erfüllen.

Sicherheit ist eine gemeinsame AWS Verantwortung von Ihnen und Ihnen. Das [Modell der geteilten Verantwortung](https://aws.amazon.com/compliance/shared-responsibility-model/) beschreibt dies als Sicherheit *der* Cloud und Sicherheit *in* der Cloud:
+ **Sicherheit der Cloud** — AWS ist verantwortlich für den Schutz der Infrastruktur, auf der AWS Dienste in der ausgeführt AWS Cloud werden. AWS bietet Ihnen auch Dienste, die Sie sicher nutzen können. Auditoren von Drittanbietern testen und überprüfen die Effektivität unserer Sicherheitsmaßnahmen im Rahmen der [AWS -Compliance-Programme](https://aws.amazon.com/compliance/programs/) regelmäßig. Weitere Informationen zu den Compliance-Programmen, die für gelten AWS CodeBuild, finden Sie unter [AWS Services in Umfang nach Compliance-Programmen](https://aws.amazon.com/compliance/services-in-scope/).
+ **Sicherheit in der Cloud** — Ihre Verantwortung richtet sich nach dem AWS Dienst, den Sie nutzen. Sie sind auch für andere Faktoren verantwortlich, einschließlich der Vertraulichkeit Ihrer Daten, für die Anforderungen Ihres Unternehmens und für die geltenden Gesetze und Vorschriften.

Diese Dokumentation hilft Ihnen zu verstehen, wie Sie das Modell der gemeinsamen Verantwortung bei der Nutzung anwenden können CodeBuild. In den folgenden Themen erfahren Sie, wie Sie die Konfiguration vornehmen CodeBuild , um Ihre Sicherheits- und Compliance-Ziele zu erreichen. Sie erfahren auch, wie Sie andere AWS Dienste nutzen können, die Sie bei der Überwachung und Sicherung Ihrer CodeBuild Ressourcen unterstützen.

**Topics**
+ [Datenschutz in AWS CodeBuild](data-protection.md)
+ [Identitäts- und Zugriffsmanagement in AWS CodeBuild](auth-and-access-control.md)
+ [Überprüfung der Einhaltung der Vorschriften für AWS CodeBuild](compliance-validation.md)
+ [Resilienz in AWS CodeBuild](codebuild-disaster-recovery-resiliency.md)
+ [Sicherheit der Infrastruktur in AWS CodeBuild](infrastructure-security.md)
+ [Greifen Sie auf Ihren Quellanbieter zu in CodeBuild](access-tokens.md)
+ [Serviceübergreifende Confused-Deputy-Prävention](cross-service-confused-deputy-prevention.md)

# Datenschutz in AWS CodeBuild
<a name="data-protection"></a>

Das [Modell der AWS gemeinsamen Verantwortung](https://aws.amazon.com/compliance/shared-responsibility-model/) und geteilter Verantwortung gilt für den Datenschutz in AWS CodeBuild. Wie in diesem Modell beschrieben, AWS ist verantwortlich für den Schutz der globalen Infrastruktur, auf der alle Systeme laufen AWS Cloud. Sie sind dafür verantwortlich, die Kontrolle über Ihre in dieser Infrastruktur gehosteten Inhalte zu behalten. Sie sind auch für die Sicherheitskonfiguration und die Verwaltungsaufgaben für die von Ihnen verwendeten AWS-Services verantwortlich. Weitere Informationen zum Datenschutz finden Sie unter [Häufig gestellte Fragen zum Datenschutz](https://aws.amazon.com/compliance/data-privacy-faq/). Informationen zum Datenschutz in Europa finden Sie im Blog-Beitrag [AWS -Modell der geteilten Verantwortung und in der DSGVO](https://aws.amazon.com/blogs/security/the-aws-shared-responsibility-model-and-gdpr/) im *AWS -Sicherheitsblog*.

Aus Datenschutzgründen empfehlen wir, dass Sie AWS-Konto Anmeldeinformationen schützen und einzelne Benutzer mit AWS IAM Identity Center oder AWS Identity and Access Management (IAM) einrichten. So erhält jeder Benutzer nur die Berechtigungen, die zum Durchführen seiner Aufgaben erforderlich sind. Außerdem empfehlen wir, die Daten mit folgenden Methoden schützen:
+ Verwenden Sie für jedes Konto die Multi-Faktor-Authentifizierung (MFA).
+ Wird verwendet SSL/TLS , um mit AWS Ressourcen zu kommunizieren. Wir benötigen TLS 1.2 und empfehlen TLS 1.3.
+ Richten Sie die API und die Protokollierung von Benutzeraktivitäten mit ein AWS CloudTrail. Informationen zur Verwendung von CloudTrail Pfaden zur Erfassung von AWS Aktivitäten finden Sie unter [Arbeiten mit CloudTrail Pfaden](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-trails.html) im *AWS CloudTrail Benutzerhandbuch*.
+ Verwenden Sie AWS Verschlüsselungslösungen zusammen mit allen darin enthaltenen Standardsicherheitskontrollen AWS-Services.
+ Verwenden Sie erweiterte verwaltete Sicherheitsservices wie Amazon Macie, die dabei helfen, in Amazon S3 gespeicherte persönliche Daten zu erkennen und zu schützen.
+ Wenn Sie für den Zugriff AWS über eine Befehlszeilenschnittstelle oder eine API FIPS 140-3-validierte kryptografische Module benötigen, verwenden Sie einen FIPS-Endpunkt. Weitere Informationen über verfügbare FIPS-Endpunkte finden Sie unter [Federal Information Processing Standard (FIPS) 140-3](https://aws.amazon.com/compliance/fips/).

Wir empfehlen dringend, in Freitextfeldern, z. B. im Feld **Name**, keine vertraulichen oder sensiblen Informationen wie die E-Mail-Adressen Ihrer Kunden einzugeben. Dies gilt auch, wenn Sie mit der Konsole, der CodeBuild API oder auf andere AWS-Services Weise arbeiten oder diese verwenden. AWS CLI AWS SDKs Alle Daten, die Sie in Tags oder Freitextfelder eingeben, die für Namen verwendet werden, können für Abrechnungs- oder Diagnoseprotokolle verwendet werden. Wenn Sie eine URL für einen externen Server bereitstellen, empfehlen wir dringend, keine Anmeldeinformationen zur Validierung Ihrer Anforderung an den betreffenden Server in die URL einzuschließen.

 Um vertrauliche Informationen zu schützen, sind die folgenden Informationen in CodeBuild Protokollen versteckt: 
+  Zeichenketten, die mithilfe des Parameterspeichers in den Umgebungsvariablen des CodeBuild Projekts oder im Abschnitt `env/parameter-store` buildspec angegeben wurden. Weitere Informationen finden Sie unter [Systems Manager Parameter Store](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-paramstore.html) und [Systems Manager Parameter Store Console Walkthrough](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-walk.html#sysman-paramstore-console) im *Amazon EC2 Systems Manager Manager-Benutzerhandbuch*. 
+  Zeichenketten, die AWS Secrets Manager in den Umgebungsvariablen CodeBuild des Projekts oder im Abschnitt `env/secrets-manager` buildspec angegeben wurden. Weitere Informationen finden Sie unter [Schlüsselverwaltung](security-key-management.md). 

Weitere Informationen zum Datenschutz enthält der Blog-Beitrag [AWS Shared Responsibility Model and GDPR](https://aws.amazon.com/blogs/security/the-aws-shared-responsibility-model-and-gdpr/) im *AWS -Sicherheitsblog*.

**Topics**
+ [Datenverschlüsselung](security-encryption.md)
+ [Schlüsselverwaltung](security-key-management.md)
+ [Datenschutz für Datenverkehr](security-traffic-privacy.md)

# Datenverschlüsselung
<a name="security-encryption"></a>

Verschlüsselung ist ein wichtiger Teil der Sicherheit. CodeBuild Manche Verschlüsselungen, wie z. B. für Daten in der Übertragung, werden standardmäßig bereitgestellt – Sie müssen nichts zu tun. Andere Verschlüsselungsmöglichkeiten, wie z. B. für Daten im Ruhezustand, können Sie konfigurieren, wenn Sie ein Projekt erstellen oder aufbauen. 
+ **Verschlüsselung ruhender Daten** — Build-Artefakte wie Cache, Protokolle, exportierte Rohdatendateien für Testberichte und Buildergebnisse werden standardmäßig mit Von AWS verwaltete Schlüssel verschlüsselt. Wenn Sie diese KMS-Schlüssel nicht verwenden möchten, müssen Sie einen vom Kunden verwalteten Schlüssel erstellen und konfigurieren. Weitere Informationen finden Sie unter [Erstellen von KMS-Schlüsseln](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html) und [AWS Key Management Service-Konzepte](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html) im *AWS Key Management Service -Benutzerhandbuch*. 
  + Sie können die Kennung des AWS KMS-Schlüssels, mit dem CodeBuild das Build-Ausgabeartefakt verschlüsselt wird, in der `CODEBUILD_KMS_KEY_ID` Umgebungsvariablen speichern. Weitere Informationen finden Sie unter [Umgebungsvariablen in Build-Umgebungen](build-env-ref-env-vars.md). 
  + Sie können einen vom Kunden verwalteten Schlüssel angeben, wenn Sie ein Build-Projekt erstellen. Weitere Informationen finden Sie unter [Set the Encryption Key Using the Console](create-project.md#encryptionkey-console) und [Einstellen des Verschlüsselungsschlüssels mithilfe der CLI](create-project.md#cli.encryptionkey). 

  Die Amazon Elastic Block Store-Volumes Ihrer Build-Flotte sind standardmäßig mit verschlüsselt Von AWS verwaltete Schlüssel. 
+ **Verschlüsselung von Daten während der Übertragung — Die gesamte Kommunikation zwischen Kunden und zwischen CodeBuild CodeBuild und zwischen den nachgelagerten Abhängigkeiten wird durch TLS-Verbindungen geschützt, die mit dem Signature Version 4-Signaturverfahren** signiert wurden. Alle CodeBuild Endgeräte verwenden SHA-256-Zertifikate, die von verwaltet werden. AWS Private Certificate Authority Weitere Informationen finden Sie unter [Signaturprozess mit Signaturversion 4](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html) und [Was ist ACM PCA?](https://docs.aws.amazon.com/privateca/latest/userguide/). 
+ **Verschlüsselung von Build-Artefakten** — Die dem Build-Projekt zugeordnete CodeBuild Servicerolle benötigt Zugriff auf einen KMS-Schlüssel, um die Build-Ausgabeartefakte zu verschlüsseln. CodeBuild Verwendet standardmäßig eine Von AWS verwalteter Schlüssel für Amazon S3 in Ihrem AWS Konto. Wenn Sie dies nicht verwenden möchten Von AWS verwalteter Schlüssel, müssen Sie einen vom Kunden verwalteten Schlüssel erstellen und konfigurieren. Weitere Informationen finden Sie unter [Verschlüsseln Sie Build-Ausgaben](setting-up-kms.md) [Schlüssel erstellen](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html) im *AWS KMS Entwicklerhandbuch*.

# Schlüsselverwaltung
<a name="security-key-management"></a>

Sie können Ihre Inhalte durch Verschlüsselung vor unberechtigtem Zugriff schützen. Speichern Sie Ihre Verschlüsselungsschlüssel in AWS Secrets Manager und erteilen Sie dann der mit dem Build-Projekt verknüpften CodeBuild Servicerolle die Erlaubnis, die Verschlüsselungsschlüssel von Ihrem Secrets Manager Manager-Konto abzurufen. Weitere Informationen finden Sie unter [Verschlüsseln Sie Build-Ausgaben mit einem vom Kunden verwalteten Schlüssel](setting-up-kms.md), [Erstellen Sie ein Build-Projekt in AWS CodeBuild](create-project.md), [Manuelles Ausführen von AWS CodeBuild Builds](run-build.md) und [Tutorial: Speichern und Abrufen eines Secrets](https://docs.aws.amazon.com/secretsmanager/latest/userguide/tutorials_basic.html). 

Verwenden Sie die `CODEBUILD_KMS_KEY_ID` Umgebungsvariable in einem Build-Befehl, um die AWS KMS Schlüssel-ID abzurufen. Weitere Informationen finden Sie unter [Umgebungsvariablen in Build-Umgebungen](build-env-ref-env-vars.md). 

Sie können Secrets Manager verwenden, um Anmeldeinformationen für eine private Registrierung zu schützen, in der ein Docker-Image gespeichert ist, das für Ihre Laufzeitumgebung verwendet wird. Weitere Informationen finden Sie unter [Privates Register mit AWS Secrets Manager Muster für CodeBuild](sample-private-registry.md). 

# Datenschutz für Datenverkehr
<a name="security-traffic-privacy"></a>

Sie können die Sicherheit Ihrer Builds verbessern, indem Sie die Verwendung eines VPC-Endpunkts mit Schnittstelle konfigurieren CodeBuild . Dafür benötigen Sie kein Internet-Gateway, kein NAT-Gerät und kein virtuelles privates Gateway. Eine Konfiguration ist ebenfalls nicht erforderlich PrivateLink, wird jedoch empfohlen. Weitere Informationen finden Sie unter [Verwenden von VPC-Endpunkten](use-vpc-endpoints-with-codebuild.md). Weitere Informationen zu PrivateLink VPC-Endpunkten finden Sie unter [AWS PrivateLink](https://aws.amazon.com/privatelink/)und [Zugreifen auf AWS Dienste](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Introduction.html#what-is-privatelink) über. PrivateLink 

# 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`).

# Überprüfung der Einhaltung der Vorschriften für AWS CodeBuild
<a name="compliance-validation"></a>

Informationen darüber, ob AWS-Service ein [AWS-Services in den Geltungsbereich bestimmter Compliance-Programme fällt, finden Sie unter Umfang nach Compliance-Programm AWS-Services unter](https://aws.amazon.com/compliance/services-in-scope/) . Wählen Sie dort das Compliance-Programm aus, an dem Sie interessiert sind. Allgemeine Informationen finden Sie unter [AWS Compliance-Programme AWS](https://aws.amazon.com/compliance/programs/) .

Sie können Prüfberichte von Drittanbietern unter herunterladen AWS Artifact. Weitere Informationen finden Sie unter [Berichte herunterladen unter ](https://docs.aws.amazon.com/artifact/latest/ug/downloading-documents.html).

Ihre Verantwortung für die Einhaltung der Vorschriften bei der Nutzung AWS-Services hängt von der Vertraulichkeit Ihrer Daten, den Compliance-Zielen Ihres Unternehmens und den geltenden Gesetzen und Vorschriften ab. Weitere Informationen zu Ihrer Verantwortung für die Einhaltung der Vorschriften bei der Nutzung AWS-Services finden Sie in der [AWS Sicherheitsdokumentation](https://docs.aws.amazon.com/security/).

# Resilienz in AWS CodeBuild
<a name="codebuild-disaster-recovery-resiliency"></a>

Die AWS globale Infrastruktur basiert auf AWS Regionen und Availability Zones. AWS Regionen bieten mehrere physisch getrennte und isolierte Availability Zones, die über Netzwerke mit niedriger Latenz, hohem Durchsatz und hoher Redundanz miteinander verbunden sind. Mithilfe von Availability Zones können Sie Anwendungen und Datenbanken erstellen und ausführen, die automatisch Failover zwischen Availability Zones ausführen, ohne dass es zu Unterbrechungen kommt. Availability Zones sind besser hoch verfügbar, fehlertoleranter und skalierbarer als herkömmliche Infrastrukturen mit einem oder mehreren Rechenzentren. 

Weitere Informationen zu AWS Regionen und Availability Zones finden Sie unter [AWS Globale](https://aws.amazon.com/about-aws/global-infrastructure/) Infrastruktur.

# Sicherheit der Infrastruktur in AWS CodeBuild
<a name="infrastructure-security"></a>

Als verwalteter Dienst AWS CodeBuild ist er durch AWS globale Netzwerksicherheit geschützt. Informationen zu AWS Sicherheitsdiensten und zum AWS Schutz der Infrastruktur finden Sie unter [AWS Cloud-Sicherheit](https://aws.amazon.com/security/). Informationen zum Entwerfen Ihrer AWS Umgebung unter Verwendung der bewährten Methoden für die Infrastruktursicherheit finden Sie unter [Infrastructure Protection](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/infrastructure-protection.html) in *Security Pillar AWS Well‐Architected Framework*.

Sie verwenden AWS veröffentlichte API-Aufrufe für den Zugriff CodeBuild über das Netzwerk. Kunden müssen Folgendes unterstützen:
+ Transport Layer Security (TLS). Wir benötigen TLS 1.2 und empfehlen TLS 1.3.
+ Verschlüsselungs-Suiten mit Perfect Forward Secrecy (PFS) wie DHE (Ephemeral Diffie-Hellman) oder ECDHE (Elliptic Curve Ephemeral Diffie-Hellman). Die meisten modernen Systeme wie Java 7 und höher unterstützen diese Modi.

# Greifen Sie auf Ihren Quellanbieter zu in CodeBuild
<a name="access-tokens"></a>

Für GitHub unseren GitHub Enterprise Server verwenden Sie ein persönliches Zugriffstoken, ein Secrets Manager Manager-Geheimnis, eine Verbindung oder eine OAuth App, um auf den Quellanbieter zuzugreifen. Für Bitbucket verwendest du entweder ein Zugriffstoken, ein App-Passwort, ein Secrets Manager Manager-Geheimnis, eine Verbindung oder eine OAuth App, um auf den Quellanbieter zuzugreifen. 

**Topics**
+ [Erstellen und speichern Sie ein Token in einem Secrets Manager Manager-Secret](asm-create-secret.md)
+ [GitHub und GitHub Enterprise Server-Zugriff in CodeBuild](access-tokens-github-overview.md)
+ [Bitbucket-Zugriff in CodeBuild](access-tokens-bitbucket-overview.md)
+ [GitLab Zugriff in CodeBuild](access-tokens-gitlab-overview.md)

# Erstellen und speichern Sie ein Token in einem Secrets Manager Manager-Secret
<a name="asm-create-secret"></a>

Wenn Sie Ihr Zugriffstoken mit Secrets Manager speichern möchten, können Sie entweder eine bestehende geheime Verbindung verwenden oder ein neues Geheimnis erstellen. Gehen Sie wie folgt vor, um ein neues Geheimnis zu erstellen:

------
#### [ AWS-Managementkonsole ]

**Um ein Secrets Manager Manager-Geheimnis zu erstellen in AWS-Managementkonsole**

1. Wählen Sie als **Quellanbieter** **Bitbucket** oder **GitHub Enterprise** aus. **GitHub**

1. Führe für **Credential** einen der folgenden Schritte aus:
   + Wählen Sie **Standard-Quellanmeldedaten**, um die Standard-Quellanmeldedaten Ihres Kontos für alle Projekte zu verwenden.

     1. Wenn Sie nicht mit Ihrem Quellanbieter verbunden sind, wählen Sie **Standardzugangsdaten verwalten** aus.

     1. Wählen Sie für **Anmeldeinformationstyp** einen anderen Anmeldeinformationstyp als. **CodeConnections**

     1. Wählen Sie für **Service** **Secrets Manager** und für **Secrets** **New Secret**.

     1. Geben Sie im Feld **Geheimer Name** den Namen Ihres Geheimnisses ein.

     1. Geben Sie im Feld **Geheime Beschreibung — optional** eine Beschreibung für Ihr Geheimnis ein.

     1. Geben Sie je nach ausgewähltem Quellanbieter Ihr Token oder Ihren Benutzernamen und Ihr App-Passwort ein und wählen Sie **Speichern**.
   + Wählen Sie **Benutzerdefinierte Quellanmeldedaten**, um benutzerdefinierte Quellanmeldedaten zu verwenden, um die Standardeinstellungen Ihres Kontos zu überschreiben.

     1. Wählen Sie für **Anmeldeinformationstyp** einen anderen Anmeldeinformationstyp als. **CodeConnections**

     1. Wählen Sie unter **Verbindung** die Option **Create a secret** aus.

     1. Geben Sie im Feld **Geheimer Name** den Namen Ihres Geheimnisses ein.

     1. Geben Sie im Feld **Geheime Beschreibung — optional** eine Beschreibung für Ihr Geheimnis ein.

     1. Geben Sie je nach ausgewähltem Quellanbieter Ihr Token oder Ihren Benutzernamen und Ihr App-Passwort ein und wählen Sie **Erstellen** aus.

------
#### [ AWS CLI ]

**Um ein Secrets Manager Manager-Geheimnis zu erstellen in AWS CLI**
+ Öffnen Sie die Eingabeaufforderung (Windows) oder das Terminal (Linux, macOS oder Unix). Verwenden Sie den AWS CLI , um den Secrets Manager **create-secret** Manager-Befehl auszuführen.

  ```
  aws secretsmanager create-secret --region <aws-region> \
              --name '<secret-name>' \
              --description '<secret-description>' \
              --secret-string '{
                  "ServerType":"<server-type>",
                  "AuthType":"<auth-type>",
                  "Token":"<token>"
                  }' \
              --tags Key=codebuild:source,Value='' \
                  Key=codebuild:source:type,Value=<type> \
                  Key=codebuild:source:provider,Value=<provider>
  ```

  Die Secrets Manager Manager-Geheimnisse, die CodeBuild akzeptiert werden, müssen sich im selben Konto und in derselben AWS Region wie das CodeBuild Projekt befinden und das folgende JSON-Format haben:

  ```
  {
              "ServerType": ServerType,
              "AuthType: AuthType,
              "Token": string,
              "Username": string // Optional and is only used for Bitbucket app password
          }
  ```    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/codebuild/latest/userguide/asm-create-secret.html)

   CodeBuild Verwendet außerdem die folgenden Ressourcen-Tags für das Secret, um sicherzustellen, dass die Secrets beim Erstellen oder Bearbeiten von Projekten leicht ausgewählt werden können.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/codebuild/latest/userguide/asm-create-secret.html)

------

# GitHub und GitHub Enterprise Server-Zugriff in CodeBuild
<a name="access-tokens-github-overview"></a>

Denn GitHub Sie können ein persönliches Zugriffstoken, eine OAuth App, ein Secrets Manager Manager-Geheimnis oder eine GitHub App-Verbindung verwenden, um auf den Quellanbieter zuzugreifen. Für GitHub Enterprise Server können Sie ein persönliches Zugriffstoken, ein Secrets Manager Manager-Geheimnis oder eine GitHub App-Verbindung verwenden, um auf den Quellanbieter zuzugreifen.

**Topics**
+ [GitHub App-Verbindungen für GitHub und GitHub Enterprise Server](connections-github-app.md)
+ [GitHub und GitHub Enterprise Server-Zugriffstoken](access-tokens-github.md)
+ [GitHub OAuth App](oauth-app-github.md)

# GitHub App-Verbindungen für GitHub und GitHub Enterprise Server
<a name="connections-github-app"></a>

Sie können die GitHub App verwenden, um eine Verbindung herzustellen CodeBuild. GitHub App-Verbindungen werden unterstützt durch [AWS CodeConnections](https://docs.aws.amazon.com/dtconsole/latest/userguide/welcome-connections.html).

Der Quellanbieterzugriff ermöglicht es Ihnen, einen Build auszulösen [ CreateWebhook](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_CreateWebhook.html), indem Sie die [GitHub Webhook-Ereignisse](github-webhook.md) Nutzung von oder die Verwendung [Tutorial: Einen CodeBuild -gehosteten GitHub Actions-Runner konfigurieren](action-runner.md) in CodeBuild abonnieren.

**Anmerkung**  
CodeConnections ist in weniger Regionen verfügbar als CodeBuild. Sie können regionsübergreifende Verbindungen in CodeBuild verwenden. Verbindungen, die in Opt-in-Regionen erstellt wurden, können in anderen Regionen nicht verwendet werden. Weitere Informationen finden Sie unter [AWS CodeConnections -Endpunkte und -Kontingente](https://docs.aws.amazon.com/general/latest/gr/codestar_connections.html).

**Topics**
+ [Schritt 1: Stellen Sie eine Verbindung zur GitHub App (Konsole) her](#connections-github-console)
+ [Schritt 2: Gewähren Sie der CodeBuild Projekt-IAM-Rolle Zugriff, um die Verbindung nutzen zu können](#connections-github-role-access)
+ [Schritt 3: Konfigurieren Sie CodeBuild , um die neue Verbindung zu verwenden](#connections-github-account-credential)
+ [Behebung von Problemen mit der GitHub App](#connections-github-troubleshooting)

## Schritt 1: Stellen Sie eine Verbindung zur GitHub App (Konsole) her
<a name="connections-github-console"></a>

Gehen Sie wie folgt vor, um CodeBuild über die Konsole eine Verbindung für Ihr Projekt in hinzuzufügen GitHub.

**Um eine Verbindung herzustellen zu GitHub**
+ Folgen Sie den Anweisungen im *Developer Tools-Benutzerhandbuch* für [Herstellen einer Verbindung zu GitHub](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-create-github.html).

**Anmerkung**  
Anstatt eine bestehende Verbindung in Ihrem Konto zu erstellen oder zu verwenden, können Sie eine Verbindung verwenden, die von einem anderen AWS Konto gemeinsam genutzt wird. Weitere Informationen finden Sie unter [Verbindungen mit AWS Konten teilen](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-share.html).

## Schritt 2: Gewähren Sie der CodeBuild Projekt-IAM-Rolle Zugriff, um die Verbindung nutzen zu können
<a name="connections-github-role-access"></a>

Sie können CodeBuild Projekt-IAM-Rollenzugriff gewähren, um die über Ihre GitHub Verbindung angebotenen Token zu verwenden.

**Um dem CodeBuild Projekt IAM-Rollenzugriff zu gewähren**

1. Erstellen Sie eine IAM-Rolle für Ihr CodeBuild Projekt, indem Sie den Anweisungen [Erlauben CodeBuild Sie die Interaktion mit anderen Diensten AWS](setting-up-service-role.md) für Ihr CodeBuild Projekt folgen.

1. Folgen Sie den Anweisungen und fügen Sie Ihrer CodeBuild Projektrolle die folgende IAM-Richtlinie hinzu, um Zugriff auf die Verbindung zu gewähren.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "codeconnections:GetConnectionToken",
                   "codeconnections:GetConnection"
               ],
               "Resource": [
                   "arn:aws:iam::*:role/Service*"
               ]
           }
       ]
   }
   ```

------

## Schritt 3: Konfigurieren Sie CodeBuild , um die neue Verbindung zu verwenden
<a name="connections-github-account-credential"></a>

Sie können eine Verbindung als Anmeldeinformationen auf Kontoebene konfigurieren und sie in einem Projekt verwenden.

------
#### [ AWS-Managementkonsole ]

**Um eine Verbindung als Anmeldeinformationen auf Kontoebene zu konfigurieren, finden Sie im AWS-Managementkonsole**

1. Wählen Sie **GitHub**als **Quellanbieter**. 

1. Führen Sie für **Credential** einen der folgenden Schritte aus:
   + Wählen Sie **Standard-Quellanmeldedaten**, um die Standard-Quellanmeldedaten Ihres Kontos für alle Projekte zu verwenden.

     1. Wenn Sie nicht verbunden sind GitHub, wählen Sie **Standard-Quellanmeldedaten verwalten** aus.

     1. **Wählen Sie als **Anmeldeinformationstyp** die Option App ausGitHub .**

     1. Wählen Sie unter **Verbindung** aus, ob Sie eine bestehende Verbindung verwenden oder eine neue Verbindung erstellen möchten.
   + Wählen Sie **Benutzerdefinierte Quellanmeldedaten**, um benutzerdefinierte Quellanmeldedaten zu verwenden, um die Standardeinstellungen Ihres Kontos zu überschreiben.

     1. **Wählen Sie als **Anmeldeinformationstyp** die Option App aus. GitHub **

     1. Wählen Sie unter **Verbindung** aus, ob Sie eine bestehende Verbindung verwenden oder eine neue Verbindung erstellen möchten.

------
#### [ AWS CLI ]

**Um eine Verbindung als Anmeldeinformationen auf Kontoebene zu konfigurieren, finden Sie im AWS CLI**
+ Öffnen Sie die Eingabeaufforderung (Windows) oder das Terminal (Linux, macOS oder Unix). Verwenden Sie den AWS CLI , um den **import-source-credentials** Befehl auszuführen, und geben Sie dabei `--auth-type``--server-type`, und `--token` für Ihre Verbindung an.

  Verwenden Sie den folgenden Befehl:

  ```
  aws codebuild import-source-credentials --auth-type CODECONNECTIONS --server-type GITHUB --token <connection-arn>
  ```

------

Sie können auch mehrere Token für Ihre CodeBuild Projekte einrichten. Weitere Informationen finden Sie unter [Konfigurieren Sie mehrere Token als Anmeldeinformationen auf Quellenebene](multiple-access-tokens.md#asm-source-credential).

## Behebung von Problemen mit der GitHub App
<a name="connections-github-troubleshooting"></a>

Die folgenden Informationen können Ihnen helfen, häufig auftretende Probleme mit der GitHub App zu beheben.

**Topics**
+ [Installieren Sie den AWS Connector für die GitHub App in einer unerwünschten Region](#connections-github-troubleshooting.undesired-region)
+ [Die GitHub App-Verbindung hat keinen Zugriff auf Repositorys](#connections-github-troubleshooting.repo-access)
+ [In der IAM-Rolle des AWS Dienstes fehlen die erforderlichen IAM-Berechtigungen.](#connections-github-troubleshooting.iam-permissions)

### Installieren Sie den AWS Connector für die GitHub App in einer unerwünschten Region
<a name="connections-github-troubleshooting.undesired-region"></a>

**Problem:** Sie haben den AWS Connector für GitHub vom GitHub Marketplace aus installiert, aber die Verbindung wurde in einer unerwünschten Region hergestellt. Wenn Sie versuchen, die App auf der GitHub Website neu zu konfigurieren, funktioniert dies nicht, da die App bereits in Ihrem GitHub Konto installiert ist.

**Mögliche Ursache:** Die App ist bereits in Ihrem GitHub Konto installiert, sodass Sie nur die App-Berechtigungen neu konfigurieren können.

**Empfohlene Lösung:** Sie können eine neue Verbindung mit der Installations-ID in der gewünschten Region erstellen.

1. Öffnen Sie die CodeConnections Konsole unter [https://console.aws.amazon.com/codesuite/settings/connections](https://console.aws.amazon.com/codesuite/settings/connections) und navigieren Sie mithilfe der Regionsauswahl in der Navigationsleiste der Konsole zur gewünschten Region. AWS 

1. Folgen Sie den Anweisungen im *Developer Tools-Benutzerhandbuch* für [Create](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-create-github.html) a connection to. GitHub
**Anmerkung**  
Da Sie den AWS Connector für die GitHub App bereits installiert haben, können Sie ihn auswählen, anstatt eine neue App zu installieren.

### Die GitHub App-Verbindung hat keinen Zugriff auf Repositorys
<a name="connections-github-troubleshooting.repo-access"></a>

**Problem:** Ein AWS Dienst, der die Verbindung verwendet, wie zum Beispiel CodeBuild oder CodePipeline, meldet, dass er keinen Zugriff auf das Repository hat oder dass das Repository nicht existiert. Zu den möglichen Fehlermeldungen gehören:
+ `Authentication required for primary source.`
+ `Unable to create webhook at this time. Please try again later.`
+ `Failed to create webhook. GitHub API limit reached. Please try again later.`

***Mögliche Ursache:** Möglicherweise haben Sie die GitHub App verwendet und dem Webhook-Berechtigungsbereich nicht gewährt.*  
**Empfohlene Lösung:** Um den erforderlichen Berechtigungsbereich zu gewähren, folgen Sie den Anweisungen unter [Navigieren zu der GitHub App, die Sie überprüfen oder ändern möchten, um](https://docs.github.com/en/apps/using-github-apps/reviewing-and-modifying-installed-github-apps#navigating-to-the-github-app-you-want-to-review-or-modify) die installierte App zu konfigurieren. Im Abschnitt „Berechtigungen“ siehst du, dass die App nicht über Webhooks-Berechtigungen verfügt, und es gibt eine Option, mit der du die neu angeforderten Berechtigungen überprüfen kannst. Überprüfe und akzeptiere die neuen Berechtigungen. Weitere Informationen finden Sie unter [Genehmigen aktualisierter Berechtigungen für](https://docs.github.com/en/apps/using-github-apps/approving-updated-permissions-for-a-github-app) eine App. GitHub 

***Mögliche Ursache:** Die Verbindung funktionierte wie erwartet, hat aber plötzlich keinen Zugriff mehr auf die Repositorys.*  
**Mögliche Lösung: Überprüfe** zunächst deine [Autorisierungen](https://docs.github.com/en/apps/using-github-apps/reviewing-and-revoking-authorization-of-github-apps) und deine [Installationen](https://docs.github.com/en/apps/using-github-apps/reviewing-and-modifying-installed-github-apps) und stelle dann sicher, dass die GitHub App autorisiert und installiert ist. Wenn die GitHub App-Installation unterbrochen ist, müssen Sie sie wieder aufheben. Wenn die GitHub App nicht für eine [UAT-Verbindung (User Access Token)](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/authenticating-with-a-github-app-on-behalf-of-a-user) autorisiert oder nicht für eine [IAT-Verbindung (Installation Access Token)](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/authenticating-as-a-github-app-installation) installiert ist, kann die bestehende Verbindung nicht mehr verwendet werden und Sie müssen eine neue Verbindung erstellen. Beachten Sie, dass durch eine Neuinstallation der GitHub App die vorherige Verbindung, die mit der alten Installation verknüpft war, nicht wiederhergestellt wird.  
**Mögliche Lösung:** Wenn es sich bei der Verbindung um eine UAT-Verbindung handelt, stellen Sie sicher, dass die Verbindung nicht gleichzeitig verwendet wird, z. B. wenn sie in mehreren CodeBuild gleichzeitigen Build-Läufen verwendet wird. Dies liegt daran, dass ein zuvor ausgestelltes UAT GitHub sofort ungültig wird, wenn ein ablaufendes Token durch die Verbindung aktualisiert wird. Wenn Sie die UAT-Verbindung für mehrere gleichzeitige CodeBuild Builds verwenden müssen, können Sie mehrere Verbindungen erstellen und jede Verbindung unabhängig voneinander verwenden.  
**Mögliche Lösung:** Wenn die UAT-Verbindung in den letzten 6 Monaten nicht verwendet wurde, wird die Verbindung von ungültig. GitHub Um dieses Problem zu beheben, erstellen Sie eine neue Verbindung.

***Mögliche Ursache:** Möglicherweise haben Sie eine UAT-Verbindung verwendet, ohne die App installiert zu haben.*  
**Empfohlene Lösung:** Für das Erstellen einer UAT-Verbindung muss die Verbindung zwar nicht mit einer GitHub App-Installation verknüpft werden, es ist jedoch eine Installation erforderlich, damit auf das Repository zugegriffen werden kann. Folgen Sie den Anweisungen zur [Überprüfung der Installationen](https://docs.github.com/en/apps/using-github-apps/reviewing-and-modifying-installed-github-apps), um sicherzustellen, dass die GitHub App installiert ist. Wenn sie nicht installiert ist, navigieren Sie zur [Seite der GitHub App](https://github.com/marketplace/aws-connector-for-github), um die App zu installieren. Weitere Informationen zum Zugriff von UAT finden Sie unter [Über Benutzerzugriffstoken](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app#about-user-access-tokens).

### In der IAM-Rolle des AWS Dienstes fehlen die erforderlichen IAM-Berechtigungen.
<a name="connections-github-troubleshooting.iam-permissions"></a>

**Problem:** Es wird eine der folgenden Fehlermeldungen angezeigt:
+ `Access denied to connection <connection-arn>`
+ `Failed to get access token from <connection-arn>`

**Empfohlene Lösung:** In der Regel verwenden Sie eine Verbindung mit einem AWS Dienst, z. B. CodePipeline oder CodeBuild. Wenn Sie dem AWS Dienst eine IAM-Rolle zuweisen, kann der AWS Dienst die Erlaubnis der Rolle verwenden, um in Ihrem Namen zu handeln. Stellen Sie sicher, dass die IAM-Rolle über die erforderlichen Berechtigungen verfügt. Weitere Informationen zu den erforderlichen IAM-Berechtigungen finden Sie unter [Gewähren von Zugriff auf die CodeBuild Projekt-IAM-Rolle zur Nutzung der Verbindung](#connections-github-role-access) und [Identitäts- und Zugriffsverwaltung für AWS CodeStar Benachrichtigungen sowie CodeConnections im Benutzerhandbuch für](https://docs.aws.amazon.com/dtconsole/latest/userguide/security-iam.html) die *Developer Tools Console*.

# GitHub und GitHub Enterprise Server-Zugriffstoken
<a name="access-tokens-github"></a>

## Voraussetzungen für Zugriffstoken
<a name="access-tokens-github-prereqs"></a>

Bevor Sie beginnen, müssen Sie Ihrem GitHub Zugriffstoken die richtigen Berechtigungsbereiche hinzufügen. 

Denn GitHub Ihr persönliches Zugriffstoken muss die folgenden Bereiche haben. 
+ **repo** gewährt volle Kontrolle über private Repositorys. 
+ **repo:status:** Gewährt read/write Zugriff auf den Commit-Status eines öffentlichen und privaten Repositorys.
+ **admin:repo\$1hook** gewährt volle Kontrolle über Repository-Hooks. Dieser Bereich ist nicht erforderlich, wenn Ihr Token den Bereich `repo` aufweist. 
+ **admin:org\$1hook**: Gewährt die volle Kontrolle über Organisations-Hooks. Dieser Bereich ist nur erforderlich, wenn Sie die Webhook-Funktion für Organisationen verwenden.

Weitere Informationen finden Sie unter [Grundlegendes zu Anwendungsbereichen OAuth auf](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/) der GitHub Website.

Wenn Sie differenzierte persönliche Zugriffstoken verwenden, benötigt Ihr persönliches Zugriffstoken je nach Anwendungsfall möglicherweise die folgenden Berechtigungen:
+ **Inhalt: Schreibgeschützt:** Gewährt Zugriff auf private Repositorys. Diese Berechtigung ist erforderlich, wenn Sie private Repositorys als Quelle verwenden.
+ **Commit-Status: Lesen und Schreiben**: Erteilt die Berechtigung zum Erstellen von Commit-Status. Diese Berechtigung ist erforderlich, wenn für Ihr Projekt ein Webhook eingerichtet ist oder wenn Sie die Funktion zum Erstellen des Berichtsstatus aktiviert haben.
+ **Webhooks: Lesen und Schreiben**: Erteilt die Berechtigung zur Verwaltung von Webhooks. Diese Berechtigung ist erforderlich, wenn für Ihr Projekt ein Webhook eingerichtet ist.
+ **Pull-Requests: Schreibgeschützt: Erteilt** die Erlaubnis, auf Pull-Requests zuzugreifen. Diese Berechtigung ist erforderlich, wenn dein Webhook über einen `FILE_PATH` Filter für Pull-Request-Ereignisse verfügt.
+ **Administration: Lesen und Schreiben**: Diese Berechtigung ist erforderlich, wenn Sie die selbst gehostete GitHub Actions Runner-Funktion mit verwenden. CodeBuild Weitere Informationen finden Sie unter [Registrierungstoken für ein Repository erstellen](https://docs.github.com/en/rest/actions/self-hosted-runners?apiVersion=2022-11-28#create-a-registration-token-for-a-repository) und[Tutorial: Einen CodeBuild -gehosteten GitHub Actions-Runner konfigurieren](action-runner.md).

**Anmerkung**  
Wenn Sie auf Organisations-Repositorys zugreifen möchten, stellen Sie sicher, dass Sie die Organisation als Ressourcenbesitzer des Zugriffstokens angeben.

Weitere Informationen finden Sie auf der [Website unter Erforderliche Berechtigungen für detaillierte persönliche Zugriffstoken](https://docs.github.com/en/rest/authentication/permissions-required-for-fine-grained-personal-access-tokens?apiVersion=2022-11-28). GitHub 

## GitHub Mit einem Zugriffstoken (Konsole) Connect
<a name="access-tokens-github-console"></a>

Um Ihr Projekt GitHub mithilfe eines Zugriffstokens über die Konsole mit einem Zugriffstoken zu verbinden, gehen Sie beim Erstellen eines Projekts wie folgt vor. Weitere Informationen finden Sie unter [Erstellen Sie ein Build-Projekt (Konsole)](create-project.md#create-project-console). 

1. Wählen Sie als **Quellanbieter** die Option **GitHub**. 

1. Führen Sie für **Credential** einen der folgenden Schritte aus:
   + Wählen Sie, ob Sie Kontoanmeldedaten verwenden möchten, um die standardmäßigen Quellanmeldedaten Ihres Kontos auf alle Projekte anzuwenden.

     1. Wenn Sie nicht verbunden sind GitHub, wählen Sie **Kontoanmeldedaten verwalten aus.**

     1. Wählen Sie als **Anmeldeinformationstyp** die Option **Persönliches Zugriffstoken** aus.
   + Wenn Sie sich dafür entschieden haben, Anmeldeinformationen auf Kontoebene für **Service** zu verwenden, wählen Sie aus, welchen Dienst Sie zum Speichern Ihres Tokens verwenden möchten, und gehen Sie wie folgt vor:

     1. Wenn Sie **Secrets Manager** verwenden möchten, können Sie eine bestehende geheime Verbindung verwenden oder ein neues Geheimnis erstellen und dann **Speichern** wählen. Weitere Informationen zum Erstellen eines neuen Secrets finden Sie unter[Erstellen und speichern Sie ein Token in einem Secrets Manager Manager-Secret](asm-create-secret.md).

     1. Wenn Sie sich für die Verwendung entscheiden **CodeBuild**, geben Sie Ihr GitHub persönliches Zugriffstoken ein und wählen Sie dann **Speichern**.
   + Wählen Sie **Überschreibungsanmeldedaten nur für dieses Projekt** verwenden aus, um benutzerdefinierte Quellanmeldedaten zu verwenden, um die Anmeldeinformationen Ihres Kontos zu überschreiben.

     1. Wählen Sie aus der Liste mit den Anmeldeinformationen eine der Optionen unter **Persönliches** Zugriffstoken aus.

     1. Sie können auch ein neues persönliches Zugriffstoken erstellen, indem Sie in der Beschreibung die Option **Neue Verbindung mit einem persönlichen Zugriffstoken erstellen** auswählen.

## Stellen Sie eine Connect GitHub mit einem Zugriffstoken (CLI) her
<a name="access-tokens-github-cli"></a>

Gehen Sie wie folgt vor, um Ihr Projekt GitHub mithilfe eines Zugriffstokens mit dem zu verbinden. AWS CLI Informationen zur Verwendung von AWS CLI with AWS CodeBuild finden Sie unter[Befehlszeilenreferenz](cmd-ref.md). 

1. Führen Sie den Befehl **import-source-credentials** aus: 

   ```
   aws codebuild import-source-credentials --generate-cli-skeleton
   ```

   Daten im JSON-Format werden in der Ausgabe angezeigt. Kopieren Sie die Daten in eine Datei (z. B.`import-source-credentials.json`) an einem Speicherort auf dem lokalen Computer oder in der Instanz, in der der installiert AWS CLI ist. Ändern Sie die kopierten Daten wie im Folgenden dargestellt und speichern Sie die Ergebnisse. 

   ```
   {
       "serverType": "server-type",
       "authType": "auth-type",
       "shouldOverwrite": "should-overwrite",
       "token": "token",
       "username": "username"
       }
   ```

   Ersetzen Sie Folgendes: 
   + *server-type*: Erforderlicher Wert. Der Quellanbieter für diese Anmeldeinformationen. Gültige Werte sind GITHUB, BITBUCKET, GITHUB\$1ENTERPRISE, GITLAB und GITLAB\$1SELF\$1MANAGED.
   + *auth-type*: Erforderlicher Wert. Der Authentifizierungstyp, der für die Verbindung mit einem Repository verwendet wird. Gültige Werte sind OAUTH, BASIC\$1AUTH, PERSONAL\$1ACCESS\$1TOKEN, CODECONNECTIONS und SECRETS\$1MANAGER. GitHubDenn nur PERSONAL\$1ACCESS\$1TOKEN ist zulässig. BASIC\$1AUTH ist nur mit einem Passwort für die Bitbucket-App erlaubt.
   + *should-overwrite*: Optionaler Wert. Setzen Sie diesen auf `false`, um zu verhindern, dass die Repository-Quellanmeldeinformationen überschrieben werden. Legen Sie den Wert auf `true` fest, um die Repository-Quellanmeldeinformationen zu überschreiben. Der Standardwert ist `true`.
   + *token*: Erforderlicher Wert. Für GitHub unseren GitHub Enterprise Server ist dies das persönliche Zugriffstoken. Für Bitbucket ist dies das persönliche Zugriffstoken oder das App-Passwort. Für den Authentifizierungstyp CODECONNECTIONS ist dies der Verbindungs-ARN. Für den Authentifizierungstyp SECRETS\$1MANAGER ist dies der geheime ARN.
   + *username*: Optionaler Wert. Dieser Parameter wird für GitHub GitHub Enterprise Server-Quellanbieter ignoriert. 

1. Um Ihr Konto mit einem Zugriffstoken zu verbinden, wechseln Sie in das Verzeichnis mit der Datei `import-source-credentials.json`, die Sie in Schritt 1 gespeichert haben, und führen den Befehl **import-source-credentials** erneut aus. 

   ```
   aws codebuild import-source-credentials --cli-input-json file://import-source-credentials.json
   ```

   Daten im JSON-Format werden in der Ausgabe mit einem Amazon-Ressourcennamen (ARN) angezeigt. 

   ```
   {
       "arn": "arn:aws:codebuild:region:account-id:token/server-type"
       }
   ```
**Anmerkung**  
Wenn Sie den Befehl **import-source-credentials** mit demselben Server- und Auth-Typ ein zweites Mal ausführen, wird das gespeicherte Zugriffstoken aktualisiert. 

   Nachdem Ihr Konto mit einem Zugriffstoken verbunden wurde, können Sie es verwenden, `create-project` um Ihr CodeBuild Projekt zu erstellen. Weitere Informationen finden Sie unter [Erstellen eines Build-Projekts (AWS CLI)](create-project.md#create-project-cli). 

1. Rufen Sie zum Anzeigen der verbundenen Zugriffstoken den Befehl **list-source-credentials** auf. 

   ```
   aws codebuild list-source-credentials
   ```

   Ein Objekt vom Typ `sourceCredentialsInfos` wird im JSON-Format in der Ausgabe angezeigt: 

   ```
   {
           "sourceCredentialsInfos": [
               {
                   "authType": "auth-type",
                   "serverType": "server-type", 
                   "arn": "arn"
               }
           ]
       }
   ```

   `sourceCredentialsObject` enthält eine Liste der verbundenen Quell-Anmeldeinformationen: 
   + `authType` ist der Typ der Authentifizierung für die Anmeldeinformationen. Dies kann`OAUTH`,`BASIC_AUTH`, `PERSONAL_ACCESS_TOKEN``CODECONNECTIONS`, oder sein`SECRETS_MANAGER`. 
   + `serverType` ist der Typ des Quellanbieters. Das kann`GITHUB`,`GITHUB_ENTERPRISE`, `BITBUCKET``GITLAB`, oder sein`GITLAB_SELF_MANAGED`. 
   + `arn` ist der ARN des Tokens. 

1. Rufen Sie den Befehl **delete-source-credentials** mit dem zugehörigen ARN auf, um einen Quellanbieter zu trennen und dessen Zugriffstoken zu entfernen. 

   ```
   aws codebuild delete-source-credentials --arn arn-of-your-credentials
   ```

   Die Ausgabe im JSON-Format enthält einen ARN der gelöschten Anmeldeinformationen. 

   ```
   {
       "arn": "arn:aws:codebuild:region:account-id:token/server-type"
       }
   ```

# GitHub OAuth App
<a name="oauth-app-github"></a>

## Connect GitHub mit OAuth (Konsole)
<a name="oauth-app-github-console"></a>

Um Ihr Projekt GitHub mithilfe der Konsole mit einer OAuth App zu verbinden, gehen Sie beim Erstellen eines Projekts wie folgt vor. Weitere Informationen finden Sie unter [Erstellen Sie ein Build-Projekt (Konsole)](create-project.md#create-project-console). 

1. Wählen Sie als **Quellanbieter** die Option **GitHub**. 

1. Führen Sie für **Credential** einen der folgenden Schritte aus:
   + Wählen Sie, ob Sie Kontoanmeldedaten verwenden möchten, um die standardmäßigen Quellanmeldedaten Ihres Kontos auf alle Projekte anzuwenden.

     1. Wenn Sie nicht verbunden sind GitHub, wählen Sie **Kontoanmeldedaten verwalten aus.**

     1. **Wählen Sie als **Anmeldeinformationstyp** die Option App ausOAuth .**
   + Wenn Sie Anmeldeinformationen auf Kontoebene für **Service** verwenden möchten, wählen Sie aus, welchen Dienst Sie zum Speichern Ihres Tokens verwenden möchten, und gehen Sie wie folgt vor:

     1. Wenn Sie **Secrets Manager** verwenden möchten, können Sie eine bestehende geheime Verbindung verwenden oder ein neues Geheimnis erstellen und dann **Speichern** wählen. Weitere Informationen zum Erstellen eines neuen Secrets finden Sie unter[Erstellen und speichern Sie ein Token in einem Secrets Manager Manager-Secret](asm-create-secret.md).

     1. Wenn Sie sich für die Verwendung **CodeBuild**und anschließend für **Speichern** entscheiden.
   + Wählen Sie **Überschreibungsanmeldedaten nur für dieses Projekt** verwenden aus, um benutzerdefinierte Quellanmeldedaten zu verwenden, um die Anmeldeinformationen Ihres Kontos zu überschreiben.

     1. **Wählen Sie aus der Liste mit den Anmeldeinformationen eine der Optionen unter App aus. OAuth **

     1. Sie können auch **ein neues OAuth App-Token erstellen, indem Sie in der Beschreibung die Option Neue Oauth-App-Token-Verbindung** erstellen auswählen.

Um Ihre autorisierten OAuth Apps zu überprüfen, navigieren Sie zu [Applications](https://github.com/settings/applications) on und vergewissern Sie sich GitHub, dass eine Anwendung mit dem Namen `AWS CodeBuild (region)` [aws-codesuite aufgeführt](https://github.com/aws-codesuite) ist.

# Bitbucket-Zugriff in CodeBuild
<a name="access-tokens-bitbucket-overview"></a>

Für Bitbucket verwendest du entweder ein Zugriffstoken, ein App-Passwort, eine App oder eine OAuth Bitbucket-Verbindung, um auf den Quellanbieter zuzugreifen.

**Topics**
+ [Bitbucket-App-Verbindungen](connections-bitbucket-app.md)
+ [Passwort oder Zugriffstoken für die Bitbucket-App](access-tokens-bitbucket.md)
+ [Bitbucket-App OAuth](oauth-app-bitbucket.md)

# Bitbucket-App-Verbindungen
<a name="connections-bitbucket-app"></a>

Du kannst Bitbucket verwenden, um dich mit zu verbinden. CodeBuild Bitbucket-App-Verbindungen werden unterstützt durch. [AWS CodeConnections](https://docs.aws.amazon.com/dtconsole/latest/userguide/welcome-connections.html)

**Anmerkung**  
CodeConnections ist in weniger Regionen verfügbar als CodeBuild. Sie können regionsübergreifende Verbindungen in CodeBuild verwenden. Verbindungen, die in Opt-in-Regionen erstellt wurden, können in anderen Regionen nicht verwendet werden. Weitere Informationen finden Sie unter [AWS CodeConnections -Endpunkte und -Kontingente](https://docs.aws.amazon.com/general/latest/gr/codestar_connections.html).

**Topics**
+ [Schritt 1: Stelle eine Verbindung zu Bitbucket (Konsole) her](#connections-bitbucket-console)
+ [Schritt 2: Gewähren Sie der CodeBuild Projekt-IAM-Rolle Zugriff, um die Verbindung nutzen zu können](#connections-bitbucket-role-access)
+ [Schritt 3: Konfigurieren Sie CodeBuild , um die neue Verbindung zu verwenden](#connections-bitbucket-account-credential)

## Schritt 1: Stelle eine Verbindung zu Bitbucket (Konsole) her
<a name="connections-bitbucket-console"></a>

Gehe wie folgt vor, um mit der CodeBuild Konsole eine Verbindung für dein Projekt in Bitbucket hinzuzufügen.

**Eine Verbindung mit Bitbucket erstellen**
+ Folge den Anweisungen im *Developer Tools-Benutzerhandbuch* für das [Erstellen einer Verbindung zu Bitbucket](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-create-bitbucket.html).

**Anmerkung**  
Anstatt eine bestehende Verbindung in deinem Konto zu erstellen oder zu verwenden, kannst du eine Verbindung verwenden, die von einem anderen AWS Konto aus geteilt wird. Weitere Informationen finden Sie unter [Verbindungen mit AWS Konten teilen](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-share.html).

## Schritt 2: Gewähren Sie der CodeBuild Projekt-IAM-Rolle Zugriff, um die Verbindung nutzen zu können
<a name="connections-bitbucket-role-access"></a>

Du kannst CodeBuild Projekt-IAM-Rollenzugriff gewähren, um die Bitbucket-Token zu verwenden, die über deine Verbindung verkauft werden.

**Um dem CodeBuild Projekt IAM-Rollenzugriff zu gewähren**

1. Erstellen Sie eine IAM-Rolle für Ihr CodeBuild Projekt, indem Sie den Anweisungen [Erlauben CodeBuild Sie die Interaktion mit anderen Diensten AWS](setting-up-service-role.md) für Ihr CodeBuild Projekt folgen.

1. Folgen Sie den Anweisungen und fügen Sie Ihrer CodeBuild Projektrolle die folgende IAM-Richtlinie hinzu, um Zugriff auf die Verbindung zu gewähren.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "codeconnections:GetConnectionToken",
                   "codeconnections:GetConnection"
               ],
               "Resource": [
                   "arn:aws:iam::*:role/Service*"
               ]
           }
       ]
   }
   ```

------

## Schritt 3: Konfigurieren Sie CodeBuild , um die neue Verbindung zu verwenden
<a name="connections-bitbucket-account-credential"></a>

Sie können eine Verbindung als Anmeldeinformationen auf Kontoebene konfigurieren und sie in einem Projekt verwenden.

------
#### [ AWS-Managementkonsole ]

**Um eine Verbindung als Anmeldeinformationen auf Kontoebene zu konfigurieren, finden Sie im AWS-Managementkonsole**

1. Wählen Sie für **Source provider (Quellanbieter)** die Option **Bitbucket** aus. 

1. Führen Sie für **Credential** einen der folgenden Schritte aus:
   + Wählen Sie **Standard-Quellanmeldedaten**, um die Standard-Quellanmeldedaten Ihres Kontos für alle Projekte zu verwenden.

     1. Wenn du nicht mit Bitbucket verbunden bist, wähle **Standard-Quellanmeldedaten verwalten**.

     1. Wähle als **Anmeldeinformationstyp** die Option. **CodeConnections**

     1. Wählen Sie unter **Verbindung** aus, ob Sie eine bestehende Verbindung verwenden oder eine neue Verbindung erstellen möchten.
   + Wählen Sie **Benutzerdefinierte Quellanmeldedaten**, um benutzerdefinierte Quellanmeldedaten zu verwenden, um die Standardeinstellungen Ihres Kontos zu überschreiben.

     1. Wählen Sie als **Anmeldeinformationstyp** die Option. **CodeConnections**

     1. Wählen Sie unter **Verbindung** aus, ob Sie eine bestehende Verbindung verwenden oder eine neue Verbindung erstellen möchten.

------
#### [ AWS CLI ]

**Um eine Verbindung als Anmeldeinformationen auf Kontoebene zu konfigurieren, finden Sie im AWS CLI**
+ Öffnen Sie die Eingabeaufforderung (Windows) oder das Terminal (Linux, macOS oder Unix). Verwenden Sie den AWS CLI , um den **import-source-credentials** Befehl auszuführen, und geben Sie dabei `--auth-type``--server-type`, und `--token` für Ihre Verbindung an.

  Verwenden Sie den folgenden Befehl:

  ```
  aws codebuild import-source-credentials --auth-type CODECONNECTIONS --server-type BITBUCKET --token <connection-arn>
  ```

------

Weitere Informationen zum Einrichten mehrerer Token in Ihrem CodeBuild Projekt finden Sie unter[Konfigurieren Sie mehrere Token als Anmeldeinformationen auf Quellenebene](multiple-access-tokens.md#asm-source-credential).

# Passwort oder Zugriffstoken für die Bitbucket-App
<a name="access-tokens-bitbucket"></a>

## Voraussetzungen
<a name="access-tokens-bitbucket-prerequisites"></a>

Bevor du anfängst, musst du deinem Bitbucket-App-Passwort oder Zugriffstoken die richtigen Berechtigungsbereiche hinzufügen. 

Für Bitbucket muss dein App-Passwort oder dein Zugriffstoken die folgenden Bereiche haben. 
+ **repository:read** gewährt Lesezugriff auf alle Repositorys, auf die der autorisierende Benutzer Zugriff hat. 
+ **pullrequest:read** gewährt Lesezugriff auf Pull-Anforderungen. Wenn dein Projekt einen Bitbucket-Webhook hat, muss dein App-Passwort oder dein Zugriffstoken diesen Bereich haben. 
+ **webhook** gewährt Zugriff auf Webhooks. Wenn dein Projekt über einen Webhook-Vorgang verfügt, muss dein App-Passwort oder dein Zugriffstoken diesen Bereich haben. 
+ **Konto**: Gewährt Lesezugriff auf die Kontoinformationen des Benutzers.

Weitere Informationen findest du unter [Bereiche für die Bitbucket Cloud REST API](https://developer.atlassian.com/cloud/bitbucket/bitbucket-cloud-rest-api-scopes/) und [OAuth auf Bitbucket Cloud auf der Bitbucket-Website](https://confluence.atlassian.com/bitbucket/oauth-on-bitbucket-cloud-238027431.html).

## Bitbucket mit einem App-Passwort Connect (Konsole)
<a name="access-tokens-bitbucket-password-console"></a>

Um dein Projekt mithilfe eines App-Passworts über die Konsole mit Bitbucket zu verbinden, gehe beim Erstellen eines Projekts wie folgt vor. Weitere Informationen finden Sie unter [Erstellen Sie ein Build-Projekt (Konsole)](create-project.md#create-project-console). 

1. Wählen Sie für **Source provider (Quellanbieter)** die Option **Bitbucket** aus. 

1. Führe für **Credential** einen der folgenden Schritte aus:
   + Wählen Sie, ob Sie Kontoanmeldedaten verwenden möchten, um die standardmäßigen Quellanmeldedaten Ihres Kontos auf alle Projekte anzuwenden.

     1. Wenn du nicht mit Bitbucket verbunden bist, wähle **Kontoanmeldedaten verwalten**.

     1. **Wähle als **Anmeldeinformationstyp** die Option App-Passwort aus.**
   + Wenn Sie sich dafür entschieden haben, Anmeldeinformationen auf Kontoebene für den **Dienst** zu verwenden, wählen Sie aus, welchen Dienst Sie zum Speichern Ihres Tokens verwenden möchten, und gehen Sie wie folgt vor:

     1. Wenn Sie **Secrets Manager** verwenden möchten, können Sie eine bestehende geheime Verbindung verwenden oder ein neues Geheimnis erstellen und dann **Speichern** wählen. Weitere Informationen zum Erstellen eines neuen Secrets finden Sie unter[Erstellen und speichern Sie ein Token in einem Secrets Manager Manager-Secret](asm-create-secret.md).

     1. Wenn du dich für die Verwendung entscheidest **CodeBuild**, gib deinen Bitbucket-Nutzernamen und dein App-Passwort ein und wähle dann **Speichern**.
   + Wähle „**Anmeldedaten nur für dieses Projekt außer Kraft setzen**“, um benutzerdefinierte Quellanmeldedaten zu verwenden, um die Einstellungen für die Anmeldeinformationen deines Accounts zu überschreiben.

     1. **Wählen Sie aus der Liste mit den Anmeldeinformationen eine der Optionen unter App-Passwort aus.**

     1. Sie können auch ein neues App-Passwort-Token **erstellen, indem Sie in der Beschreibung die Option Neue App-Passwortverbindung** erstellen auswählen.

## Connect Bitbucket mit einem Zugriffstoken (Konsole)
<a name="access-tokens-bitbucket-console"></a>

Um dein Projekt mithilfe eines Zugriffstoken über die Konsole mit Bitbucket zu verbinden, gehe beim Erstellen eines Projekts wie folgt vor. Weitere Informationen finden Sie unter [Erstellen Sie ein Build-Projekt (Konsole)](create-project.md#create-project-console). 

1. Wählen Sie für **Source provider (Quellanbieter)** die Option **Bitbucket** aus. 

1. Führe für **Credential** einen der folgenden Schritte aus:
   + Wählen Sie, ob Sie Kontoanmeldedaten verwenden möchten, um die standardmäßigen Quellanmeldedaten Ihres Kontos auf alle Projekte anzuwenden.

     1. Wenn du nicht mit Bitbucket verbunden bist, wähle **Kontoanmeldedaten verwalten**.

     1. Wähle als **Anmeldeinformationstyp** die Option **Persönliches** Zugriffstoken aus.
   + Wenn Sie sich dafür entschieden haben, Anmeldeinformationen auf Kontoebene für **Service** zu verwenden, wählen Sie aus, welchen Dienst Sie zum Speichern Ihres Tokens verwenden möchten, und gehen Sie wie folgt vor:

     1. Wenn Sie **Secrets Manager** verwenden möchten, können Sie eine bestehende geheime Verbindung verwenden oder ein neues Geheimnis erstellen und dann **Speichern** wählen. Weitere Informationen zum Erstellen eines neuen Secrets finden Sie unter[Erstellen und speichern Sie ein Token in einem Secrets Manager Manager-Secret](asm-create-secret.md).

     1. Wenn du dich für die Verwendung **CodeBuild**entscheidest, gib dein persönliches Bitbucket-Zugriffstoken ein und wähle dann **Speichern**.
   + Wähle „**Nur für dieses Projekt überschreibende Anmeldeinformationen verwenden**“ aus, um benutzerdefinierte Quellanmeldedaten zu verwenden, um die Einstellungen für die Anmeldeinformationen deines Accounts zu überschreiben.

     1. Wählen Sie aus der Liste mit den Anmeldeinformationen eine der Optionen unter **Persönliches** Zugriffstoken aus.

     1. Sie können auch ein neues persönliches Zugriffstoken erstellen, indem Sie in der Beschreibung die Option **Neue Verbindung mit einem persönlichen Zugriffstoken erstellen** auswählen.

## Connect Bitbucket mit einem App-Passwort oder einem Zugriffstoken (CLI)
<a name="access-tokens-bitbucket-cli"></a>

Folge diesen Schritten, um dein Projekt mithilfe eines App-Passworts oder Zugriffstoken mit Bitbucket zu verbinden. AWS CLI Informationen zur Verwendung von AWS CLI with findest AWS CodeBuild du unter[Befehlszeilenreferenz](cmd-ref.md). 

1. Führen Sie den Befehl **import-source-credentials** aus: 

   ```
   aws codebuild import-source-credentials --generate-cli-skeleton
   ```

   Daten im JSON-Format werden in der Ausgabe angezeigt. Kopieren Sie die Daten in eine Datei (z. B.`import-source-credentials.json`) an einem Speicherort auf dem lokalen Computer oder in der Instanz, in der der installiert AWS CLI ist. Ändern Sie die kopierten Daten wie im Folgenden dargestellt und speichern Sie die Ergebnisse. 

   ```
   {
       "serverType": "BITBUCKET",
       "authType": "auth-type",
       "shouldOverwrite": "should-overwrite",
       "token": "token",
       "username": "username"
       }
   ```

   Ersetzen Sie Folgendes: 
   + *server-type*: Erforderlicher Wert. Der Quellanbieter für diese Anmeldeinformationen. Gültige Werte sind GITHUB, BITBUCKET, GITHUB\$1ENTERPRISE, GITLAB und GITLAB\$1SELF\$1MANAGED.
   + *auth-type*: Erforderlicher Wert. Der Authentifizierungstyp, der für die Verbindung mit einem Repository verwendet wird. Gültige Werte sind OAUTH, BASIC\$1AUTH, PERSONAL\$1ACCESS\$1TOKEN, CODECONNECTIONS und SECRETS\$1MANAGER. GitHubDenn nur PERSONAL\$1ACCESS\$1TOKEN ist zulässig. BASIC\$1AUTH ist nur mit einem Passwort für die Bitbucket-App erlaubt.
   + *should-overwrite*: Optionaler Wert. Setzen Sie diesen auf `false`, um zu verhindern, dass die Repository-Quellanmeldeinformationen überschrieben werden. Legen Sie den Wert auf `true` fest, um die Repository-Quellanmeldeinformationen zu überschreiben. Der Standardwert ist `true`.
   + *token*: Erforderlicher Wert. Für GitHub unseren GitHub Enterprise Server ist dies das persönliche Zugriffstoken. Für Bitbucket ist dies das persönliche Zugriffstoken oder das App-Passwort. Für den Authentifizierungstyp CODECONNECTIONS ist dies der Verbindungs-ARN. Für den Authentifizierungstyp SECRETS\$1MANAGER ist dies der geheime ARN.
   + *username*: Optionaler Wert. Dieser Parameter wird für GitHub GitHub Enterprise Server-Quellanbieter ignoriert. 

1. Um Ihr Konto mit einem App-Passwort oder einem Zugriffstoken zu verbinden, wechseln Sie zu dem Verzeichnis, das die in Schritt 1 gespeicherte `import-source-credentials.json` Datei enthält, und führen Sie den **import-source-credentials** Befehl erneut aus. 

   ```
   aws codebuild import-source-credentials --cli-input-json file://import-source-credentials.json
   ```

   Daten im JSON-Format werden in der Ausgabe mit einem Amazon-Ressourcennamen (ARN) angezeigt. 

   ```
   {
       "arn": "arn:aws:codebuild:region:account-id:token/server-type"
       }
   ```
**Anmerkung**  
Wenn Sie den Befehl **import-source-credentials** mit demselben Server- und Auth-Typ ein zweites Mal ausführen, wird das gespeicherte Zugriffstoken aktualisiert. 

   Nachdem Ihr Konto mit einem App-Passwort verbunden wurde, können Sie es verwenden, `create-project` um Ihr CodeBuild Projekt zu erstellen. Weitere Informationen finden Sie unter [Erstellen eines Build-Projekts (AWS CLI)](create-project.md#create-project-cli). 

1. Führen Sie den **list-source-credentials** Befehl aus, um die Passwörter oder Zugriffstoken der verbundenen Apps anzuzeigen. 

   ```
   aws codebuild list-source-credentials
   ```

   Ein Objekt vom Typ `sourceCredentialsInfos` wird im JSON-Format in der Ausgabe angezeigt: 

   ```
   {
           "sourceCredentialsInfos": [
               {
                   "authType": "auth-type",
                   "serverType": "BITBUCKET", 
                   "arn": "arn"
               }
           ]
       }
   ```

   `sourceCredentialsObject` enthält eine Liste der verbundenen Quell-Anmeldeinformationen: 
   + `authType` ist der Typ der Authentifizierung für die Anmeldeinformationen. Dies kann`OAUTH`,`BASIC_AUTH`, `PERSONAL_ACCESS_TOKEN``CODECONNECTIONS`, oder sein`SECRETS_MANAGER`. 
   + `serverType` ist der Typ des Quellanbieters. Das kann`GITHUB`,`GITHUB_ENTERPRISE`, `BITBUCKET``GITLAB`, oder sein`GITLAB_SELF_MANAGED`. 
   + `arn` ist der ARN des Tokens. 

1. Um die Verbindung zu einem Quellanbieter zu trennen und dessen App-Passwort oder Zugriffstoken zu entfernen, führen Sie den **delete-source-credentials** Befehl mit seinem ARN aus. 

   ```
   aws codebuild delete-source-credentials --arn arn-of-your-credentials
   ```

   Die Ausgabe im JSON-Format enthält einen ARN der gelöschten Anmeldeinformationen. 

   ```
   {
       "arn": "arn:aws:codebuild:region:account-id:token/server-type"
       }
   ```

# Bitbucket-App OAuth
<a name="oauth-app-bitbucket"></a>

## Connect Bitbucket mit OAuth (Konsole)
<a name="oauth-app-bitbucket-console"></a>

Um dein Projekt mithilfe einer OAuth App über die Konsole mit Bitbucket zu verbinden, gehe wie folgt vor, wenn du ein Projekt erstellst. Weitere Informationen finden Sie unter [Erstellen Sie ein Build-Projekt (Konsole)](create-project.md#create-project-console). 

1. Wählen Sie für **Source provider (Quellanbieter)** die Option **Bitbucket** aus. 

1. Führe für **Credential** einen der folgenden Schritte aus:
   + Wählen Sie, ob Sie Kontoanmeldedaten verwenden möchten, um die standardmäßigen Quellanmeldedaten Ihres Kontos auf alle Projekte anzuwenden.

     1. Wenn du nicht mit Bitbucket verbunden bist, wähle **Kontoanmeldedaten verwalten**.

     1. **Wähle als **Anmeldeinformationstyp App** aus. OAuth **
   + Wenn Sie Anmeldeinformationen auf Kontoebene für **Service** verwenden möchten, wählen Sie aus, welchen Dienst Sie zum Speichern Ihres Tokens verwenden möchten, und gehen Sie wie folgt vor:

     1. Wenn Sie **Secrets Manager** verwenden möchten, können Sie eine bestehende geheime Verbindung verwenden oder ein neues Geheimnis erstellen und dann **Speichern** wählen. Weitere Informationen zum Erstellen eines neuen Secrets finden Sie unter[Erstellen und speichern Sie ein Token in einem Secrets Manager Manager-Secret](asm-create-secret.md).

     1. Wenn Sie sich für die Verwendung **CodeBuild**und anschließend für **Speichern** entscheiden.
   + Wählen Sie **Überschreibungsanmeldedaten nur für dieses Projekt** verwenden aus, um benutzerdefinierte Quellanmeldedaten zu verwenden, um die Anmeldeinformationen Ihres Kontos zu überschreiben.

     1. **Wählen Sie aus der Liste mit den Anmeldeinformationen eine der Optionen unter App aus. OAuth **

     1. Sie können auch **ein neues OAuth App-Token erstellen, indem Sie in der Beschreibung die Option Neue Oauth-App-Token-Verbindung** erstellen auswählen.

Um deine autorisierten OAuth Apps zu überprüfen, navigiere zu [Anwendungsautorisierungen](https://bitbucket.org/account/settings/app-authorizations/) auf Bitbucket und vergewissere dich, dass eine Anwendung mit dem Namen aufgeführt ist. `AWS CodeBuild (region)` 

# GitLab Zugriff in CodeBuild
<a name="access-tokens-gitlab-overview"></a>

Denn Sie verwenden eine GitLab Verbindung GitLab, um auf den Quellanbieter zuzugreifen.

**Topics**
+ [Connect CodeBuild GitLab](#connections-gitlab)

## Connect CodeBuild GitLab
<a name="connections-gitlab"></a>

Mithilfe von Verbindungen können Sie Konfigurationen autorisieren und einrichten, die Ihren Drittanbieter mit Ihren AWS Ressourcen verknüpfen. AWS CodeConnections Um Ihr Drittanbieter-Repository als Quelle für Ihr Build-Projekt zuzuordnen, verwenden Sie eine Verbindung. 

Um einen GitLab oder einen GitLab selbst verwalteten Quellanbieter hinzuzufügen CodeBuild, können Sie zwischen folgenden Optionen wählen: 
+ Verwenden Sie in der CodeBuild Konsole den Assistenten zum **Erstellen eines Build-Projekts** oder auf der Seite **„Quelle bearbeiten**“, um die Option **GitLab**oder **GitLab Self Managed** Provider auszuwählen. Informationen [Stellen Sie eine Verbindung zu GitLab (Konsole) her](#connections-gitlab-console) zum Hinzufügen des Quellanbieters finden Sie unter. Die Konsole hilft Ihnen beim Erstellen einer Verbindungsressource.
+ Verwenden Sie die CLI, um Ihre Verbindungsressourcen zu erstellen. Weitere Informationen finden Sie unter [Verbindung herstellen zu GitLab (CLI)](#connections-gitlab-cli) So erstellen Sie eine Verbindungsressource mit der CLI.

**Anmerkung**  
Sie können eine Verbindung auch mithilfe der Developer Tools-Konsole unter **Einstellungen** herstellen. Weitere Informationen finden [Sie unter Verbindung erstellen](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-create.html).

**Anmerkung**  
Indem Sie diese Verbindungsinstallation in autorisieren GitLab, gewähren Sie unserem Service die Erlaubnis, Ihre Daten zu verarbeiten, indem Sie auf Ihr Konto zugreifen. Sie können die Berechtigungen jederzeit widerrufen, indem Sie die Anwendung deinstallieren.

### Stellen Sie eine Verbindung her zu GitLab
<a name="connections-gitlab-create"></a>

In diesem Abschnitt wird beschrieben, wie Sie eine Verbindung GitLab zu herstellen CodeBuild. Weitere Informationen zu GitLab -Verbindungen finden Sie unter [Connect CodeBuild GitLab](#connections-gitlab).

Bevor Sie beginnen:
+ Sie müssen bereits ein Konto bei erstellt haben GitLab.
**Anmerkung**  
Verbindungen bieten nur Zugriff auf Repositorys, die dem Konto gehören, das zum Erstellen und Autorisieren der Verbindung verwendet wurde. 
**Anmerkung**  
Sie können Verbindungen zu einem Repository herstellen GitLab, in dem Sie die Rolle des **Besitzers** haben, und dann kann die Verbindung mit dem Repository mit Ressourcen wie verwendet werden CodeBuild. Bei Repositorys in Gruppen müssen Sie nicht der Gruppenbesitzer sein.
+ Um eine Quelle für Ihr Build-Projekt anzugeben, müssen Sie bereits ein Repository für erstellt haben GitLab.

**Topics**
+ [Stellen Sie eine Verbindung zu GitLab (Konsole) her](#connections-gitlab-console)
+ [Verbindung herstellen zu GitLab (CLI)](#connections-gitlab-cli)

#### Stellen Sie eine Verbindung zu GitLab (Konsole) her
<a name="connections-gitlab-console"></a>

Gehen Sie wie folgt vor, um mithilfe der CodeBuild Konsole eine Verbindung für Ihr Projekt (Repository) hinzuzufügen GitLab.

**Anmerkung**  
Anstatt eine bestehende Verbindung in Ihrem Konto zu erstellen oder zu verwenden, können Sie eine Verbindung verwenden, die von einem anderen AWS Konto gemeinsam genutzt wird. Weitere Informationen finden Sie unter [Verbindungen mit AWS Konten teilen](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-share.html).

**So erstellen oder bearbeiten Sie Ihr Build-Projekt**

1. Melden Sie sich bei der CodeBuild Konsole an.

1. Wählen Sie eine der folgenden Optionen aus.
   + Wählen Sie, ob Sie ein Build-Projekt erstellen möchten. Folgen Sie den Anweisungen unter[Erstellen Sie ein Build-Projekt (Konsole)](create-project.md#create-project-console), um den ersten Bildschirm auszufüllen, und wählen Sie im Abschnitt **Quelle** **unter Quellanbieter** die Option **GitLab**.
   + Wählen Sie, ob Sie ein vorhandenes Build-Projekt bearbeiten möchten. Wählen Sie **„Bearbeiten“** und dann „**Quelle**“. Wählen Sie auf der Seite **„Quelle bearbeiten**“ unter **Quellanbieter** die Option **GitLab**.

1. Wählen Sie eine der folgenden Optionen:
   + Wählen Sie unter **Verbindung** die Option **Standardverbindung** aus. Standardverbindung wendet eine GitLab Standardverbindung für alle Projekte an.
   + Wählen Sie unter **Verbindung** die Option **Benutzerdefinierte Verbindung** aus. Benutzerdefinierte Verbindung wendet eine benutzerdefinierte GitLab Verbindung an, die die Standardeinstellungen Ihres Kontos überschreibt.

1. Führen Sie eine der folgenden Aktionen aus:
   + Wenn Sie noch keine **Verbindung zu Ihrem Anbieter hergestellt haben, wählen Sie unter **Standardverbindung** oder Benutzerdefinierte** Verbindung die Option **Neue GitLab Verbindung erstellen** aus. Fahren Sie mit Schritt 5 fort, um die Verbindung herzustellen.
   + Wenn Sie unter **Verbindung** bereits eine Verbindung zu Ihrem Anbieter hergestellt haben, wählen Sie die Verbindung aus. Fahren Sie mit Schritt 10 fort.
**Anmerkung**  
Wenn Sie das Popup-Fenster schließen, bevor eine GitLab Verbindung hergestellt wurde, müssen Sie die Seite aktualisieren.

1. Um eine Verbindung zu einem GitLab Repository herzustellen, **wählen Sie unter Anbieter** auswählen die Option **GitLab**. Geben Sie unter **Connection name (Verbindungsname)** den Namen für die Verbindung ein, die Sie erstellen möchten. Wählen Sie **Connect to GitLab**.  
![\[Konsolen-Screenshot mit der ausgewählten Verbindungsoption für GitLab.\]](http://docs.aws.amazon.com/de_de/codebuild/latest/userguide/images/connections-create-gitlab.png)

1. Wenn die Anmeldeseite für GitLab angezeigt wird, melden Sie sich mit Ihren Anmeldeinformationen an und wählen Sie dann **Anmelden** aus.

1. Wenn Sie die Verbindung zum ersten Mal autorisieren, wird eine Autorisierungsseite mit einer Meldung angezeigt, in der Sie aufgefordert werden, die Verbindung für den Zugriff auf Ihr GitLab Konto zu autorisieren.

   Klicken Sie auf **Authorize**.  
![\[Screenshot mit der Nachricht zur Autorisierung der Verbindung für Ihr GitLab Konto.\]](http://docs.aws.amazon.com/de_de/codebuild/latest/userguide/images/gitlab-authorization.png)

1. Der Browser kehrt zur Seite der Verbindungskonsole zurück. Unter **GitLab Verbindungseinstellungen** wird die neue Verbindung unter **Verbindungsname** angezeigt.

1. Wählen Sie **Connect** aus.

   Nachdem eine GitLab Verbindung erfolgreich hergestellt wurde, wird oben ein Erfolgsbanner angezeigt. 

1. Vergewissern Sie sich, dass auf der Seite **Build-Projekt erstellen** in der Dropdownliste **Standardverbindung** **oder Benutzerdefinierte** Verbindung Ihr Verbindungs-ARN aufgeführt ist. Falls nicht, klicken Sie auf die Schaltfläche „Aktualisieren“, damit sie angezeigt wird.

1. Wählen Sie im **Repository** den Namen Ihres Projekts aus, GitLab indem Sie den Projektpfad mit dem Namespace angeben. Geben Sie beispielsweise für ein Repository auf Gruppenebene den Repository-Namen im folgenden Format ein:. `group-name/repository-name` [Weitere Informationen über den Pfad und den Namespace finden Sie in dem `path_with_namespace` Feld in api/projects.html\$1. https://docs.gitlab.com/ee/ get-single-project](https://docs.gitlab.com/ee/api/projects.html#get-single-project) [Weitere Informationen zum Namespace in finden Sie unter user/namespace/. GitLab https://docs.gitlab.com/ee/](https://docs.gitlab.com/ee/user/namespace/)
**Anmerkung**  
Für Gruppen in müssen Sie den GitLab Projektpfad mit dem Namespace manuell angeben. Geben Sie beispielsweise für ein Repository, das `myrepo` in einer Gruppe benannt ist`mygroup`, Folgendes ein:`mygroup/myrepo`. Sie finden den Projektpfad mit dem Namespace in der URL unter. GitLab

   

1. Geben Sie im Feld **Quellversion — optional** eine Pull-Request-ID, einen Branch, eine Commit-ID, ein Tag oder eine Referenz und eine Commit-ID ein. Weitere Informationen finden Sie unter [Beispiel für eine Quellversion mit AWS CodeBuild](sample-source-version.md).
**Anmerkung**  
Wir empfehlen, Git-Branchnamen zu wählen, die nicht wie Commit aussehen IDs, wie zum Beispiel `811dd1ba1aba14473856cee38308caed7190c0d` oder`5392f7`. Dies hilft dir dabei, Git-Checkout-Kollisionen mit tatsächlichen Commits zu vermeiden.

   

1. In **Git clone depth — optional** kannst du einen Shallow Clone erstellen, dessen Verlauf auf die angegebene Anzahl von Commits gekürzt ist. Wenn Sie einen vollständigen Klon erstellen möchten, wählen Sie **Full (Vollständig)** aus.

1. Wähle **unter Build-Status — optional** die Option **Build-Status beim Start und Ende deiner Builds an den Quellanbieter melden**, wenn du möchtest, dass der Status von Beginn und Abschluss deines Builds deinem Quellanbieter gemeldet wird.

   Um dem Quellanbieter den Buildstatus melden zu können, muss der mit dem Quellanbieter verknüpfte Benutzer Schreibzugriff auf das Repository haben. Wenn der Benutzer keinen Schreibzugriff hat, kann der Build-Status nicht aktualisiert werden. Weitere Informationen finden Sie unter [Zugriff auf den Quellanbieter](access-tokens.md).

#### Verbindung herstellen zu GitLab (CLI)
<a name="connections-gitlab-cli"></a>

Sie können das AWS Command Line Interface (AWS CLI) verwenden, um eine Verbindung herzustellen. 

Verwenden Sie dazu den Befehl **create-connection**. 

**Wichtig**  
Eine Verbindung, die über AWS CLI oder AWS CloudFormation erstellt wurde, hat standardmäßig `PENDING` den Status. Nachdem Sie eine Verbindung mit der CLI hergestellt haben oder verwenden Sie die Konsole CloudFormation, um die Verbindung so zu bearbeiten, dass sie ihren Status festlegt`AVAILABLE`.

**So stellen Sie eine Verbindung her**
+ Folgen Sie den Anweisungen im *Benutzerhandbuch der Developer Tools-Konsole* für [Create a connection to GitLab (CLI)](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-create-gitlab.html#connections-create-gitlab-cli).

# Serviceübergreifende Confused-Deputy-Prävention
<a name="cross-service-confused-deputy-prevention"></a>

Das Confused-Deputy-Problem ist ein Sicherheitsproblem, bei dem eine juristische Stelle, die nicht über die Berechtigung zum Ausführen einer Aktion verfügt, eine privilegiertere juristische Stelle zwingen kann, die Aktion auszuführen. In AWS kann ein dienstübergreifendes Identitätswechsels zu dem Problem mit dem verwirrten Stellvertreter führen. Ein dienstübergreifender Identitätswechsel kann auftreten, wenn ein Dienst (der *Anruf-Dienst*) einen anderen Dienst anruft (den *aufgerufenen Dienst*). Der aufrufende Service kann manipuliert werden, um seine Berechtigungen zu verwenden, um Aktionen auf die Ressourcen eines anderen Kunden auszuführen, für die er sonst keine Zugriffsberechtigung haben sollte. Um dies zu verhindern, bietet AWS Tools, mit denen Sie Ihre Daten für alle Services mit Serviceprinzipalen schützen können, die Zugriff auf Ressourcen in Ihrem Konto erhalten haben. 

Wir empfehlen, die Kontextschlüssel [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn)und die [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount)globalen Bedingungsschlüssel in Ressourcenrichtlinien zu verwenden, um die Berechtigungen einzuschränken, die der AWS CodeBuild Ressource einen anderen Dienst gewähren. Verwenden Sie `aws:SourceArn`, wenn Sie nur eine Ressource mit dem betriebsübergreifenden Zugriff verknüpfen möchten. Verwenden Sie `aws:SourceAccount`, wenn Sie zulassen möchten, dass Ressourcen in diesem Konto mit der betriebsübergreifenden Verwendung verknüpft werden.

Der effektivste Weg, um sich vor dem Confused-Deputy-Problem zu schützen, ist die Verwendung des globalen Bedingungskontext-Schlüssels `aws:SourceArn` mit dem vollständigen ARN der Ressource. Wenn Sie den vollständigen ARN der Ressource nicht kennen oder wenn Sie mehrere Ressourcen angeben, verwenden Sie den globalen Kontextbedingungsschlüssel `aws:SourceArn` mit Platzhalterzeichen (`*`) für die unbekannten Teile des ARN. Beispiel, `arn:aws:codebuild:*:123456789012:*`. 

Wenn der `aws:SourceArn`-Wert die Konto-ID nicht enthält, z. B. einen Amazon-S3-Bucket-ARN, müssen Sie beide globale Bedingungskontextschlüssel verwenden, um Berechtigungen einzuschränken. 

Der Wert von `aws:SourceArn` muss der CodeBuild Projekt-ARN sein.

Das folgende Beispiel zeigt, wie Sie die Kontextschlüssel `aws:SourceArn` und die `aws:SourceAccount` globale Bedingung verwenden können, CodeBuild um das Problem des verwirrten Stellvertreters zu vermeiden.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "codebuild.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceArn": "arn:aws:codebuild:us-east-1:111122223333:project/MyProject"
                }
            }
        }
    ]
}
```

------