Menghubungkan ke repositori AWS CodeCommit dengan kredensial berputar - AWS CodeCommit

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

Menghubungkan ke repositori AWS CodeCommit dengan kredensial berputar

Anda dapat memberi pengguna akses ke repositori AWS CodeCommit Anda tanpa mengonfigurasi pengguna IAM untuknya atau menggunakan access key dan secret key. Untuk menetapkan izin ke identitas gabungan, Anda membuat peran dan menentukan izin untuk peran tersebut. Ketika identitas gabungan mengautentikasi, identitas tersebut dikaitkan dengan peran dan diberikan izin yang didefinisikan oleh peran. Untuk informasi tentang peran untuk federasi, lihat Membuat peran untuk Penyedia Identitas pihak ketiga dalam Panduan Pengguna IAM. Jika Anda menggunakan IAM Identity Center, Anda mengkonfigurasi set izin. Untuk mengontrol apa yang dapat diakses identitas Anda setelah mengautentikasi, IAM Identity Center menghubungkan izin yang ditetapkan ke peran dalam IAM. Untuk informasi tentang set izin, lihat Kumpulan izin di PanduanAWS IAM Identity Center Pengguna. Anda juga dapat mengkonfigurasi akses berbasis peran untuk pengguna IAM untuk mengaksesCodeCommit repositori di akun Amazon Web Services yang 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.

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 penggunaangit-remote-codecommit atau pembantuAWS CLI kredenatif untuk terhubung keCodeCommit repositori. Karena pendekatan yang direkomendasikan untuk akses sementara atau federasi untukCodeCommit diaturgit-remote-codecommit, topik ini memberikan contoh penggunaan utilitas tersebut. Untuk informasi selengkapnya, lihat Langkah-langkah penyiapan untuk koneksi HTTPS keAWS CodeCommitbersamagit-remote-codecommit.

Anda tidak dapat menggunakan kredenial SSH atau Git dan HTTPS untuk terhubung keCodeCommit repositori dengan kredenial akses berputar atau sementara.

Anda tidak perlu menyelesaikan langkah-langkah ini jika semua persyaratan berikut ini benar:

Instans Amazon EC2 yang memenuhi persyaratan sebelumnya sudah diatur untuk mengkomunikasikan kredenial akses sementara untukCodeCommit atas nama Anda.

catatan

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

Untuk memberi pengguna akses sementara keCodeCommit repositori Anda, selesaikan langkah berikut.

Langkah 1: Selesaikan prasyarat

Selesaikan langkah-langkah pengaturan untuk memberi pengguna akses keCodeCommit repositori Anda menggunakan kredenial berputar:

Gunakan informasiKontrol autentikasi dan akses untuk AWS CodeCommit untuk menentukanCodeCommit izin yang ingin Anda berikan kepada pengguna.

Langkah 2: Dapatkan nama peran atau kredensial akses

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:

Langkah 3: Instalgit-remote-codecommit dan konfigurasikanAWS CLI

Anda harus mengkonfigurasi komputer lokal Anda untuk menggunakan kredensil akses dengan menginstal git-remote-codecommitdan mengkonfigurasi profil diAWS CLI.

  1. Ikuti instruksi di Pengaturan untuk mengatur AWS CLI. Gunakan perintah aws configure untuk mengkonfigurasi satu atau lebih profil. Pertimbangkan untuk membuat profil bernama untuk digunakan saat Anda terhubung keCodeCommit repositori menggunakan kredenial berputar.

  2. Anda dapat mengasosiasikan kredensialnya dengan profil bernama AWS CLI dari pengguna dengan salah satu cara berikut.

    • Jika Anda memiliki peran untuk mengaksesCodeCommit, konfigurasikan profil bernama dengan informasi yang diperlukan untuk mengasumsikan peran itu. Misalnya, jika Anda ingin memiliki peran bernama CodeCommitAccessdi akun Amazon Web Services 11111111111111, Anda dapat mengkonfigurasi profil default untuk digunakan saat bekerja denganAWS sumber daya lainnya dan profil bernama untuk digunakan ketika melaksanakan peran itu. Perintah berikut membuat profil bernama CodeAccessyang memiliki peran bernama CodeCommitAccess. Nama pengguna Maria_Garcia dikaitkan dengan sesi dan profil default diatur sebagai sumberAWS kredenenenalnya:

      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 mengkonfigurasi profil bernama Anda, Anda kemudian dapat mengkloningCodeCommit repositori dengangit-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 AWS Security Token Service (AWS STS) AssumeRoleWithWebIdentity API atas nama Anda untuk merefresh kredensial sementara. Gunakan perintah aws configure set atau edit secara manual file ~/.aws/credentials (untuk Linux) atau file %UserProfile%.aws\credentials (untuk Windows) untuk menambahkan profil yang dinamai AWS CLI dengan nilai pengaturan yang diperlukan. Misalnya, untuk membuat profil yang mengasumsikan CodeCommitAccessperan dan menggunakan file token identitas web ~/ my-credentials/my-token-file:

      [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 dan Menggunakan IAM role di AWS CLI di Panduan Pengguna AWS Command Line Interface.

Langkah 4: MengaksesCodeCommit repositori

Dengan asumsi pengguna Anda telah mengikuti petunjukConnect ke sebuah repositori untuk terhubung keCodeCommit repositori, pengguna kemudian menggunakan fungsionalitas diperpanjang yang disediakan olehgit-remote-codecommit dan Gitgit pull untuk memanggilgit clonegit push,, dan 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.

Ketika pengguna menggunakan AWS CLI dan menentukan profil yang dinamai AWS CLI yang terkait dengan kredensial akses berputar, hasil yang dinilai ke profil tersebut dikembalikan.