

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Registri pribadi dengan AWS Secrets Manager sampel untuk CodeBuild
<a name="sample-private-registry"></a>

 Contoh ini menunjukkan cara menggunakan image Docker yang disimpan dalam registri pribadi sebagai lingkungan AWS CodeBuild runtime Anda. Kredensi untuk registri pribadi disimpan di. AWS Secrets Manager Registri pribadi apa pun berfungsi dengan CodeBuild. Contoh ini menggunakan Docker Hub. 

**catatan**  
Rahasia terlihat oleh tindakan dan tidak disamarkan saat ditulis ke file.

**Topics**
+ [Persyaratan sampel registri pribadi](#sample-private-registry-requirements)
+ [Buat CodeBuild proyek dengan registri pribadi](private-registry-sample-create-project.md)
+ [Konfigurasikan kredenal registri pribadi untuk pelari yang dihosting sendiri](private-registry-sample-configure-runners.md)

## Persyaratan sampel registri pribadi
<a name="sample-private-registry-requirements"></a>

 Untuk menggunakan registri pribadi dengan AWS CodeBuild, Anda harus memiliki yang berikut: 
+  Rahasia Secrets Manager yang menyimpan kredensi Docker Hub Anda. Kredensialnya digunakan untuk mengakses repositori pribadi Anda. 
**catatan**  
Anda akan dikenakan biaya untuk rahasia yang Anda buat.
+  Repositori atau akun pribadi. 
+  Kebijakan IAM peran CodeBuild layanan yang memberikan akses ke rahasia Secrets Manager Anda. 

 Ikuti langkah-langkah ini untuk membuat sumber daya ini dan kemudian membuat proyek CodeBuild build menggunakan gambar Docker yang disimpan di registri pribadi Anda. 

# Buat CodeBuild proyek dengan registri pribadi
<a name="private-registry-sample-create-project"></a>

1. Untuk informasi tentang cara membuat repositori pribadi gratis, lihat [Repositori](https://docs.docker.com/docker-hub/repos/) di Docker Hub. Anda juga dapat menjalankan perintah berikut di terminal untuk menarik gambar, mendapatkan ID-nya, dan mendorongnya ke repositori baru. 

   ```
   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.  Ikuti langkah-langkah di [Buat AWS Secrets Manager rahasia](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html) di *Panduan AWS Secrets Manager Pengguna*.

   

   1.  Pada langkah 3, di **Pilih tipe rahasia**, pilih **Jenis rahasia lainnya**. 

   1. Pada pasangan **kunci/nilai, buat satu pasangan** nilai kunci untuk nama pengguna Docker Hub Anda dan satu pasangan nilai kunci untuk kata sandi Docker Hub Anda. 

   1.  Lanjutkan mengikuti langkah-langkah di [Buat AWS Secrets Manager rahasia](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html). 

   1.  Pada langkah 5, pada halaman **Konfigurasi rotasi otomatis**, matikan karena kunci sesuai dengan kredenal Docker Hub Anda. 

   1.  Selesai mengikuti langkah-langkah di [Buat AWS Secrets Manager rahasia](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html). 

    Untuk informasi selengkapnya, lihat [Apa itu AWS Secrets Manager?](https://docs.aws.amazon.com/secretsmanager/latest/userguide/) 

1.  Saat Anda membuat AWS CodeBuild proyek di konsol, CodeBuild lampirkan izin yang diperlukan untuk Anda. Jika Anda menggunakan AWS KMS kunci selain`DefaultEncryptionKey`, Anda harus menambahkannya ke peran layanan. Untuk informasi selengkapnya, lihat [Memodifikasi peran (konsol)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_modify.html#roles-managingrole-editing-console) di *Panduan Pengguna IAM*. 

    Agar peran layanan Anda berfungsi dengan Secrets Manager, setidaknya harus memiliki `secretsmanager:GetSecretValue` izin.   
![\[Konfigurasi peran layanan.\]](http://docs.aws.amazon.com/id_id/codebuild/latest/userguide/images/private-registry-sample-iam.png)

1.  Untuk menggunakan konsol untuk membuat proyek dengan lingkungan yang disimpan dalam registri pribadi, lakukan hal berikut saat Anda membuat proyek. Untuk informasi, lihat [Buat proyek build (konsol)](create-project.md#create-project-console). 
**catatan**  
 Jika registri pribadi Anda ada di VPC Anda, itu harus memiliki akses internet publik. CodeBuild tidak dapat menarik gambar dari alamat IP pribadi di VPC. 

   1.  Dalam **gambar Lingkungan**, pilih **Gambar kustom**. 

   1.  Untuk **jenis Lingkungan**, pilih **Linux** atau **Windows**. 

   1.  Untuk **registri Gambar**, pilih **Registri lain**. 

   1.  Di **URL registri Eksternal**, masukkan lokasi gambar dan **kredensi Registri - opsional** masukkan ARN atau nama kredenal Secrets Manager Anda.
**catatan**  
 Jika kredensional Anda tidak ada di Wilayah Anda saat ini, maka Anda harus menggunakan ARN. Anda tidak dapat menggunakan nama kredensi jika kredensialnya ada di Wilayah yang berbeda. 

# Konfigurasikan kredenal registri pribadi untuk pelari yang dihosting sendiri
<a name="private-registry-sample-configure-runners"></a>

Gunakan petunjuk berikut untuk mengonfigurasi kredensi registri untuk pelari yang dihosting sendiri.

**catatan**  
Perhatikan bahwa kredensi ini hanya akan digunakan jika gambar diganti dengan yang berasal dari pendaftar pribadi. 

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

1. Buka AWS CodeBuild konsol di [https://console.aws.amazon.com/codesuite/codebuild/home](https://console.aws.amazon.com/codesuite/codebuild/home).

1. Buat proyek build atau pilih proyek yang sudah ada. Untuk informasi selengkapnya, lihat [Buat proyek build (konsol)](create-project.md#create-project-console) dan [Mengubah setelan proyek build (konsol)](change-project.md#change-project-console).

1.  Di **Lingkungan**, pilih **Konfigurasi tambahan**. 

1.  Dalam **Konfigurasi tambahan**, masukkan nama atau ARN rahasia dari AWS Secrets Manager untuk **kredensi registri** - opsional.  
![\[Konfigurasi kredensi registri.\]](http://docs.aws.amazon.com/id_id/codebuild/latest/userguide/images/registry-credential.png)

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

1. Jika Anda ingin membuat proyek baru, jalankan perintah **create-project**.

   ```
   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. Jika Anda ingin memperbarui proyek yang sudah ada, jalankan perintah **update-project**.

   ```
   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}"
   ```

------