Dokumen ini hanya membahas autentikasi untuk Google Cloud CLI dalam mengakses resourceGoogle Cloud . Jika Anda perlu mengautentikasi beban kerja menggunakan Library Klien Cloud atau Library Klien Google API, lihat Cara kerja Kredensial Default Aplikasi.
Sebelum memulai
Jika Anda baru menggunakan Google Cloud dan hanya ingin mulai menggunakan perintah gcloud CLI di lingkungan pengembangan lokal, Anda dapat melakukan inisialisasi gcloud CLI dengan perintah berikut:
gcloud init
Inisialisasi akan memandu Anda melalui alur autentikasi, menyiapkan konfigurasi gcloud CLI, dan memberi otorisasi gcloud CLI untuk bertindak atas nama Anda. Tidak perlu melakukan langkah autentikasi terpisah.
Bagian lain dari dokumen ini membahas skenario yang lebih kompleks seperti menggunakan gcloud CLI dengan berbagai jenis prinsipal, metode autentikasi yang sesuai untuk lingkungan yang berbeda, mengganti prinsipal, dan mengelola kredensial yang disimpan.
Metode autentikasi
Semua perintah gcloud CLI perlu diautentikasi ke Google Cloud API. Anda dapat melakukan autentikasi dengan cara berikut:
Mengizinkan dan menyimpan kredensial: Cocok untuk digunakan manusia di lingkungan pengembangan lokal. Anda dapat mengizinkan gcloud CLI untuk bertindak atas nama pokok menggunakan perintah
gcloud auth login. Setelah autentikasi awal, perintah ini menyimpan kredensial di direktori konfigurasi gcloud CLI. gcloud CLI menggunakan kredensial yang disimpan ini untuk melakukan autentikasi secara otomatis untuk perintah berikutnya hingga sesi Anda berakhir, atau Anda mencabut otorisasi.Mengautentikasi dengan file kredensial: Cocok untuk workload yang berjalan di luar Google Cloud. Anda dapat menggunakan variabel lingkungan atau properti konfigurasi gcloud CLI untuk menentukan file kredensial untuk autentikasi otomatis. File ini dapat berupa salah satu dari berikut ini:
File konfigurasi kredensial Workload Identity Federation.
Kunci akun layanan.
Menyediakan token akses: Cocok untuk alur kerja otomatis yang sangat terisolasi atau sesi tanpa status di komputer bersama. Anda dapat melewati penyimpanan kredensial dengan menyediakan token akses langsung ke gcloud CLI. Anda dapat melakukannya dengan menyetel variabel lingkungan tertentu ke string token akses mentah, atau dengan mengarahkan gcloud CLI ke file yang berisi token akses.
Setelah melakukan autentikasi, Anda dapat secara opsional mengizinkan gcloud CLI meniru identitas akun layanan dengan memberikan alamat email akun layanan.
Anda dapat menggunakan beberapa metode autentikasi dalam satu lingkungan. Namun,
hanya satu prinsipal yang digunakan untuk perintah gcloud tertentu. Untuk menentukan prinsipal mana yang akan digunakan, gcloud CLI mengikuti
urutan prioritas.
Saat Anda tidak perlu melakukan autentikasi
Anda tidak perlu melakukan autentikasi untuk gcloud CLI dalam situasi berikut:
- Segera setelah Anda melakukan inisialisasi gcloud CLI. Autentikasi dan otorisasi disertakan dalam proses inisialisasi. Anda mungkin masih perlu melakukan autentikasi lagi jika Anda perlu mengakses resource yang berbeda menggunakan principal yang berbeda, atau jika Anda perlu melakukan autentikasi ulang principal Anda.
- Saat menggunakan gcloud CLI dari resource yang mengekspos server metadata Compute Engine. Hal ini mencakup resource seperti instance VM Compute Engine, layanan Cloud Run, dan build Cloud Build. Gcloud CLI melakukan autentikasi menggunakan akun layanan yang terpasang ke VM, dan diizinkan untuk mengakses resource yang sama dengan akun layanan tersebut dalam batas cakupan akses yang telah diterapkan.
- Saat menggunakan Cloud Shell. gcloud CLI otomatis melakukan autentikasi menggunakan prinsipal yang Anda gunakan untuk login ke konsol Google Cloud . Saat Anda menjalankan perintah gcloud CLI untuk pertama kalinya dalam sesi Cloud Shell baru, Anda akan diminta untuk memberi otorisasi Cloud Shell menggunakan prinsipal tersebut.
Pilih principal yang tepat untuk tugas tersebut
Ada berbagai jenis akun utama untuk penggunaan manusia dan workload otomatis. Jenis akun utama yang perlu Anda gunakan memengaruhi cara Anda melakukan autentikasi.
-
Akun pengguna: Akun ini adalah Akun Google yang ditujukan bagi manusia untuk melakukan pekerjaan interaktif, seperti tugas administratif insidental, konfigurasi layanan non-terprogram, pengujian, eksperimen, dan kemampuan observasi. Google Cloud
Anda mengautentikasi sebagai akun pengguna dengan kredensial pengguna, seperti sandi dan kode sekali pakai.
-
Akun layanan: Ini adalah akun khusus untuk Google Cloud beban kerja yang dapat digunakan untuk mengakses layanan atau resource. Biasanya, Anda tidak melakukan autentikasi sebagai akun layanan secara langsung. Sebagai gantinya, Anda melampirkan akun layanan ke resource seperti VM Compute Engine, atau menggunakan peniruan identitas akun layanan.
-
Akun utama gabungan: Ini adalah identitas yang mereferensikan akun pengguna atau layanan di penyedia identitas eksternal. Ada dua jenis akun utama gabungan yang didukung oleh Google Cloud, yang memiliki nama serupa:
-
Workforce Identity Federation: Memungkinkan pengguna manusia login ke Google Cloud dengan identitas yang dikelola oleh penyedia identitas eksternal. Jika organisasi Anda sudah menyiapkan single sign-on (SSO), Anda dapat menggunakan jenis identitas ini untuk mengautentikasi ke Google Cloud.
Penyedia identitas Anda harus mendukung OpenID Connect (OIDC) atau SAML 2.0 untuk menggunakan Workforce Identity Federation.
-
Workload Identity Federation: Memungkinkan beban kerja yang berjalan di luar Google Cloud beroperasi pada resource Google Cloud .
Anda dapat menggunakan Workload Identity Federation dengan workload yang melakukan autentikasi menggunakan sertifikat klien X.509; yang berjalan di Amazon Web Services (AWS) atau Azure; Active Directory on-premise; layanan deployment, seperti GitHub dan GitLab; dan dengan penyedia identitas apa pun yang mendukung OpenID Connect (OIDC) atau Security Assertion Markup Language (SAML) V2.0.
-
Menggunakan gcloud CLI sebagai pengguna
Untuk tugas interaktif, Anda biasanya melakukan autentikasi dengan salah satu cara berikut:
Akun pengguna
Identitas pengguna gabungan, menggunakan Workforce Identity Federation
Akun pengguna
Cara Anda melakukan autentikasi dengan akun pengguna untuk gcloud CLI bergantung pada apakah browser web diinstal di perangkat Anda.
Perangkat saya memiliki browser web
Untuk mengautentikasi dengan akun pengguna di perangkat dengan browser web, selesaikan langkah-langkah berikut:
Jalankan perintah berikut untuk memulai proses:
gcloud auth loginIkuti alur berbasis browser untuk mengautentikasi dan memberi otorisasi gcloud CLI agar dapat mengakses resource atas nama Anda untuk perintah di masa mendatang.
Perintah gcloud auth login menyimpan kredensial akses di direktori beranda Anda. Principal yang diautentikasi menjadi principal aktif dalam konfigurasi gcloud CLI aktif Anda. Kecuali diganti, gcloud CLI menggunakan kredensial tersimpan ini untuk mengakses Google Cloud.
Perangkat saya tidak memiliki browser web
Jika perangkat yang Anda gunakan untuk menjalankan gcloud CLI tidak memiliki browser web, Anda dapat melakukan autentikasi dengan akun pengguna Anda di perangkat tepercaya lainnya. Proses ini berubah, bergantung pada software yang diinstal di perangkat tepercaya lainnya.
Mengautentikasi menggunakan perangkat tepercaya lain
Pilih software yang tersedia di perangkat tepercaya lainnya.
gcloud CLI dan browser web
Gunakan flag --no-browser untuk menyelesaikan proses autentikasi di
perangkat lain dengan browser web dan gcloud CLI yang
diinstal:
Jalankan perintah berikut di perangkat asli yang ingin Anda gunakan untuk menjalankan gcloud CLI:
Linux and macOS
gcloud auth login \ --no-browserWindows (PowerShell)
gcloud auth login ` --no-browserSalin perintah
gcloudyang dimulai dengangcloud auth login --remote-bootstrap="untuk digunakan di perangkat lain.Buka perangkat tepercaya lain yang memiliki browser web dan gcloud CLI versi 372.0.0 atau yang lebih baru.
Di terminal, jalankan perintah yang Anda salin sebelumnya yang dimulai dengan
gcloud auth login --remote-bootstrap=", dan selesaikan alur berbasis browser.Di terminal, salin URL yang dimulai dengan
https://localhostuntuk digunakan di perangkat asli.Kembali ke perangkat asli.
Di terminal, pada perintah, tempelkan URL
https://localhostyang Anda salin sebelumnya. Tekan Enter atau Return di keyboard Anda untuk menyelesaikan proses.
Perintah gcloud auth login menyimpan kredensial akses di direktori beranda Anda. Principal yang diautentikasi menjadi principal aktif dalam konfigurasi gcloud CLI aktif Anda. Kecuali diganti, gcloud CLI menggunakan kredensial tersimpan ini untuk mengakses Google Cloud.
Khusus browser web
Gunakan tanda --no-launch-browser untuk menyelesaikan proses autentikasi menggunakan browser web perangkat lain:
Jalankan perintah berikut di perangkat asli yang ingin Anda gunakan untuk menjalankan gcloud CLI:
Linux and macOS
gcloud auth login \ --no-launch-browserWindows (PowerShell)
gcloud auth login ` --no-launch-browserSalin URL yang diawali dengan
https://accounts.google.com/o/oauth2/authuntuk digunakan di perangkat lain.Buka perangkat tepercaya lain yang telah menginstal browser web.
Buka browser web, buka URL yang Anda salin sebelumnya, dan selesaikan alur berbasis browser.
Salin kode verifikasi untuk digunakan di perangkat asli.
Kembali ke perangkat asli.
Di terminal, pada perintah, tempelkan kode verifikasi yang Anda salin sebelumnya. Tekan Enter atau Return di keyboard Anda untuk menyelesaikan proses.
Perintah gcloud auth login menyimpan kredensial akses di direktori beranda Anda. Principal yang diautentikasi menjadi principal aktif dalam konfigurasi gcloud CLI aktif Anda. Kecuali diganti, gcloud CLI menggunakan kredensial tersimpan ini untuk mengakses Google Cloud.
Identitas pengguna gabungan
Anda dapat menggunakan gcloud CLI dengan identitas pengguna gabungan yang dikelola di penyedia identitas (IdP) eksternal. Anda dapat melakukannya dengan Workforce Identity Federation.
Petunjuk berikut mengasumsikan bahwa Anda telah menyiapkan pool dan penyedia Workforce Identity Federation agar berfungsi dengan IdP Anda.
Untuk menggunakan gcloud CLI dengan identitas pengguna gabungan, Anda membuat file konfigurasi login, lalu login menggunakan alur berbasis browser:
Jalankan perintah berikut untuk membuat file konfigurasi login:
Linux and macOS
gcloud iam workforce-pools create-login-config \ locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID \ --output-file=LOGIN_CONFIG_PATH
Windows (PowerShell)
gcloud iam workforce-pools create-login-config ` locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID ` --output-file=LOGIN_CONFIG_PATH
Ganti kode berikut:
WORKFORCE_POOL_ID: ID pool Workforce Identity Federation.WORKFORCE_PROVIDER_ID: ID penyedia Workforce Identity Federation.-
LOGIN_CONFIG_PATH: Jalur untuk menulis file konfigurasi login ke. Contoh,login-config.json.
File konfigurasi login berisi endpoint yang digunakan oleh gcloud CLI untuk mengaktifkan alur autentikasi berbasis browser dan menetapkan audience ke IdP yang dikonfigurasi di penyedia workforce identity pool. File tidak berisi informasi rahasia.
Konten file konfigurasi login akan terlihat seperti berikut:
{ "universe_domain": "googleapis.com", "universe_cloud_web_domain": "cloud.google", "type": "external_account_authorized_user_login_config", "audience": "//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID", "auth_url": "https://auth.cloud.google/authorize", "token_url": "https://sts.googleapis.com/v1/oauthtoken", "token_info_url": "https://sts.googleapis.com/v1/introspect" }
Arahkan ke file konfigurasi login dengan variabel lingkungan, properti dalam konfigurasi gcloud CLI aktif, atau gunakan secara langsung dengan perintah
gcloud auth login:Variabel lingkungan
Untuk menggunakan file konfigurasi login dengan variabel lingkungan, selesaikan petunjuk berikut:
-
Tetapkan variabel lingkungan
CLOUDSDK_AUTH_LOGIN_CONFIG_FILEke jalur file konfigurasi login. -
Jalankan perintah berikut:
gcloud auth login
- gcloud CLI mereferensikan variabel lingkungan untuk menemukan file konfigurasi login, lalu memulai proses autentikasi. Ikuti alur berbasis browser untuk mengautentikasi dan mengizinkan gcloud CLI mengakses resource atas nama Anda untuk perintah mendatang.
Untuk berhenti menggunakan file konfigurasi login untuk perintah
gcloud auth login, hapus variabel lingkunganCLOUDSDK_AUTH_LOGIN_CONFIG_FILE.Konfigurasi gcloud CLI
Untuk menggunakan file konfigurasi login dengan properti konfigurasi gcloud CLI, selesaikan petunjuk berikut:
-
Tetapkan properti
auth/login_config_filekonfigurasi gcloud CLI aktif ke jalur file konfigurasi login dengan perintah berikut:gcloud config set auth/login_config_file LOGIN_CONFIG_PATH
-
Jalankan perintah berikut:
gcloud auth login
- gcloud CLI mereferensikan properti konfigurasi untuk menemukan file konfigurasi login, lalu memulai proses autentikasi. Ikuti alur berbasis browser untuk mengautentikasi dan mengizinkan gcloud CLI mengakses resource atas nama Anda untuk perintah mendatang.
Untuk berhenti menggunakan file konfigurasi login untuk perintah
gcloud auth login, hapus setelan properti dengan perintah berikut:gcloud config unset auth/login_config_file
gcloud auth login
Untuk menggunakan file konfigurasi login secara langsung dengan perintah
gcloud auth login, selesaikan petunjuk berikut:-
Jika Anda menggunakan flag
--activatesaat membuat file konfigurasi login, jalankan perintah berikut:gcloud auth login
-
Jika Anda tidak menggunakan flag
--activatesaat membuat file konfigurasi login, jalankan perintah berikut:Linux and macOS
gcloud auth login \ --login-config=LOGIN_CONFIG_PATH
Windows (PowerShell)
gcloud auth login ` --login-config=LOGIN_CONFIG_PATH
Ganti LOGIN_CONFIG_PATH dengan jalur file konfigurasi login Anda.
Perintah gcloud auth login menyimpan kredensial akses di direktori beranda Anda. Principal yang diautentikasi menjadi principal aktif dalam konfigurasi gcloud CLI aktif Anda. Kecuali diganti, gcloud CLI menggunakan kredensial tersimpan ini untuk mengakses Google Cloud.
-
Tetapkan variabel lingkungan
Menggunakan gcloud CLI dengan workload
Untuk workload otomatis, Anda biasanya melakukan autentikasi dengan salah satu hal berikut:
Identitas beban kerja gabungan, menggunakan Workload Identity Federation
Akun layanan, menggunakan peniruan
Identitas workload gabungan
Anda dapat menggunakan gcloud CLI dengan workload identity gabungan. Anda melakukannya dengan Workload Identity Federation.
Workload dapat mengakses Google Cloud resource secara langsung dengan bertindak sebagai akun utama yang ditentukan oleh workload identity pool, atau meniru identitas akun layanan yang terlampir ke workload identity pool.
Sebaiknya gunakan metode akses langsung untuk menghindari akun layanan dengan hak istimewa berlebih, dan untuk mencatat akses resource menggunakan ID prinsipal gabungan. Hanya gunakan peniruan akun layanan jika Google Cloud API tidak mendukung Workload Identity Federation.
Petunjuk berikut mengasumsikan bahwa Anda telah menyiapkan pool dan penyedia Workload Identity Federation agar berfungsi dengan IdP Anda.
Buat file konfigurasi kredensial untuk Workload Identity Federation dengan mengikuti petunjuk untuk penyedia identitas yang didukung.
Tentukan jalur ke file konfigurasi kredensial dalam variabel lingkungan, sebagai properti dalam konfigurasi gcloud CLI aktif, atau dengan perintah
gcloud auth login:Variabel lingkungan
Tetapkan variabel lingkungan
CLOUDSDK_AUTH_CREDENTIAL_FILE_OVERRIDEke jalur file konfigurasi kredensial. gcloud CLI mereferensikan file setiap kali menjalankan perintah, dan mendapatkan kredensial dari IdP Anda. Kredensial ini ditukar dengan token akses ke Google Cloud.Untuk berhenti menggunakan file konfigurasi kredensial, hapus variabel lingkungan
CLOUDSDK_AUTH_CREDENTIAL_FILE_OVERRIDE.Konfigurasi gcloud CLI
Tetapkan properti
auth/credential_file_overridekonfigurasi gcloud CLI aktif ke jalur file konfigurasi kredensial dengan perintah berikut:gcloud config set auth/credential_file_override CONFIGURATION_PATHGanti
CONFIGURATION_PATHdengan jalur ke file konfigurasi kredensial.Untuk berhenti menggunakan file konfigurasi kredensial secara default untuk perintah
gcloud, hapus setelan properti dengan perintah berikut:gcloud config unset auth/credential_file_overridegcloud auth login
Jalankan perintah berikut menggunakan flag
--cred-file:Linux and macOS
gcloud auth login \ --cred-file=CONFIGURATION_PATHWindows (PowerShell)
gcloud auth login ` --cred-file=CONFIGURATION_PATHGanti
CONFIGURATION_PATHdengan jalur ke file konfigurasi kredensial.Perintah gcloud auth login menyimpan kredensial akses di direktori beranda Anda. Principal yang diautentikasi menjadi principal aktif dalam konfigurasi gcloud CLI aktif Anda. Kecuali diganti, gcloud CLI menggunakan kredensial tersimpan ini untuk mengakses Google Cloud.
Akun layanan
Anda dapat menggunakan gcloud CLI dengan akun layanan dengan cara berikut:
Pada resource yang mengekspos server metadata Compute Engine, seperti instance VM Compute Engine atau layanan Cloud Run. gcloud CLI menggunakan akun layanan apa pun yang terpasang ke resource untuk melakukan autentikasi secara default.
Dengan menggunakan akun utama lain untuk meniru identitas akun layanan.
Dengan menggunakan kunci akun layanan.
Peniruan akun layanan
Untuk akses resource yang biasanya tidak tersedia untuk akun utama Anda, sebaiknya kelola eskalasi akses dengan Privileged Access Manager, bukan menggunakan peniruan akun layanan.
Jika Privileged Access Manager tidak sesuai dengan kasus penggunaan Anda, selesaikan langkah-langkah berikut untuk menggunakan gcloud CLI dengan akun layanan:
Untuk meniru identitas akun layanan, pastikan Service Account Credentials API diaktifkan di project Anda.
Peran yang diperlukan untuk mengaktifkan API
Untuk mengaktifkan API, Anda memerlukan peran IAM Service Usage Admin (
roles/serviceusage.serviceUsageAdmin), yang berisi izinserviceusage.services.enable. Pelajari cara memberikan peran.Pilih akun utama yang akan digunakan untuk meniru identitas akun layanan.
-
Untuk memastikan akun utama memiliki izin yang diperlukan untuk meniru akun layanan, minta administrator Anda untuk memberikan peran IAM Service Account Token Creator (
roles/iam.serviceAccountTokenCreator) kepada akun utama di akun layanan. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.Peran bawaan ini berisi izin
iam.serviceAccounts.getAccessToken, yang diperlukan untuk meniru akun layanan.Administrator Anda mungkin juga dapat memberi akun utama izin ini dengan peran khusus atau peran bawaan lainnya.
Lakukan autentikasi untuk gcloud CLI dengan akun utama yang Anda pilih sebelumnya, baik akun pengguna, identitas pengguna gabungan, identitas beban kerja gabungan, atau akun layanan lain.
Pilih akun layanan yang akan ditiru. Temukan akun layanan yang ada, atau buat akun layanan baru.
Salin alamat Email akun layanan.
Pilih apakah akan meniru akun layanan untuk semua perintah, atau hanya satu perintah:
Semua perintah
Untuk menggunakan peniruan akun layanan dengan gcloud CLI untuk perintah mendatang, Anda dapat menyetel variabel lingkungan, atau menyetel properti dalam konfigurasi gcloud CLI aktif:
Variabel lingkungan: Tetapkan variabel lingkungan
CLOUDSDK_AUTH_IMPERSONATE_SERVICE_ACCOUNTke alamat email akun layanan.Untuk berhenti menggunakan akun layanan, hapus variabel lingkungan
CLOUDSDK_AUTH_IMPERSONATE_SERVICE_ACCOUNT.Konfigurasi gcloud CLI: Tetapkan properti
auth/impersonate_service_accountkonfigurasi gcloud CLI aktif dengan perintah berikut:gcloud config set auth/impersonate_service_account SERVICE_ACCOUNT_EMAILGanti
SERVICE_ACCOUNT_EMAILdengan alamat email akun layanan.Untuk berhenti menggunakan peniruan akun layanan secara default untuk perintah
gcloud, hapus setelan properti dengan perintah berikut:gcloud config unset auth/impersonate_service_account
Perintah tunggal
Untuk menggunakan peniruan akun layanan dengan gcloud CLI untuk satu perintah, Anda dapat menambahkan flag
--impersonate-service-accountke perintah layanan gcloud CLI.Misalnya, untuk mencantumkan instance VM Compute Engine menggunakan peniruan akun layanan, jalankan perintah berikut:
Linux and macOS
gcloud compute instances list \ --impersonate-service-account=SERVICE_ACCOUNT_EMAILWindows (PowerShell)
gcloud compute instances list ` --impersonate-service-account=SERVICE_ACCOUNT_EMAILGanti
SERVICE_ACCOUNT_EMAILdengan alamat email akun layanan.
Kunci akun layanan
Sebaiknya gunakan Workload Identity Federation untuk sebagian besar workload yang berjalan di luar Google Cloud. Gunakan kunci akun layanan hanya jika workload Anda berjalan di lingkungan eksternal yang terisolasi dan tidak mendukung Workload Identity Federation.
Workload Identity Federation menawarkan keuntungan berikut:
Akses ke resource diberikan melalui Identity and Access Management (IAM), dengan beban kerja diperlakukan sebagai akun utama individual. Artinya, Anda tidak perlu memberikan izin berlebih pada akun layanan untuk beberapa kasus penggunaan.
Anda dapat mengaudit beban kerja yang menjalankan tugas apa; tindakan tidak disembunyikan di balik alamat email akun layanan.
Workload Identity Federation menggunakan token akses berumur pendek untuk mengurangi risiko pemindahan data yang tidak sah. Masa berlaku kunci akun layanan tidak akan berakhir kecuali jika dicabut secara manual.
Untuk menggunakan akun layanan dengan gcloud CLI untuk perintah mendatang, lakukan hal berikut:
Buat kunci akun layanan, lalu simpan sebagai file di lokasi yang aman di lingkungan Anda.
Tentukan jalur ke file kunci akun layanan dalam variabel lingkungan, sebagai properti dalam konfigurasi gcloud CLI aktif, atau dengan perintah
gcloud auth login:Variabel lingkungan: Tetapkan variabel lingkungan
CLOUDSDK_AUTH_CREDENTIAL_FILE_OVERRIDEke jalur file kunci akun layanan.Untuk berhenti menggunakan kunci akun layanan, hapus variabel lingkungan
CLOUDSDK_AUTH_CREDENTIAL_FILE_OVERRIDE.Konfigurasi gcloud CLI: Tetapkan properti
auth/credential_file_overridekonfigurasi gcloud CLI aktif ke jalur kunci akun layanan dengan perintah berikut:gcloud config set auth/credential_file_override KEY_PATHGanti
KEY_PATHdengan jalur ke file kunci akun layanan.Untuk berhenti menggunakan kunci akun layanan secara default untuk perintah
gcloud, hapus setelan properti dengan perintah berikut:gcloud config unset auth/credential_file_overridegcloud auth login: Jalankan perintah berikut menggunakan flag--cred-file:Linux and macOS
gcloud auth login \ --cred-file=KEY_PATHWindows (PowerShell)
gcloud auth login ` --cred-file=KEY_PATHGanti
KEY_PATHdengan jalur ke file kunci akun layanan.Perintah gcloud auth login menyimpan kredensial akses di direktori beranda Anda. Principal yang diautentikasi menjadi principal aktif dalam konfigurasi gcloud CLI aktif Anda. Kecuali diganti, gcloud CLI menggunakan kredensial tersimpan ini untuk mengakses Google Cloud.
Menggunakan gcloud CLI dengan token akses
Jika Anda telah melakukan autentikasi untuk gcloud CLI di perangkat lain, Anda dapat memperoleh token akses untuk principal aktif perangkat tersebut dengan perintah berikut:
gcloud auth print-access-token
Kemudian, Anda dapat menggunakan token akses ini di perangkat lain untuk mengakses Google Cloud resource. Penggunaan token akses menghilangkan kebutuhan untuk menetapkan pokok aktif, dan menggantikan pokok aktif yang ditetapkan dalam konfigurasi gcloud CLI aktif.
Token akses untuk akun pengguna memiliki masa berlaku default satu jam.
Anda dapat menggunakan token akses dengan gcloud CLI untuk perintah mendatang, atau hanya satu perintah.
Semua perintah
Untuk menggunakan token akses dengan gcloud CLI untuk perintah mendatang, Anda dapat menetapkan variabel lingkungan, atau menetapkan properti dalam konfigurasi gcloud CLI aktif:
Variabel lingkungan: Tetapkan variabel lingkungan
CLOUDSDK_AUTH_ACCESS_TOKENke string token akses.Untuk berhenti menggunakan token akses, hapus variabel lingkungan
CLOUDSDK_AUTH_ACCESS_TOKEN.Konfigurasi gcloud CLI: Simpan token akses dalam file, lalu tetapkan properti
auth/access_token_filekonfigurasi gcloud CLI aktif ke jalur file dengan perintah berikut:gcloud config set auth/access_token_file ACCESS_TOKEN_PATHGanti
ACCESS_TOKEN_PATHdengan jalur ke file token akses.Untuk berhenti menggunakan token akses secara default untuk perintah
gcloud, hapus setelan properti dengan perintah berikut:gcloud config unset auth/access_token_file
Perintah tunggal
Untuk menggunakan token akses dengan gcloud CLI untuk satu perintah,
Anda dapat menambahkan
flag --access-token-file
ke perintah layanan gcloud CLI:
Simpan token akses dalam file.
Gunakan flag
--access-token-filedengan perintah layanangcloudapa pun.Misalnya, untuk mencantumkan instance VM Compute Engine menggunakan token akses, jalankan perintah berikut:
Linux and macOS
gcloud compute instances list \ --access-token-file ACCESS_TOKEN_PATHWindows (PowerShell)
gcloud compute instances list ` --access-token-file ACCESS_TOKEN_PATHGanti
ACCESS_TOKEN_PATHdengan jalur ke file token akses.
Prioritas kredensial
Karena beberapa metode autentikasi dapat digunakan dalam satu lingkungan, gcloud CLI mengevaluasi metode dalam urutan tertentu untuk menentukan pokok yang akan digunakan. gcloud CLI dimulai dengan kredensial yang diberikan, lalu menilai apakah peniruan akun layanan telah diminta.
Urutan evaluasi untuk kredensial yang diberikan adalah sebagai berikut:
Variabel lingkungan
CLOUDSDK_AUTH_ACCESS_TOKEN, ditetapkan ke string token akses.Mengakses file token akses. Metode yang digunakan untuk menentukan jalur file token akses dievaluasi dalam urutan berikut:
Flag command line
--access-token-file, yang digunakan dengan perintah gcloud CLI apa pun.Variabel lingkungan
CLOUDSDK_AUTH_ACCESS_TOKEN_FILE.Properti
auth/access_token_filedalam konfigurasi gcloud CLI yang aktif.
File kredensial. Metode yang digunakan untuk menentukan jalur file kredensial dievaluasi dalam urutan berikut:
Variabel lingkungan
CLOUDSDK_AUTH_CREDENTIAL_FILE_OVERRIDE.Properti
auth/credential_file_overridedalam konfigurasi gcloud CLI aktif.
Principal aktif yang ditetapkan oleh perintah
gcloud auth login, atau dengan menetapkan properticore/account.
Prioritas peniruan akun layanan
Jika peniruan identitas akun layanan telah diminta, gcloud CLI akan memeriksa akun layanan mana yang akan ditiru identitasnya setelah kredensial diberikan untuk akun utama yang melakukan peniruan identitas. Metode yang digunakan untuk menentukan akun layanan untuk peniruan identitas dievaluasi dalam urutan berikut:
Tanda command line
--impersonate-service-account.Variabel lingkungan
CLOUDSDK_AUTH_IMPERSONATE_SERVICE_ACCOUNT.Akun layanan yang ditentukan oleh properti
auth/impersonate_service_accountdalam konfigurasi aktif.
Menambahkan Google Drive ke cakupan Anda
Cakupan gcloud CLI dapat diperluas untuk menyertakan akses Google Drive selain Google Cloud. Artinya, Anda dapat menggunakan Google Cloud token akses dengan Google Drive.
Untuk memperluas cakupan agar menyertakan Google Drive, Anda menambahkan flag
--enable-gdrive-access saat mengizinkan gcloud CLI:
Linux and macOS
gcloud auth login \
--enable-gdrive-access
Windows (PowerShell)
gcloud auth login `
--enable-gdrive-access
Kemudian, Anda dapat melakukan panggilan ke Google Drive API menggunakan gcloud CLI untuk memberikan token akses. Misalnya, untuk mencantumkan semua file di Google Drive Anda, Anda dapat membuat permintaan berikut:
Linux and macOS
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://www.googleapis.com/drive/v3/files"
Windows (PowerShell)
Invoke-WebRequest `
-Method GET `
-Headers @{ "Authorization" = "Bearer $(gcloud auth print-access-token)" } `
-ContentType "application/json; charset=utf-8" `
-UseBasicParsing `
-Uri "https://www.googleapis.com/drive/v3/files" | Select-Object -Expand Content
Kemudian, misalnya, Anda dapat menggunakan ID file dari respons perintah sebelumnya untuk mengekstrak teks dari file Google Dokumen:
Linux and macOS
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://www.googleapis.com/drive/v3/files/FILE_ID/export?mimeType=text/plain"
Windows (PowerShell)
Invoke-WebRequest `
-Method GET `
-Headers @{ "Authorization" = "Bearer $(gcloud auth print-access-token)" } `
-ContentType "application/json; charset=utf-8" `
-UseBasicParsing `
-Uri "https://www.googleapis.com/drive/v3/files/FILE_ID/export?mimeType=text/plain" | Select-Object -Expand Content
Kasus penggunaan umum untuk akses Google Drive adalah menggunakan BigQuery dengan data yang disimpan di Google Spreadsheet.
Untuk mempelajari Google Drive API lebih lanjut, lihat Ringkasan Google Drive API.
Menambahkan gcloud CLI sebagai helper kredensial ke Docker
Untuk menarik dari registry container Artifact Registry, Anda dapat menambahkan gcloud CLI sebagai pembantu kredensial ke konfigurasi Docker Anda.
Untuk melakukannya, jalankan perintah
gcloud auth configure-docker:
gcloud auth configure-docker REGION-docker.pkg.dev
Mengelola prinsipal dan kredensial
Anda dapat menggunakan perintah gcloud auth login untuk mengautentikasi beberapa prinsipal
di lingkungan yang sama, dan mengizinkan gcloud CLI mengakses
resource atas nama mereka. Namun, hanya satu prinsipal yang dapat aktif kapan saja. Bagian berikut membahas cara mengelola prinsipal dalam konfigurasi gcloud CLI, termasuk mencantumkannya, beralih di antara prinsipal, dan mencabut kredensialnya.
Mencantumkan akun utama
Untuk mencantumkan prinsipal yang kredensial aksesnya disimpan di sistem lokal
(yaitu, yang telah diautentikasi menggunakan gcloud auth login), jalankan perintah
gcloud auth list:
gcloud auth list
gcloud CLI mencantumkan principal dan menunjukkan principal mana yang aktif:
Credentialed Accounts
ACTIVE ACCOUNT
alex@altostrat.com
* bola@altostrat.com
principal://iam.googleapis.com/locations/global/workforcePools/POOL_ID/subject/cruz@cymbalgroup.com
Penggantian untuk prinsipal aktif tidak disertakan dalam daftar ini. Penggantian ini mencakup variabel lingkungan berikut:
CLOUDSDK_AUTH_ACCESS_TOKENCLOUDSDK_AUTH_CREDENTIAL_FILE_OVERRIDECLOUDSDK_AUTH_IMPERSONATE_SERVICE_ACCOUNT
Untuk memeriksa apakah variabel lingkungan ini sudah ditetapkan, jalankan perintah berikut untuk sistem operasi Anda:
Linux and macOS
echo "$ENVIRONMENT_VARIABLE"
Windows (PowerShell)
echo $env:ENVIRONMENT_VARIABLE
Ganti ENVIRONMENT_VARIABLE dengan variabel lingkungan
yang ingin Anda periksa.
Penggantian untuk prinsipal aktif juga mencakup properti konfigurasi berikut:
auth/access_token_fileauth/credential_file_overrideauth/impersonate_service_account
Untuk memeriksa apakah properti konfigurasi ini ditetapkan, jalankan perintah berikut:
gcloud config list
Mengubah prinsipal aktif
Untuk beralih ke principal aktif yang telah menyimpan kredensial (yaitu, mereka
sebelumnya menyelesaikan alur gcloud auth login), jalankan
gcloud config set:
gcloud config set account PRINCIPAL_IDENTIFIER
Ganti PRINCIPAL_IDENTIFIER dengan ID lengkap
principal.
Anda juga dapat mengganti akun utama dengan cara berikut:
Buat konfigurasi terpisah yang menentukan principal aktif yang berbeda, lalu aktifkan konfigurasi tersebut.
Gunakan tanda command line
--accountuntuk menentukan prinsipal untuk satu perintah.Gunakan penggantian seperti tanda command line, variabel lingkungan, atau properti konfigurasi.
Menyetel durasi sesi
Administrator dapat mengontrol durasi akses gcloud CLI bagi setiap pengguna tanpa harus melakukan autentikasi ulang. Misalnya, Anda dapat mewajibkan pengguna dengan hak istimewa yang ditingkatkan untuk melakukan autentikasi ulang lebih sering daripada pengguna reguler.
Untuk mengetahui informasi selengkapnya, lihat Menetapkan durasi sesi untuk Google Cloud layanan.
Mencabut kredensial untuk akun utama
Anda dapat mencabut kredensial untuk prinsipal yang telah melakukan autentikasi dengan
gcloud auth login sehingga gcloud CLI tidak dapat bertindak atas nama mereka.
Pencabutan membatalkan validitas kredensial di server otorisasi Google, dan
menghapus prinsipal dari konfigurasi gcloud CLI aktif.
Untuk mencabut kredensial, jalankan
gcloud auth revoke:
gcloud auth revoke PRINCIPAL_IDENTIFIER
Ganti PRINCIPAL_IDENTIFIER dengan ID lengkap
principal.
Untuk mencabut akses gcloud CLI di semua perangkat yang terkait dengan Akun Google Anda, buka Aplikasi & layanan pihak ketiga di setelan Akun Google Anda, lalu hapus semua koneksi dengan Google Cloud SDK.
Mengelola kredensial tersimpan
gcloud CLI menyimpan file kredensial yang digunakannya di direktori konfigurasi gcloud CLI. Untuk menemukan lokasi file kredensial, jalankan gcloud info:
gcloud info
gcloud CLI mencetak informasi tentang penginstalan Anda. File kredensial disimpan di User Config Directory yang ditentukan dalam output:
User Config Directory: [/home/USERNAME/.config/gcloud]
Untuk Linux dan macOS, direktori konfigurasi gcloud CLI biasanya adalah /home/USERNAME/.config/gcloud. Untuk Windows, ini adalah
%APPDATA%\gcloud.
Langkah berikutnya
Untuk mempelajari lebih lanjut cara menyesuaikan gcloud CLI, lihat properti gcloud CLI.
Untuk mempelajari lebih lanjut cara mengelola set properti gcloud CLI bernama, lihat konfigurasi gcloud CLI.
Untuk mengautentikasi beban kerja berbasis kode yang menggunakan Library Klien Cloud atau Library Klien Google API, lihat Cara kerja Kredensial Default Aplikasi.