Mengizinkan gcloud CLI

Untuk mengakses Google Cloud, Anda biasanya harus memberikan 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 gcloud CLI.

Jenis akun

Untuk memberikan otorisasi kepada gcloud CLI agar dapat mengakses Google Cloud, Anda dapat menggunakan akun pengguna atau akun layanan.

Akun pengguna adalah akun Google Cloud yang memungkinkan pengguna akhir untuk melakukan autentikasi ke aplikasi Anda. Untuk kasus penggunaan paling umum, terutama menggunakan gcloud CLI secara interaktif, menggunakan akun pengguna adalah praktik terbaik.

Akun layanan adalah akun Google Cloud yang terkait dengan project Google Cloud Anda dan bukan pengguna tertentu. Anda dapat menggunakan akun layanan bawaan yang tersedia saat menggunakan Cloud Functions, App Engine, Compute Engine, atau Google Kubernetes Engine. Sebaiknya gunakan akun layanan untuk menjalankan skrip gcloud CLI di beberapa komputer.

Pilih jenis otorisasi

Anda harus mengizinkan Google Cloud CLI untuk mengelola resource Google Cloud. Google Cloud CLI dan Google 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 pada instance virtual machine Compute Engine tempat semua pengguna memiliki akses ke root.

Untuk mengetahui informasi lebih lanjut tentang autentikasi dan Google Cloud, lihat Ringkasan autentikasi.

Izinkan dengan akun pengguna

Gunakan perintah gcloud CLI berikut untuk mengizinkan akses dengan akun pengguna:

Perintah Deskripsi
gcloud init Mengizinkan akses dan melakukan langkah-langkah penyiapan umum lainnya.
gcloud auth login Hanya mengizinkan akses.

Selama otorisasi, perintah ini mendapatkan kredensial akun dari Google Cloud dan menyimpannya di sistem lokal. Akun yang ditentukan akan menjadi akun aktif di konfigurasi Anda. Gcloud CLI menggunakan kredensial yang disimpan untuk mengakses Google Cloud. Anda dapat memiliki berapa pun akun dengan kredensial tersimpan untuk satu penginstalan gcloud CLI, tetapi hanya satu akun yang aktif pada satu waktu.

Menjalankan gcloud init

gcloud init mengizinkan akses dan melakukan langkah-langkah penyiapan umum lainnya. gcloud init menggunakan alur otorisasi berbasis web untuk mengautentikasi akun pengguna dan memberikan izin akses.

Untuk mengizinkan akses dan melakukan langkah-langkah penyiapan umum lainnya:

  1. Jalankan gcloud init:

    gcloud init
    

    Atau, untuk mencegah perintah membuka browser web secara otomatis:

    gcloud init --console-only
    

    Menggunakan flag --console-only berguna jika Anda menjalankan perintah pada sistem jarak jauh menggunakan ssh dan tidak memiliki akses ke browser pada sistem tersebut. Selanjutnya, Anda harus membuka URL yang diberikan secara manual di browser pada sistem lokal untuk menyelesaikan proses otorisasi.

  2. Ikuti alur otorisasi berbasis browser untuk mengautentikasi akun dan memberikan izin akses.

Untuk mengetahui informasi selengkapnya tentang gcloud init, lihat Melakukan inisialisasi gcloud CLI.

Jalankan login autentikasi gcloud

Menjalankan gcloud auth login hanya akan memberikan otorisasi kepada akun pengguna. Untuk mengizinkan akses tanpa melakukan langkah penyiapan lainnya, gunakan salah satu opsi berikut.

  • Jika Anda ingin mengizinkan gcloud CLI pada mesin dengan browser, ikuti langkah-langkah berikut.

    1. Izinkan gcloud CLI:

      gcloud auth login
      
    2. Ikuti alur otorisasi berbasis browser untuk mengautentikasi akun dan memberikan izin akses.

  • Jika Anda ingin mengizinkan gcloud CLI pada mesin yang tidak memiliki browser dan Anda dapat menginstal gcloud CLI di mesin lain dengan browser, gunakan flag --no-browser.

    1. Izinkan gcloud CLI:

      gcloud auth login --no-browser
      
    2. Salin perintah panjang yang diawali dengan gcloud auth login --remote-bootstrap=".

    3. Tempel dan jalankan perintah ini di command line mesin lain yang tepercaya, yang memiliki penginstalan lokal dari browser web dan alat gcloud CLI versi 372.0 atau yang lebih baru.

    4. Salin output URL panjang dari komputer dengan browser web.

    5. Tempelkan URL panjang kembali ke komputer pertama pada dialog, "Masukkan output dari perintah di atas", lalu tekan Enter untuk menyelesaikan otorisasi.

  • Jika Anda ingin mengizinkan gcloud CLI pada mesin yang tidak memiliki browser dan tidak dapat menginstal gcloud CLI di komputer lain dengan browser, gunakan flag --no-launch-browser. Flag --no-launch-browser mencegah perintah membuka browser web secara otomatis.

    1. Izinkan gcloud CLI:

      gcloud auth login --no-launch-browser
      
    2. Salin URL panjang yang diawali dengan https://accounts.google.com/o/oauth2/auth...

    3. Tempel URL ini ke browser komputer lain yang tepercaya dan memiliki browser web.

    4. Salin kode otorisasi dari komputer dengan browser web.

    5. Tempelkan kode otorisasi kembali ke komputer pertama pada perintah, "Masukkan kode verifikasi", lalu tekan Enter untuk menyelesaikan otorisasi.

  • Jika Anda sudah memiliki token akses, gunakan salah satu metode berikut untuk meneruskan token akses ke gcloud CLI:

    • Simpan token akses dalam file dan tetapkan jalurnya melalui flag --access-token-file.
    • Simpan token akses dalam file dan tetapkan jalurnya di properti auth/access_token_file.
    • Tetapkan variabel lingkungan CLOUDSDK_AUTH_ACCESS_TOKEN ke nilai token akses.

Memberi otorisasi dengan akun layanan

Perintah gcloud auth login dapat mengizinkan akses dengan akun layanan menggunakan file kredensial yang disimpan di sistem file lokal Anda. Kredensial ini dapat berupa kredensial pengguna dengan izin untuk meniru akun layanan, file konfigurasi kredensial untuk federasi identitas workload, atau kunci akun layanan.

Mengizinkan akun layanan menggunakan peniruan akun layanan

Untuk mengizinkan gcloud CLI agar menggunakan kredensial akun layanan yang ditiru, lakukan langkah berikut:

  1. Di konsol Google Cloud, buka halaman Service Accounts.

    Buka Akun Layanan

  2. Pilih akun yang sudah ada atau buat akun baru dengan mengklik Create service account.

  3. Untuk memastikan akun utama memiliki izin yang diperlukan untuk meniru akun layanan, minta administrator untuk memberikan Peran IAM Pembuat Token Akun Layanan (roles/iam.serviceAccountTokenCreator) kepada akun utama di akun layanan. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses.

    Peran yang telah ditetapkan 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.

  4. Izinkan gcloud CLI menggunakan identitas pengguna Anda dengan menjalankan gcloud auth login.

  5. Untuk menyiapkan gcloud CLI agar menggunakan identitas dan akses yang disediakan oleh akun layanan secara default, gunakan perintah config gcloud CLI:

    gcloud config set auth/impersonate_service_account SERVICE_ACCT_EMAIL
    
  6. Untuk berhenti menggunakan kredensial akun layanan yang ditiru identitasnya dengan gcloud CLI secara default, batalkan penetapan flag dengan perintah konfigurasi gcloud CLI:

    gcloud config unset auth/impersonate_service_account
    

Mengizinkan akun layanan menggunakan workload identity federation

Untuk mengizinkan gcloud CLI dengan akun layanan menggunakan kredensial eksternal dari workload identity federation, lakukan tindakan berikut:

  1. Di konsol Google Cloud, buka halaman Service Accounts.

    Buka Akun Layanan

  2. Pilih akun yang sudah ada atau buat akun baru dengan mengklik Create service account.

  3. Buat file konfigurasi kredensial untuk workload identity federation dengan mengikuti petunjuk untuk penyedia identitas yang didukung.

  4. 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 penggabungan identitas workload.

Mengizinkan akun layanan menggunakan kunci akun layanan

Untuk mengizinkan gcloud CLI dengan akun layanan menggunakan kunci akun layanan, lakukan hal berikut:

  1. Di konsol Google Cloud, buka halaman Service Accounts.

    Buka Akun Layanan

  2. Pilih akun yang sudah ada atau buat akun baru dengan mengklik Create service account.

  3. Untuk membuat kunci akun layanan, lihat petunjuk IAM untuk Membuat kunci akun layanan.

  4. 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 menampilkan daftar akun yang kredensialnya disimpan di sistem lokal, jalankan gcloud auth list:

gcloud auth list

Gcloud CLI mencantumkan akun dan menampilkan akun yang aktif:

Credentialed accounts:
 - user-1@gmail.com (active)
 - user-2@gmail.com

Ganti akun aktif

Untuk mengganti 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 antar-konfigurasi:

gcloud config configurations activate CONFIGURATION

Jika Anda ingin mengganti akun yang digunakan oleh gcloud CLI berdasarkan setiap pemanggilan, ganti akun aktif menggunakan flag --account.

Menetapkan durasi sesi yang diizinkan

Sebagai administrator, Anda dapat mengontrol sampai berapa lama masing-masing pengguna dapat mengakses gcloud CLI tanpa harus melakukan autentikasi ulang. Misalnya, Anda dapat memaksa pengguna dengan hak istimewa yang ditingkatkan untuk melakukan autentikasi ulang lebih sering daripada pengguna biasa.

Untuk mengetahui informasi selengkapnya, lihat Menetapkan durasi sesi untuk layanan Google Cloud.

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 gcloud CLI untuk semua mesin, hapus gcloud CLI dari daftar aplikasi yang memiliki akses ke akun Anda.

Menggunakan file kredensial

Menemukan file kredensial

Untuk menemukan lokasi file kredensial Anda, jalankan gcloud info:

gcloud info

Gcloud CLI 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 menyiapkan ADC lainnya, lihat Menyiapkan Kredensial Default Aplikasi.

unset GOOGLE_APPLICATION_CREDENTIALS
gcloud config unset auth/impersonate_service_account
gcloud auth application-default login

Langkah selanjutnya