

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 Anda mulai, 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. Lingkup ini tidak diperlukan jika token Anda memiliki cak `repo` upan. 
+ **admin:org\_hook**: Memberikan kontrol penuh atas kait organisasi. Lingkup 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 Anda mengaktifkan fitur status build laporan.
+ **Webhooks: Baca dan tulis**: Memberikan izin untuk mengelola webhook. Izin ini diperlukan jika proyek Anda memiliki webhook yang diatur.
+ **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 Ac GitHub tions runner yang di-host sendiri dengan 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: Mengkonfigurasi pelari CodeBuild-hosted GitHub Actions](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 

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

Untuk menggunakan konsol untuk menghubungkan proyek Anda dengan GitHub menggunakan token akses, lakukan hal berikut saat Anda membuat proyek. Untuk informasi, lihat [Membuat 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 kredenSIAL akun untuk menerapkan kredenSIAL sumber default akun Anda ke semua proyek.

     1. Jika Anda tidak terhubung GitHub, pilih Kel ** ola kreden ** si akun.

     1. Untuk ** Jenis kredensi**, pilih Token ** akses ** pribadi.
   + Jika Anda memilih untuk menggunakan kredentif 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 Manajer ** Rahasia**, Anda dapat memilih untuk menggunakan koneksi rahasia yang ada atau membuat rahasia baru, lalu pilih S ** impan**. Untuk informasi lebih lanjut tentang cara membuat rahasia baru, lihat[Buat dan simpan token di rahasia Manajer Rahasia](asm-create-secret.md).

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

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

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

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

Ikuti langkah-langkah ini untuk menggunakan AWS CLI untuk menghubungkan proyek Anda dengan GitHub 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 instance tempat AWS CLI 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 diperbolehkan dengan kata sandi aplikasi Bitbucket atau token API.
   + {{should-overwrite}}: Nilai opsional. Setel `false` untuk mencegah penulisan ulang kredentif sumber repositori. Setel ke `true` untuk mengganti kredentif 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-type, ini adalah koneksi ARN. Untuk SECRETS\_MANAGER tipe auth-type, 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 dalam output dengan Nama Sumber Daya Amazon (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}}"
               }
           ]
       }
   ```

   Ber `sourceCredentialsObject` isi daftar informasi kredenSIAL sumber yang terhubung: 
   + Ini `authType` adalah jenis otentikasi yang digunakan oleh kredenSIAL. Ini bisa`OAUTH`,`BASIC_AUTH`,`PERSONAL_ACCESS_TOKEN`,`CODECONNECTIONS`, atau`SECRETS_MANAGER`. 
   + Ini `serverType` adalah jenis penyedia sumber. Ini bisa`GITHUB`,`GITHUB_ENTERPRISE`,`BITBUCKET`,`GITLAB`, atau`GITLAB_SELF_MANAGED`. 
   + Ini `arn` 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 kredenSIAL yang dihapus. 

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