Akses repositori lintas-akun: Tindakan untuk administrator di AccountA - AWS CodeCommit

AWS CodeCommit tidak lagi tersedia untuk pelanggan baru. Pelanggan yang sudah ada AWS CodeCommit dapat terus menggunakan layanan seperti biasa. Pelajari lebih lanjut”

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 administrator di AccountA

Untuk mengizinkan pengguna atau grup di AccountB mengakses repositori di AccountA, administrator AccountA harus:

  • Membuat kebijakan di AccountA yang memberikan akses ke repositori.

  • Buat peran di accountA yang dapat diasumsikan oleh IAM pengguna dan grup di accountB.

  • Melampirkan kebijakan pada peran tersebut.

Bab berikut memberikan langkah dan contoh.

Langkah 1: Buatlah kebijakan untuk akses repositori di AccountA

Anda dapat membuat kebijakan di accountA yang memberikan akses ke repositori di accounta kepada pengguna di accountB. Dengan bergantung pada tingkat akses yang ingin Anda izinkan, lakukan salah satu hal berikut:

  • Konfigurasikan kebijakan untuk mengizinkan pengguna AccountB mengakses repositori tertentu, namun jangan izinkan mereka Untuk menampilkan daftar semua repositori di AccountA.

  • Konfigurasikan akses tambahan untuk mengizinkan pengguna AccountB memilih repositori dari daftar semua repositori di AccountA.

Untuk membuat kebijakan untuk akses repositori
  1. Masuk ke AWS Management Console sebagai IAM pengguna dengan izin untuk membuat kebijakan di Accounta.

  2. Buka konsol IAM di https://console.aws.amazon.com/iam/.

  3. Di panel navigasi, pilih Kebijakan.

  4. Pilih Buat kebijakan.

  5. Pilih JSONtab, dan tempelkan dokumen JSON kebijakan berikut ke dalam kotak JSON teks. Ganti us-east-2 dengan Wilayah AWS untuk repositori, 111122223333 dengan ID akun untuk Accounta, dan MySharedDemoRepo dengan nama untuk CodeCommit repositori Anda di Accounta:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codecommit:BatchGet*", "codecommit:Create*", "codecommit:DeleteBranch", "codecommit:Get*", "codecommit:List*", "codecommit:Describe*", "codecommit:Put*", "codecommit:Post*", "codecommit:Merge*", "codecommit:Test*", "codecommit:Update*", "codecommit:GitPull", "codecommit:GitPush" ], "Resource": [ "arn:aws:codecommit:us-east-2:111122223333:MySharedDemoRepo" ] } ] }

    Jika Anda ingin pengguna yang menjalankan peran ini dapat melihat daftar repositori di beranda CodeCommit konsol, tambahkan pernyataan tambahan ke kebijakan, sebagai berikut:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codecommit:BatchGet*", "codecommit:Create*", "codecommit:DeleteBranch", "codecommit:Get*", "codecommit:List*", "codecommit:Describe*", "codecommit:Put*", "codecommit:Post*", "codecommit:Merge*", "codecommit:Test*", "codecommit:Update*", "codecommit:GitPull", "codecommit:GitPush" ], "Resource": [ "arn:aws:codecommit:us-east-2:111122223333:MySharedDemoRepo" ] }, { "Effect": "Allow", "Action": "codecommit:ListRepositories", "Resource": "*" } ] }

    Akses ini memudahkan pengguna yang mengambil peran ini dengan kebijakan ini untuk menemukan repositori tempat mereka memiliki akses. Mereka dapat memilih nama repositori dari daftar dan diarahkan ke beranda repositori bersama (Code). Pengguna tidak dapat mengakses salah satu repositori lain yang mereka lihat dalam daftar, tetapi mereka dapat menampilkan repositori di AccountA pada halaman Dasbor.

    Jika Anda tidak ingin mengizinkan pengguna yang mengambil peran untuk dapat melihat daftar semua repositori di Accounta, gunakan contoh kebijakan pertama, tetapi pastikan Anda mengirim pengguna tersebut tautan langsung ke halaman beranda repositori bersama di konsol. CodeCommit

  6. Pilih Tinjau kebijakan. Validator kebijakan melaporkan kesalahan sintaks (misalnya, jika Anda lupa mengganti ID akun Amazon Web Services dan nama repositori contoh dengan ID akun Amazon Web Services dan nama repositori Anda).

  7. Pada halaman Kebijakan peninjauan, masukkan nama untuk kebijakan tersebut (misalnya, CrossAccountAccessForMySharedDemoRepo). Anda juga dapat memberikan deskripsi opsional untuk kebijakan ini. Pilih Buat kebijakan.

Langkah 2: Buat peran untuk akses repositori di AccountA

Setelah mengonfigurasi kebijakan, buat peran yang dapat diambil oleh IAM pengguna dan grup di accountB, dan lampirkan kebijakan tersebut ke peran tersebut.

Untuk membuat peran untuk akses repositori
  1. Di IAM konsol, pilih Peran.

  2. Pilih Buat peran.

  3. Pilih akun Amazon Web Services lainnya.

  4. Di ID Akun, masukkan ID akun Amazon Web Services untuk AccountB (misalnya, 888888888888). Pilih Berikutnya: Izin.

  5. Di Lampirkan kebijakan izin, pilih kebijakan yang Anda buat di prosedur sebelumnya (CrossAccountAccessForMySharedDemoRepo). Pilih Berikutnya: Tinjau.

  6. Dalam nama Peran, masukkan nama untuk peran (misalnya, MyCrossAccountRepositoryContributorRole). Anda juga dapat memasukkan deskripsi opsional untuk membantu orang lain memahami tujuan peran tersebut.

  7. Pilih Buat peran.

  8. Buka peran yang baru saja Anda buat, dan salin peran ARN (misalnya,arn:aws:iam::111122223333:role/MyCrossAccountRepositoryContributorRole). Anda perlu memberikan ini ARN ke administrator accountB.