Dengan gcloud CLI, developer dapat menggunakan kunci pribadi untuk melakukan autentikasi dengan akun layanan, yang juga disebut sebagai akun robot. Halaman ini menjelaskan cara membuat dan menggunakan kunci p12 dari akun layanan untuk Google Cloud.
Menginstal pyca/kriptografi
Library pyca/cryptography (versi >= 2.5
) memungkinkan gcloud CLI mendekode file kunci format p12 yang mengidentifikasi akun layanan. Karena mencakup rutinitas kriptografi, pyca/kriptografi tidak didistribusikan dengan gcloud CLI.
Jika sistem Anda memiliki pip
, antarmuka command line ke Python Package Index, yang diinstal, untuk menginstal pyca/cryptography
, jalankan perintah berikut.
Lihat Petunjuk Penginstalan
untuk mengetahui informasi selengkapnya.
python -m pip install cryptography
CLOUDSDK_PYTHON_SITEPACKAGES=1
Setelah pyca/kriptografi diinstal, Anda harus menetapkan variabel lingkungan CLOUDSDK_PYTHON_SITEPACKAGES
ke 1
. Setelan variabel lingkungan ini memberi tahu gcloud CLI bahwa ia harus mencari di luar direktori google-cloud-sdk/lib
-nya sendiri untuk disertakan library. Umumnya, CLOUDSDK_PYTHON_SITEPACKAGES=1
dapat disetel dengan aman, tetapi jika ada yang berhenti berfungsi, Anda mungkin perlu mengurungkannya.
Membuat akun layanan
Untuk membuat akun layanan baru dan mendownload file kunci p12, ikuti langkah-langkah di Membuat kunci akun layanan.
File kunci ini harus dianggap rahasia, dan Anda harus melakukan tindakan pencegahan untuk memastikan file tersebut tidak dapat diakses oleh pihak yang tidak tepercaya. Pada sistem yang mirip unix, Anda dapat memastikan bahwa file tidak terlihat oleh pengguna lain yang terhubung dari jarak jauh (selain pengguna root) dengan menggunakan perintah berikut.
chmod 0600 YOUR_KEY_FILE.p12
Menggunakan akun layanan dengan gcloud CLI
Kredensial akun layanan dapat diaktifkan menggunakan
gcloud auth activate-service-account
.
Untuk menggunakan akun layanan dengan gcloud CLI, jalankan gcloud auth activate-service-account
dan teruskan jalur ke file kunci dengan flag --key-file
yang diperlukan, lalu berikan akun sebagai argumen posisi.
Akun yang Anda gunakan harus merupakan email untuk akun layanan yang tercantum di Konsol Google Cloud, tetapi tidak akan diverifikasi. Akun ini hanya membantu Anda mengingat akun mana yang digunakan.
gcloud auth activate-service-account --key-file ~/mykeys/my_key_file.p12 my_service_account@developer.gserviceaccount.com Activated service account credentials for my_service_account@developer.gserviceaccount.com.
PERINGATAN: gcloud auth activate-service-account
akan membuat salinan kunci pribadi Anda dan menyimpannya di $HOME/.config/gcloud/legacy_credentials/my_service_account@developer.gserviceaccount.com/private_key.p12
dan $HOME/.config/gcloud/credentials.db
.
Class ini akan dibuat dengan izin 0600
(baca/tulis hanya untuk pengguna Anda sendiri), dan semua yang disimpan di $HOME/.config/gcloud
harus sudah dianggap rahasia. Untuk menghapus data autentikasi yang disimpan oleh gcloud CLI dengan andal dan percaya diri, Anda hanya perlu menghapus $HOME/.config/gcloud
. Pengelolaan file kunci yang didownload dari Google Cloud Console secara aman diserahkan kepada pengguna. Jika ragu, cabut kunci di Konsol Google Cloud.
Setelah diaktifkan, akun layanan dapat dilihat di daftar kredensial.
gcloud auth list Credentialed Accounts ACTIVE ACCOUNT * my_service_account@developer.gserviceaccount.com To set the active account, run: $ gcloud config set account my_service_account@developer.gserviceaccount.com