Mengautentikasi dan menyiapkan akses API dalam workstation

Dokumen ini menjelaskan cara mengautentikasi dan menyiapkan akses API dalam workstation, termasuk cara login menggunakan UI Workstations untuk mengautentikasi gcloud CLI dan memberikan kredensial ke Kredensial Default Aplikasi (ADC).

Melakukan autentikasi sebagai pengguna dengan Google Cloud CLI

Setelah meluncurkan Cloud Workstations, Anda dapat mengakses layanan Google Cloud dan API menggunakan akun pengguna Anda melalui gcloud CLI.

Untuk mengautentikasi gcloud CLI dan memberikan kredensial pengguna ke Kredensial Default Aplikasi (ADC), pilih salah satu opsi berikut:

Login pengguna dengan UI Workstations

Login melalui konsol Google Cloud akan otomatis mengautentikasi gcloud CLI dan memberikan kredensial pengguna Anda ke Kredensial Default Aplikasi (ADC) di lingkungan workstation Anda.

Mengaktifkan login UI di resource workstation Anda

Sebelum Anda dapat menggunakan fitur ini, pastikan konfigurasi workstation dan cluster Anda telah disiapkan untuk mendukung login UI:

  1. Di konsol Google Cloud , buka bagian Environment settings konfigurasi workstation Anda. Di bagian Authentication, centang kotak Enable pushing credentials (atau tetapkan enable_pushing_credentials: true di API).
  2. Tetapkan Console URL dasar di cluster ke endpoint konsol Google Cloud Anda (misalnya, https://console.cloud.google.com/) menggunakan gcloud CLI:
    gcloud beta workstations clusters update CLUSTER_NAME \
        --region=REGION \
        --console-base-url="https://console.cloud.google.com/"

Login dari workstation Anda

Untuk login dan mengautentikasi workstation Anda:

  1. Di editor Code OSS for Cloud Workstations, klik Sign in to your Workstation. Jendela login konsol Google Cloud akan terbuka.
  2. Di konsol Google Cloud , verifikasi detail workstation Anda (seperti ID workstation) dan detail akun, lalu klik Continue.
  3. Klik Konfirmasi untuk menyelesaikan login.
  4. Setelah pesan konfirmasi muncul, tutup jendela browser dan kembali ke editor Anda. Kredensial Anda kini tersedia untuk gcloud CLI dan Kredensial Default Aplikasi (ADC) di lingkungan workstation Anda.

Sesi login Anda akan berakhir setelah satu jam. Saat sesi Anda akan berakhir, tombol login di editor Code OSS untuk Cloud Workstations akan menampilkan EMAIL (Google) - Segera berakhir (dengan EMAIL adalah alamat email Anda) atau Login workstation segera berakhir. Untuk memperbarui kredensial, klik tombol dan ikuti petunjuk di konsol Google Cloud .

Login dengan gcloud CLI

Jika login UI tidak diaktifkan untuk konfigurasi atau cluster, Anda dapat login secara manual menggunakan gcloud CLI dari terminal di dalam workstation:

  1. Buka terminal di workstation Anda. Cara membuka jendela terminal bergantung pada IDE yang Anda gunakan. Misalnya, jika Anda menggunakan editor dasar Cloud Workstations, buka terminal dengan memilih Terminal > New Terminal, atau dengan menekan Control+Shift+`.
  2. Lakukan autentikasi dengan perintah berikut:
    gcloud auth login --no-launch-browser
  3. Ikuti petunjuk yang diberikan oleh perintah untuk melakukan autentikasi ke Google Cloud.
  4. Tentukan project ID Google Cloud Anda dengan perintah berikut:
    gcloud config set project PROJECT_ID
  5. Aktifkan Kredensial Default Aplikasi agar Anda dapat memanggil layanan Google Cloud .
    gcloud auth application-default login
  6. Kredensial CLI gcloud Anda kini disimpan dan tersedia saat Anda menggunakan workstation di sesi mendatang.

Mengirim permintaan HTTP ke workstation

Untuk mengeluarkan permintaan HTTP ke workstation, Anda memerlukan token akses untuk akun yang memiliki peran Cloud Workstations User di workstation tersebut:

  1. Buat token akses menggunakan metode API generateAccessToken.
  2. Tambahkan header HTTP bernama Authorization dengan nilai Bearer $TOKEN.

Menghubungkan ke workstation di browser Anda

Membuka URL workstation di browser akan otomatis melakukan autentikasi melalui pengalihan ke server workstation, dan mengambil token akses yang dihasilkan oleh metode API generateAccessToken. Tindakan ini akan mengalihkan kembali ke workstation Anda dan menetapkan cookie autentikasi yang valid untuk sesi workstation Anda saat ini.

Untuk melewati pengalihan ini, gunakan parameter URL _workstationAccessToken:

  1. Buat token akses menggunakan metode API generateAccessToken.
  2. Buka URL workstation Anda di browser dan tambahkan parameter URL dengan bentuk berikut: _workstationAccessToken=TOKEN.

Tindakan ini akan menetapkan cookie autentikasi di browser Anda yang mengizinkan akses untuk sesi workstation Anda saat ini. Melewati pengalihan dapat membantu saat akses ke server workstation diblokir oleh kebijakan jaringan, atau saat menggunakan iframe untuk menampilkan workstation di situs lain.

Meniru identitas akun layanan

Jika kebijakan keamanan organisasi Anda mencegah akun pengguna memiliki izin yang diperlukan, Anda juga dapat meniru akun layanan. Untuk meniru identitas akun layanan yang ditentukan pada konfigurasi workstation, Anda dapat menentukan kolom cakupan akun layanan.

        gcloud workstations configs create CONFIG \
            --cluster=CLUSTER \
            --region=REGION \
            --project=PROJECT \
            --service-account=SERVICE_ACCOUNT \
            --service-account-scopes=https://www.googleapis.com/auth/cloud-platform
      
Jika ditentukan, pengguna workstation dalam konfigurasi ini harus memiliki izin iam.serviceAccounts.actAs di akun layanan. Untuk mengetahui informasi selengkapnya tentang cara menentukan cakupan untuk akun layanan, lihat Cakupan akses.

Langkah berikutnya