

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

# Menghubungkan ke AWS CodeCommit repositori dengan kredensi berputar
<a name="temporary-access"></a>

Anda dapat memberi pengguna akses ke AWS CodeCommit repositori Anda tanpa mengonfigurasi pengguna IAM untuk mereka atau menggunakan kunci akses dan kunci rahasia. Untuk menetapkan izin ke identitas federasi, Anda membuat peran dan menentukan izin untuk peran tersebut. Ketika identitas terfederasi mengautentikasi, identitas tersebut terhubung dengan peran dan diberi izin yang ditentukan oleh peran. Untuk informasi tentang peran untuk federasi, lihat [Buat peran untuk penyedia identitas pihak ketiga](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp.html) dalam *Panduan Pengguna IAM*. Jika menggunakan Pusat Identitas IAM, Anda harus mengonfigurasi set izin. Untuk mengontrol apa yang dapat diakses identitas Anda setelah identitas tersebut diautentikasi, Pusat Identitas IAM akan mengorelasikan set izin ke peran dalam IAM. Untuk informasi tentang set izin, lihat [Set izin](https://docs.aws.amazon.com/singlesignon/latest/userguide/permissionsetsconcept.html) dalam *Panduan Pengguna AWS IAM Identity Center *. *Anda juga dapat mengonfigurasi akses berbasis peran bagi pengguna IAM untuk mengakses CodeCommit repositori di akun Amazon Web Services terpisah (teknik yang dikenal sebagai akses lintas akun).* Untuk panduan konfigurasi akses lintas akun ke repositori, lihat [Konfigurasikan akses lintas akun ke AWS CodeCommit repositori menggunakan peran](cross-account.md). 

Anda dapat mengkonfigurasi akses untuk pengguna yang ingin atau harus mengotentikasi melalui metode seperti:
+ Security Assertion Markup Language (SAML)
+ Autentikasi Multi-Faktor (MFA)
+ Federation
+ Login with Amazon
+ Amazon Cognito
+ Facebook
+ Google
+ Penyedia identitas yang kompatibel OpenID Connect (OIDC)

**catatan**  
Informasi berikut hanya berlaku untuk penggunaan **git-remote-codecommit** atau pembantu AWS CLI kredenal untuk terhubung ke CodeCommit repositori. Karena pendekatan yang disarankan untuk akses sementara atau federasi CodeCommit adalah untuk mengatur**git-remote-codecommit**, topik ini memberikan contoh menggunakan utilitas itu. Untuk informasi selengkapnya, lihat [Langkah-langkah penyiapan untuk koneksi HTTPS ke AWS CodeCommit dengan git-remote-codecommit](setting-up-git-remote-codecommit.md).   
Anda tidak dapat menggunakan kredensi SSH atau Git dan HTTPS untuk terhubung ke CodeCommit repositori dengan kredenal akses berputar atau sementara. 

Anda tidak perlu menyelesaikan langkah-langkah ini jika semua persyaratan berikut ini benar:
+ Anda masuk ke instans Amazon EC2.
+ Anda menggunakan Git dan HTTPS dengan bantuan AWS CLI kredensi untuk terhubung dari instans Amazon EC2 ke repositori. CodeCommit 
+ Instans Amazon EC2 memiliki profil instans IAM terlampir yang berisi izin akses yang dijelaskan di [Untuk koneksi HTTPS di Linux, macOS, atau Unix dengan pembantu kredensi AWS CLI ](setting-up-https-unixes.md) atau [Untuk koneksi HTTPS di Windows dengan pembantu AWS CLI kredensi](setting-up-https-windows.md).
+ Anda telah menginstal dan mengkonfigurasi Git pembantu kredensial pada instans Amazon EC2, seperti yang dijelaskan dalam [Untuk koneksi HTTPS di Linux, macOS, atau Unix dengan pembantu kredensi AWS CLI ](setting-up-https-unixes.md) atau [Untuk koneksi HTTPS di Windows dengan pembantu AWS CLI kredensi](setting-up-https-windows.md).

Instans Amazon EC2 yang memenuhi persyaratan sebelumnya sudah disiapkan untuk mengkomunikasikan kredensil akses sementara atas nama Anda. CodeCommit 

**catatan**  
Anda dapat mengonfigurasi dan menggunakan **git-remote-codecommit** pada instans Amazon EC2.

Untuk memberi pengguna akses sementara ke CodeCommit repositori Anda, selesaikan langkah-langkah berikut.



## Langkah 1: Selesaikan prasyarat
<a name="temporary-access-prerequisites"></a>

Selesaikan langkah-langkah penyiapan untuk memberi pengguna akses ke CodeCommit repositori Anda menggunakan kredensi berputar: 
+ Untuk akses lintas akun, lihat [Panduan: Mendelegasikan Akses Akun Amazon Web Services menggunakan IAM role](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-walkthrough-crossacct.html) dan [Konfigurasikan akses lintas akun ke AWS CodeCommit repositori menggunakan peran](cross-account.md).
+ Untuk SAFL dan federasi, lihat [Menggunakan Sistem Otentikasi Organisasi Anda untuk Memberikan Akses ke AWS Sumber Daya](https://docs.aws.amazon.com/STS/latest/UsingSTS/STSUseCases.html#IdentityBrokerApplication) dan [Tentang Federasi berbasis AWS STS SAFL 2.0](https://docs.aws.amazon.com/STS/latest/UsingSTS/CreatingSAML.html).
+ Untuk MFA, lihat [Menggunakan Perangkat Multi-Factor Authentication (MFA) dengan AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_ManagingMFA.html) dan [Membuat Kredensials Keamanan Sementara Untuk Mengaktifkan Akses Untuk Pengguna IAM](https://docs.aws.amazon.com/STS/latest/UsingSTS/CreatingSessionTokens.html).
+ [Untuk Login with Amazon, Amazon Cognito, Facebook, Google, atau penyedia identitas yang kompatibel dengan OIDC, lihat Tentang Federasi Identitas Web. AWS STS](https://docs.aws.amazon.com/STS/latest/UsingSTS/web-identity-federation.html)

Gunakan informasi [Otentikasi dan kontrol akses untuk AWS CodeCommit](auth-and-access-control.md) untuk menentukan CodeCommit izin yang ingin Anda berikan kepada pengguna.

## Langkah 2: Dapatkan nama peran atau kredensial akses
<a name="temporary-access-get-credentials"></a>

Jika Anda ingin pengguna Anda mengakses repositori dengan memiliki suatu peran, berikan pengguna Anda Amazon Resource Name (ARN) dari peran itu. Jika tidak, tergantung pada cara Anda mengatur akses, pengguna Anda bisa mendapatkan kredensial berputar dengan salah satu cara berikut:
+ Untuk akses lintas akun, panggil perintah AWS CLI [assume-role](https://docs.aws.amazon.com/cli/latest/reference/sts/assume-role.html) atau panggil API. AWS STS [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)
+ Untuk SALL, panggil AWS CLI [assume-role-with-saml](https://docs.aws.amazon.com/cli/latest/reference/sts/assume-role-with-saml.html)perintah atau AWS STS [AssumeRoleWithSAFL API](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithSAML.html).
+ Untuk federasi, hubungi AWS CLI [peran asumsi atau [get-federation-token](https://docs.aws.amazon.com/cli/latest/reference/sts/get-federation-token.html)](https://docs.aws.amazon.com/cli/latest/reference/sts/assume-role.html)perintah atau atau. AWS STS [AssumeRole[GetFederationToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetFederationToken.html)](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) APIs
+ Untuk MFA, panggil AWS CLI [get-session-token](https://docs.aws.amazon.com/cli/latest/reference/sts/get-session-token.html)perintah atau API. AWS STS [GetSessionToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetSessionToken.html)
+ Untuk Login with Amazon, Amazon Cognito, Facebook, Google, atau penyedia identitas yang kompatibel dengan OIDC, hubungi perintah AWS CLI [assume-role-with-web-identity](https://docs.aws.amazon.com/cli/latest/reference/sts/assume-role-with-web-identity.html) atau API. AWS STS [AssumeRoleWithWebIdentity](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html)



## Langkah 3: Instal git-remote-codecommit dan konfigurasikan AWS CLI
<a name="temporary-access-configure-credentials"></a>

Anda harus mengonfigurasi komputer lokal Anda untuk menggunakan kredensil akses dengan menginstal [https://pypi.org/project/git-remote-codecommit/](https://pypi.org/project/git-remote-codecommit/)dan mengonfigurasi profil di file. AWS CLI

1. Ikuti instruksi di [Pengaturan ](setting-up.md) untuk mengatur AWS CLI. Gunakan perintah **aws configure** untuk mengkonfigurasi satu atau lebih profil. Pertimbangkan untuk membuat profil bernama untuk digunakan saat Anda terhubung ke CodeCommit repositori menggunakan kredensi berputar.

1. Anda dapat mengaitkan kredensialnya dengan profil AWS CLI bernama pengguna dengan salah satu cara berikut. 
   + Jika Anda mengasumsikan peran untuk mengakses CodeCommit, konfigurasikan profil bernama dengan informasi yang diperlukan untuk mengambil peran itu. Misalnya, jika Anda ingin mengambil peran bernama *CodeCommitAccess* di akun Amazon Web Services 1111111111, Anda dapat mengonfigurasi profil default yang akan digunakan saat bekerja dengan AWS sumber daya lain dan profil bernama untuk digunakan saat mengambil peran tersebut. Perintah berikut membuat profil bernama bernama *CodeAccess* yang mengasumsikan peran bernama*CodeCommitAccess*. Nama pengguna *Maria\$1Garcia* dikaitkan dengan sesi dan profil default ditetapkan sebagai sumber AWS kredensialnya:

     ```
     aws configure set role_arn arn:aws:iam::111111111111:role/CodeCommitAccess --profile CodeAccess
     aws configure set source_profile default --profile CodeAccess
     aws configure set role_session_name "Maria_Garcia" --profile CodeAccess
     ```

     Jika Anda ingin memverifikasi perubahan, secara manual melihat atau mengedit file `~/.aws/config` (untuk Linux) atau file `%UserProfile%.aws\config` (untuk Windows) dan meninjau informasi di bawah profil bernama. Misalnya, file Anda mungkin terlihat seperti berikut:

     ```
     [default]
     region = us-east-1
     output = json
     
     [profile CodeAccess]
     source_profile = default
     role_session_name = Maria_Garcia
     role_arn = arn:aws:iam::111111111111:role/CodeCommitAccess
     ```

      Setelah Anda mengonfigurasi profil bernama Anda, Anda kemudian dapat mengkloning CodeCommit repositori dengan **git-remote-codecommit** utilitas menggunakan profil bernama. Misalnya, untuk mengkloning repositori bernama: *MyDemoRepo* 

     ```
     git clone codecommit://CodeAccess@MyDemoRepo
     ```
   + Jika Anda menggunakan federasi identitas web dan OpenID Connect (OIDC), konfigurasikan profil bernama yang membuat panggilan `AssumeRoleWithWebIdentity` API AWS Security Token Service (AWS STS) atas nama Anda untuk menyegarkan kredensil sementara. Gunakan **aws configure set** perintah atau edit `~/.aws/credentials` file secara manual (untuk Linux) atau `%UserProfile%.aws\credentials` file (untuk Windows) untuk menambahkan profil AWS CLI bernama dengan nilai pengaturan yang diperlukan. Misalnya, untuk membuat profil yang mengambil *CodeCommitAccess* peran dan menggunakan file token identitas web *my-credentials* */my-token-file* \$1/:

     ```
     [CodeCommitWebIdentity]
     role_arn = arn:aws:iam::111111111111:role/CodeCommitAccess
     web_identity_token_file=~/my-credentials/my-token-file
     role_session_name = Maria_Garcia
     ```

   Untuk informasi selengkapnya, lihat [Mengonfigurasi AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html) dan [Menggunakan IAM role di AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-role.html) di *Panduan Pengguna AWS Command Line Interface *.

## Langkah 4: Akses CodeCommit repositori
<a name="temporary-access-use-credentials"></a>

Dengan asumsi pengguna Anda telah mengikuti instruksi [Connect ke sebuah repositori](how-to-connect.md) untuk terhubung ke CodeCommit repositori, pengguna kemudian menggunakan fungsionalitas yang diperluas yang disediakan oleh dan **git-remote-codecommit** Git untuk memanggil**git clone**,**git push**, dan **git pull** untuk mengkloning, mendorong ke, dan menarik dari, CodeCommit repositori yang dia akses. Misalnya, untuk mengkloning suatu repositori:

```
git clone codecommit://CodeAccess@MyDemoRepo
```

Perintah Git commit, push, dan pull menggunakan sintaks Git biasa. 

Saat pengguna menggunakan AWS CLI dan menentukan profil AWS CLI bernama yang terkait dengan kredensil akses yang berputar, hasil yang dicakup ke profil tersebut akan dikembalikan.

