

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

# GitHub dan token akses Server GitHub Perusahaan
<a name="access-tokens-github"></a>

## Prasyarat token akses
<a name="access-tokens-github-prereqs"></a>

Sebelum memulai, Anda harus menambahkan cakupan izin yang tepat ke token GitHub akses Anda. 

Untuk GitHub, token akses pribadi Anda harus memiliki cakupan berikut. 
+ **repo**: Memberikan kontrol penuh atas repositori pribadi. 
+ **repo:status:** Memberikan read/write akses ke status komit repositori publik dan pribadi.
+ **admin:repo\_hook: Memberikan kontrol penuh atas kait** repositori. Cakupan ini tidak diperlukan jika token Anda memiliki `repo` ruang lingkup. 
+ **admin:org\_hook: Memberikan kontrol penuh atas kait** organisasi. Cakupan ini hanya diperlukan jika Anda menggunakan fitur webhook organisasi.

Untuk informasi selengkapnya, lihat [Memahami cakupan untuk aplikasi OAuth](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/) di situs web. GitHub 

Jika Anda menggunakan token akses pribadi berbutir halus, tergantung pada kasus penggunaan Anda, token akses pribadi Anda mungkin memerlukan izin berikut:
+ **Isi: Read-only:** Memberikan akses ke repositori pribadi. Izin ini diperlukan jika Anda menggunakan repositori pribadi sebagai sumber.
+ **Status komit: Baca dan tulis**: Memberikan izin untuk membuat status komit. Izin ini diperlukan jika proyek Anda telah menyiapkan webhook, atau fitur status build laporan diaktifkan.
+ **Webhooks: Baca dan tulis**: Memberikan izin untuk mengelola webhook. Izin ini diperlukan jika proyek Anda telah menyiapkan webhook.
+ **Permintaan tarik Read-only:**: Memberikan izin untuk mengakses permintaan tarik. Izin ini diperlukan jika webhook Anda memiliki `FILE_PATH` filter pada peristiwa permintaan tarik.
+ **Administrasi: Baca dan tulis**: Izin ini diperlukan jika Anda menggunakan fitur pelari GitHub Tindakan yang dihosting sendiri. CodeBuild Untuk detail selengkapnya, lihat [Membuat token pendaftaran untuk repositori](https://docs.github.com/en/rest/actions/self-hosted-runners?apiVersion=2022-11-28#create-a-registration-token-for-a-repository) dan. [Tutorial: Konfigurasikan pelari CodeBuild-hosted GitHub Tindakan](action-runner.md)

**catatan**  
Jika Anda ingin mengakses repositori organisasi, pastikan Anda menentukan organisasi sebagai pemilik sumber daya token akses.

Untuk informasi selengkapnya, lihat [Izin yang diperlukan untuk token akses pribadi berbutir halus](https://docs.github.com/en/rest/authentication/permissions-required-for-fine-grained-personal-access-tokens?apiVersion=2022-11-28) di situs web. GitHub 

## Connect GitHub dengan token akses (konsol)
<a name="access-tokens-github-console"></a>

Untuk menggunakan konsol untuk menghubungkan proyek Anda GitHub dengan menggunakan token akses, lakukan hal berikut saat Anda membuat proyek. Untuk informasi, lihat [Buat proyek build (konsol)](create-project.md#create-project-console). 

1. Untuk **penyedia Sumber**, pilih **GitHub**. 

1. Untuk **Credential**, lakukan salah satu hal berikut:
   + Pilih untuk menggunakan kredensil akun untuk menerapkan kredensi sumber default akun Anda ke semua proyek.

     1. Jika Anda tidak tersambung GitHub, pilih **Kelola kredensi akun**.

     1. Untuk **tipe Credential**, pilih **Personal Access Token**.
   + Jika Anda memilih untuk menggunakan kredensi tingkat akun untuk **Layanan**, pilih layanan mana yang ingin Anda gunakan untuk menyimpan token Anda dan lakukan hal berikut:

     1. Jika Anda memilih untuk menggunakan **Secrets Manager**, Anda dapat memilih untuk menggunakan koneksi rahasia yang ada atau membuat rahasia baru, lalu pilih **Simpan**. Untuk informasi selengkapnya cara membuat rahasia baru, lihat[Buat dan simpan token dalam rahasia Secrets Manager](asm-create-secret.md).

     1. Jika Anda memilih untuk menggunakan **CodeBuild**, masukkan token akses GitHub pribadi Anda, lalu pilih **Simpan**.
   + Pilih **Gunakan kredenal ganti untuk proyek ini hanya untuk** menggunakan kredensi sumber kustom untuk mengganti setelan kredensi akun Anda.

     1. Dari daftar kredensi yang terisi, pilih salah satu opsi di bawah Token **akses pribadi**.

     1. Anda juga dapat membuat token akses pribadi baru dengan memilih **buat koneksi token akses pribadi baru** dalam deskripsi.

## Connect GitHub dengan token akses (CLI)
<a name="access-tokens-github-cli"></a>

Ikuti langkah-langkah ini untuk menggunakan AWS CLI untuk menghubungkan proyek Anda GitHub dengan menggunakan token akses. Untuk informasi tentang menggunakan AWS CLI with AWS CodeBuild, lihat[Referensi baris perintah](cmd-ref.md). 

1. Jalankan perintah **import-source-credentials**: 

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

   JSON-formatted data muncul di output. Salin data ke file (misalnya,`{{import-source-credentials.json}}`) di lokasi di komputer lokal atau contoh di AWS CLI mana diinstal. Ubah data yang disalin sebagai berikut, dan simpan hasil Anda. 

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

   Ganti yang berikut ini: 
   + {{server-type}}: Nilai yang dibutuhkan. Penyedia sumber yang digunakan untuk kredensi ini. Nilai yang valid adalah GITHUB, BITBUCKET, GITHUB\_ENTERPRISE, GITLAB, dan GITLAB\_SELF\_MANAGED.
   + {{auth-type}}: Nilai yang dibutuhkan. Jenis otentikasi yang digunakan untuk terhubung ke repositori. Nilai yang valid adalah OAUTH, BASIC\_AUTH, PERSONAL\_ACCESS\_TOKEN, CODECONNECTIONS, dan SECRETS\_MANAGER. Untuk GitHub, hanya PERSONAL\_ACCESS\_TOKEN yang diizinkan. BASIC\_AUTH hanya diizinkan dengan kata sandi aplikasi Bitbucket.
   + {{should-overwrite}}: Nilai opsional. Setel `false` untuk mencegah penimpaan kredenal sumber repositori. Setel `true` untuk menimpa kredensyal sumber repositori. Nilai default-nya adalah `true`.
   + {{token}}: Nilai yang dibutuhkan. Untuk GitHub atau Server GitHub Perusahaan, ini adalah token akses pribadi. Untuk Bitbucket, ini adalah token akses pribadi atau kata sandi aplikasi. Untuk CODECONNECTIONS tipe auth-, ini adalah koneksi ARN. Untuk tipe auth-SECRETS\_MANAGER, ini adalah ARN rahasia.
   + {{username}}: Nilai opsional. Parameter ini diabaikan untuk GitHub dan penyedia sumber Server GitHub Perusahaan. 

1. Untuk menghubungkan akun Anda dengan token akses, beralih ke direktori yang berisi `import-source-credentials.json` file yang Anda simpan di langkah 1 dan jalankan **import-source-credentials** perintah lagi. 

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

   JSON-formatted data muncul di output dengan Amazon Resource Name (ARN). 

   ```
   {
       "arn": "arn:aws:codebuild:{{region}}:{{account-id}}:token/{{server-type}}"
       }
   ```
**catatan**  
Jika Anda menjalankan **import-source-credentials** perintah dengan jenis server dan jenis autentikasi yang sama untuk kedua kalinya, token akses yang disimpan diperbarui. 

   Setelah akun Anda terhubung dengan token akses, Anda dapat menggunakannya `create-project` untuk membuat CodeBuild proyek Anda. Untuk informasi selengkapnya, lihat [Buat proyek build (AWS CLI)](create-project.md#create-project-cli). 

1. Untuk melihat token akses yang terhubung, jalankan **list-source-credentials** perintah. 

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

   Sebuah JSON-formatted `sourceCredentialsInfos` objek muncul di output: 

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

   `sourceCredentialsObject`Berisi daftar informasi kredensial sumber yang terhubung: 
   + `authType`Ini adalah jenis otentikasi yang digunakan oleh kredensyal. Ini bisa`OAUTH`,`BASIC_AUTH`,`PERSONAL_ACCESS_TOKEN`,`CODECONNECTIONS`, atau`SECRETS_MANAGER`. 
   + `serverType`Ini adalah jenis penyedia sumber. Ini bisa`GITHUB`,`GITHUB_ENTERPRISE`,`BITBUCKET`,`GITLAB`, atau`GITLAB_SELF_MANAGED`. 
   + `arn`Itu adalah ARN dari token. 

1. Untuk memutuskan sambungan dari penyedia sumber dan menghapus token aksesnya, jalankan **delete-source-credentials** perintah dengan ARN-nya. 

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

   JSON-formatted data dikembalikan dengan ARN dari kredenal yang dihapus. 

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