本页介绍了 Gemini Enterprise 管理员如何使用 API 来管理各个 Gemini Enterprise 应用的精细访问权限控制。
默认情况下,IAM 权限通常在项目级层进行管理。应用级 IAM 可实现更精细的控制,让管理员能够:
- 限制用户对同一 Google Cloud 项目内特定应用的访问权限。
- 根据组织需求和数据孤岛,为 Gemini Enterprise 部署调整权限。
例如,假设某个组织有一个 HR 应用和一个公司范围的应用。具有项目级权限的 HR 团队成员可以访问这两个应用。相比之下,如果使用应用级 IAM 政策,您可以仅向销售团队成员授予对公司范围应用的访问权限,从而防止他们访问 HR 应用。

准备工作
确认您拥有 Gemini Enterprise 管理员角色。
确认所有拥有有效许可的 Gemini Enterprise 用户都具有 Gemini Enterprise 受限用户角色。
管理应用的 IAM 政策
如需管理对 Gemini Enterprise 应用的访问权限,您可以使用 getIamPolicy 和 setIamPolicy API 方法。
以下步骤展示了如何检索当前政策,然后更新该政策以授予或撤消用户访问权限。
获取应用 IAM 政策
使用 getIamPolicy 方法获取应用的当前 IAM 政策。建议先提取现有政策,以免覆盖任何当前权限。
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"
替换以下内容:
PROJECT_ID:您的项目的 ID。ENDPOINT_LOCATION:API 请求的多区域。指定以下值之一:us(表示美国多区域)eu(表示欧盟多区域)global(表示全球位置)
LOCATION:数据存储区的多区域:global、us或euAPP_ID:要配置的应用的 ID。
更新应用 IAM 政策
如需授予或撤消用户对应用的访问权限,请使用 setIamPolicy 方法更新应用的 IAM 政策。
IAM 政策使用 Gemini Enterprise 用户 (roles/discoveryengine.agentspaceUser) 角色授予用户对应用的直接访问权限。
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_1",
"user:USER_EMAIL_2"
]
}
]
}
}' \
"https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/engines/APP_ID:setIamPolicy"
替换以下内容:
ETAG:您在使用getIamPolicy方法时作为响应获得的etag值。USER_EMAIL_1、USER_EMAIL_2:一个或多个用户电子邮件地址。如需授予访问权限,请将用户电子邮件地址添加到
members数组中,每个电子邮件地址都以user为前缀:如需撤消访问权限,请从
members数组中移除相应用户的电子邮件地址。
PROJECT_ID:您的项目的 ID。ENDPOINT_LOCATION:API 请求的多区域。请指定以下某个值:us(表示美国多区域)eu(表示欧盟多区域)global(表示全球位置)
LOCATION:数据存储区的多区域:global、us或eu。APP_ID:要配置的应用的 ID。
后续步骤
如果您想删除具有 IAM 政策的应用,可以在删除该应用之前从相应政策中移除用户。如需了解详情,请参阅删除具有 IAM 政策的应用的最佳实践。