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:
|
| 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:
|
| 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:

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:
Di konsol Google Cloud , buka halaman Gemini Enterprise > Settings.
Pilih tab Kontrol akses resource.
Aktifkan tombol Kontrol akses resource.
Klik Simpan.
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:usuntuk multi-region ASeuuntuk multi-region Uni Eropaglobaluntuk lokasi Global
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:
Di konsol Google Cloud , buka halaman Roles.
Pilih project Google Cloud Anda.
Klik + Buat peran kustom.
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
- Judul:
Klik + Add permissions.
Filter dan pilih izin berikut:
discoveryengine.devToolsConfigs.getdiscoveryengine.locations.buildAuthorizationUrl
Klik Tambahkan.
Klik Create.
gcloud
Untuk membuat peran kustom menggunakan Google Cloud CLI, ikuti langkah-langkah berikut:
Jalankan
gcloud iam roles describeuntuk memverifikasi apakah peran tersebut ada di project Anda:gcloud iam roles describe customRestrictedEndUser --project=PROJECT_IDGanti
PROJECT_IDdengan ID project Google Cloud Anda.Jalankan
gcloud iam roles createuntuk 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.buildAuthorizationUrlGanti
PROJECT_IDdengan 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:
Di konsol Google Cloud , buka halaman Roles.
Pilih project Google Cloud Anda.
Klik + Buat peran.
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.
- Judul:
Klik + Add permissions.
Filter dan pilih izin berikut:
discoveryengine.aclConfigs.getdiscoveryengine.collections.listdiscoveryengine.dataStores.listdiscoveryengine.devToolsConfigs.getdiscoveryengine.engines.listdiscoveryengine.licenseConfigs.listdiscoveryengine.locations.buildAuthorizationUrldiscoveryengine.locations.getConnectorSourcediscoveryengine.locations.listConnectorSourcesdiscoveryengine.projects.getdiscoveryengine.userStores.listUserLicensesresourcemanager.projects.get
Klik Tambahkan.
Klik Create.
gcloud
Untuk membuat peran kustom menggunakan Google Cloud CLI, ikuti langkah-langkah berikut:
Jalankan
gcloud iam roles describeuntuk memverifikasi apakah peran tersebut ada di project Anda:gcloud iam roles describe customRestrictedAdmin --project=PROJECT_IDGanti
PROJECT_IDdengan ID project Google Cloud Anda.Jalankan
gcloud iam roles createuntuk 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.getGanti
PROJECT_IDdengan 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:
Di konsol Google Cloud , buka halaman Roles.
Pilih project Google Cloud tempat Anda membuat peran kustom.
Pilih tab Kustom atau filter daftar untuk menemukan peran kustom Anda (
customRestrictedEndUserataucustomRestrictedAdmin).Klik nama peran khusus.
Klik Edit peran.
Klik + Add permissions.
Telusuri dan pilih izin yang ingin Anda tambahkan, lalu klik Tambahkan.
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.buildAuthorizationUrlGanti
PROJECT_IDdengan 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.listConnectorSourcesGanti
PROJECT_IDdengan 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_IDdengan 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_IDdengan 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:
Di konsol Google Cloud , buka halaman IAM.
Pilih project Google Cloud tempat Anda membuat peran kustom.
Klik Berikan Akses untuk menambahkan akun utama baru atau mengedit akun utama yang ada.
Di New principals, masukkan alamat email pengguna atau grup.
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
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:customRestrictedEndUserataucustomRestrictedAdmin.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:
Dapatkan kebijakan IAM saat ini menggunakan metode
getIamPolicyuntuk mengambil kebijakan saat ini danetag-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_IDdengan ID project Google Cloud Anda.Tetapkan kebijakan IAM yang diperbarui menggunakan metode
setIamPolicydengan 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: nilaietagyang Anda peroleh sebagai respons saat Anda menggunakan metodegetIamPolicy.EXISTING_ROLEdanEXISTING_USER_EMAIL: binding peran dan pokok yang ada yang ditampilkan oleh metodegetIamPolicyyang 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:
Di konsol Google Cloud , buka halaman Gemini Enterprise > Apps.
Pilih aplikasi target Anda.
Klik Izin pengguna, lalu klik Tambahkan pengguna.
Pilih peran untuk pengguna atau grup:
- Pengguna: Menetapkan
Pengguna Gemini Enterprise
(
roles/discoveryengine.agentspaceUser). - Admin: Menetapkan
Admin Gemini Enterprise
(
roles/discoveryengine.agentspaceAdmin). - Pelihat: Menetapkan
Pelihat Gemini Enterprise
(
roles/discoveryengine.agentspaceViewer).
- Pengguna: Menetapkan
Pengguna Gemini Enterprise
(
Klik Simpan.
REST
Untuk mengonfigurasi izin aplikasi menggunakan REST API, selesaikan langkah-langkah berikut menggunakan pola baca-ubah-tulis:
Dapatkan kebijakan IAM saat ini menggunakan metode
getIamPolicyuntuk mengambil kebijakan saat ini danetag-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:usuntuk multi-region ASeuuntuk multi-region Uni Eropaglobaluntuk lokasi Global
LOCATION: multi-region penyimpanan data Anda:global,us, ataueu.APP_ID: ID aplikasi yang ingin Anda konfigurasi.
Tetapkan kebijakan IAM yang diperbarui menggunakan metode
setIamPolicydengan 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: nilaietagyang Anda peroleh sebagai respons saat Anda menggunakan metodegetIamPolicy.EXISTING_ROLEdanEXISTING_USER_EMAIL: binding peran dan pokok yang ada yang ditampilkan oleh metodegetIamPolicyyang 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 denganuser:. Hindari spasi tambahan sebelum atau sesudah alamat email. - Untuk mencabut akses, hapus alamat email pengguna dari array
members.
- Untuk memberikan akses, tambahkan email pengguna ke array
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:usuntuk multi-region ASeuuntuk multi-region Uni Eropaglobaluntuk lokasi Global
LOCATION: multi-region penyimpanan data Anda:global,us, ataueu.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:
Di konsol Google Cloud , buka halaman Gemini Enterprise > Data Stores.
Klik nama penyimpanan data Anda.
Klik Izin pengguna > Tambahkan pengguna.
Pilih peran untuk pengguna atau grup:
- Pengguna: Menetapkan
Pengguna Gemini Enterprise
(
roles/discoveryengine.agentspaceUser). - Admin: Menetapkan
Admin Gemini Enterprise
(
roles/discoveryengine.agentspaceAdmin). - Pelihat: Menetapkan
Pelihat Gemini Enterprise
(
roles/discoveryengine.agentspaceViewer).
- Pengguna: Menetapkan
Pengguna Gemini Enterprise
(
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:
-
Dapatkan kebijakan IAM saat ini untuk pengumpulan konektor data:
Panggil
getIamPolicyuntuk mengambil kebijakan saat ini danetag-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:usuntuk multi-region ASeuuntuk multi-region Uni Eropaglobaluntuk lokasi Global
LOCATION: multi-region penyimpanan data Anda:global,us, ataueu.COLLECTION_ID: ID kumpulan data konektor data. Untuk mengetahui informasi selengkapnya, lihat Mendapatkan detail entity dan penyimpanan data.
-
Tetapkan kebijakan IAM yang diperbarui pada kumpulan konektor data:
Panggil
setIamPolicytermasuketagdan 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: nilaietagyang Anda peroleh sebagai respons saat menggunakan metodegetIamPolicypada langkah 1.EXISTING_ROLEdanEXISTING_USER_EMAIL: binding peran dan akun utama yang ada yang ditampilkan oleh metodegetIamPolicyyang 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:usuntuk multi-region ASeuuntuk multi-region Uni Eropaglobaluntuk lokasi Global
LOCATION: multi-region penyimpanan data Anda:global,us, ataueu.COLLECTION_ID: ID kumpulan data konektor data.
-
Dapatkan kebijakan IAM saat ini untuk penyimpanan data entitas:
Di Gemini Enterprise, penyimpanan data entitas turunan berada di bawah
default_collectiondan diberi awalan dengan ID kumpulan konektor. PanggilgetIamPolicydi penyimpanan data entity didefault_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:usuntuk multi-region ASeuuntuk multi-region Uni Eropaglobaluntuk lokasi Global
LOCATION: multi-region penyimpanan data Anda:global,us, ataueu.DATA_STORE_ENTITY_ID: ID penyimpanan data entitas (misalnya,DataConnector3_entityA). Untuk mengetahui informasi selengkapnya, lihat Mendapatkan detail penyimpanan data dan entitas.
-
Tetapkan kebijakan IAM yang diperbarui pada penyimpanan data entity:
Panggil
setIamPolicydi penyimpanan data entity, termasuketag: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: nilaietagyang Anda peroleh sebagai respons saat Anda menggunakan metodegetIamPolicydi langkah 3.EXISTING_ROLEdanEXISTING_USER_EMAIL: binding peran dan akun utama yang ada yang ditampilkan oleh metodegetIamPolicyyang 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:usuntuk multi-region ASeuuntuk multi-region Uni Eropaglobaluntuk lokasi Global
LOCATION: multi-region penyimpanan data Anda:global,us, ataueu.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:
-
Mendapatkan kebijakan IAM saat ini untuk penyimpanan data:
Panggil
getIamPolicyuntuk mengambil kebijakan saat ini danetag-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:usuntuk multi-region ASeuuntuk multi-region Uni Eropaglobaluntuk lokasi Global
LOCATION: multi-region penyimpanan data Anda:global,us, ataueu.DATA_STORE_ID: ID penyimpanan data. Untuk mengetahui informasi selengkapnya, lihat Mendapatkan detail entity dan penyimpanan data.
-
Tetapkan kebijakan IAM yang diperbarui pada penyimpanan data:
Panggil
setIamPolicytermasuketagdan 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: nilaietagyang Anda peroleh sebagai respons saat menggunakan metodegetIamPolicypada langkah 1.EXISTING_ROLEdanEXISTING_USER_EMAIL: binding peran dan akun utama yang ada yang ditampilkan oleh metodegetIamPolicyyang 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:usuntuk multi-region ASeuuntuk multi-region Uni Eropaglobaluntuk lokasi Global
LOCATION: multi-region penyimpanan data Anda:global,us, ataueu.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:
Di konsol Google Cloud , buka halaman IAM.
Pilih project Google Cloud Anda.
Temukan pengguna atau grup dalam daftar izin, lalu klik Edit akun utama. Atau, klik Berikan akses untuk menambahkan pengguna baru.
Di bagian Tetapkan peran, klik Tambahkan peran lain.
Di kolom Select a role, telusuri dan pilih Cloud NotebookLM User (
roles/discoveryengine.notebookLmUser).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:
Dapatkan kebijakan IAM saat ini menggunakan metode
getIamPolicyuntuk mengambil kebijakan saat ini danetag-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_IDdengan ID project Google Cloud Anda.Tetapkan kebijakan IAM yang diperbarui menggunakan metode
setIamPolicydengan peranroles/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: nilaietagdari responsgetIamPolicy.EXISTING_ROLEdanEXISTING_USER_EMAIL: binding peran dan pokok yang ada yang ditampilkan oleh metodegetIamPolicyyang 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:
Di konsol Google Cloud , buka halaman IAM.
Pilih project Google Cloud Anda.
Temukan pengguna atau grup dalam daftar izin, lalu klik Edit akun utama. Atau, klik Berikan akses untuk menambahkan pengguna baru.
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)
- Pengguna Gemini untuk Google Cloud (
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:
Dapatkan kebijakan IAM saat ini menggunakan metode
getIamPolicyuntuk mengambil kebijakan saat ini danetag-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_IDdengan ID project Google Cloud Anda.Tetapkan kebijakan IAM yang diperbarui menggunakan metode
setIamPolicydengan peranroles/cloudaicompanion.userdanroles/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: nilaietagdari responsgetIamPolicy.EXISTING_ROLEdanEXISTING_USER_EMAIL: binding peran dan pokok yang ada yang ditampilkan oleh metodegetIamPolicyyang 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.