Untuk mengakses Trusted Cloud, Anda biasanya harus memberi otorisasi ke Google Cloud CLI. Halaman ini menunjukkan opsi otorisasi yang tersedia dan menunjukkan cara mengelola akun yang Anda gunakan untuk otorisasi. Jika menggunakan instance Compute Engine atau Cloud Shell, Anda tidak perlu memberikan otorisasi ke gcloud CLI.
Jenis akun
Untuk memberikan otorisasi ke gcloud CLI agar dapat mengakses Trusted Cloud, Anda dapat menggunakan akun pengguna atau akun layanan.
Akun pengguna adalah Trusted Cloud akun yang memungkinkan pengguna akhir melakukan autentikasi ke aplikasi Anda. Untuk sebagian besar kasus penggunaan umum, terutama penggunaan gcloud CLI secara interaktif, penggunaan akun pengguna adalah praktik terbaik.
Akun layanan adalah Trusted Cloud akun yang terkait dengan project Trusted Cloud Anda, bukan pengguna tertentu. Anda dapat menggunakan akun layanan bawaan yang tersedia saat menggunakan fungsi Cloud Run, App Engine, Compute Engine, atau Google Kubernetes Engine. Akun layanan direkomendasikan untuk menjalankan skrip gcloud CLI di beberapa komputer.
Memilih jenis otorisasi
Anda harus memberikan otorisasi ke Google Cloud CLI untuk mengelola resource Trusted Cloud. Google Cloud CLI dan Trusted Cloud menggunakan OAuth2 untuk autentikasi dan otorisasi.
Pilih salah satu jenis otorisasi berikut:
Jenis | Deskripsi |
---|---|
Akun pengguna | Direkomendasikan jika Anda menggunakan gcloud CLI dari command line atau menulis skrip dengan gcloud CLI untuk digunakan di satu mesin. |
Akun layanan | Direkomendasikan jika Anda menginstal dan menyiapkan gcloud CLI sebagai bagian dari proses deployment mesin dalam produksi, atau untuk digunakan di instance mesin virtual Compute Engine tempat semua pengguna memiliki akses ke root . |
Untuk informasi selengkapnya tentang autentikasi dan Trusted Cloud, lihat Ringkasan autentikasi.
Memberikan otorisasi dengan akun pengguna
Bagian ini menjelaskan cara login ke gcloud CLI menggunakan Workforce Identity Federation.
Sebelum login ke gcloud CLI, Anda harus menetapkan properticore/universe_domain
dalam konfigurasi dengan menjalankan perintah berikut:
gcloud config set universe_domain s3nsapis.fr
Login berbasis browser gcloud CLI
Untuk login ke gcloud CLI menggunakan alur login berbasis browser, lakukan langkah berikut:
Buat file konfigurasi login.
Untuk membuat file konfigurasi login, jalankan perintah berikut. Secara opsional, Anda dapat mengaktifkan file sebagai default untuk gcloud CLI dengan menambahkan flag
--activate
. Selanjutnya, Anda dapat menjalankangcloud auth login
tanpa menentukan jalur file konfigurasi setiap kali.gcloud iam workforce-pools create-login-config \ locations/global/workforcePools/WORKFORCE_POOL_ID/providers/PROVIDER_ID \ --output-file=LOGIN_CONFIG_FILE_PATH
Ganti kode berikut:
WORKFORCE_POOL_ID
: ID workforce poolPROVIDER_ID
: ID penyediaLOGIN_CONFIG_FILE_PATH
: jalur ke file konfigurasi yang Anda tentukan—misalnya,login.json
File ini berisi endpoint yang digunakan oleh gcloud CLI untuk mengaktifkan alur autentikasi berbasis browser dan menetapkan audiens ke IdP yang dikonfigurasi di penyedia workforce identity pool. File tidak berisi informasi rahasia.
Outputnya terlihat mirip dengan yang berikut ini:
{ "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.s3nscloud.fr/authorize", "token_url": "https://sts.s3nsapis.fr/v1/oauthtoken", "token_info_url": "https://s3nsapis.fr/v1/introspect", }
gcloud auth login
agar tidak menggunakan file konfigurasi ini secara otomatis, Anda dapat menghapus penetapannya dengan menjalankangcloud config unset auth/login_config_file
.Login menggunakan autentikasi berbasis browser.
Untuk mengautentikasi menggunakan autentikasi login berbasis browser, Anda dapat menggunakan salah satu metode berikut:
-
Jika Anda menggunakan flag
--activate
saat membuat file konfigurasi, atau jika Anda mengaktifkan file konfigurasi dengangcloud config set auth/login_config_file
, gcloud CLI akan menggunakan file konfigurasi Anda secara otomatis:gcloud auth login
-
Untuk login dengan menentukan lokasi file konfigurasi, jalankan perintah berikut:
gcloud auth login --login-config=LOGIN_CONFIG_FILE_PATH
-
Untuk menggunakan variabel lingkungan guna menentukan lokasi file konfigurasi,
tetapkan
CLOUDSDK_AUTH_LOGIN_CONFIG_FILE
ke jalur konfigurasi.
-
Untuk menghentikan penggunaan file konfigurasi login, lakukan langkah berikut:
-
Jika Anda menggunakan flag
--activate
saat membuat file konfigurasi, atau jika Anda mengaktifkan file konfigurasi dengangcloud config set auth/login_config_file
, Anda harus menjalankan perintah berikut untuk membatalkan penetapannya:gcloud config unset auth/login_config_file
-
Hapus variabel lingkungan
CLOUDSDK_AUTH_LOGIN_CONFIG_FILE
, jika telah ditetapkan.
Login headless gcloud CLI
Untuk login ke gcloud CLI, menggunakan alur headless, lakukan langkah berikut:
OIDC
Buat pengguna login ke aplikasi IdP Anda dan dapatkan token OIDC.
Untuk informasi tentang cara mendapatkan token, lihat dokumentasi OIDC IdP Anda.
Simpan token OIDC yang ditampilkan oleh IdP di lokasi yang aman pada komputer lokal Anda.
Buat file konfigurasi dengan menjalankan perintah berikut:
gcloud iam workforce-pools create-cred-config \ locations/global/workforcePools/WORKFORCE_POOL_ID/providers/PROVIDER_ID \ --subject-token-type="urn:ietf:params:oauth:token-type:id_token" \ --credential-source-file="PATH_TO_OIDC_ID_TOKEN" \ --workforce-pool-user-project="WORKFORCE_POOL_USER_PROJECT" \ --output-file="config.json"
Ganti kode berikut:
WORKFORCE_POOL_ID
: ID workforce poolPROVIDER_ID
: ID penyediaPATH_TO_OIDC_TOKEN
: jalur ke file kredensial IdP OIDCWORKFORCE_POOL_USER_PROJECT
: nomor project yang terkait dengan project pengguna workforce pool
Akun utama harus memiliki izin serviceusage.services.use
di project ini.
Saat Anda menjalankan perintah, file konfigurasi IdP OIDC akan dihasilkan dengan format seperti berikut:
{
"type": "external_account",
"audience": "//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/PROVIDER_ID",
"subject_token_type": "urn:ietf:params:oauth:token-type:id_token",
"token_url": "https://sts.googleapis.com/v1/token",
"workforce_pool_user_project": "WORKFORCE_POOL_USER_PROJECT",
"credential_source": {
"file": "PATH_TO_OIDC_CREDENTIALS_FILE"
}
}
SAML
Buat pengguna login ke aplikasi IdP Anda dan dapatkan pernyataan SAML.
Untuk informasi tentang cara mendapatkan pernyataan SAML dari IdP, lihat dokumentasi SAML IdP Anda.
Simpan respons SAML yang ditampilkan oleh IdP di lokasi yang aman di komputer lokal Anda, lalu simpan jalurnya, sebagai berikut:
SAML_ASSERTION_PATH=SAML_ASSERTION_PATH
Untuk membuat file konfigurasi, jalankan perintah berikut:
gcloud iam workforce-pools create-cred-config \ locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID \ --subject-token-type="urn:ietf:params:oauth:token-type:saml2" \ --credential-source-file="SAML_ASSERTION_PATH" \ --workforce-pool-user-project="PROJECT_ID" \ --output-file="config.json"
Ganti kode berikut:
WORKFORCE_PROVIDER_ID
: ID penyedia tenaga kerja yang Anda buat sebelumnya dalam panduan ini.WORKFORCE_POOL_ID
: ID workforce pool yang Anda buat sebelumnya dalam panduan ini.SAML_ASSERTION_PATH
: jalur file pernyataan SAML.PROJECT_ID
: project ID
File konfigurasi yang dihasilkan terlihat mirip dengan berikut:
{ "type": "external_account", "audience": "//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID", "subject_token_type": "urn:ietf:params:oauth:token-type:saml2", "token_url": "https://sts.googleapis.com/v1/token", "credential_source": { "file": "SAML_ASSERTION_PATH" }, "workforce_pool_user_project": "PROJECT_ID" }
Untuk login ke gcloud
menggunakan pertukaran token, jalankan perintah berikut:
gcloud auth login --cred-file="config.json"
gcloud
kemudian secara transparan menukar kredensial IdP Anda dengan
token akses Trusted Cloud sementara, sehingga Anda dapat melakukan panggilan
gcloud
lainnya ke Trusted Cloud.
Outputnya mirip dengan hal berikut ini:
Authenticated with external account user credentials for: [principal://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID
/subject/USER_ID
].
Untuk mencantumkan akun berkredensial dan akun yang saat ini aktif, jalankan perintah berikut:
gcloud auth list
Memberikan otorisasi dengan akun layanan
Perintah gcloud auth login
dapat
memberi otorisasi akses dengan akun layanan menggunakan file kredensial yang disimpan di
sistem file lokal Anda. Kredensial ini dapat berupa kredensial pengguna dengan izin untuk meniru identitas akun layanan, file konfigurasi kredensial untuk Gabungan Workload Identity, atau kunci akun layanan.
Memberi otorisasi akun layanan menggunakan peniruan akun layanan
Untuk memberi otorisasi gcloud CLI agar menggunakan kredensial akun layanan yang disamarkan, lakukan hal berikut:
Di konsol Trusted Cloud , buka halaman Akun Layanan.
Pilih akun yang ada atau buat akun baru dengan mengklik Buat akun layanan.
-
Untuk mendapatkan izin yang diperlukan untuk meniru akun layanan, minta administrator untuk memberi Anda peran IAM Pembuat Token Akun Layanan (
roles/iam.serviceAccountTokenCreator
) di akun layanan. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.Peran yang telah ditentukan ini berisi izin
iam.serviceAccounts.getAccessToken
, yang diperlukan untuk meniru akun layanan.Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Beri otorisasi gcloud CLI dengan identitas pengguna Anda dengan menjalankan
gcloud auth login
.Untuk menyiapkan gcloud CLI agar menggunakan identitas dan akses yang disediakan oleh akun layanan secara default, gunakan perintah konfigurasi gcloud CLI:
gcloud config set auth/impersonate_service_account SERVICE_ACCT_EMAIL
Untuk berhenti menggunakan kredensial akun layanan yang diimpersonasi dengan gcloud CLI secara default, batalkan penetapan tanda dengan perintah konfigurasi gcloud CLI:
gcloud config unset auth/impersonate_service_account
Memberikan otorisasi ke akun layanan menggunakan Workload Identity Federation
Untuk memberikan otorisasi ke gcloud CLI dengan akun layanan menggunakan kredensial eksternal dari Workload Identity Federation, lakukan hal berikut:
Di konsol Trusted Cloud , buka halaman Akun Layanan.
Pilih akun yang ada atau buat akun baru dengan mengklik Buat akun layanan.
Buat file konfigurasi kredensial untuk Workload Identity Federation dengan mengikuti petunjuk untuk penyedia identitas yang didukung.
Untuk mengaktifkan akun layanan, jalankan
gcloud auth login
dengan flag--cred-file
:gcloud auth login --cred-file=CONFIGURATION_FILE
Ganti CONFIGURATION_FILE dengan jalur ke file konfigurasi kredensial untuk Workload Identity Federation.
Memberi otorisasi akun layanan menggunakan kunci akun layanan
Untuk memberi otorisasi gcloud CLI dengan akun layanan menggunakan kunci akun layanan, lakukan hal berikut:
Di konsol Trusted Cloud , buka halaman Akun Layanan.
Pilih akun yang ada atau buat akun baru dengan mengklik Buat akun layanan.
Untuk membuat kunci akun layanan, lihat petunjuk IAM untuk Membuat kunci akun layanan.
Untuk mengaktifkan akun layanan, jalankan
gcloud auth login
dengan flag--cred-file
:gcloud auth login --cred-file=KEY_FILE
Ganti KEY_FILE dengan jalur ke file kunci akun layanan.
Cantumkan akun
Untuk mencantumkan akun yang kredensialnya disimpan di sistem lokal, jalankan
gcloud auth list
:
gcloud auth list
gcloud CLI mencantumkan akun dan menunjukkan akun mana yang aktif:
Credentialed accounts: - user-1@gmail.com (active) - user-2@gmail.com
Mengganti akun aktif
Untuk beralih akun aktif, jalankan
gcloud config set
:
gcloud config set account ACCOUNT
dengan [ACCOUNT]
adalah alamat email lengkap akun.
Anda juga dapat beralih akun dengan membuat konfigurasi terpisah yang menentukan akun yang berbeda dan beralih di antara konfigurasi:
gcloud config configurations activate CONFIGURATION
Jika Anda ingin mengganti akun yang digunakan oleh gcloud CLI berdasarkan
per pemanggilan, ganti akun aktif menggunakan
flag --account
.
Menetapkan durasi sesi yang diizinkan
Sebagai administrator, Anda dapat mengontrol durasi akses gcloud CLI bagi masing-masing pengguna tanpa harus melakukan autentikasi ulang. Misalnya, Anda dapat memaksa pengguna dengan hak istimewa yang lebih tinggi untuk melakukan autentikasi ulang lebih sering daripada pengguna reguler.
Untuk mengetahui informasi selengkapnya, lihat Menetapkan durasi sesi untuk Trusted Cloud layanan.
Mencabut kredensial untuk akun
Anda dapat mencabut kredensial jika ingin melarang akses oleh gcloud CLI oleh akun tertentu. Anda tidak perlu mencabut kredensial untuk beralih antar-akun.
Untuk mencabut kredensial, jalankan
gcloud auth revoke
:
gcloud auth revoke ACCOUNT
Untuk mencabut semua akses untuk gcloud CLI untuk semua komputer, hapus gcloud CLI dari daftar aplikasi yang memiliki akses ke akun Anda.
Menggunakan file kredensial
Menemukan file kredensial
Untuk menemukan lokasi file kredensial, jalankan
gcloud info
:
gcloud info
gcloud CLI akan mencetak informasi tentang penginstalan Anda. File kredensial disimpan di direktori konfigurasi pengguna:
User Config Directory: [/home/USERNAME/.config/gcloud]
Menyiapkan Kredensial Default Aplikasi
Gcloud CLI menyediakan dukungan untuk mengelola Kredensial Default Aplikasi (ADC) dengan grup perintah gcloud auth application-default
. Agar kredensial pengguna tersedia untuk ADC, jalankan
gcloud auth application-default login
:
gcloud auth application-default login
Kredensial ini tidak digunakan oleh gcloud CLI. Untuk mengetahui cara lain menyiapkan ADC, lihat Menyiapkan Kredensial Default Aplikasi.
unset GOOGLE_APPLICATION_CREDENTIALS
gcloud config unset auth/impersonate_service_account
gcloud auth application-default login
Langkah berikutnya
- Untuk mempelajari autentikasi dan Trusted Cloudlebih lanjut, lihat Ringkasan autentikasi.
- Untuk mempelajari lebih lanjut cara menyesuaikan gcloud CLI, lihat properti gcloud CLI.
- Untuk mempelajari lebih lanjut cara mengelola kumpulan properti gcloud CLI bernama, lihat konfigurasi gcloud CLI.