Nesta página, explicamos como um administrador do Gemini Enterprise pode usar a API para gerenciar o controle de acesso refinado de apps individuais do Gemini Enterprise.
Se você precisar configurar controles de acesso granulares no nível do recurso em apps e repositórios de dados, consulte Configurar controles de acesso granulares para apps e repositórios de dados.
Por padrão, as permissões do IAM são gerenciadas no nível do projeto. O IAM no nível do app permite um controle mais granular, possibilitando que os administradores:
- Restrinja o acesso do usuário a apps específicos no mesmo projeto Google Cloud .
- Alinhe as permissões com as necessidades organizacionais e os silos de dados para suas implantações do Gemini Enterprise.
Por exemplo, considere uma organização com um app de RH e um app para toda a empresa. Um membro da equipe de RH com permissões no nível do projeto pode acessar os dois apps. Por outro lado, usando uma política do IAM no nível do app, é possível conceder a um membro da equipe de vendas acesso apenas ao app de toda a empresa, impedindo que ele acesse o app de RH.

Antes de começar
Confirme se você tem o papel de administrador do Gemini Enterprise (
roles/discoveryengine.agentspaceAdmin).Confirme se todos os usuários do Gemini Enterprise têm uma licença válida e se receberam a função de Usuário restrito do Gemini Enterprise (
roles/discoveryengine.agentspaceRestrictedUser) no nível do projeto. Para instruções, consulte Conceder permissões aos usuários.Essa função não concede acesso a nenhum app por conta própria. Ele fornece o acesso no nível do projeto de que os usuários precisam, e você concede acesso a apps individuais. Se você usar um papel personalizado para envolvidos no projeto em vez do papel predefinido
roles/discoveryengine.agentspaceRestrictedUser, verifique se o papel personalizado inclui as permissõesdiscoveryengine.locations.buildAuthorizationUrl,discoveryengine.dataStores.get,discoveryengine.collections.getediscoveryengine.devToolsConfigs.get. Omitirdiscoveryengine.devToolsConfigs.getcausa um erro403 PERMISSION_DENIEDnos Registros de auditoria do Cloud quando o app da Web verificadevToolsConfig.
Transição do acesso para envolvidos no projeto para o acesso no nível do app
Para restringir o acesso dos usuários a apps específicos, substitua a função de usuário do Gemini Enterprise no nível do projeto pela função de usuário restrito do Gemini Enterprise e conceda a função de usuário do Gemini Enterprise no nível do app individual.
Para fazer a transição de um usuário do acesso para envolvidos no projeto para o acesso no nível do app, siga estas etapas. Você usa o console do Google Cloud para as mudanças no nível do projeto e a API para a concessão no nível do app, que o console do Google Cloud não oferece suporte.
- No console do Google Cloud , acesse a página IAM.
- Encontre o usuário e remova a função de usuário do Gemini Enterprise
(
roles/discoveryengine.agentspaceUser) das permissões para envolvidos no projeto. - Se ainda não tiver feito isso, conceda ao usuário o papel de Usuário restrito do Gemini Enterprise
(
roles/discoveryengine.agentspaceRestrictedUser) no nível do projeto. - Use o método
setIamPolicypara conceder ao usuário a função de usuário do Gemini Enterprise (roles/discoveryengine.agentspaceUser) para cada app específico que ele precisa acessar. Para mais informações, consulte Gerenciar políticas do IAM para apps.
Gerenciar políticas do IAM para apps
Para gerenciar o acesso ao app Gemini Enterprise, use os métodos de API getIamPolicy
e setIamPolicy.
As etapas a seguir mostram como recuperar a política atual e atualizá-la para conceder ou revogar o acesso do usuário.
Receber a política do IAM do app
Acesse a política do IAM atual do seu app usando o
método
getIamPolicy. Recomendamos buscar a política atual primeiro para evitar
substituir as permissões atuais.
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"
Substitua:
PROJECT_ID: ID do projeto.ENDPOINT_LOCATION: a multirregião da sua solicitação de API. Especifique um dos seguintes valores:uspara a multirregião dos EUAeupara a multirregião da UEglobalpara o local global
LOCATION: a multirregião do seu repositório de dados:global,usoueuAPP_ID: o ID do app que você quer configurar.
Atualizar a política de IAM do app
Para conceder ou revogar o acesso do usuário ao app, atualize a política do IAM
usando o método
setIamPolicy.
A política do IAM usa a função Usuário do Gemini Enterprise
(roles/discoveryengine.agentspaceUser) para conceder aos usuários acesso direto ao
app.
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"
Substitua:
ETAG: o valor deetagque você recebeu como resposta ao usar o métodogetIamPolicy.USER_EMAIL,GROUP_EMAIL: um ou mais endereços de e-mail de usuários ou grupos. Além deuseregroup,principaleprincipalSetsão tipos de membros válidos para a federação de identidade da carga de trabalho.Para conceder acesso, adicione principais à matriz
members. Por exemplo,"user:cloudysanfrancisco@gmail.com"ou"group:mcymbalgroup@google.com".Para revogar o acesso, remova os principais da matriz
members.
POOL_ID: o ID do seu pool de identidades da carga de trabalho.SUBJECT_ID: o identificador de assunto de uma identidade específica.NAME: o nome de um atributo.VALUE: o valor de um atributo.PROJECT_ID: ID do projeto.ENDPOINT_LOCATION: a multirregião da sua solicitação de API. Especifique um dos seguintes valores:uspara a multirregião dos EUAeupara a multirregião da UEglobalpara o local global
LOCATION: a multirregião do seu repositório de dados:global,usoueu.APP_ID: o ID do app que você quer configurar.
A seguir
Se você quiser excluir um app com uma política do IAM, remova os usuários da política antes de excluir o app. Para mais informações, consulte Práticas recomendadas para excluir um app com uma política do IAM.