

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.

# Privates Register mit AWS Secrets Manager Muster für CodeBuild
<a name="sample-private-registry"></a>

 Dieses Beispiel zeigt Ihnen, wie Sie ein Docker-Image, das in einer privaten Registry gespeichert ist, als Ihre AWS CodeBuild Laufzeitumgebung verwenden. Die Anmeldeinformationen für die private Registrierung sind in AWS Secrets Manager gespeichert. Jede private Registrierung funktioniert mit CodeBuild. In diesem Beispiel wird Docker Hub verwendet. 

**Anmerkung**  
Geheimnisse sind für Aktionen sichtbar und werden nicht maskiert, wenn sie in eine Datei geschrieben werden.

**Topics**
+ [

## Anforderungen für ein Beispiel einer privaten Registrierung
](#sample-private-registry-requirements)
+ [

# Erstellen Sie ein CodeBuild Projekt mit einer privaten Registrierung
](private-registry-sample-create-project.md)
+ [

# Konfigurieren Sie private Registrierungsdaten für selbst gehostete Runner
](private-registry-sample-configure-runners.md)

## Anforderungen für ein Beispiel einer privaten Registrierung
<a name="sample-private-registry-requirements"></a>

 Um eine private Registrierung mit verwenden zu können AWS CodeBuild, müssen Sie über Folgendes verfügen: 
+  Ein Secrets Manager Manager-Geheimnis, das Ihre Docker Hub-Anmeldeinformationen speichert. Die Anmeldeinformationen werden für den Zugriff auf Ihr privates Repository verwendet. 
**Anmerkung**  
Die von Ihnen erstellten Geheimnisse werden Ihnen in Rechnung gestellt.
+  Ein privates Repository oder Konto. 
+  Eine IAM-Richtlinie für eine CodeBuild Servicerolle, die Zugriff auf Ihr Secrets Manager Manager-Geheimnis gewährt. 

 Gehen Sie wie folgt vor, um diese Ressourcen zu erstellen, und erstellen Sie dann ein CodeBuild Build-Projekt mit den Docker-Images, die in Ihrer privaten Registrierung gespeichert sind. 

# Erstellen Sie ein CodeBuild Projekt mit einer privaten Registrierung
<a name="private-registry-sample-create-project"></a>

1. Weitere Informationen dazu, wie Sie ein kostenloses privates Repository erstellen, finden Sie unter [Repositories on Docker Hub](https://docs.docker.com/docker-hub/repos/) Sie können auch die folgenden Befehle in einem Terminal ausführen, um eine Pull-Übertragung eines Images durchzuführen, seine ID abzurufen und es in ein neues Repository zu verschieben. 

   ```
   docker pull amazonlinux
   docker images amazonlinux --format {{.ID}}
   docker tag image-id your-username/repository-name:tag
   docker login
   docker push your-username/repository-name
   ```

1.  Folgen Sie den Schritten [unter Ein AWS Secrets Manager Geheimnis erstellen](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html) im *AWS Secrets Manager Benutzerhandbuch*.

   

   1.  Wählen Sie in Schritt 3 unter **Geheimtyp auswählen** die Option **Anderer Geheimtyp aus**. 

   1. Erstellen Sie **unter Schlüssel/Wert-Paare** ein Schlüssel-Wert-Paar für Ihren Docker Hub-Benutzernamen und ein Schlüssel-Wert-Paar für Ihr Docker Hub-Passwort. 

   1.  [Folgen Sie weiterhin den Schritten unter Create an Secret. AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html) 

   1.  Deaktivieren Sie sie in Schritt 5 auf der Seite **Automatische Rotation konfigurieren**, da die Schlüssel Ihren Docker Hub-Anmeldeinformationen entsprechen. 

   1.  Folgen Sie abschließend den Schritten unter [Create an AWS Secrets Manager Secret](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html). 

    Weitere Informationen finden Sie unter [Was ist AWS Secrets Manager?](https://docs.aws.amazon.com/secretsmanager/latest/userguide/) 

1.  Wenn Sie ein AWS CodeBuild Projekt in der Konsole erstellen, CodeBuild hängt es die für Sie erforderlichen Berechtigungen an. Wenn Sie einen anderen AWS KMS Schlüssel als verwenden`DefaultEncryptionKey`, müssen Sie ihn der Servicerolle hinzufügen. Weitere Informationen finden Sie unter [Ändern einer Rolle (Konsole)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_modify.html#roles-managingrole-editing-console) im *IAM-Benutzerhandbuch*. 

    Damit Ihre Servicerolle mit Secrets Manager funktioniert, muss sie mindestens über die `secretsmanager:GetSecretValue` entsprechende Berechtigung verfügen.   
![\[Die Konfiguration der Servicerolle.\]](http://docs.aws.amazon.com/de_de/codebuild/latest/userguide/images/private-registry-sample-iam.png)

1.  Um die Konsole für die Erstellung eines Projekts zu verwenden, dessen Umgebung in einer privaten Registrierung gespeichert ist, gehen Sie während der Projekterstellung wie folgt vor: Weitere Informationen finden Sie unter [Erstellen Sie ein Build-Projekt (Konsole)](create-project.md#create-project-console). 
**Anmerkung**  
 Wenn sich Ihre private Registrierung in Ihrer VPC befindet, muss sie über einen öffentlichen Internetzugang verfügen. CodeBuild kann kein Image von einer privaten IP-Adresse in einer VPC abrufen. 

   1.  Wählen Sie unter **Umgebungsbild** die Option **Benutzerdefiniertes Bild** aus. 

   1.  Wählen Sie für **Environment type** (Umgebungsart) die Option **Linux** oder **Windows** aus. 

   1.  Wählen Sie für **Image-Registrierung** die Option **Andere Registrierung** aus. 

   1.  Geben Sie **unter Externe Registrierungs-URL** den Speicherort des Images und in **Registrierungsanmeldedaten — optional** den ARN oder den Namen Ihrer Secrets Manager Manager-Anmeldeinformationen ein.
**Anmerkung**  
 Wenn Ihre Anmeldeinformationen nicht in Ihrer aktuellen Region vorhanden sind, müssen Sie den ARN verwenden. Sie können den Namen der Anmeldeinformationen nicht verwenden, wenn die Anmeldeinformationen in einer anderen Region existieren. 

# Konfigurieren Sie private Registrierungsdaten für selbst gehostete Runner
<a name="private-registry-sample-configure-runners"></a>

Verwenden Sie die folgenden Anweisungen, um Registrierungsdaten für einen selbst gehosteten Runner zu konfigurieren.

**Anmerkung**  
Beachten Sie, dass diese Anmeldeinformationen nur verwendet werden, wenn die Images mit denen aus privaten Registern überschrieben werden. 

------
#### [ AWS Management Console ]

1. [Öffnen Sie die AWS CodeBuild Konsole unter codebuild/home. https://console.aws.amazon.com/codesuite/](https://console.aws.amazon.com/codesuite/codebuild/home)

1. Erstellen Sie ein Build-Projekt oder wählen Sie ein vorhandenes Projekt aus. Weitere Informationen finden Sie unter [Erstellen Sie ein Build-Projekt (Konsole)](create-project.md#create-project-console) und [Ändern der Einstellungen eines Build-Projekts (Konsole)](change-project.md#change-project-console).

1.  Wählen Sie **unter Umgebung** die Option **Zusätzliche Konfiguration** aus. 

1.  Geben Sie **unter Zusätzliche Konfiguration** den Namen oder den ARN des Geheimnisses AWS Secrets Manager für die **Registrierungsdaten ein — optional**.  
![\[Die Konfiguration der Registrierungsanmeldedaten.\]](http://docs.aws.amazon.com/de_de/codebuild/latest/userguide/images/registry-credential.png)

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

1. Wenn Sie ein neues Projekt erstellen möchten, führen Sie den Befehl **create-project** aus.

   ```
   aws codebuild create-project \
       --name project-name \
       --source type=source-type,location=source-location \
       --environment "type=environment-type,image=image,computeType=compute-type,registryCredential={credentialProvider=SECRETS_MANAGER,credential=secret-name-or-arn},imagePullCredentialsType=CODEBUILD|SERVICE_ROLE" \
       --artifacts type=artifacts-type \
       --service-role arn:aws:iam::account-ID:role/service-role/service-role-name
   ```

1. Wenn Sie ein vorhandenes Projekt aktualisieren möchten, führen Sie den Befehl **update-project** aus.

   ```
   aws codebuild update-project \
       --name project-name \
       --environment "type=environment-type,image=image,computeType=compute-type,registryCredential={credentialProvider=SECRETS_MANAGER,credential=secret-name-or-arn}"
   ```

------