Dokumen ini menjelaskan cara mengonfigurasi autentikasi ke repositori upstream registry npm untuk repositori jarak jauh Artifact Registry.
Dokumen ini mengasumsikan bahwa Anda telah membuat repositori jarak jauh npm Artifact Registry , dan akun registry npm.
Untuk mengetahui informasi selengkapnya tentang repositori jarak jauh, lihat Ringkasan repositori jarak jauh.
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan untuk mengonfigurasi autentikasi ke registry npm untuk repositori jarak jauh, minta administrator Anda untuk memberikan peran IAM berikut pada project:
- Admin Artifact Registry (
roles/artifactregistry.admin) - Admin Secret Manager (
roles/secretmanager.admin)
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.
Membuat token akses pribadi registry npm
- Login ke registry npm.
- Buat token akses hanya baca.
Menyimpan token akses pribadi Anda dalam versi secret
- Buat secret di Secret Manager.
- Simpan token akses pribadi registry npm Anda sebagai a versi secret.
Memberikan akses akun layanan Artifact Registry ke secret Anda
Agen layanan Artifact Registry bertindak atas nama Artifact Registry saat berinteraksi dengan Google Cloud layanan. 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.iam.gserviceaccount.com
PROJECT-NUMBER adalah nomor project dari Google Cloud project tempat Artifact Registry berjalan.
Untuk memberikan peran Secret Manager Secret Accessor kepada agen layanan Artifact Registry:
Konsol
-
Buka halaman Secret Manager di Google Cloud konsol.
-
Di halaman Secret Manager, klik kotak centang di samping nama secret.
-
Jika belum terbuka, klik Show Info Panel untuk membuka panel.
-
Di panel info, klik Add Principal.
-
Di area teks New principals, masukkan alamat email anggota yang akan ditambahkan.
-
Di dropdown Select a role , 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.
C#
Untuk melakukan autentikasi ke Artifact Registry, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Go
Untuk melakukan autentikasi ke Artifact Registry, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk melakukan autentikasi ke Artifact Registry, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk melakukan autentikasi ke Artifact Registry, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
PHP
Untuk melakukan autentikasi ke Artifact Registry, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk melakukan autentikasi ke Artifact Registry, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Ruby
Untuk melakukan autentikasi ke Artifact Registry, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
API
Catatan: Tidak seperti contoh lainnya, contoh 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 pemberian atau pencabutan akses ke secret, lihat Mengelola akses ke secret.
Menambahkan kredensial registry npm ke repositori jarak jauh Anda
Untuk memperbarui repositori jarak jauh dengan kredensial registry npm Anda:
Konsol
Buka halaman Repositories di Google Cloud konsol.
Di daftar repositori, pilih repositori, lalu klik Edit Repository.
Di bagian Mode autentikasi repositori jarak jauh, perbarui atau tambahkan nama pengguna registry npm Anda, dan versi Secret yang berisi token akses registry npm Anda.
gcloud CLI
Untuk memperbarui repositori jarak jauh dengan kredensial registry npm 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:
REPOSITORYdengan nama repositori jarak jauh Artifact Registry Anda.PROJECT_IDdengan Google Cloud project ID Anda.LOCATIONdengan lokasi regional atau multi-regional location untuk repositori. Anda dapat menghapus flag ini jika menetapkan default. Untuk melihat daftar lokasi yang didukung, jalankan perintahgcloud artifacts locations list.USERNAMEdengan nama pengguna registry npm Anda.SECRET_PROJECT_IDdengan project ID project tempat Anda membuat secret.SECRET_IDdengan nama yang Anda berikan ke secret Anda.SECRET_VERSIONdengan versi secret tempat Anda menyimpan token akses registry npm Anda.
Kredensial Anda akan digunakan saat repositori jarak jauh mengirim permintaan untuk artefak dari sumber upstream.