Mengelola akses ke instance

Panduan ini menjelaskan Anda cara untuk memberikan akses ke instance Vertex AI Workbench tertentu. Untuk mengelola akses ke resource Vertex AI, lihat halaman Vertex AI tentang kontrol akses.

Anda memberikan akses ke instance Vertex AI Workbench dengan menetapkan kebijakan Identity and Access Management (IAM) pada instance tersebut. Kebijakan ini mengikat satu atau beberapa akun utama, seperti pengguna atau akun layanan, ke satu atau beberapa peran. Setiap peran berisi daftar izin yang memungkinkan akun utama untuk berinteraksi dengan instance tersebut.

Anda dapat memberikan akses ke instance, bukan ke resource induk seperti project, folder, atau organisasi, untuk menjalankan prinsip hak istimewa terendah.

Jika Anda memberikan akses ke resource induk (misalnya, ke sebuah project), Anda secara implisit akan memberikan akses ke semua resource turunannya (misalnya, ke semua instance di dalam proyek tersebut). Untuk membatasi akses ke resource, tetapkan kebijakan IAM pada resource level yang lebih rendah jika memungkinkan, bukan di level project atau di atasnya.

Untuk mengetahui informasi umum tentang cara memberikan, mengubah, dan mencabut akses ke resource yang tidak terkait dengan Vertex AI Workbench, misalnya, untuk memberikan akses ke project Google Cloud, lihat dokumentasi IAM untuk mengelola akses ke project, folder, dan organisasi.

Batasan akses

Akses ke instance dapat mencakup berbagai macam kemampuan, bergantung pada peran yang Anda tetapkan pada akun utama. Contohnya, Anda dapat memberi akun utama kemampuan untuk memulai, menghentikan, mengupgrade, dan memantau status kondisi sebuah instance. Untuk mengetahui daftar lengkap izin IAM yang tersedia, lihat Peran IAM Vertex AI Workbench yang telah ditetapkan.

Namun, bahkan memberikan akses penuh utama ke instance Vertex AI Workbench tidak akan memberikan kemampuan untuk menggunakan antarmuka JupyterLab instance. Untuk memberikan akses ke antarmuka JupyterLab, lihat Mengelola akses ke antarmuka JupyterLab milik instance.

Memberikan akses ke instance Vertex AI Workbench

Untuk memberikan izin ke pengguna agar dapat mengakses instance Vertex AI Workbench tertentu, tetapkan kebijakan IAM pada instance.

gcloud

Untuk memberikan peran ke akun utama pada instance Vertex AI Workbench, gunakan perintah get-iam-policy untuk mengambil kebijakan saat ini, mengedit kebijakan akses saat ini, lalu gunakan perintah set-iam-policy untuk memperbarui kebijakan pada instance.

Mengambil kebijakan saat ini

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

  • INSTANCE_NAME: Nama instance Anda
  • PROJECT_ID: ID Project Google Cloud Anda
  • ZONE: Zona tempat instance Anda berada

Jalankan perintah berikut:

Linux, macOS, atau Cloud Shell

gcloud workbench instances get-iam-policy INSTANCE_NAME --project=PROJECT_ID --location=ZONE

Windows (PowerShell)

gcloud workbench instances get-iam-policy INSTANCE_NAME --project=PROJECT_ID --location=ZONE

Windows (cmd.exe)

gcloud workbench instances get-iam-policy INSTANCE_NAME --project=PROJECT_ID --location=ZONE
Responsnya adalah teks dari kebijakan IAM instance Anda. Lihat contoh berikut ini.
{
  "bindings": [
    {
      "role": "roles/notebooks.viewer",
      "members": [
        "user:email@example.com"
      ]
    }
  ],
  "etag": "BwWWja0YfJA=",
  "version": 3
}

Mengedit kebijakan

  1. Edit kebijakan dengan editor teks untuk menambahkan atau menghapus akun utama dan peran yang terkait. Misalnya, untuk memberikan peran notebooks.admin ke eve@example.com, tambahkan binding yang baru berikut ini ke kebijakan yang berada di dalam bagian "bindings":

    {
      "role": "roles/notebooks.admin",
      "members": [
        "user:eve@example.com"
      ]
    }
    

    Setelah menambahkan binding yang baru, kebijakan mungkin akan terlihat seperti berikut:

    {
      "bindings": [
        {
          "role": "roles/notebooks.viewer",
          "members": [
            "user:email@example.com"
          ]
        },
        {
          "role": "roles/notebooks.admin",
          "members": [
            "user:eve@example.com"
          ]
        }
      ],
      "etag": "BwWWja0YfJA=",
      "version": 3
    }
    
  2. Simpan kebijakan yang telah diperbarui dalam file bernama request.json.

Memperbarui kebijakan pada instance

Dalam isi permintaan, berikan kebijakan IAM yang telah diperbarui dari langkah sebelumnya, yang disusun secara bertingkat di dalam bagian "policy".

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

  • INSTANCE_NAME: Nama instance Anda
  • PROJECT_ID: ID Project Google Cloud Anda
  • ZONE: Zona tempat instance Anda berada

Simpan konten berikut ini dalam file yang bernama request.json:

{
  "policy": {
    "bindings": [
      {
        "role": "roles/notebooks.viewer",
        "members": [
          "user:email@example.com"
        ]
      },
      {
        "role": "roles/notebooks.admin",
        "members": [
          "user:eve@example.com"
        ]
      }
    ],
    "etag": "BwWWja0YfJA=",
    "version": 3
  }
}

Jalankan perintah berikut:

Linux, macOS, atau Cloud Shell

gcloud workbench instances set-iam-policy INSTANCE_NAME --project=PROJECT_ID --location=ZONE request.json --format=json

Windows (PowerShell)

gcloud workbench instances set-iam-policy INSTANCE_NAME --project=PROJECT_ID --location=ZONE request.json --format=json

Windows (cmd.exe)

gcloud workbench instances set-iam-policy INSTANCE_NAME --project=PROJECT_ID --location=ZONE request.json --format=json

Memberikan akses ke antarmuka JupyterLab

Pemberian akses utama ke instance Vertex AI Workbench tidak akan memberikan kemampuan untuk menggunakan antarmuka JupyterLab instance. Untuk memberikan akses ke antarmuka JupyterLab, lihat Mengelola akses ke antarmuka instance JupyterLab Vertex AI Workbench.

API

Untuk memberikan peran ke akun utama pada instance Vertex AI Workbench, gunakan metode getIamPolicy untuk mengambil kebijakan saat ini, edit metode aksesnya, lalu gunakan metode setIamPolicy untuk memperbarui kebijakan pada instance tersebut.

Mengambil kebijakan saat ini

Sebelum menggunakan salah satu data permintaan, buat pengganti berikut ini:

  • INSTANCE_NAME: Nama instance Anda

Metode HTTP dan URL:

GET https://notebooks.googleapis.com/v2/INSTANCE_NAME:getIamPolicy

Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

curl

Jalankan perintah berikut:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://notebooks.googleapis.com/v2/INSTANCE_NAME:getIamPolicy"

PowerShell

Jalankan perintah berikut:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://notebooks.googleapis.com/v2/INSTANCE_NAME:getIamPolicy" | Select-Object -Expand Content
Responsnya adalah teks dari kebijakan IAM instance Anda. Lihat contoh berikut ini.
{
  "bindings": [
    {
      "role": "roles/notebooks.viewer",
      "members": [
        "user:email@example.com"
      ]
    }
  ],
  "etag": "BwWWja0YfJA=",
  "version": 3
}

Mengedit kebijakan

Edit kebijakan menggunakan editor teks untuk menambahkan atau menghapus akun utama dan peran yang terkait. Misalnya, untuk memberikan peran notebooks.admin kepada eve@example.com, tambahkan binding yang baru berikut ini ke kebijakan yang berada di dalam bagian "bindings":

{
  "role": "roles/notebooks.admin",
  "members": [
    "user:eve@example.com"
  ]
}

Setelah menambahkan binding yang baru, kebijakan mungkin akan terlihat seperti berikut:

{
  "bindings": [
    {
      "role": "roles/notebooks.viewer",
      "members": [
        "user:email@example.com"
      ]
    },
    {
      "role": "roles/notebooks.admin",
      "members": [
        "user:eve@example.com"
      ]
    }
  ],
  "etag": "BwWWja0YfJA=",
  "version": 3
}

Memperbarui kebijakan pada instance

Dalam isi permintaan, berikan kebijakan IAM yang telah diperbarui dari langkah sebelumnya, yang disusun secara bertingkat di dalam bagian "policy".

Sebelum menggunakan salah satu data permintaan, buat pengganti berikut ini:

  • INSTANCE_NAME: Nama instance Anda

Metode HTTP dan URL:

POST https://notebooks.googleapis.com/v2/INSTANCE_NAME:setIamPolicy

Isi JSON permintaan:

{
  "policy": {
    "bindings": [
      {
        "role": "roles/notebooks.viewer",
        "members": [
          "user:email@example.com"
        ]
      },
      {
        "role": "roles/notebooks.admin",
        "members": [
          "user:eve@example.com"
        ]
      }
    ],
    "etag": "BwWWja0YfJA=",
    "version": 3
  }
}

Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

curl

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://notebooks.googleapis.com/v2/INSTANCE_NAME:setIamPolicy"

PowerShell

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://notebooks.googleapis.com/v2/INSTANCE_NAME:setIamPolicy" | Select-Object -Expand Content

Anda akan menerima kode status yang berhasil (2xx), serta respons yang kosong.

Memberikan akses ke antarmuka JupyterLab

Pemberian akses utama ke instance Vertex AI Workbench tidak akan memberikan kemampuan untuk menggunakan antarmuka JupyterLab instance. Untuk memberikan akses ke antarmuka JupyterLab, lihat Mengelola akses ke antarmuka JupyterLab milik instance.

Langkah berikutnya