Mengautentikasi repositori konektor ke sumber upstream

Mengonfigurasi autentikasi upstream untuk repositori konektor Artifact Registry memungkinkan Anda terhubung ke registry eksternal pribadi menggunakan kredensial akun Anda. Anda dapat menyimpan token akses pribadi di Secret Manager dan melampirkannya ke repositori konektor untuk mengautentikasi permintaan ke sumber upstream.

Untuk menyelesaikan langkah-langkah ini, Anda memerlukan repositori konektor Artifact Registry dan akun dengan sumber eksternal. Untuk mengetahui informasi selengkapnya tentang repositori konektor, lihat Ringkasan repositori konektor.

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan untuk mengonfigurasi autentikasi ke sumber upstream untuk repositori konektor, minta administrator Anda untuk memberi Anda peran IAM berikut pada project:

Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.

Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.

Sumber upstream yang ditentukan pengguna

Untuk mengonfigurasi autentikasi untuk sumber upstream yang ditentukan pengguna, selesaikan langkah-langkah berikut.

Simpan token akses Anda dalam rahasia

  1. Buat token akses di registry pribadi.
  2. Buat secret di Secret Manager.
  3. Simpan token akses pribadi Anda sebagai versi rahasia.

Memberi akun layanan Artifact Registry akses ke secret Anda

Agen layanan Artifact Registry bertindak atas nama Artifact Registry saat berinteraksi dengan layanan Cloud de Confiance . Untuk mengizinkan agen layanan menggunakan secret yang disimpan di Secret Manager, Anda harus memberikan izin kepada agen layanan untuk melihat versi secret Anda.

ID agen layanan adalah:

service-PROJECT-NUMBER@gcp-sa-artifactregistry.s3ns-system.iam.gserviceaccount.com

PROJECT-NUMBER adalah nomor project dari project Cloud de Confiance tempat Artifact Registry berjalan.

Untuk memberikan peran Secret Manager Secret Accessor kepada agen layanan Artifact Registry:

Konsol

  1. Buka halaman Secret Manager di konsol Cloud de Confiance .

    Buka halaman Secret Manager

  2. Di halaman Secret Manager, klik kotak centang di samping nama secret.

  3. Jika belum terbuka, klik Show Info Panel untuk membuka panel.

  4. Di panel info, klik Add Principal.

  5. Di area teks New principals, masukkan alamat email anggota yang akan ditambahkan.

  6. Di dropdown Pilih peran, pilih Secret Manager, lalu Secret Manager Secret Accessor.

gcloud

$ gcloud secrets add-iam-policy-binding secret-id \
    --member="member" \
    --role="roles/secretmanager.secretAccessor"

Dengan member adalah anggota IAM, seperti pengguna, grup, atau akun layanan.

API

Catatan: Tidak seperti contoh lainnya, perintah ini menggantikan seluruh kebijakan IAM.

$ curl "https://secretmanager.googleapis.com/v1/projects/project-id/secrets/secret-id:setIamPolicy" \
    --request "POST" \
    --header "authorization: Bearer $(gcloud auth print-access-token)" \
    --header "content-type: application/json" \
    --data "{\"policy\": {\"bindings\": [{\"members\": [\"member\"], \"role\": \"roles/secretmanager.secretAccessor\"}]}}"

Untuk mengetahui informasi selengkapnya tentang cara memberikan atau mencabut akses ke secret, lihat Mengelola akses ke secret.

Menambahkan kredensial upstream ke repositori konektor Anda

Untuk memperbarui repositori konektor dengan kredensial sumber upstream Anda:

Konsol

  1. Buka halaman Repositori di Cloud de Confiance konsol.

    Buka halaman Repositori

  2. Di daftar repositori, pilih repositori, lalu klik Edit Repository.

  3. Di bagian Mode autentikasi repositori konektor, perbarui atau tambahkan nama pengguna sumber upstream dan secret yang berisi token akses Anda.

gcloud CLI

Untuk memperbarui repositori konektor dengan kredensial sumber upstream Anda, jalankan perintah berikut:

gcloud artifacts repositories update REPOSITORY \
    --project=PROJECT_ID \
    --location=LOCATION \
    --remote-username=USERNAME \
    --remote-password-secret-version=projects/SECRET_PROJECT_ID/secrets/SECRET_ID/versions/SECRET_VERSION

Ganti kode berikut:

  • REPOSITORY: nama repositori konektor Artifact Registry Anda.
  • PROJECT_ID: Cloud de Confiance Project ID Anda.
  • LOCATION: lokasi regional atau multi-regional untuk repositori. Anda dapat menghapus tanda ini jika Anda menetapkan default. Untuk melihat daftar lokasi yang didukung, jalankan perintah gcloud artifacts locations list.
  • USERNAME: nama pengguna sumber upstream Anda.
  • SECRET_PROJECT_ID: project ID project tempat Anda membuat secret.
  • SECRET_ID: nama yang Anda berikan untuk secret Anda.
  • SECRET_VERSION: versi secret tempat Anda menyimpan token akses Anda.

Kredensial Anda akan digunakan saat berikutnya repositori konektor mengirimkan permintaan artefak dari sumber upstream.