Halaman ini menjelaskan cara admin Gemini Enterprise dapat menggunakan API untuk mengelola kontrol akses terperinci untuk setiap aplikasi Gemini Enterprise.
Jika Anda perlu mengonfigurasi kontrol akses terperinci di tingkat resource di seluruh aplikasi dan penyimpanan data, lihat Mengonfigurasi kontrol akses terperinci untuk aplikasi dan penyimpanan data.
Secara default, izin IAM sering dikelola di level project. IAM tingkat aplikasi memungkinkan kontrol yang lebih terperinci, sehingga admin dapat:
- Batasi akses pengguna ke aplikasi tertentu dalam project Google Cloud yang sama.
- Selaraskan izin dengan kebutuhan organisasi dan data silo untuk deployment Gemini Enterprise Anda.
Misalnya, pertimbangkan organisasi dengan aplikasi HR dan aplikasi di seluruh perusahaan. Anggota tim HR dengan izin level project dapat mengakses kedua aplikasi tersebut. Sebaliknya, dengan menggunakan kebijakan IAM level aplikasi, Anda dapat memberikan akses kepada anggota tim penjualan hanya ke aplikasi di seluruh perusahaan, sehingga mencegah mereka mengakses aplikasi HR.

Sebelum memulai
Pastikan Anda memiliki peran Gemini Enterprise Admin (
roles/discoveryengine.agentspaceAdmin).Pastikan semua pengguna Gemini Enterprise memiliki lisensi yang valid dan diberi peran Gemini Enterprise Restricted User (
roles/discoveryengine.agentspaceRestrictedUser) di level project. Untuk mengetahui petunjuknya, lihat Memberikan izin kepada pengguna Anda.Peran ini tidak memberikan akses ke aplikasi apa pun dengan sendirinya. Grup ini memberikan akses tingkat project yang diperlukan pengguna, dan Anda kemudian memberikan akses ke setiap aplikasi. Jika Anda menggunakan peran khusus level project, bukan peran
roles/discoveryengine.agentspaceRestrictedUseryang telah ditetapkan, pastikan peran khusus Anda menyertakan izindiscoveryengine.locations.buildAuthorizationUrl,discoveryengine.dataStores.get,discoveryengine.collections.get, dandiscoveryengine.devToolsConfigs.get. Menghilangkandiscoveryengine.devToolsConfigs.getakan menyebabkan error403 PERMISSION_DENIEDdi Cloud Audit Logs saat aplikasi web memeriksadevToolsConfig.
Transisi dari akses level project ke akses level aplikasi
Untuk membatasi pengguna ke aplikasi tertentu, Anda harus mengganti peran Gemini Enterprise User di level project dengan peran Gemini Enterprise Restricted User, lalu memberikan peran Gemini Enterprise User di level aplikasi individual.
Untuk mentransisikan pengguna dari akses tingkat project ke akses tingkat aplikasi, ikuti langkah-langkah berikut. Anda menggunakan konsol Google Cloud untuk perubahan tingkat project, dan API untuk pemberian tingkat aplikasi, yang tidak didukung oleh konsol Google Cloud .
- Di konsol Google Cloud , buka halaman IAM.
- Temukan pengguna dan hapus peran Gemini Enterprise User
(
roles/discoveryengine.agentspaceUser) dari izin tingkat project-nya. - Jika Anda belum melakukannya, berikan peran Pengguna Terbatas Gemini Enterprise (
roles/discoveryengine.agentspaceRestrictedUser) kepada pengguna di level project. - Gunakan metode
setIamPolicyuntuk memberikan peran Pengguna Gemini Enterprise (roles/discoveryengine.agentspaceUser) kepada pengguna untuk setiap aplikasi tertentu yang perlu mereka akses. Untuk mengetahui informasi selengkapnya, lihat Mengelola kebijakan IAM untuk aplikasi.
Mengelola kebijakan IAM untuk aplikasi
Untuk mengelola akses ke aplikasi Gemini Enterprise, Anda dapat menggunakan metode API getIamPolicy
dan setIamPolicy.
Langkah-langkah berikut menunjukkan cara mengambil kebijakan saat ini, lalu memperbaruinya untuk memberikan atau mencabut akses pengguna.
Mendapatkan kebijakan IAM aplikasi
Dapatkan kebijakan IAM saat ini untuk aplikasi Anda menggunakan metode getIamPolicy. Sebaiknya ambil kebijakan yang ada terlebih dahulu untuk menghindari penimpaan izin saat ini.
REST
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, ataueuAPP_ID: ID aplikasi yang ingin Anda konfigurasi.
Memperbarui kebijakan IAM aplikasi
Untuk memberikan atau mencabut akses pengguna ke aplikasi, perbarui kebijakan IAM aplikasi menggunakan metode setIamPolicy.
Kebijakan IAM menggunakan peran Gemini Enterprise
User
(roles/discoveryengine.agentspaceUser) untuk memberi pengguna akses langsung ke
aplikasi.
REST
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"policy": {
"etag": "ETAG",
"bindings": [
{
"role": "roles/discoveryengine.agentspaceUser",
"members": [
"user:USER_EMAIL",
"group:GROUP_EMAIL",
"principal://iam.googleapis.com/locations/global/workloadIdentityPools/POOL_ID/subject/SUBJECT_ID",
"principalSet://iam.googleapis.com/locations/global/workloadIdentityPools/POOL_ID/attribute.NAME/VALUE"
]
}
]
}
}' \
"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 dapatkan sebagai respons saat menggunakan metodegetIamPolicy.USER_EMAIL,GROUP_EMAIL: satu atau beberapa alamat email pengguna atau grup. Selainuserdangroup,principaldanprincipalSetadalah jenis anggota yang valid untuk Workload Identity Federation.Untuk memberikan akses, tambahkan akun utama ke array
members. Misalnya,"user:cloudysanfrancisco@gmail.com"atau"group:mcymbalgroup@google.com".Untuk mencabut akses, hapus akun utama dari array
members.
POOL_ID: ID workload identity pool Anda.SUBJECT_ID: ID subjek untuk identitas tertentu.NAME: Nama atribut.VALUE: Nilai atribut.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.
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.