

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

# Akses repositori lintas akun: Tindakan untuk pengguna repositori di AccountB
<a name="cross-account-user-b"></a>

Untuk mengakses repositori di AccountA, pengguna di grup AccountB harus mengkonfigurasi komputer lokal mereka untuk akses repositori. Bab berikut memberikan langkah dan contoh.

**Topics**
+ [Langkah 1: Konfigurasikan AWS CLI dan Git untuk pengguna AccountB untuk mengakses repositori di Accounta](#cross-account-configure-credentials)
+ [Langkah 2: Kloning dan akses CodeCommit repositori di Accounta](#cross-account-clone-and-use)

## Langkah 1: Konfigurasikan AWS CLI dan Git untuk pengguna AccountB untuk mengakses repositori di Accounta
<a name="cross-account-configure-credentials"></a>

Anda tidak dapat menggunakan kunci SSH atau kredensial Git untuk mengakses repositori di akun Amazon Web Services lain. Pengguna AccounTB harus mengonfigurasi komputer mereka untuk menggunakan **git-remote-codecommit** (disarankan) atau pembantu kredensyal untuk mengakses CodeCommit repositori bersama di accounta. Namun, Anda dapat terus menggunakan kunci SSH atau kredensial Git saat mengakses repositori di AccountB.

Ikuti langkah-langkah ini untuk mengonfigurasi akses menggunakan **git-remote-codecommit**. Jika Anda belum menginstal**git-remote-codecommit**, unduh dari [https://pypi.org/project/git-remote-codecommit/](https://pypi.org/project/git-remote-codecommit/)situs web Python Package Index.<a name="cross-account-configure-cli-git"></a>

**Untuk mengkonfigurasi AWS CLI dan Git untuk akses lintas akun**

1. Instal AWS CLI di komputer lokal. Lihat petunjuk untuk sistem operasi Anda di [Menginstal AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/installing.html).

1. Instal Git pada komputer lokal. Untuk menginstal Git, kami merekomendasikan situs web seperti [Unduh Git](http://git-scm.com/downloads) atau [Git untuk Windows](http://msysgit.github.io/). 

   
**catatan**  
CodeCommit mendukung Git versi 1.7.9 dan yang lebih baru. Versi Git 2.28 mendukung konfigurasi nama cabang untuk commit awal. Kami merekomendasikan penggunaan versi terbaru Git. Git adalah platform yang berkembang dan diperbarui secara teratur. Terkadang, perubahan fitur dapat memengaruhi cara kerjanya CodeCommit. Jika Anda mengalami masalah dengan versi Git tertentu dan CodeCommit, tinjau informasinya di[Pemecahan Masalah](troubleshooting.md).

1. Dari terminal atau baris perintah, di lokasi direktori tempat Anda ingin mengkloning repositori, jalankan perintah **git config --local user.name** dan **git config --local user.email** untuk mengatur nama pengguna dan email untuk commit yang akan Anda buat ke repositori. Contoh:

   ```
   git config --local user.name "Saanvi Sarkar"
   git config --local user.email saanvi_sarkar@example.com
   ```

   Perintah ini tidak mengembalikan apa pun, tetapi email dan nama pengguna yang Anda tentukan terkait dengan commit yang Anda buat ke repositori di AccountA.

1. Jalankan perintah **aws configure --profile** untuk mengkonfigurasi profil default untuk digunakan saat menyambung ke sumber daya di AccountB. Saat diminta, berikan access key dan kunci rahasia untuk pengguna IAM Anda.
**catatan**  
Jika Anda telah menginstal AWS CLI dan mengkonfigurasi profil, Anda dapat melewati langkah ini. 

    Misalnya, jalankan perintah berikut untuk membuat AWS CLI profil default yang Anda gunakan untuk mengakses AWS sumber daya di accountB di US East (Ohio) (us-east-2):

   ```
   aws configure
   ```

   Saat diminta, berikan informasi berikut:

   ```
   AWS Access Key ID [None]: {{Your-IAM-User-Access-Key}}
   AWS Secret Access Key ID [None]: {{Your-IAM-User-Secret-Access-Key}}
   Default region name ID [None]: {{us-east-2}}
   Default output format [None]: json
   ```

1. Jalankan perintah **aws configure --profile** lagi untuk mengkonfigurasi profil bernama untuk digunakan ketika menghubungkan ke repositori di AccountA. Saat diminta, berikan access key dan kunci rahasia untuk pengguna IAM Anda. Misalnya, jalankan perintah berikut untuk membuat AWS CLI profil bernama {{MyCrossAccountAccessProfile}} yang Anda gunakan untuk mengakses repositori di Accounta di US East (Ohio) (us-east-2):

   ```
   aws configure --profile {{MyCrossAccountAccessProfile}}
   ```

   Saat diminta, berikan informasi berikut:

   ```
   AWS Access Key ID [None]: {{Your-IAM-User-Access-Key}}
   AWS Secret Access Key ID [None]: {{Your-IAM-User-Secret-Access-Key}}
   Default region name ID [None]: {{us-east-2}}
   Default output format [None]: json
   ```

1. Dalam editor teks biasa, buka file `config`, yang juga dikenal sebagai file konfigurasi AWS CLI . Bergantung pada sistem operasi Anda, file ini mungkin terletak `~/.aws/config` di Linux, macOS, atau Unix, atau di{{drive}}:\\ Users\\\\ .aws{{USERNAME}}\\ config pada Windows. 

1. Dalam file, cari entri yang sesuai dengan profil default yang Anda konfigurasikan untuk akses ke repositori di AccountB. Itu terlihat serupa dengan yang berikut ini:

   ```
   [default]
   region = us-east-2
   output = json
   ```

   Tambahkan `account` ke konfigurasi profil. Berikan ID akun AWS AccountB. Contoh:

   ```
   [default]
   account = {{888888888888}}
   region = us-east-2
   output = json
   ```

1. Dalam file, temukan entri yang sesuai dengan {{MyCrossAccountAccessProfile}} profil yang baru saja Anda buat. Itu terlihat serupa dengan yang berikut ini:

   ```
   [profile {{MyCrossAccountAccessProfile}}]
   region = us-east-2
   output = json
   ```

   Tambahkan `account`, `role_arn` dan `source_profile` ke konfigurasi profil. Sediakan ID akun Amazon Web Services AccountA, ARN peran di AccountA yang Anda ambil untuk mengakses repositori di akun lain, dan nama AWS CLI default di AccountB. Contoh:

   ```
   [profile {{MyCrossAccountAccessProfile}}]
   region = us-east-2
   account = {{111122223333}}
   role_arn = arn:aws:iam::{{111122223333}}:role/{{MyCrossAccountRepositoryContributorRole}}
   source_profile = {{default}}
   output = json
   ```

   Simpan perubahan Anda, dan tutup editor teks biasa.

## Langkah 2: Kloning dan akses CodeCommit repositori di Accounta
<a name="cross-account-clone-and-use"></a>

Jalankan **git clone****git push**,, dan **git pull** untuk mengkloning, mendorong ke, dan menarik dari, repositori lintas akun CodeCommit. Anda juga dapat masuk ke Konsol AWS Manajemen, beralih peran, dan menggunakan CodeCommit konsol untuk berinteraksi dengan repositori di akun lain.

**catatan**  
Bergantung pada bagaimana peran IAM dikonfigurasi, Anda mungkin dapat melihat repositori pada halaman default untuk. CodeCommit Jika Anda tidak dapat melihat repositori, minta administrator repositori untuk mengirimi Anda tautan URL ke halaman **Kode** untuk repositori bersama di konsol. CodeCommit URL tersebut serupa dengan yang berikut ini:  

```
https://console.aws.amazon.com/codecommit/home?region={{us-east-2}}#/repository/{{MySharedDemoRepo}}/browse/HEAD/--/
```<a name="cross-account-clone-cross-account-repo"></a>

**Untuk mengkloning repositori lintas-akun ke komputer lokal Anda**

1. Pada baris perintah atau terminal, di direktori tempat Anda ingin mengkloning repositori, jalankan **git clone** perintah dengan URL klon HTTPS (GRC). Contoh:

   ```
   git clone codecommit://{{MyCrossAccountAccessProfile}}@{{MySharedDemoRepo}}
   ```

   Kecuali Anda menentukan sebaliknya, repositori dikloning ke subdirektori dengan nama yang sama dengan repositori.

1. Ubah direktori ke repositori yang dikloning, dan tambahkan atau buat perubahan pada file. Misalnya, Anda dapat menambahkan file bernama{{NewFile.txt}}.

1. Tambahkan file ke perubahan yang dilacak untuk repo lokal, komit perubahan, dan dorong file ke repositori. CodeCommit Contoh:

   ```
   git add {{NewFile.txt}}
   git commit -m "Added a file to test cross-account access to this repository"
   git push
   ```

   Untuk informasi selengkapnya, lihat [Memulai dengan Git dan AWS CodeCommit](getting-started.md).

Sekarang setelah Anda menambahkan file, buka CodeCommit konsol untuk melihat komit Anda, tinjau perubahan pengguna lain pada repo, berpartisipasi dalam permintaan tarik, dan banyak lagi.<a name="cross-account-console"></a>

**Untuk mengakses repositori lintas akun di konsol CodeCommit**

1. Masuk ke Konsol Manajemen AWS dalam accountB ({{888888888888}}) sebagai pengguna IAM yang telah diberikan akses lintas akun ke repositori di accounta.

1. Pilih nama pengguna Anda di bilah navigasi, dan di daftar menurun, pilih **Alihkan Peran**. 
**catatan**  
Jika ini adalah pertama kalinya Anda telah memilih opsi ini, tinjau informasi pada halaman, dan kemudian pilih **Alihkan Peran** lagi.

1. Pada halaman **Alihkan Peran**, lakukan hal berikut:
   + Di **Akun**, masukkan ID akun untuk Accounta (misalnya,{{111122223333}}). 
   + Dalam **Peran**, masukkan nama peran yang ingin Anda asumsikan untuk akses ke repositori di Accounta (misalnya,). {{MyCrossAccountRepositoryContributorRole}}
   + Di **Nama Tampilan**, masukkan nama yang ramah untuk peran ini. Nama ini muncul di konsol ketika Anda mengambil peran ini. Ini juga muncul dalam daftar peran yang diambil saat berikutnya Anda ingin beralih peran di konsol.
   + (Opsional) Di **Warna**, pilih label warna untuk nama tampilan tersebut.
   + Pilih **Ganti Peran**.

   Untuk informasi selengkapnya, lihat [Beralih ke Peran (Konsol Manajemen AWS)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-console.html).

1. Buka CodeCommit konsol di [https://console.aws.amazon.com/codesuite/codecommit/home](https://console.aws.amazon.com/codesuite/codecommit/home).

   Jika peran yang diambil memiliki izin untuk menampilkan nama repositori di AccountA, Anda melihat daftar repositori dan pesan kesalahan yang memberitahu Anda bahwa Anda tidak memiliki izin Untuk menampilkan status mereka. Ini adalah perilaku yang diharapkan. Pilih nama repositori yang dibagikan dari daftar.

   Jika peran yang diambil tidak memiliki izin untuk menampilkan nama-nama repositori di AccountA, Anda melihat pesan kesalahan dan daftar kosong tanpa repositori. Tempelkan link URL ke repositori atau modifikasi tautan konsol dan ubah `/list` untuk nama repositori yang dibagikan (misalnya, `/{{{{MySharedDemoRepo}}}}`).

1. Di **Kode**, cari nama file yang ditambahkan dari komputer lokal Anda. Pilih untuk menelusuri kode dalam file, dan kemudian menelusuri sisa repositori dan mulai menggunakan fitur-fiturnya. 

   Untuk informasi selengkapnya, lihat [Memulai dengan AWS CodeCommit](getting-started-cc.md).