Mengonfigurasi kontrol akses terperinci untuk aplikasi dan penyimpanan data

Halaman ini menjelaskan cara administrator Gemini Enterprise dapat mengonfigurasi izin IAM tingkat resource yang terperinci untuk membatasi akses ke aplikasi dan penyimpanan data Gemini Enterprise tertentu menggunakan konsolGoogle Cloud , Google Cloud CLI, atau REST API.

Jika Anda hanya perlu membatasi akses pengguna akhir di tingkat aplikasi tanpa mengonfigurasi izin penyimpanan data atau peran level project kustom, lihat Mengonfigurasi kontrol akses untuk aplikasi.

Ringkasan

Secara default, izin IAM yang diberikan di tingkat Google Cloudproject berlaku di semua aplikasi dan penyimpanan data Gemini Enterprise dalam project. Jika organisasi Anda perlu membatasi pengguna ke aplikasi atau penyimpanan data tertentu dalam satu project, Anda dapat menggunakan kontrol akses tingkat resource.

Kontrol akses tingkat resource memungkinkan administrator:

  • Memberi pengguna akses ke aplikasi tertentu dan penyimpanan data tertaut tanpa mengekspos aplikasi lain dalam project yang sama.
  • Mendelegasikan administrasi aplikasi atau pemantauan hanya baca untuk aplikasi tertentu tanpa memberikan hak administratif yang luas di seluruh project.
  • Menerapkan batas data organisasi dan kebijakan kepatuhan.

Cara kerja kontrol akses

Untuk memberikan akses tingkat resource, administrator harus mengonfigurasi dua pengikatan peran untuk setiap pengguna atau grup target. Izin dievaluasi secara independen: untuk menerima jawaban dari penyimpanan data di aplikasi, pengguna harus diberi izin di aplikasi target dan penyimpanan data target.

Tingkat pengikatan peran Jenis peran Tujuan, cakupan, dan contoh peran
Level project Peran khusus

Peran kustom yang Anda buat dalam panduan ini memberikan izin yang diperlukan pengguna untuk mengautentikasi atau memuat halaman listingan konsol di seluruh project tanpa mengekspos konten aplikasi atau penyimpanan data tertentu.

Contoh peran:

Tingkatan resource Peran bawaan

Peran standar yang Anda tetapkan di resource aplikasi atau penyimpanan data memberikan izin operasional, seperti melakukan chat, mengonfigurasi setelan, atau melihat analisis, hanya di resource tersebut.

Contoh peran:

Contoh skenario

Pertimbangkan project Google Cloud di Cymbal bernama cymbal-ai-project yang berisi dua aplikasi dan beberapa penyimpanan data:

Contoh skenario: Membatasi akses di seluruh aplikasi dan penyimpanan data
Konteks Project Google Cloud di Cymbal bernama cymbal-ai-project berisi dua aplikasi:
  • Aplikasi keuangan Cymbal, yang terhubung ke dua penyimpanan data: penyimpanan data General Finance dan penyimpanan data Confidential Payroll.
  • Aplikasi Cymbal HR, yang terhubung ke penyimpanan data Cymbal HR.
Sasaran Memberi Alex (alex@cymbal.com) akses untuk menggunakan aplikasi Cymbal Finance dan hanya mengkueri penyimpanan data General Finance, sekaligus menolak akses ke penyimpanan data Confidential Payroll dan aplikasi Cymbal HR.
Konfigurasi yang diperlukan Ikuti langkah-langkah berikut untuk mengonfigurasi kontrol akses:
  1. Tingkat project: Aktifkan kontrol akses aplikasi dan penyimpanan data di cymbal-ai-project dan berikan peran customRestrictedEndUser kepada Alex di project agar browsernya dapat melakukan autentikasi dengan layanan.
  2. Tingkat resource: Beri Alex peran Pengguna Gemini Enterprise (roles/discoveryengine.agentspaceUser) hanya di aplikasi Cymbal Finance dan penyimpanan data General Finance.
Hasil Saat login, Alex dapat membuka aplikasi Cymbal Finance dan mengkueri penyimpanan data General Finance. Meskipun penyimpanan data Payroll Rahasia terhubung ke aplikasi yang sama, Alex tidak dapat melihat atau membuat kueri. Upaya untuk mengakses aplikasi HR Cymbal atau membuat kueri penyimpanan data HR Cymbal juga ditolak.

Diagram berikut mengilustrasikan cara setelan tingkat project dan izin IAM tingkat resource yang independen bekerja bersama dalam skenario ini:

Diagram konfigurasi kebijakan IAM terperinci di seluruh aplikasi dan penyimpanan data.

Sebelum memulai

  • Pastikan Anda memiliki peran Admin Gemini Enterprise (roles/discoveryengine.agentspaceAdmin).
  • Pastikan pengguna yang memerlukan akses terbatas tidak diberi peran Discovery Engine tingkat project.
  • Buat peran khusus level project yang diperlukan untuk target persona Anda di Membuat peran khusus level project.

Mengaktifkan kontrol akses aplikasi dan penyimpanan data

Sebelum Anda dapat mengonfigurasi izin terperinci pada aplikasi dan penyimpanan data atau melihat tab Izin pengguna di konsol Google Cloud , aktifkan kontrol akses aplikasi dan penyimpanan data di project Anda menggunakan konsol Google Cloud atau REST API:

Konsol

Untuk mengaktifkan kontrol akses aplikasi dan penyimpanan data di konsol Google Cloud , ikuti langkah-langkah berikut:

  1. Di konsol Google Cloud , buka halaman Gemini Enterprise > Settings.

    Buka Setelan

  2. Pilih tab Kontrol akses resource.

  3. Aktifkan tombol Kontrol akses resource.

  4. Klik Simpan.

  5. Dalam dialog Aktifkan kontrol akses resource?, klik Aktifkan.

REST

Untuk mengaktifkan kontrol akses aplikasi dan penyimpanan data menggunakan REST API, panggil metode projects.patch:

curl -X PATCH \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  -H "x-goog-user-project: PROJECT_ID" \
  "https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID?updateMask=customer_provided_config.resource_access_control_config.data_store_access_control_enabled" \
  -d '{
    "customer_provided_config": {
      "resource_access_control_config": {
        "data_store_access_control_enabled": true
      }
    }
  }'

Ganti kode berikut:

  • PROJECT_ID: ID Google Cloud project Anda.
  • ENDPOINT_LOCATION: multi-region untuk permintaan API Anda. Tentukan salah satu nilai berikut:
    • us untuk multi-region AS
    • eu untuk multi-region Uni Eropa
    • global untuk lokasi Global
    Untuk mengetahui informasi selengkapnya, lihat Menentukan multi-region untuk penyimpanan data Anda.

Membuat peran khusus level project

Peran level project kustom memberikan izin tanpa mengekspos semua resource project. Anda hanya perlu membuat setiap peran kustom satu kali per project Google Cloud .

Membuat peran pengguna akhir terbatas kustom

Peran customRestrictedEndUser memberikan izin tingkat project yang diperlukan agar pengguna akhir dapat memuat endpoint otorisasi Gemini Enterprise dan konfigurasi alat developer (discoveryengine.locations.buildAuthorizationUrl dan discoveryengine.devToolsConfigs.get). Peran ini tidak memberikan akses untuk memeriksa atau membuat kueri aplikasi atau penyimpanan data tertentu.

Konsol

Untuk membuat peran kustom di konsol Google Cloud , ikuti langkah-langkah berikut:

  1. Di konsol Google Cloud , buka halaman Roles.

    Buka Peran

  2. Pilih project Google Cloud Anda.

  3. Klik + Buat peran kustom.

  4. Masukkan detail peran:

    • Judul: Custom Gemini Enterprise Restricted End User
    • Deskripsi: Base project-level permissions to access Gemini Enterprise apps.
    • ID Peran: customRestrictedEndUser
    • Tahap peluncuran peran: Pilih Ketersediaan Umum
  5. Klik + Add permissions.

  6. Filter dan pilih izin berikut:

    • discoveryengine.devToolsConfigs.get
    • discoveryengine.locations.buildAuthorizationUrl
  7. Klik Tambahkan.

  8. Klik Create.

gcloud

Untuk membuat peran kustom menggunakan Google Cloud CLI, ikuti langkah-langkah berikut:

  1. Jalankan gcloud iam roles describe untuk memverifikasi apakah peran tersebut ada di project Anda:

    gcloud iam roles describe customRestrictedEndUser --project=PROJECT_ID
    

    Ganti PROJECT_ID dengan ID project Google Cloud Anda.

  2. Jalankan gcloud iam roles create untuk membuat peran:

    gcloud iam roles create customRestrictedEndUser \
      --project=PROJECT_ID \
      --title="Custom Gemini Enterprise Restricted End User" \
      --description="Base project-level permissions to access Gemini Enterprise apps." \
      --stage=GA \
      --permissions=discoveryengine.devToolsConfigs.get,discoveryengine.locations.buildAuthorizationUrl
    

    Ganti PROJECT_ID dengan ID project Google Cloud Anda.

REST

Untuk membuat peran kustom menggunakan REST API, panggil metode roles.create:

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  -d '{
    "roleId": "customRestrictedEndUser",
    "role": {
      "title": "Custom Gemini Enterprise Restricted End User",
      "description": "Base project-level permissions to access Gemini Enterprise apps.",
      "stage": "GA",
      "includedPermissions": [
        "discoveryengine.devToolsConfigs.get",
        "discoveryengine.locations.buildAuthorizationUrl"
      ]
    }
  }' \
  "https://iam.googleapis.com/v1/projects/PROJECT_ID/roles"

Ganti PROJECT_ID dengan ID project Google Cloud Anda.

Membuat peran administrator terbatas khusus

Peran customRestrictedAdmin memberikan izin tingkat project yang diperlukan bagi administrator dan pelihat yang didelegasikan untuk melihat daftar resource dan sidebar di konsol Google Cloud tanpa memberikan akses untuk melihat atau mengubah konten aplikasi atau penyimpanan data tertentu. Untuk mendelegasikan kontrol administratif atas aplikasi atau penyimpanan data tertentu, tetapkan peran kustom ini di tingkat project, lalu tetapkan Admin Gemini Enterprise (roles/discoveryengine.agentspaceAdmin) secara langsung di resource target.

Konsol

Untuk membuat peran kustom di konsol Google Cloud , ikuti langkah-langkah berikut:

  1. Di konsol Google Cloud , buka halaman Roles.

    Buka Peran

  2. Pilih project Google Cloud Anda.

  3. Klik + Buat peran.

  4. Masukkan detail peran:

    • Judul: Custom Gemini Enterprise Restricted Admin
    • Deskripsi: Base project-level permissions to list and view Gemini Enterprise configuration pages.
    • ID Peran: customRestrictedAdmin
    • Tahap peluncuran peran: Pilih Ketersediaan Umum.
  5. Klik + Add permissions.

  6. Filter dan pilih izin berikut:

    • discoveryengine.aclConfigs.get
    • discoveryengine.collections.list
    • discoveryengine.dataStores.list
    • discoveryengine.devToolsConfigs.get
    • discoveryengine.engines.list
    • discoveryengine.licenseConfigs.list
    • discoveryengine.locations.buildAuthorizationUrl
    • discoveryengine.locations.getConnectorSource
    • discoveryengine.locations.listConnectorSources
    • discoveryengine.projects.get
    • discoveryengine.userStores.listUserLicenses
    • resourcemanager.projects.get
  7. Klik Tambahkan.

  8. Klik Create.

gcloud

Untuk membuat peran kustom menggunakan Google Cloud CLI, ikuti langkah-langkah berikut:

  1. Jalankan gcloud iam roles describe untuk memverifikasi apakah peran tersebut ada di project Anda:

    gcloud iam roles describe customRestrictedAdmin --project=PROJECT_ID
    

    Ganti PROJECT_ID dengan ID project Google Cloud Anda.

  2. Jalankan gcloud iam roles create untuk membuat peran:

    gcloud iam roles create customRestrictedAdmin \
      --project=PROJECT_ID \
      --title="Custom Gemini Enterprise Restricted Admin" \
      --description="Base project-level permissions to list and view Gemini Enterprise configuration pages." \
      --stage=GA \
      --permissions=discoveryengine.aclConfigs.get,discoveryengine.collections.list,discoveryengine.dataStores.list,discoveryengine.devToolsConfigs.get,discoveryengine.engines.list,discoveryengine.licenseConfigs.list,discoveryengine.locations.buildAuthorizationUrl,discoveryengine.locations.getConnectorSource,discoveryengine.locations.listConnectorSources,discoveryengine.projects.get,discoveryengine.userStores.listUserLicenses,resourcemanager.projects.get
    

    Ganti PROJECT_ID dengan ID project Google Cloud Anda.

REST

Untuk membuat peran kustom menggunakan REST API, panggil metode roles.create:

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  -d '{
    "roleId": "customRestrictedAdmin",
    "role": {
      "title": "Custom Gemini Enterprise Restricted Admin",
      "description": "Base project-level permissions to list and view Gemini Enterprise configuration pages.",
      "stage": "GA",
      "includedPermissions": [
        "discoveryengine.aclConfigs.get",
        "discoveryengine.collections.list",
        "discoveryengine.dataStores.list",
        "discoveryengine.devToolsConfigs.get",
        "discoveryengine.engines.list",
        "discoveryengine.licenseConfigs.list",
        "discoveryengine.locations.buildAuthorizationUrl",
        "discoveryengine.locations.getConnectorSource",
        "discoveryengine.locations.listConnectorSources",
        "discoveryengine.projects.get",
        "discoveryengine.userStores.listUserLicenses",
        "resourcemanager.projects.get"
      ]
    }
  }' \
  "https://iam.googleapis.com/v1/projects/PROJECT_ID/roles"

Ganti PROJECT_ID dengan ID project Google Cloud Anda.

Memperbarui peran khusus yang ada

Jika peran khusus sudah ada di project Anda dan Anda perlu menambahkan izin yang tidak ada, perbarui peran:

Konsol

Untuk memperbarui peran khusus di konsol Google Cloud , ikuti langkah-langkah berikut:

  1. Di konsol Google Cloud , buka halaman Roles.

    Buka Peran

  2. Pilih project Google Cloud tempat Anda membuat peran kustom.

  3. Pilih tab Kustom atau filter daftar untuk menemukan peran kustom Anda (customRestrictedEndUser atau customRestrictedAdmin).

  4. Klik nama peran khusus.

  5. Klik Edit peran.

  6. Klik + Add permissions.

  7. Telusuri dan pilih izin yang ingin Anda tambahkan, lalu klik Tambahkan.

  8. Klik Simpan.

gcloud

Untuk memperbarui peran kustom yang ada menggunakan Google Cloud CLI, jalankan gcloud iam roles update:

  • Untuk peran pengguna akhir yang dibatasi, jalankan perintah berikut:

    gcloud iam roles update customRestrictedEndUser \
      --project=PROJECT_ID \
      --add-permissions=discoveryengine.devToolsConfigs.get,discoveryengine.locations.buildAuthorizationUrl
    

    Ganti PROJECT_ID dengan ID project Google Cloud Anda.

  • Untuk peran administrator terbatas, jalankan perintah berikut:

    gcloud iam roles update customRestrictedAdmin \
      --project=PROJECT_ID \
      --add-permissions=discoveryengine.locations.buildAuthorizationUrl,discoveryengine.locations.listConnectorSources
    

    Ganti PROJECT_ID dengan ID project Google Cloud Anda.

REST

Untuk memperbarui peran kustom menggunakan REST API, panggil metode roles.patch. Perhatikan bahwa roles.patch menggantikan daftar includedPermissions; tentukan semua izin yang ingin Anda sertakan dalam peran:

  • Untuk peran pengguna akhir yang dibatasi, jalankan perintah berikut:

    curl -X PATCH \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json" \
      -d '{
        "includedPermissions": [
          "discoveryengine.devToolsConfigs.get",
          "discoveryengine.locations.buildAuthorizationUrl"
        ]
      }' \
      "https://iam.googleapis.com/v1/projects/PROJECT_ID/roles/customRestrictedEndUser?updateMask=includedPermissions"
    

    Ganti PROJECT_ID dengan ID project Google Cloud Anda.

  • Untuk peran administrator terbatas, jalankan perintah berikut:

    curl -X PATCH \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json" \
      -d '{
        "includedPermissions": [
          "discoveryengine.aclConfigs.get",
          "discoveryengine.collections.list",
          "discoveryengine.dataStores.list",
          "discoveryengine.devToolsConfigs.get",
          "discoveryengine.engines.list",
          "discoveryengine.licenseConfigs.list",
          "discoveryengine.locations.buildAuthorizationUrl",
          "discoveryengine.locations.getConnectorSource",
          "discoveryengine.locations.listConnectorSources",
          "discoveryengine.projects.get",
          "discoveryengine.userStores.listUserLicenses",
          "resourcemanager.projects.get"
        ]
      }' \
      "https://iam.googleapis.com/v1/projects/PROJECT_ID/roles/customRestrictedAdmin?updateMask=includedPermissions"
    

    Ganti PROJECT_ID dengan ID project Google Cloud Anda.

Menetapkan peran khusus di tingkat project

Tetapkan peran project kustom kepada pengguna atau grup target.

Konsol

Untuk menetapkan peran kustom menggunakan konsol Google Cloud , ikuti langkah-langkah berikut:

  1. Di konsol Google Cloud , buka halaman IAM.

    Buka IAM

  2. Pilih project Google Cloud tempat Anda membuat peran kustom.

  3. Klik Berikan Akses untuk menambahkan akun utama baru atau mengedit akun utama yang ada.

  4. Di New principals, masukkan alamat email pengguna atau grup.

  5. Pilih peran khusus yang dibuat untuk persona Anda, seperti salah satu dari berikut ini:

    • Pengguna Akhir yang Dibatasi Gemini Enterprise Kustom
    • Admin dengan Akses Terbatas Gemini Enterprise Kustom
  6. Klik Simpan.

gcloud

Untuk menetapkan peran kustom menggunakan Google Cloud CLI, jalankan perintah berikut:

gcloud projects add-iam-policy-binding PROJECT_ID \
  --member="user:USER_EMAIL" \
  --role="projects/PROJECT_ID/roles/CUSTOM_ROLE_ID"

Ganti kode berikut:

  • PROJECT_ID: ID Google Cloud project Anda.
  • CUSTOM_ROLE_ID: ID peran khusus yang ingin Anda tetapkan: customRestrictedEndUser atau customRestrictedAdmin.
  • USER_EMAIL: alamat email pengguna atau grup.

REST

Untuk menetapkan peran kustom menggunakan Cloud Resource Manager API, selesaikan langkah-langkah berikut menggunakan pola baca-ubah-tulis:

  1. Dapatkan kebijakan IAM saat ini menggunakan metode getIamPolicy untuk mengambil kebijakan saat ini dan etag-nya:

    curl -X POST \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json" \
      -d '{}' \
      "https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:getIamPolicy"
    

    Ganti PROJECT_ID dengan ID project Google Cloud Anda.

  2. Tetapkan kebijakan IAM yang diperbarui menggunakan metode setIamPolicy dengan payload kebijakan yang diperbarui:

    curl -X POST \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json" \
      -d '{
        "policy": {
          "etag": "ETAG",
          "bindings": [
            {
              "role": "EXISTING_ROLE",
              "members": [
                "user:EXISTING_USER_EMAIL"
              ]
            },
            {
              "role": "projects/PROJECT_ID/roles/CUSTOM_ROLE_ID",
              "members": [
                "user:USER_EMAIL"
              ]
            }
          ]
        }
      }' \
      "https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:setIamPolicy"
    

    Ganti kode berikut:

    • ETAG: nilai etag yang Anda peroleh sebagai respons saat Anda menggunakan metode getIamPolicy.
    • EXISTING_ROLE dan EXISTING_USER_EMAIL: binding peran dan pokok yang ada yang ditampilkan oleh metode getIamPolicy yang ingin Anda pertahankan.
    • PROJECT_ID: ID project Google Cloud Anda.
    • CUSTOM_ROLE_ID: ID peran khusus level project yang ingin Anda tetapkan. Tentukan salah satu opsi berikut:
      • customRestrictedEndUser: memberikan izin project bagi pengguna akhir untuk mengautentikasi dan mengakses aplikasi.
      • customRestrictedAdmin: memberikan izin project bagi administrator untuk melihat listingan resource di konsol Google Cloud .
    • USER_EMAIL: alamat email pengguna atau grup.

Mengonfigurasi izin aplikasi

Berikan izin tingkat resource pada resource aplikasi target menggunakan konsolGoogle Cloud atau REST API.

Jika Anda ingin menetapkan peran khusus, bukan peran bawaan dalam kebijakan IAM tingkat aplikasi, pastikan peran khusus tersebut menyertakan semua izin dari peran bawaan yang sesuai, seperti Pengguna Gemini Enterprise (roles/discoveryengine.agentspaceUser) atau Admin Gemini Enterprise (roles/discoveryengine.agentspaceAdmin).

Konsol

Untuk mengonfigurasi izin aplikasi di konsol Google Cloud , ikuti langkah-langkah berikut:

  1. Di konsol Google Cloud , buka halaman Gemini Enterprise > Apps.

    Buka Aplikasi

  2. Pilih aplikasi target Anda.

  3. Klik Izin pengguna, lalu klik Tambahkan pengguna.

  4. Pilih peran untuk pengguna atau grup:

  5. Klik Simpan.

REST

Untuk mengonfigurasi izin aplikasi menggunakan REST API, selesaikan langkah-langkah berikut menggunakan pola baca-ubah-tulis:

  1. Dapatkan kebijakan IAM saat ini menggunakan metode getIamPolicy untuk mengambil kebijakan saat ini dan etag-nya:

    curl -X GET \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json" \
      "https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/engines/APP_ID:getIamPolicy"
    

    Ganti kode berikut:

    • PROJECT_ID: ID project Anda.
    • ENDPOINT_LOCATION: multi-region untuk permintaan API Anda. Tentukan salah satu nilai berikut:
      • us untuk multi-region AS
      • eu untuk multi-region Uni Eropa
      • global untuk lokasi Global
      Untuk mengetahui informasi selengkapnya, lihat Menentukan multi-region untuk penyimpanan data Anda.
    • LOCATION: multi-region penyimpanan data Anda: global, us, atau eu.
    • APP_ID: ID aplikasi yang ingin Anda konfigurasi.
  2. Tetapkan kebijakan IAM yang diperbarui menggunakan metode setIamPolicy dengan payload kebijakan yang diperbarui:

    curl -X POST \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json" \
      -d '{
        "policy": {
          "etag": "ETAG",
          "bindings": [
            {
              "role": "EXISTING_ROLE",
              "members": [
                "user:EXISTING_USER_EMAIL"
              ]
            },
            {
              "role": "PREDEFINED_ROLE",
              "members": [
                "user:USER_EMAIL"
              ]
            }
          ]
        }
      }' \
      "https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/engines/APP_ID:setIamPolicy"
    

    Ganti kode berikut:

    • ETAG: nilai etag yang Anda peroleh sebagai respons saat Anda menggunakan metode getIamPolicy.
    • EXISTING_ROLE dan EXISTING_USER_EMAIL: binding peran dan pokok yang ada yang ditampilkan oleh metode getIamPolicy yang ingin Anda pertahankan.
    • USER_EMAIL: alamat email pengguna atau grup (misalnya, alex@example.com).
      • Untuk memberikan akses, tambahkan email pengguna ke array members, dengan setiap email diawali dengan user:. Hindari spasi tambahan sebelum atau sesudah alamat email.
      • Untuk mencabut akses, hapus alamat email pengguna dari array members.
    • PREDEFINED_ROLE: peran yang telah ditentukan sebelumnya yang ingin Anda tetapkan ke aplikasi. Misalnya, Pengguna Gemini Enterprise (roles/discoveryengine.agentspaceUser) untuk pengguna akhir, Admin Gemini Enterprise (roles/discoveryengine.agentspaceAdmin) untuk administrator, atau Pelihat Gemini Enterprise (roles/discoveryengine.agentspaceViewer) untuk pelihat. Untuk mengetahui informasi selengkapnya, lihat Peran bawaan.
    • PROJECT_ID: ID Google Cloud project Anda.
    • ENDPOINT_LOCATION: multi-region untuk permintaan API Anda. Tentukan salah satu nilai berikut:
      • us untuk multi-region AS
      • eu untuk multi-region Uni Eropa
      • global untuk lokasi Global
      Untuk mengetahui informasi selengkapnya, lihat Menentukan multi-region untuk penyimpanan data Anda.
    • LOCATION: multi-region penyimpanan data Anda: global, us, atau eu.
    • APP_ID: ID aplikasi yang ingin Anda konfigurasi.

Mengonfigurasi izin penyimpanan data

Untuk mengonfigurasi izin data, berikan izin tingkat resource pada penyimpanan data target menggunakan konsol Google Cloud atau REST API. Pengguna akhir hanya dapat terhubung ke dan membuat kueri penyimpanan data yang telah diberi izin secara eksplisit.

Jika Anda ingin menetapkan peran khusus, bukan peran bawaan dalam kebijakan IAM penyimpanan data, pastikan peran khusus tersebut mencakup semua izin dari peran bawaan yang sesuai, seperti Pengguna Gemini Enterprise (roles/discoveryengine.agentspaceUser) atau Admin Gemini Enterprise (roles/discoveryengine.agentspaceAdmin).

Untuk konektor pihak ketiga yang menerapkan izin dokumen pengguna akhir, akses pengguna akhir ke dokumen individual terus diatur oleh daftar kontrol akses (ACL) yang disinkronkan dari sistem sumber (memberikan akses IAM tidak melewati ACL sumber).

Untuk menemukan penyimpanan data, koleksi, dan ID entity, lihat Mendapatkan detail penyimpanan data dan entity.

Konsol

Untuk mengonfigurasi izin penyimpanan data di konsol Google Cloud , ikuti langkah-langkah berikut. Izin yang ditetapkan ke penyimpanan data di Google Cloud konsol akan otomatis diteruskan ke semua entitas turunan yang mendasarinya:

  1. Di konsol Google Cloud , buka halaman Gemini Enterprise > Data Stores.

    Buka halaman Data Stores

  2. Klik nama penyimpanan data Anda.

  3. Klik Izin pengguna > Tambahkan pengguna.

  4. Pilih peran untuk pengguna atau grup:

  5. Klik Simpan.

REST

Untuk mengonfigurasi izin penyimpanan data menggunakan REST API, perluas bagian yang sesuai dengan konfigurasi penyimpanan data Anda:

Penyimpanan data dengan entity

Gunakan opsi ini untuk konektor pihak ketiga yang berisi beberapa jenis entitas, seperti Jira, Salesforce, Confluence, atau SharePoint Online. Saat menggunakan REST API, izin tidak otomatis di-cascade dari koleksi konektor induk ke entity turunan. Anda harus memberikan izin yang sama pada resource kumpulan induk dan pada semua penyimpanan data entity pokok (jangan mengonfigurasi izin hanya untuk sebagian entity).

Ikuti langkah-langkah berikut untuk mengonfigurasi izin bagi penyimpanan data dengan entitas:

  1. Dapatkan kebijakan IAM saat ini untuk pengumpulan konektor data:

    Panggil getIamPolicy untuk mengambil kebijakan saat ini dan etag-nya:

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_ID:getIamPolicy"

    Ganti kode berikut:

    • PROJECT_ID: ID Google Cloud project Anda.
    • ENDPOINT_LOCATION: multi-region untuk permintaan API Anda. Tentukan salah satu nilai berikut:
      • us untuk multi-region AS
      • eu untuk multi-region Uni Eropa
      • global untuk lokasi Global
      Untuk mengetahui informasi selengkapnya, lihat Menentukan multi-region untuk penyimpanan data Anda.
    • LOCATION: multi-region penyimpanan data Anda: global, us, atau eu.
    • COLLECTION_ID: ID kumpulan data konektor data. Untuk mengetahui informasi selengkapnya, lihat Mendapatkan detail entity dan penyimpanan data.
  2. Tetapkan kebijakan IAM yang diperbarui pada kumpulan konektor data:

    Panggil setIamPolicy termasuk etag dan binding peran:

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d '{
      "policy": {
        "etag": "ETAG",
        "bindings": [
          {
            "role": "EXISTING_ROLE",
            "members": [
              "user:EXISTING_USER_EMAIL"
            ]
          },
          {
            "role": "PREDEFINED_ROLE",
            "members": [
              "user:USER_EMAIL"
            ]
          }
        ]
      }
    }' \
    "https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_ID:setIamPolicy"

    Ganti kode berikut:

    • ETAG: nilai etag yang Anda peroleh sebagai respons saat menggunakan metode getIamPolicy pada langkah 1.
    • EXISTING_ROLE dan EXISTING_USER_EMAIL: binding peran dan akun utama yang ada yang ditampilkan oleh metode getIamPolicy yang ingin Anda pertahankan.
    • USER_EMAIL: alamat email pengguna atau grup.
    • PREDEFINED_ROLE: peran standar yang ingin Anda tetapkan ke koleksi. Misalnya, Pengguna Gemini Enterprise (roles/discoveryengine.agentspaceUser) untuk pengguna akhir, Admin Gemini Enterprise (roles/discoveryengine.agentspaceAdmin) untuk administrator, atau Pelihat Gemini Enterprise (roles/discoveryengine.agentspaceViewer) untuk pelihat. Untuk mengetahui informasi selengkapnya, lihat Peran yang telah ditetapkan.
    • PROJECT_ID: ID Google Cloud project Anda.
    • ENDPOINT_LOCATION: multi-region untuk permintaan API Anda. Tentukan salah satu nilai berikut:
      • us untuk multi-region AS
      • eu untuk multi-region Uni Eropa
      • global untuk lokasi Global
      Untuk mengetahui informasi selengkapnya, lihat Menentukan multi-region untuk penyimpanan data Anda.
    • LOCATION: multi-region penyimpanan data Anda: global, us, atau eu.
    • COLLECTION_ID: ID kumpulan data konektor data.
  3. Dapatkan kebijakan IAM saat ini untuk penyimpanan data entitas:

    Di Gemini Enterprise, penyimpanan data entitas turunan berada di bawah default_collection dan diberi awalan dengan ID kumpulan konektor. Panggil getIamPolicy di penyimpanan data entity di default_collection:

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/dataStores/DATA_STORE_ENTITY_ID:getIamPolicy"

    Ganti kode berikut:

    • PROJECT_ID: ID Google Cloud project Anda.
    • ENDPOINT_LOCATION: multi-region untuk permintaan API Anda. Tentukan salah satu nilai berikut:
      • us untuk multi-region AS
      • eu untuk multi-region Uni Eropa
      • global untuk lokasi Global
      Untuk mengetahui informasi selengkapnya, lihat Menentukan multi-region untuk penyimpanan data Anda.
    • LOCATION: multi-region penyimpanan data Anda: global, us, atau eu.
    • DATA_STORE_ENTITY_ID: ID penyimpanan data entitas (misalnya, DataConnector3_entityA). Untuk mengetahui informasi selengkapnya, lihat Mendapatkan detail penyimpanan data dan entitas.
  4. Tetapkan kebijakan IAM yang diperbarui pada penyimpanan data entity:

    Panggil setIamPolicy di penyimpanan data entity, termasuk etag:

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d '{
      "policy": {
        "etag": "ETAG",
        "bindings": [
          {
            "role": "EXISTING_ROLE",
            "members": [
              "user:EXISTING_USER_EMAIL"
            ]
          },
          {
            "role": "PREDEFINED_ROLE",
            "members": [
              "user:USER_EMAIL"
            ]
          }
        ]
      }
    }' \
    "https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/dataStores/DATA_STORE_ENTITY_ID:setIamPolicy"

    Ganti kode berikut:

    • ETAG: nilai etag yang Anda peroleh sebagai respons saat Anda menggunakan metode getIamPolicy di langkah 3.
    • EXISTING_ROLE dan EXISTING_USER_EMAIL: binding peran dan akun utama yang ada yang ditampilkan oleh metode getIamPolicy yang ingin Anda pertahankan.
    • USER_EMAIL: alamat email pengguna atau grup.
    • PREDEFINED_ROLE: peran yang telah ditentukan sebelumnya yang ingin Anda tetapkan ke penyimpanan data entity. Misalnya, Pengguna Gemini Enterprise (roles/discoveryengine.agentspaceUser) untuk pengguna akhir, Admin Gemini Enterprise (roles/discoveryengine.agentspaceAdmin) untuk administrator, atau Pelihat Gemini Enterprise (roles/discoveryengine.agentspaceViewer) untuk pelihat. Untuk mengetahui informasi selengkapnya, lihat Peran yang telah ditetapkan.
    • PROJECT_ID: ID Google Cloud project Anda.
    • ENDPOINT_LOCATION: multi-region untuk permintaan API Anda. Tentukan salah satu nilai berikut:
      • us untuk multi-region AS
      • eu untuk multi-region Uni Eropa
      • global untuk lokasi Global
      Untuk mengetahui informasi selengkapnya, lihat Menentukan multi-region untuk penyimpanan data Anda.
    • LOCATION: multi-region penyimpanan data Anda: global, us, atau eu.
    • DATA_STORE_ENTITY_ID: ID penyimpanan data entity.

Ulangi langkah 3 dan 4 untuk setiap penyimpanan data entitas di bawah konektor data. Jika nanti Anda mengonfigurasi konektor untuk menyinkronkan jenis entity tambahan, konfigurasi kebijakan IAM di setiap penyimpanan data entity yang baru dibuat.

Penyimpanan data tanpa entity

Gunakan opsi ini untuk penyimpanan data mandiri, seperti Cloud Storage, BigQuery, atau sumber data yang tidak berisi entitas. Tetapkan izin langsung pada resource penyimpanan data tunggal di bagian default_collection.

Ikuti langkah-langkah berikut untuk mengonfigurasi izin penyimpanan data tanpa entitas:

  1. Mendapatkan kebijakan IAM saat ini untuk penyimpanan data:

    Panggil getIamPolicy untuk mengambil kebijakan saat ini dan etag-nya:

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/dataStores/DATA_STORE_ID:getIamPolicy"

    Ganti kode berikut:

    • PROJECT_ID: ID Google Cloud project Anda.
    • ENDPOINT_LOCATION: multi-region untuk permintaan API Anda. Tentukan salah satu nilai berikut:
      • us untuk multi-region AS
      • eu untuk multi-region Uni Eropa
      • global untuk lokasi Global
      Untuk mengetahui informasi selengkapnya, lihat Menentukan multi-region untuk penyimpanan data Anda.
    • LOCATION: multi-region penyimpanan data Anda: global, us, atau eu.
    • DATA_STORE_ID: ID penyimpanan data. Untuk mengetahui informasi selengkapnya, lihat Mendapatkan detail entity dan penyimpanan data.
  2. Tetapkan kebijakan IAM yang diperbarui pada penyimpanan data:

    Panggil setIamPolicy termasuk etag dan binding peran:

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d '{
      "policy": {
        "etag": "ETAG",
        "bindings": [
          {
            "role": "EXISTING_ROLE",
            "members": [
              "user:EXISTING_USER_EMAIL"
            ]
          },
          {
            "role": "PREDEFINED_ROLE",
            "members": [
              "user:USER_EMAIL"
            ]
          }
        ]
      }
    }' \
    "https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/dataStores/DATA_STORE_ID:setIamPolicy"

    Ganti kode berikut:

    • ETAG: nilai etag yang Anda peroleh sebagai respons saat menggunakan metode getIamPolicy pada langkah 1.
    • EXISTING_ROLE dan EXISTING_USER_EMAIL: binding peran dan akun utama yang ada yang ditampilkan oleh metode getIamPolicy yang ingin Anda pertahankan.
    • USER_EMAIL: alamat email pengguna atau grup.
    • PREDEFINED_ROLE: peran yang telah ditentukan sebelumnya yang ingin Anda tetapkan ke penyimpanan data. Misalnya, Pengguna Gemini Enterprise (roles/discoveryengine.agentspaceUser) untuk pengguna akhir, Admin Gemini Enterprise (roles/discoveryengine.agentspaceAdmin) untuk administrator, atau Pelihat Gemini Enterprise (roles/discoveryengine.agentspaceViewer) untuk pelihat. Untuk mengetahui informasi selengkapnya, lihat Peran yang telah ditetapkan.
    • PROJECT_ID: ID Google Cloud project Anda.
    • ENDPOINT_LOCATION: multi-region untuk permintaan API Anda. Tentukan salah satu nilai berikut:
      • us untuk multi-region AS
      • eu untuk multi-region Uni Eropa
      • global untuk lokasi Global
      Untuk mengetahui informasi selengkapnya, lihat Menentukan multi-region untuk penyimpanan data Anda.
    • LOCATION: multi-region penyimpanan data Anda: global, us, atau eu.
    • DATA_STORE_ID: ID penyimpanan data.

Memberikan akses ke fitur alat developer AI dan Gemini Notebook Enterprise

Pengguna terbatas yang diberi customRestrictedEndUser di tingkat project akan kehilangan akses ke fitur seperti alat developer AI dan Gemini Notebook Enterprise karena peran project mereka hanya berisi izin otorisasi dasar.

Memberikan peran Pengguna Gemini Enterprise (roles/discoveryengine.agentspaceUser) penuh di tingkat project akan menggantikan isolasi dan mengekspos semua aplikasi dan penyimpanan data dalam project. Sebagai gantinya, administrator dapat memberikan peran spesifik per fitur yang terbatas di tingkat project.

Memberikan akses ke Gemini Notebook Enterprise

Berikan peran Cloud NotebookLM User (roles/discoveryengine.notebookLmUser) untuk mengizinkan pengguna yang dibatasi membuat dan menggunakan notebook tanpa mengekspos aplikasi atau penyimpanan data:

Konsol

Untuk memberikan akses menggunakan konsol Google Cloud , ikuti langkah-langkah berikut:

  1. Di konsol Google Cloud , buka halaman IAM.

    Buka IAM

  2. Pilih project Google Cloud Anda.

  3. Temukan pengguna atau grup dalam daftar izin, lalu klik Edit akun utama. Atau, klik Berikan akses untuk menambahkan pengguna baru.

  4. Di bagian Tetapkan peran, klik Tambahkan peran lain.

  5. Di kolom Select a role, telusuri dan pilih Cloud NotebookLM User (roles/discoveryengine.notebookLmUser).

  6. Klik Simpan.

gcloud

Untuk memberikan akses menggunakan Google Cloud CLI, jalankan perintah berikut:

gcloud projects add-iam-policy-binding PROJECT_ID \
  --member="user:USER_EMAIL" \
  --role="roles/discoveryengine.notebookLmUser"

Ganti kode berikut:

  • PROJECT_ID: ID Google Cloud project Anda.
  • USER_EMAIL: alamat email pengguna atau grup.

REST

Untuk memberikan akses menggunakan REST API, perbarui kebijakan IAM project menggunakan metode setIamPolicy:

  1. Dapatkan kebijakan IAM saat ini menggunakan metode getIamPolicy untuk mengambil kebijakan saat ini dan etag-nya:

    curl -X POST \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json" \
      -d '{}' \
      "https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:getIamPolicy"
    

    Ganti PROJECT_ID dengan ID project Google Cloud Anda.

  2. Tetapkan kebijakan IAM yang diperbarui menggunakan metode setIamPolicy dengan peran roles/discoveryengine.notebookLmUser:

    curl -X POST \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json" \
      -d '{
        "policy": {
          "etag": "ETAG",
          "bindings": [
            {
              "role": "EXISTING_ROLE",
              "members": [
                "user:EXISTING_USER_EMAIL"
              ]
            },
            {
              "role": "roles/discoveryengine.notebookLmUser",
              "members": [
                "user:USER_EMAIL"
              ]
            }
          ]
        }
      }' \
      "https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:setIamPolicy"
    

    Ganti kode berikut:

    • ETAG: nilai etag dari respons getIamPolicy.
    • EXISTING_ROLE dan EXISTING_USER_EMAIL: binding peran dan pokok yang ada yang ditampilkan oleh metode getIamPolicy yang ingin Anda pertahankan.
    • PROJECT_ID: ID project Google Cloud Anda.
    • USER_EMAIL: alamat email pengguna atau grup.

Memberikan akses ke alat developer AI

Berikan peran Pengguna Gemini untuk Google Cloud (roles/cloudaicompanion.user) dan Peran pengguna untuk Business AI Code API (roles/businessaicode.user) untuk mengaktifkan alat developer AI tanpa mengekspos aplikasi atau penyimpanan data Gemini Enterprise:

Konsol

Untuk memberikan akses menggunakan konsol Google Cloud , ikuti langkah-langkah berikut:

  1. Di konsol Google Cloud , buka halaman IAM.

    Buka IAM

  2. Pilih project Google Cloud Anda.

  3. Temukan pengguna atau grup dalam daftar izin, lalu klik Edit akun utama. Atau, klik Berikan akses untuk menambahkan pengguna baru.

  4. Di bagian Assign roles, tetapkan setiap peran berikut:

    • Pengguna Gemini untuk Google Cloud (roles/cloudaicompanion.user)
    • Peran pengguna untuk Business AI Code API (roles/businessaicode.user)
  5. Klik Simpan.

gcloud

Untuk memberikan akses menggunakan Google Cloud CLI, jalankan perintah berikut:

gcloud projects add-iam-policy-binding PROJECT_ID \
  --member="user:USER_EMAIL" \
  --role="roles/cloudaicompanion.user"

gcloud projects add-iam-policy-binding PROJECT_ID \
  --member="user:USER_EMAIL" \
  --role="roles/businessaicode.user"

Ganti kode berikut:

  • PROJECT_ID: ID Google Cloud project Anda.
  • USER_EMAIL: alamat email pengguna atau grup.

REST

Untuk memberikan akses menggunakan REST API, perbarui kebijakan IAM project menggunakan metode setIamPolicy:

  1. Dapatkan kebijakan IAM saat ini menggunakan metode getIamPolicy untuk mengambil kebijakan saat ini dan etag-nya:

    curl -X POST \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json" \
      -d '{}' \
      "https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:getIamPolicy"
    

    Ganti PROJECT_ID dengan ID project Google Cloud Anda.

  2. Tetapkan kebijakan IAM yang diperbarui menggunakan metode setIamPolicy dengan peran roles/cloudaicompanion.user dan roles/businessaicode.user:

    curl -X POST \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json" \
      -d '{
        "policy": {
          "etag": "ETAG",
          "bindings": [
            {
              "role": "EXISTING_ROLE",
              "members": [
                "user:EXISTING_USER_EMAIL"
              ]
            },
            {
              "role": "roles/cloudaicompanion.user",
              "members": [
                "user:USER_EMAIL"
              ]
            },
            {
              "role": "roles/businessaicode.user",
              "members": [
                "user:USER_EMAIL"
              ]
            }
          ]
        }
      }' \
      "https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:setIamPolicy"
    

    Ganti kode berikut:

    • ETAG: nilai etag dari respons getIamPolicy.
    • EXISTING_ROLE dan EXISTING_USER_EMAIL: binding peran dan pokok yang ada yang ditampilkan oleh metode getIamPolicy yang ingin Anda pertahankan.
    • PROJECT_ID: ID project Google Cloud Anda.
    • USER_EMAIL: alamat email pengguna atau grup.

Apa langkah selanjutnya?

Jika ingin menghapus aplikasi dengan kebijakan IAM, Anda dapat menghapus pengguna dari kebijakan sebelum menghapus aplikasi. Untuk mengetahui informasi selengkapnya, lihat Praktik terbaik untuk menghapus aplikasi dengan kebijakan IAM.