

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\$1hook: Memberikan kontrol penuh atas kait** repositori. Cakupan ini tidak diperlukan jika token Anda memiliki `repo` ruang lingkup. 
+ **admin:org\$1hook: Memberikan kontrol penuh atas kait** organisasi. Cakupan ini hanya diperlukan jika Anda menggunakan fitur webhook organisasi.

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

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: Hanya baca**: 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 CodeBuild pelari GitHub Tindakan yang di-host](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
   ```

   Data berformat JSON 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\$1ENTERPRISE, GITLAB, dan GITLAB\$1SELF\$1MANAGED.
   + *auth-type*: Nilai yang dibutuhkan. Jenis otentikasi yang digunakan untuk terhubung ke repositori. Nilai yang valid adalah OAUTH, BASIC\$1AUTH, PERSONAL\$1ACCESS\$1TOKEN, CODECONNECTIONS, dan SECRETS\$1MANAGER. Untuk GitHub, hanya PERSONAL\$1ACCESS\$1TOKEN yang diizinkan. BASIC\$1AUTH 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\$1MANAGER, 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
   ```

   Data berformat JSON 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
   ```

   `sourceCredentialsInfos`Objek berformat JSON 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
   ```

   Data berformat JSON dikembalikan dengan ARN dari kredenal yang dihapus. 

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