

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 **Use override credentials untuk project 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 atau token API.
   + {{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, kata sandi aplikasi, atau token API. 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. Untuk kata sandi aplikasi Bitbucket, ini adalah nama pengguna Bitbucket Anda. Untuk token API Bitbucket, ini adalah alamat email yang terkait dengan akun Atlassian Anda. 

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 kredensyal yang dihapus. 

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