Mengelola akses ke instance Agent Platform Workbench

Panduan ini menjelaskan cara memberikan akses ke instance Workbench Platform Agen Gemini Enterprise tertentu. Untuk mengelola akses ke resource Gemini Enterprise Agent Platform, lihat halaman Agent Platform tentang kontrol akses.

Anda memberikan akses ke instance Agent Platform 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 Agent Platform Workbench, misalnya, untuk memberikan akses ke Google Cloud project, 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 Agent Platform Workbench yang telah ditetapkan.

Namun, bahkan memberikan akses penuh utama ke instance Workbench Platform Agen 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 Agent Platform Workbench

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

gcloud

Untuk memberikan peran ke akun utama pada instance Agent Platform Workbench, gunakan perintah get-iam-policy untuk mengambil kebijakan saat ini, mengedit akses kebijakan 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:

  • INSTANCE_NAME: nama instance Anda
  • PROJECT_ID: Project ID Google Cloud Anda
  • LOCATION adalah 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=LOCATION

Windows (PowerShell)

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

Windows (cmd.exe)

gcloud workbench instances get-iam-policy INSTANCE_NAME ^
    --project=PROJECT_ID ^
    --location=LOCATION
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:

  • INSTANCE_NAME: nama instance Anda
  • PROJECT_ID: Project ID Google Cloud Anda
  • LOCATION adalah 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=LOCATION \
    request.json --format=json

Windows (PowerShell)

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

Windows (cmd.exe)

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

Memberikan akses ke antarmuka JupyterLab

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

API

Untuk memberikan peran ke akun utama pada instance Agent Platform Workbench, gunakan metode getIamPolicy untuk mengambil kebijakan saat ini, edit akses kebijakan saat ini, lalu gunakan metode setIamPolicy untuk memperbarui kebijakan pada instance.

Mengambil kebijakan saat ini

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: Project ID Google Cloud Anda
  • LOCATION adalah zona tempat instance Anda berada.
  • INSTANCE_NAME: nama instance Anda

Metode HTTP dan URL:

GET https://notebooks.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/instances/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/projects/PROJECT_ID/locations/LOCATION/instances/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/projects/PROJECT_ID/locations/LOCATION/instances/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, lakukan penggantian berikut:

  • PROJECT_ID: Project ID Google Cloud Anda
  • LOCATION adalah zona tempat instance Anda berada.
  • INSTANCE_NAME: nama instance Anda

Metode HTTP dan URL:

POST https://notebooks.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_NAME:setIamPolicy

Meminta isi 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
  }
}

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/projects/PROJECT_ID/locations/LOCATION/instances/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/projects/PROJECT_ID/locations/LOCATION/instances/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 Agent Platform 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