gcloud CLI memungkinkan developer menggunakan kunci pribadi untuk melakukan autentikasi dengan akun layanan, yang juga dikenal sebagai akun robot. Halaman ini menjelaskan cara membuat dan menggunakan kunci p12 akun layanan untuk Google Cloud.
Menginstal pyca/cryptography
Library pyca/cryptography
(versi >= 2.5
) memungkinkan gcloud CLI mendekode file kunci format p12
yang mengidentifikasi akun layanan. Karena menyertakan rutinitas kriptografi,
pyca/cryptography tidak didistribusikan dengan gcloud CLI.
Jika sistem Anda memiliki pip
, antarmuka command line ke
Python Package Index, terinstal,
untuk menginstal pyca/cryptography
, jalankan perintah berikut.
Lihat Petunjuk Penginstalan
untuk informasi selengkapnya.
python -m pip install cryptography
CLOUDSDK_PYTHON_SITEPACKAGES=1
Setelah pyca/cryptography diinstal, Anda harus menetapkan variabel lingkungan CLOUDSDK_PYTHON_SITEPACKAGES
ke 1
. Setelan variabel lingkungan ini memberi tahu gcloud CLI bahwa CLI harus mencari di luar direktori google-cloud-sdk/lib
-nya sendiri untuk library yang akan disertakan. Umumnya aman untuk menetapkan CLOUDSDK_PYTHON_SITEPACKAGES=1
, tetapi jika
sesuatu berhenti berfungsi, Anda mungkin perlu mengurungkan tindakan tersebut.
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 bahwa file tersebut tidak dapat diakses oleh pihak yang tidak tepercaya. Pada sistem seperti 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 Anda dengan flag --key-file
yang diperlukan, lalu beri akun tersebut
sebagai argumen posisional.
Akun yang Anda gunakan harus berupa email untuk akun layanan yang tercantum di konsol Google Cloud, tetapi tidak akan diverifikasi; akun tersebut hanya membantu Anda mengingat akun mana yang Anda gunakan.
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
.
Folder ini akan dibuat dengan izin 0600
(baca/tulis hanya untuk
pengguna Anda sendiri), dan semua yang disimpan di $HOME/.config/gcloud
harus dianggap sebagai rahasia. Untuk menghapus data autentikasi yang disimpan oleh gcloud CLI dengan andal dan yakin, Anda hanya perlu menghapus $HOME/.config/gcloud
. Pengelolaan file kunci yang aman
yang didownload dari konsol Google Cloud 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