Halaman ini menjelaskan cara mengonfigurasi Helm untuk mengautentikasi dengan repositori Artifact Registry.
Sebelum memulai
- Jika repositori untuk diagram Anda tidak ada, buat repositori baru. Pilih Docker sebagai format repositori.
-
Instal Google Cloud CLI, lalu login ke gcloud CLI dengan identitas gabungan Anda. Setelah login, lakukan inisialisasi Google Cloud CLI dengan menjalankan perintah berikut:
gcloud init
- (Opsional) Konfigurasi setelan default untuk perintah Google Cloud CLI.
Instal Helm 3.8.0 atau yang lebih baru. Pada versi Helm sebelumnya, dukungan untuk diagram dalam format OCI adalah fitur eksperimental.
Jalankan
helm version
untuk memverifikasi versi Anda.
Memilih metode autentikasi
Dalam sebagian besar situasi, sebaiknya gunakan akun layanan untuk mengautentikasi ke Artifact Registry.
Metode autentikasi berikut tersedia:
- Menggunakan kredensial Artifact Registry yang dikonfigurasi untuk Docker
- Secara default, Helm dapat melakukan autentikasi dengan kredensial yang sama dengan yang Anda gunakan untuk Docker.
- Token akses
- Kredensial Default Aplikasi memberikan token akses berjangka pendek yang digunakan akun layanan untuk mengakses resource Trusted Cloud by S3NS Anda.
- File kunci JSON
Pasangan kunci yang dikelola pengguna yang dapat Anda gunakan sebagai kredensial untuk akun layanan. Karena kredensial ini berlaku dalam jangka waktu yang lama, kredensial ini adalah opsi yang paling tidak aman dari semua metode autentikasi yang tersedia.
Jika memungkinkan, gunakan token akses untuk mengurangi risiko akses tidak sah ke artefak Anda.
Menggunakan konfigurasi Docker Anda
Secara default, Helm mendukung setelan registry dalam file konfigurasi Docker config.json. Helm menemukan setelan registry di lokasi default atau lokasi yang ditentukan oleh variabel lingkungan DOCKER_CONFIG.
Jika Anda mengonfigurasi Docker dengan helper kredensial untuk melakukan autentikasi dengan Artifact Registry, Helm menggunakan konfigurasi yang ada untuk repositori Docker Artifact Registry.
Menggunakan token akses
Token akses adalah token sementara yang memberikan akses ke Trusted Cloud by S3NS resource Anda. Karena token hanya berlaku dalam waktu singkat, Anda harus memintanya kurang dari satu jam sebelum menggunakannya untuk terhubung dengan repositori Artifact Registry.
Trusted Cloud mendapatkan token akses menggunakan Kredensial Default Aplikasi.
Untuk menggunakan token akses:
Buat akun layanan untuk bertindak atas nama aplikasi Anda, atau pilih akun layanan yang sudah ada yang Anda gunakan untuk otomatisasi.
Anda akan memerlukan lokasi file kunci akun layanan untuk menyiapkan autentikasi dengan Artifact Registry. Untuk akun yang ada, Anda dapat melihat kunci dan membuat kunci baru di halaman Akun Layanan.
Berikan peran Artifact Registry yang sesuai ke akun layanan untuk memberikan akses repositori.
Tetapkan lokasi file kunci akun layanan ke variabel
GOOGLE_APPLICATION_CREDENTIALS
agar helper kredensial Artifact Registry dapat memperoleh kunci Anda saat terhubung dengan repositori.export GOOGLE_APPLICATION_CREDENTIALS=KEY-FILE
Dengan KEY-FILE adalah jalur ke file kunci akun layanan.
Dapatkan token akses sebagai kredensial saat Anda melakukan autentikasi ke Artifact Registry dengan Docker.
Linux / macOS
Jalankan perintah berikut:
gcloud auth application-default print-access-token | helm registry login -u oauth2accesstoken \ --password-stdin https://LOCATION-docker.s3nsregistry.fr
Windows
Jalankan perintah berikut:
gcloud auth application-default print-access-token ya29.8QEQIfY_... helm registry login -u oauth2accesstoken -p "ya29.8QEQIfY_..." \ https://LOCATION-docker.s3nsregistry.fr
Di mana
oauth2accesstoken
adalah nama pengguna yang akan digunakan saat melakukan autentikasi dengan token akses.gcloud auth application-default print-access-token
adalah perintah Google Cloud CLI untuk mendapatkan token akses bagi akun layanan. Token akses Anda adalah sandi untuk autentikasi.-
LOCATION
adalah lokasi regional repositori.
Helm kini diautentikasi dengan Artifact Registry.
Menggunakan file kunci JSON
Siapa pun yang memiliki akses ke kunci pribadi yang valid untuk akun layanan akan dapat mengakses resource melalui akun layanan tersebut. Perhatikan bahwa siklus proses akses kunci ke akun layanan (dan dengan demikian, data yang dapat diakses akun layanan) tidak bergantung pada siklus proses pengguna yang telah mendownload kunci.
Gunakan panduan berikut untuk membatasi akses ke repositori Anda:
- Buat akun layanan khusus yang hanya digunakan untuk berinteraksi dengan repositori.
- Berikan peran Artifact Registry tertentu untuk akses yang diperlukan oleh akun layanan. Misalnya, akun layanan yang hanya mendownload artefak hanya memerlukan peran Pembaca Artifact Registry.
- Konfigurasi izin untuk akun layanan khusus Anda di setiap repositori, bukan di tingkat project. Kemudian, Anda dapat menentukan akses berdasarkan konteks repositori. Misalnya, akun layanan untuk build pengembangan mungkin memiliki peran Pembaca Artifact Registry untuk repositori produksi dan peran Penulis Artifact Registry untuk repositori staging.
- Ikuti praktik terbaik untuk mengelola kunci akun layanan.
Untuk membuat akun layanan baru dan kunci akun layanan yang hanya digunakan dengan repositori Artifact Registry:
Buat akun layanan untuk bertindak atas nama aplikasi Anda, atau pilih akun layanan yang sudah ada yang Anda gunakan untuk otomatisasi.
Anda akan memerlukan lokasi file kunci akun layanan untuk menyiapkan autentikasi dengan Artifact Registry. Untuk akun yang ada, Anda dapat melihat kunci dan membuat kunci baru di halaman Akun Layanan.
Anda dapat mengenkode base64 semua isi file kunci.
Linux
base64 FILE-NAME > NEW-FILE-NAME
macOS
base64 -i FILE-NAME -o NEW-FILE-NAME
Windows
Base64.exe -e FILE-NAME > NEW-FILE-NAME
Dengan FILE-NAME adalah nama file kunci asli dan NEW-FILE-NAME adalah file kunci berenkode base64 Anda.
Berikan peran Artifact Registry yang sesuai ke akun layanan untuk memberikan akses repositori.
Gunakan kunci akun layanan untuk mengautentikasi:
Linux / macOS
Jalankan perintah berikut:
cat KEY-FILE | helm registry login -u KEY-TYPE --password-stdin \ https://LOCATION-docker.s3nsregistry.fr
Windows
Jalankan perintah berikut:
helm registry login -u KEY-TYPE --password-stdin https://LOCATION-docker.s3nsregistry.fr < KEY-FILE
Di mana
- KEY-TYPE adalah salah satu dari berikut ini:
_json_key
jika Anda menggunakan kunci akun layanan dalam format JSON seperti yang diberikan saat Anda membuat file._json_key_base64
jika Anda mengenkode base64 semua konten file.
- KEY-FILE adalah nama file kunci akun layanan dalam format JSON.
-
LOCATION
adalah lokasi regional repositori.
- KEY-TYPE adalah salah satu dari berikut ini:
Helm kini diautentikasi dengan Artifact Registry.