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

Sebelum memulai
Pastikan Anda memiliki peran Admin Gemini Enterprise.
Pastikan semua pengguna Gemini Enterprise dengan lisensi yang valid memiliki peran Pengguna yang Dibatasi Gemini Enterprise.
Transisi dari akses tingkat project ke tingkat aplikasi
Untuk membatasi pengguna ke aplikasi tertentu, Anda harus menghapus peran yang sesuai dari izin tingkat project, lalu memberikan peran tersebut di tingkat aplikasi.
Misalnya, untuk memindahkan pengguna dengan peran Pengguna Gemini Enterprise
(roles/discoveryengine.agentspaceUser) dari tingkat project ke tingkat aplikasi, ikuti
langkah-langkah berikut:
- Di konsol Google Cloud , buka halaman IAM.
- Temukan pengguna dan hapus peran
roles/discoveryengine.agentspaceUserdari izin tingkat project-nya. - Gunakan metode
setIamPolicyuntuk memberikan peranroles/discoveryengine.agentspaceUserkepada pengguna untuk aplikasi tertentu. 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 aplikasi Anda saat ini menggunakan metode
getIamPolicy. Sebaiknya ambil kebijakan yang ada terlebih dahulu untuk menghindari
menimpa 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
Pengguna Gemini Enterprise
(roles/discoveryengine.agentspaceUser) untuk memberikan akses langsung ke aplikasi kepada pengguna.
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 peroleh sebagai respons saat Anda 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. Contohnya,"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.