Membuat instance dengan akses kredensial pengguna

Halaman ini menjelaskan cara membuat instance Vertex AI Workbench yang mengakses layanan dan API Google Cloud melalui kredensial pengguna Anda.

Kredensial pengguna Anda adalah kredensial yang terkait dengan Akun Google Anda. Kredensial pengguna Anda menentukan layanan dan API Google Cloud yang dapat diakses oleh Akun Google Anda.

Secara default, saat Anda menjalankan kode di instance Vertex AI Workbench, instance Anda dapat mengakses layanan dan API Google Cloud menggunakan kredensial yang terkait dengan akun layanan instance Anda. Hal ini berarti instance Anda memiliki akses yang sama ke Google Cloud seperti akun layanan.

Halaman ini menjelaskan cara membuat dan mengonfigurasi instance agar memiliki akses yang sama ke Google Cloud seperti kredensial pengguna Anda.

Ringkasan

Vertex AI Workbench tidak mendukung akses kredensial pengguna secara langsung, tetapi Anda masih dapat mengonfigurasi instance agar memiliki akses berbasis kredensial pengguna ke layanan dan API Google Cloud.

Halaman ini menjelaskan cara mengonfigurasi dan mengautentikasi instance berbasis kredensial pengguna menggunakan langkah-langkah berikut:

  1. Menyiapkan akun layanan dengan izin terbatas. Akun layanan ini tidak akan memiliki kemampuan untuk mengakses Google Cloud, kecuali untuk akses tertentu yang diperlukan agar instance dapat berfungsi.

  2. Buat instance dengan spesifikasi berikut:

    • Akses satu pengguna. Tindakan ini akan membatasi akses ke JupyterLab hanya untuk pengguna yang Anda tentukan.

    • Akses SSH dinonaktifkan. Akses SSH ke instance Anda dikelola melalui Login OS secara default. Menonaktifkan akses SSH akan mencegah akses dari pengguna yang mungkin memiliki akses SSH ke VM Compute Engine pokok Anda.

    • Dimiliki oleh akun layanan Anda dengan izin terbatas. Secara default, instance baru dimiliki oleh akun layanan dan dapat mengakses layanan dan API Google Cloud yang dapat diakses oleh akun layanan. Menentukan akun layanan Anda dengan izin terbatas akan mencegah akses yang tidak terduga ke layanan dan API Google Cloud sehingga Anda dapat menyiapkan akses yang dikontrol oleh kredensial pengguna Anda.

  3. Lakukan autentikasi instance dengan kredensial pengguna Anda. Setelah instance berjalan, Anda memberikan kredensial pengguna ke Kredensial Default Aplikasi (ADC). ADC melakukan autentikasi kredensial pengguna Anda ke layanan dan API Google Cloud. Hal inilah yang memberi instance Vertex AI Workbench Anda akses yang sama ke Google Cloud seperti kredensial pengguna Anda.

Sebelum memulai

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Notebooks API.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Notebooks API.

    Enable the API

Peran yang diperlukan

Untuk memastikan bahwa akun pengguna Anda memiliki izin yang diperlukan untuk membuat instance Vertex AI Workbench, minta administrator untuk memberi akun pengguna Anda peran IAM Notebooks Runner (roles/notebooks.runner) di project. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

Administrator Anda mungkin juga dapat memberikan izin yang diperlukan kepada akun pengguna Anda melalui peran khusus atau peran bawaan lainnya.

Menyiapkan akun layanan

Instance Vertex AI Workbench memerlukan akun layanan untuk membuat instance VM Compute Engine yang menghosting server JupyterLab. Akun layanan ini juga mengelola aktivitas logging yang diperlukan.

Anda harus menyiapkan akun layanan hanya dengan izin berikut:

  • logging.logEntries.create
  • logging.logEntries.route
  • monitoring.metricDescriptors.create
  • monitoring.metricDescriptors.get
  • monitoring.metricDescriptors.list
  • monitoring.monitoredResourceDescriptors.get
  • monitoring.monitoredResourceDescriptors.list
  • monitoring.timeSeries.create

Untuk membuat akun layanan, lihat Membuat akun layanan.

Untuk mengubah akun layanan yang ada, lihat Mencantumkan dan mengedit akun layanan.

Membuat instance pengguna tunggal

Anda dapat membuat instance Vertex AI Workbench menggunakan konsol Google Cloud atau Google Cloud CLI.

Konsol

Untuk membuat instance Vertex AI Workbench, lakukan tindakan berikut:

  1. Di konsol Google Cloud, buka halaman Instance.

    Buka Instance

  2. Klik  Buat baru.

  3. Dalam dialog Instance baru, klik Opsi lanjutan.

  4. Pada dialog Create instance, di bagian Details, berikan informasi berikut untuk instance baru Anda:

    • Nama: Berikan nama untuk instance baru Anda. Nama harus dimulai dengan huruf yang diikuti dengan maksimal 62 huruf kecil, angka, atau tanda hubung (-), dan tidak boleh diakhiri dengan tanda hubung.
    • Region dan Zona: Pilih region dan zona untuk instance baru. Untuk mendapatkan performa jaringan terbaik, pilih region yang paling dekat secara geografis dengan Anda. Lihat lokasi Vertex AI Workbench yang tersedia.
  5. Untuk menonaktifkan akses SSH:

    1. Di bagian Environment, di Metadata, klik  Add metadata.

    2. Untuk Key 1, masukkan disable-ssh.

    3. Untuk Nilai 1, masukkan true.

  6. Di bagian IAM and Security, pilih Single user, lalu di kolom User email, masukkan akun pengguna yang ingin Anda beri akses. Jika pengguna yang ditentukan bukan pembuat instance, Anda harus memberikan peran Service Account User (roles/iam.serviceAccountUser) kepada pengguna yang ditentukan di akun layanan instance.

  7. Hapus centang Gunakan akun layanan Compute Engine default, lalu masukkan alamat email akun layanan yang Anda siapkan sebelumnya dalam panduan ini. Jika Anda belum menyiapkan akun layanan, lihat Menyiapkan akun layanan.

  8. Selesaikan dialog pembuatan instance lainnya, lalu klik Buat.

    Vertex AI Workbench membuat sebuah instance dan otomatis memulainya. Saat instance siap digunakan, Vertex AI Workbench akan mengaktifkan link Open JupyterLab.

gcloud

Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:

  • INSTANCE_NAME: nama instance Vertex AI Workbench Anda; harus dimulai dengan huruf, diikuti dengan maksimal 62 huruf kecil, angka, atau tanda hubung (-), dan tidak boleh diakhiri dengan tanda hubung
  • PROJECT_ID: project ID Anda
  • LOCATION: zona tempat Anda ingin menempatkan instance
  • VM_IMAGE_PROJECT: ID project Google Cloud tempat image VM berada, dalam format: projects/IMAGE_PROJECT_ID
  • VM_IMAGE_NAME: nama image lengkap; untuk menemukan nama image versi tertentu, lihat Menemukan versi tertentu
  • MACHINE_TYPE: jenis mesin VM instance Anda
  • METADATA: metadata kustom yang akan diterapkan ke instance ini; misalnya, untuk menonaktifkan SSH, Anda dapat menggunakan tag metadata disable-ssh, dalam format: "--metadata=disable-ssh=true"
  • SERVICE_ACCOUNT: alamat email akun layanan yang akan digunakan untuk instance
  • OWNER: alamat email akun satu pengguna yang dapat mengakses instance; hanya satu pengguna yang didukung

Jalankan perintah berikut:

Linux, macOS, atau Cloud Shell

gcloud workbench instances create INSTANCE_NAME \
    --project=PROJECT_ID \
    --location=LOCATION \
    --vm-image-project=VM_IMAGE_PROJECT \
    --vm-image-name=VM_IMAGE_NAME \
    --machine-type=MACHINE_TYPE \
    --metadata=METADATA \
    --service-account-email=SERVICE_ACCOUNT
    --instance-owners=OWNER

Windows (PowerShell)

gcloud workbench instances create INSTANCE_NAME `
    --project=PROJECT_ID `
    --location=LOCATION `
    --vm-image-project=VM_IMAGE_PROJECT `
    --vm-image-name=VM_IMAGE_NAME `
    --machine-type=MACHINE_TYPE `
    --metadata=METADATA `
    --service-account-email=SERVICE_ACCOUNT
    --instance-owners=OWNER

Windows (cmd.exe)

gcloud workbench instances create INSTANCE_NAME ^
    --project=PROJECT_ID ^
    --location=LOCATION ^
    --vm-image-project=VM_IMAGE_PROJECT ^
    --vm-image-name=VM_IMAGE_NAME ^
    --machine-type=MACHINE_TYPE ^
    --metadata=METADATA ^
    --service-account-email=SERVICE_ACCOUNT
    --instance-owners=OWNER

Untuk mengetahui informasi lebih lanjut tentang perintah untuk membuat instance dari command line, baca dokumentasi gcloud CLI.

Vertex AI Workbench membuat sebuah instance dan otomatis memulainya. Saat instance siap digunakan, Vertex AI Workbench akan mengaktifkan link Open JupyterLab di Konsol Google Cloud.

Mengautentikasi instance dengan kredensial pengguna Anda

Vertex AI Workbench dapat menggunakan Kredensial Default Aplikasi (ADC) untuk mengautentikasi kredensial pengguna Anda ke layanan dan API Google Cloud. Bagian ini menjelaskan cara memberikan kredensial pengguna Anda ke ADC.

Langkah-langkah autentikasi bergantung pada apakah Anda menggunakan Akun Google atau kredensial pihak ketiga.

Akun Google

Setelah Anda dapat mengakses JupyterLab di instance, lakukan hal berikut:

  1. Di konsol Google Cloud, buka halaman Instance.

    Buka Instance

  2. Di samping nama instance, klik Open JupyterLab.

  3. Di JupyterLab, pilih File > New > Terminal.

  4. Di jendela terminal, jalankan perintah berikut:

    gcloud auth login
  5. Masukkan Y.

  6. Ikuti petunjuk untuk menyalin kode verifikasi dan memasukkannya ke dalam terminal.

Kredensial pihak ketiga

Jika Anda membuat instance dengan kredensial pihak ketiga, setelah proxy JupyterLab tersedia, lakukan hal berikut:

  1. Buka JupyterLab menggunakan proxy JupyterLab gabungan.

  2. Di JupyterLab, pilih File > New > Terminal.

  3. Buat file kredensial Workforce Identity Federation dengan login headless.

  4. Di jendela terminal, jalankan perintah berikut:

    gcloud auth login --cred-file="CREDENTIAL_FILE"

    Ganti CREDENTIAL_FILE dengan jalur dan nama file kredensial yang Anda buat.

  5. Ikuti petunjuk untuk melakukan autentikasi melalui portal autentikasi pihak ketiga.

  6. Pastikan kredensial Anda dapat diakses melalui instance Anda menggunakan perintah berikut:

    gcloud auth list

Batasan

  • Memigrasikan instance notebook terkelola ke instance Vertex AI Workbench tidak akan mempertahankan akses berbasis kredensial pengguna dari instance asli. Anda harus mengonfigurasi instance yang dimigrasikan dan mengautentikasi kredensial pengguna seperti yang dijelaskan dalam panduan ini.