Nesta página, explicamos como um administrador do Gemini Enterprise pode configurar permissões granulares do IAM no nível do recurso para restringir o acesso a apps e repositórios de dados específicos do Gemini Enterprise usando o console doGoogle Cloud , a Google Cloud CLI ou a API REST.
Se você só precisar restringir o acesso do usuário final no nível do app sem configurar permissões de repositório de dados ou papéis personalizados para envolvidos no projeto, consulte Configurar controles de acesso para apps.
Visão geral
Por padrão, as permissões do IAM concedidas no nível do projeto do Google Cloud se aplicam a todos os apps do Gemini Enterprise e repositórios de dados no projeto. Se a organização precisar restringir os usuários a apps ou repositórios de dados específicos em um único projeto, use os controles de acesso no nível do recurso.
Os controles de acesso no nível do recurso permitem que os administradores:
- Conceda aos usuários acesso a apps específicos e repositórios de dados vinculados sem expor outros apps no mesmo projeto.
- Delegue a administração de apps ou o monitoramento somente leitura para apps específicos sem conceder direitos administrativos amplos em todo o projeto.
- Aplicar limites de dados organizacionais e políticas de compliance.
Como funcionam os controles de acesso
Para conceder acesso no nível do recurso, os administradores precisam configurar duas vinculações de papel para cada usuário ou grupo de destino. As permissões são avaliadas de forma independente: para receber respostas de um repositório de dados em um app, o usuário precisa receber permissões no app e no repositório de dados de destino.
| Nível de vinculação de papéis | Tipo de papel | Finalidade, escopo e exemplos de papéis |
|---|---|---|
| Nível do projeto | Função personalizada |
Os papéis personalizados criados neste guia concedem as permissões necessárias para que o usuário autentique ou carregue páginas de listagem do console em todo o projeto sem expor conteúdo específico do app ou do repositório de dados. Exemplos de funções: |
| Nível do recurso | Papel predefinido |
Os papéis predefinidos que você atribui ao recurso do app ou do repositório de dados concedem permissões operacionais, como conversar, definir configurações ou visualizar análises, estritamente nesse recurso. Exemplos de funções:
|
Exemplo de cenário
Considere um projeto do Google Cloud na Cymbal chamado cymbal-ai-project
com dois apps e vários repositórios de dados:
| Exemplo de cenário: restringir o acesso em apps e repositórios de dados | |
|---|---|
| Contexto | Um projeto do Google Cloud na Cymbal chamado cymbal-ai-project
contém dois apps:
|
| Meta | Conceda a Alex (alex@cymbal.com) acesso para usar o
app de finanças Cymbal e consultar apenas o
repositório de dados de finanças gerais, negando acesso ao
repositório de dados de folha de pagamento confidencial e ao
app Cymbal HR. |
| Configurações obrigatórias |
Siga estas etapas para configurar os controles de acesso:
|
| Result | Quando Alex faz login, ele pode abrir o app Cymbal Finance e consultar o repositório de dados General Finance. Mesmo que o repositório de dados de folha de pagamento confidencial esteja conectado ao mesmo app, Alex não pode visualizá-lo nem consultá-lo. As tentativas de acessar o app Cymbal HR ou consultar o repositório de dados do Cymbal HR também são negadas. |
O diagrama a seguir ilustra como as configurações para envolvidos no projeto e as permissões do IAM independentes no nível do recurso funcionam juntas nesse cenário:

Antes de começar
- Confirme se você tem o papel de
administrador do Gemini Enterprise
(
roles/discoveryengine.agentspaceAdmin). - Verifique se os usuários que precisam de acesso restrito não receberam os papéis do Discovery Engine para envolvidos no projeto.
- Crie os papéis personalizados necessários para envolvidos no projeto para as personas de destino em Criar papéis personalizados para envolvidos no projeto.
Ativar o controle de acesso a apps e repositório de dados
Antes de configurar permissões granulares em apps e repositórios de dados ou visualizar a guia Permissões do usuário no console do Google Cloud , ative o controle de acesso a apps e repositório de dados no projeto usando o console do Google Cloud ou a API REST:
Console
Para ativar o controle de acesso a apps e repositório de dados no console do Google Cloud , siga estas etapas:
No console do Google Cloud , acesse a página Gemini Enterprise > Configurações.
Selecione a guia Controle de acesso a recursos.
Ative a opção Controle de acesso a recursos.
Clique em Salvar.
Na caixa de diálogo Ativar o controle de acesso a recursos?, clique em Ativar.
REST
Para ativar o controle de acesso a apps e repositório de dados usando a API REST, chame o
método 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
}
}
}'
Substitua:
PROJECT_ID: o ID do seu projeto do Google Cloud .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
Criar papéis personalizados para envolvidos no projeto
Os papéis personalizados para envolvidos no projeto concedem permissões sem expor todos os recursos do projeto. Você só precisa criar cada papel personalizado uma vez por projeto doGoogle Cloud .
Criar uma função personalizada de usuário final restrito
O papel customRestrictedEndUser concede permissões no nível do projeto necessárias para que os usuários finais carreguem o endpoint de autorização do Gemini Enterprise e a configuração das ferramentas para desenvolvedores (discoveryengine.locations.buildAuthorizationUrl e discoveryengine.devToolsConfigs.get). Ele não concede acesso para inspecionar ou consultar apps ou repositórios de dados específicos.
Console
Para criar o papel personalizado no console do Google Cloud , siga estas etapas:
No Google Cloud console, acesse a página Papéis.
Selecionar o projeto Google Cloud .
Clique em + Criar função personalizada.
Insira os detalhes do papel:
- Título:
Custom Gemini Enterprise Restricted End User - Descrição:
Base project-level permissions to access Gemini Enterprise apps. - ID do papel:
customRestrictedEndUser - Etapa da criação do papel: selecione Disponibilidade geral.
- Título:
Clique em + Adicionar permissões.
Filtre e selecione as seguintes permissões:
discoveryengine.devToolsConfigs.getdiscoveryengine.locations.buildAuthorizationUrl
Clique em Adicionar.
Clique em Criar.
gcloud
Para criar o papel personalizado usando a Google Cloud CLI, siga estas etapas:
Execute
gcloud iam roles describepara verificar se o papel existe no projeto:gcloud iam roles describe customRestrictedEndUser --project=PROJECT_IDSubstitua
PROJECT_IDpelo ID do seu projeto doGoogle Cloud .Execute
gcloud iam roles createpara criar o papel: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.buildAuthorizationUrlSubstitua
PROJECT_IDpelo ID do seu projeto doGoogle Cloud .
REST
Para criar o papel personalizado usando a API REST, chame o método 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"
Substitua PROJECT_ID pelo ID do seu projeto do Google Cloud.
Criar uma função de administrador restrita personalizada
O papel customRestrictedAdmin concede permissões para envolvidos no projeto necessárias
para que administradores e leitores delegados visualizem listagens de recursos e barras laterais
no console do Google Cloud sem conceder acesso para visualizar ou modificar conteúdos específicos
de apps ou repositório de dados. Para delegar o controle administrativo de um app ou repositório de dados específico, atribua esse papel personalizado no nível do projeto e, em seguida, atribua o papel de Administrador do Gemini Enterprise (roles/discoveryengine.agentspaceAdmin) diretamente no recurso de destino.
Console
Para criar o papel personalizado no console do Google Cloud , siga estas etapas:
No Google Cloud console, acesse a página Papéis.
Selecionar o projeto Google Cloud .
Clique em + Criar papel.
Insira os detalhes do papel:
- Título:
Custom Gemini Enterprise Restricted Admin - Descrição:
Base project-level permissions to list and view Gemini Enterprise configuration pages. - ID do papel:
customRestrictedAdmin - Estágio de lançamento do papel: selecione Disponibilidade geral.
- Título:
Clique em + Adicionar permissões.
Filtre e selecione as seguintes permissões:
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
Clique em Adicionar.
Clique em Criar.
gcloud
Para criar o papel personalizado usando a Google Cloud CLI, siga estas etapas:
Execute
gcloud iam roles describepara verificar se o papel existe no projeto:gcloud iam roles describe customRestrictedAdmin --project=PROJECT_IDSubstitua
PROJECT_IDpelo ID do seu projeto doGoogle Cloud .Execute
gcloud iam roles createpara criar o papel: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.getSubstitua
PROJECT_IDpelo ID do seu projeto doGoogle Cloud .
REST
Para criar o papel personalizado usando a API REST, chame o método 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"
Substitua PROJECT_ID pelo ID do seu projeto do Google Cloud.
atualizar um papel personalizado
Se já houver um papel personalizado no projeto e você precisar adicionar permissões ausentes, atualize o papel:
Console
Para atualizar um papel personalizado no console do Google Cloud , siga estas etapas:
No Google Cloud console, acesse a página Papéis.
Selecione o projeto do Google Cloud em que você criou o papel personalizado.
Selecione a guia Personalizado ou filtre a lista para localizar seu papel personalizado (
customRestrictedEndUseroucustomRestrictedAdmin).Clique no nome do papel personalizado.
Clique em Editar papel.
Clique em + Adicionar permissões.
Pesquise e selecione as permissões que você quer adicionar e clique em Adicionar.
Clique em Salvar.
gcloud
Para atualizar um papel personalizado existente usando a Google Cloud CLI, execute
gcloud iam roles update:
Para o função do usuário final restrito, execute o seguinte comando:
gcloud iam roles update customRestrictedEndUser \ --project=PROJECT_ID \ --add-permissions=discoveryengine.devToolsConfigs.get,discoveryengine.locations.buildAuthorizationUrlSubstitua
PROJECT_IDpelo ID do seu projeto doGoogle Cloud .Para o papel de administrador restrito, execute o seguinte comando:
gcloud iam roles update customRestrictedAdmin \ --project=PROJECT_ID \ --add-permissions=discoveryengine.locations.buildAuthorizationUrl,discoveryengine.locations.listConnectorSourcesSubstitua
PROJECT_IDpelo ID do seu projeto doGoogle Cloud .
REST
Para atualizar um papel personalizado usando a API REST, chame o método roles.patch.
Observe que roles.patch substitui a lista includedPermissions. Especifique
todas as permissões que você quer que o papel inclua:
Para o função do usuário final restrito, execute o seguinte comando:
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"Substitua
PROJECT_IDpelo ID do seu projeto doGoogle Cloud .Para o papel de administrador restrito, execute o seguinte comando:
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"Substitua
PROJECT_IDpelo ID do seu projeto doGoogle Cloud .
Atribuir um papel personalizado no nível do projeto
Atribua os papéis personalizados do projeto a um usuário ou grupo de destino.
Console
Para atribuir o papel personalizado usando o console do Google Cloud , siga estas etapas:
No console do Google Cloud , acesse a página IAM.
Selecione o projeto do Google Cloud em que você criou o papel personalizado.
Clique em Conceder acesso para adicionar um novo principal ou editar um atual.
Em Novos principais, insira o endereço de e-mail do usuário ou grupo.
Selecione o papel personalizado criado para sua persona, como um dos seguintes:
- Usuário final restrito personalizado do Gemini Enterprise
- Administrador restrito personalizado do Gemini Enterprise
Clique em Salvar.
gcloud
Para atribuir o papel personalizado usando a Google Cloud CLI, execute o seguinte comando:
gcloud projects add-iam-policy-binding PROJECT_ID \
--member="user:USER_EMAIL" \
--role="projects/PROJECT_ID/roles/CUSTOM_ROLE_ID"
Substitua:
PROJECT_ID: o ID do seu projeto do Google Cloud .CUSTOM_ROLE_ID: o ID do papel personalizado que você quer atribuir:customRestrictedEndUseroucustomRestrictedAdmin.USER_EMAIL: o endereço de e-mail do usuário ou grupo.
REST
Para atribuir o papel personalizado usando a API Cloud Resource Manager, conclua as seguintes etapas usando um padrão de leitura-modificação-gravação:
Use o método
getIamPolicypara recuperar a política atual do IAM e oetagdela: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"Substitua
PROJECT_IDpelo ID do seu projeto doGoogle Cloud .Defina a política do IAM atualizada usando o método
setIamPolicycom o payload da política atualizada: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"Substitua:
ETAG: o valor deetagque você recebeu como resposta ao usar o métodogetIamPolicy.EXISTING_ROLEeEXISTING_USER_EMAIL: o papel atual e as vinculações de principal retornadas pelo métodogetIamPolicyque você quer manter.PROJECT_ID: ID do seu projeto do Google Cloud.CUSTOM_ROLE_ID: o ID do papel personalizado para envolvidos no projeto que você quer atribuir. Especifique uma destas opções:customRestrictedEndUser: concede as permissões do projeto para que os usuários finais autentiquem e acessem apps.customRestrictedAdmin: concede as permissões do projeto para que os administradores visualizem as listagens de recursos no console do Google Cloud .
USER_EMAIL: o endereço de e-mail do usuário ou grupo.
Configurar permissões do app
Conceda permissões no nível do recurso no recurso do app de destino usando o console doGoogle Cloud ou a API REST.
Se você quiser atribuir um papel personalizado em vez de um predefinido na
política do IAM no nível do app, verifique se o papel personalizado inclui todas
as permissões do papel predefinido correspondente, como
Usuário do Gemini Enterprise
(roles/discoveryengine.agentspaceUser) ou
Administrador do Gemini Enterprise
(roles/discoveryengine.agentspaceAdmin).
Console
Para configurar as permissões do app no console do Google Cloud , siga estas etapas:
No console do Google Cloud , acesse a página Gemini Enterprise > Apps.
Selecione o app de destino.
Clique em Permissões do usuário e em Adicionar usuário.
Selecione o papel do usuário ou grupo:
- Usuário: atribui
Usuário do Gemini Enterprise
(
roles/discoveryengine.agentspaceUser). - Administrador: atribui
Administrador do Gemini Enterprise
(
roles/discoveryengine.agentspaceAdmin). - Leitor: atribui
Leitor do Gemini Enterprise
(
roles/discoveryengine.agentspaceViewer).
- Usuário: atribui
Usuário do Gemini Enterprise
(
Clique em Salvar.
REST
Para configurar as permissões do app usando a API REST, siga as etapas abaixo com um padrão de leitura-modificação-gravação:
Use o método
getIamPolicypara recuperar a política atual do IAM e oetagdela: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,usoueu.APP_ID: o ID do app que você quer configurar.
Defina a política do IAM atualizada usando o método
setIamPolicycom o payload da política atualizada: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"Substitua:
ETAG: o valor deetagque você recebeu como resposta ao usar o métodogetIamPolicy.EXISTING_ROLEeEXISTING_USER_EMAIL: o papel atual e as vinculações de principal retornadas pelo métodogetIamPolicyque você quer manter.USER_EMAIL: o endereço de e-mail do usuário ou grupo (por exemplo,alex@example.com).- Para conceder acesso, adicione os e-mails dos usuários à matriz
members, cada um com o prefixouser:. Evite espaços extras antes ou depois do endereço de e-mail. - Para revogar o acesso, remova o endereço de e-mail do usuário da matriz
members.
- Para conceder acesso, adicione os e-mails dos usuários à matriz
PREDEFINED_ROLE: o papel predefinido que você quer atribuir ao app. Por exemplo, Usuário corporativo do Gemini Enterprise (roles/discoveryengine.agentspaceUser) para usuários finais, Administrador do Gemini Enterprise (roles/discoveryengine.agentspaceAdmin) para administradores ou Leitor do Gemini Enterprise (roles/discoveryengine.agentspaceViewer) para leitores. Para mais informações, consulte Papéis predefinidos.PROJECT_ID: o ID do seu projeto do Google Cloud .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.
Configurar permissões do repositório de dados
Para configurar as permissões de dados, conceda permissões no nível do recurso no repositório de dados de destino usando o console do Google Cloud ou a API REST. Os usuários finais só podem se conectar e consultar repositórios de dados para os quais receberam permissões explícitas.
Se você quiser atribuir um papel personalizado em vez de um predefinido na
política de IAM do repositório de dados, verifique se o papel personalizado inclui todas as
permissões do papel predefinido correspondente, como
Usuário do Gemini Enterprise
(roles/discoveryengine.agentspaceUser) ou
Administrador do Gemini Enterprise
(roles/discoveryengine.agentspaceAdmin).
Para conectores de terceiros que aplicam permissões de documentos do usuário final, o acesso do usuário final a documentos individuais continua sendo regido pelas listas de controle de acesso (ACLs) sincronizadas do sistema de origem. Conceder acesso ao IAM não ignora as ACLs de origem.
Para encontrar repositórios de dados, coleções e IDs de entidade, consulte Receber detalhes do repositório de dados e da entidade.
Console
Para configurar as permissões do repositório de dados no console do Google Cloud , siga estas etapas. As permissões atribuídas a um repositório de dados no console do Google Cloud são propagadas automaticamente para todas as entidades filhas:
No console do Google Cloud , acesse a página Gemini Enterprise > Repositórios de dados.
Clique no nome do seu repositório de dados.
Clique em Permissões do usuário > Adicionar usuário.
Selecione o papel do usuário ou grupo:
- Usuário: atribui
Usuário do Gemini Enterprise
(
roles/discoveryengine.agentspaceUser). - Administrador: atribui
Administrador do Gemini Enterprise
(
roles/discoveryengine.agentspaceAdmin). - Leitor: atribui
Leitor do Gemini Enterprise
(
roles/discoveryengine.agentspaceViewer).
- Usuário: atribui
Usuário do Gemini Enterprise
(
Clique em Salvar.
REST
Para configurar as permissões do repositório de dados usando a API REST, expanda a seção que corresponde à configuração do repositório de dados:
Repositórios de dados com entidades
Use essa opção para conectores de terceiros que contêm vários tipos de entidade, como Jira, Salesforce, Confluence ou SharePoint Online. Ao usar a API REST, as permissões não são transmitidas automaticamente da coleção de conectores pai para as entidades filhas. É necessário conceder as mesmas permissões no recurso de coleção pai e em todos os repositórios de dados de entidade subjacentes. Não configure permissões apenas para um subconjunto de entidades.
Siga estas etapas para configurar permissões para repositórios de dados com entidades:
-
Acesse a política do IAM atual para a coleção de conectores de dados:
Chame
getIamPolicypara recuperar a política atual e oetagdela: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"
Substitua:
PROJECT_ID: ID do seu projeto do Google Cloud .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.COLLECTION_ID: o ID da coleção do conector de dados. Para mais informações, consulte Receber detalhes do repositório de dados e da entidade.
-
Defina a política do IAM atualizada na coleção do conector de dados:
Chame
setIamPolicy, incluindo oetage a vinculação de papel: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"
Substitua:
ETAG: o valor deetagque você recebeu como resposta ao usar o métodogetIamPolicyna etapa 1.EXISTING_ROLEeEXISTING_USER_EMAIL: as vinculações de papel e principal atuais retornadas pelo métodogetIamPolicyque você quer manter.USER_EMAIL: o endereço de e-mail do usuário ou grupo.PREDEFINED_ROLE: o papel predefinido que você quer atribuir à coleção. Por exemplo, Usuário corporativo do Gemini Enterprise (roles/discoveryengine.agentspaceUser) para usuários finais, Administrador do Gemini Enterprise (roles/discoveryengine.agentspaceAdmin) para administradores ou Leitor do Gemini Enterprise (roles/discoveryengine.agentspaceViewer) para leitores. Para mais informações, consulte Papéis predefinidos.PROJECT_ID: ID do seu projeto do Google Cloud .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.COLLECTION_ID: o ID da coleção do conector de dados.
-
Acesse a política atual do IAM para um repositório de dados de entidade:
No Gemini Enterprise, os repositórios de dados de entidades filhas residem em
default_collectione têm o prefixo do ID da coleção do conector. ChamegetIamPolicyno repositório de dados da entidade emdefault_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"
Substitua:
PROJECT_ID: ID do seu projeto do Google Cloud .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.DATA_STORE_ENTITY_ID: o ID do repositório de dados da entidade (por exemplo,DataConnector3_entityA). Para mais informações, consulte Receber detalhes do repositório de dados e da entidade.
-
Defina a política do IAM atualizada no repositório de dados da entidade:
Chame
setIamPolicyno repositório de dados da entidade, incluindo oetag: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"
Substitua:
ETAG: o valor deetagque você recebeu como resposta ao usar o métodogetIamPolicyna etapa 3.EXISTING_ROLEeEXISTING_USER_EMAIL: as vinculações de papel e principal atuais retornadas pelo métodogetIamPolicyque você quer manter.USER_EMAIL: o endereço de e-mail do usuário ou grupo.PREDEFINED_ROLE: o papel predefinido que você quer atribuir ao repositório de dados da entidade. Por exemplo, Usuário corporativo do Gemini Enterprise (roles/discoveryengine.agentspaceUser) para usuários finais, Administrador do Gemini Enterprise (roles/discoveryengine.agentspaceAdmin) para administradores ou Leitor do Gemini Enterprise (roles/discoveryengine.agentspaceViewer) para leitores. Para mais informações, consulte Papéis predefinidos.PROJECT_ID: ID do seu projeto do Google Cloud .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.DATA_STORE_ENTITY_ID: o ID do repositório de dados de entidade.
Repita as etapas 3 e 4 para cada repositório de dados de entidade no conector de dados. Se você configurar o conector para sincronizar outros tipos de entidade, configure as políticas do IAM em cada repositório de dados de entidade recém-criado.
Repositórios de dados sem entidades
Use essa opção para repositórios de dados independentes, como o Cloud Storage,
o BigQuery ou fontes de dados que não contêm entidades. Defina
permissões diretamente no recurso de repositório de dados único em
default_collection.
Siga estas etapas para configurar permissões para repositórios de dados sem entidades:
-
Acesse a política atual do IAM para o repositório de dados:
Chame
getIamPolicypara recuperar a política atual e oetagdela: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"
Substitua:
PROJECT_ID: ID do seu projeto do Google Cloud .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.DATA_STORE_ID: o ID do repositório de dados. Para mais informações, consulte Receber detalhes do repositório de dados e da entidade.
-
Defina a política do IAM atualizada no repositório de dados:
Chame
setIamPolicy, incluindo oetage a vinculação de papel: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"
Substitua:
ETAG: o valor deetagque você recebeu como resposta ao usar o métodogetIamPolicyna etapa 1.EXISTING_ROLEeEXISTING_USER_EMAIL: as vinculações de papel e principal atuais retornadas pelo métodogetIamPolicyque você quer manter.USER_EMAIL: o endereço de e-mail do usuário ou grupo.PREDEFINED_ROLE: o papel predefinido que você quer atribuir ao repositório de dados. Por exemplo, Usuário corporativo do Gemini Enterprise (roles/discoveryengine.agentspaceUser) para usuários finais, Administrador do Gemini Enterprise (roles/discoveryengine.agentspaceAdmin) para administradores ou Leitor do Gemini Enterprise (roles/discoveryengine.agentspaceViewer) para leitores. Para mais informações, consulte Papéis predefinidos.PROJECT_ID: ID do seu projeto do Google Cloud .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.DATA_STORE_ID: o ID do repositório de dados.
Conceder acesso aos recursos do Gemini Notebook Enterprise e das ferramentas de IA para desenvolvedores
Os usuários restritos que recebem customRestrictedEndUser no nível do projeto
perdem o acesso a recursos como ferramentas para desenvolvedores de IA e
Gemini Notebook Enterprise porque o papel do projeto contém apenas
permissões de autorização básicas.
Conceder a função completa de
Usuário corporativo do Gemini Enterprise
(roles/discoveryengine.agentspaceUser) no nível do projeto substitui
o isolamento e expõe todos os apps e repositórios de dados no projeto. Em vez disso,
os administradores podem conceder papéis específicos de recursos no nível do projeto.
Conceder acesso ao Gemini Notebook Enterprise
Conceda o papel de
Usuário do Cloud NotebookLM
(roles/discoveryengine.notebookLmUser) para permitir que usuários restritos
criem e usem notebooks sem expor apps ou repositórios de dados:
Console
Para conceder acesso usando o console do Google Cloud , siga estas etapas:
No console do Google Cloud , acesse a página IAM.
Selecionar o projeto Google Cloud .
Localize o usuário ou grupo na lista de permissões e clique em Editar principal. Como alternativa, clique em Conceder acesso para adicionar um novo usuário.
Na seção Atribuir papéis, clique em Adicionar outro papel.
No campo Selecionar um papel, pesquise e selecione Usuário do Cloud NotebookLM (
roles/discoveryengine.notebookLmUser).Clique em Salvar.
gcloud
Para conceder acesso usando a Google Cloud CLI, execute o seguinte comando:
gcloud projects add-iam-policy-binding PROJECT_ID \
--member="user:USER_EMAIL" \
--role="roles/discoveryengine.notebookLmUser"
Substitua:
PROJECT_ID: o ID do seu projeto do Google Cloud .USER_EMAIL: o endereço de e-mail do usuário ou grupo.
REST
Para conceder acesso usando a API REST, atualize a política do IAM do projeto usando o método setIamPolicy:
Use o método
getIamPolicypara recuperar a política atual do IAM e oetagdela: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"Substitua
PROJECT_IDpelo ID do seu projeto doGoogle Cloud .Defina a política do IAM atualizada usando o método
setIamPolicycom o papelroles/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"Substitua:
ETAG: o valor deetagda respostagetIamPolicy.EXISTING_ROLEeEXISTING_USER_EMAIL: o papel atual e as vinculações de principal retornadas pelo métodogetIamPolicyque você quer manter.PROJECT_ID: ID do seu projeto do Google Cloud.USER_EMAIL: o endereço de e-mail do usuário ou grupo.
Conceder acesso às ferramentas de IA para desenvolvedores
Conceda os papéis
Usuário do Gemini para Google Cloud
(roles/cloudaicompanion.user) e
Papel de usuário da API Business AI Code
(roles/businessaicode.user) para ativar as ferramentas para desenvolvedores de IA sem
expor os apps do Gemini Enterprise ou repositórios de dados:
Console
Para conceder acesso usando o console do Google Cloud , siga estas etapas:
No console do Google Cloud , acesse a página IAM.
Selecionar o projeto Google Cloud .
Localize o usuário ou grupo na lista de permissões e clique em Editar principal. Como alternativa, clique em Conceder acesso para adicionar um novo usuário.
Na seção Atribuir papéis, atribua cada um dos seguintes papéis:
- Usuário do Gemini para Google Cloud (
roles/cloudaicompanion.user) - Função de usuário da API Business AI Code (
roles/businessaicode.user)
- Usuário do Gemini para Google Cloud (
Clique em Salvar.
gcloud
Para conceder acesso usando a Google Cloud CLI, execute os seguintes comandos:
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"
Substitua:
PROJECT_ID: o ID do seu projeto do Google Cloud .USER_EMAIL: o endereço de e-mail do usuário ou grupo.
REST
Para conceder acesso usando a API REST, atualize a política do IAM do projeto usando o método setIamPolicy:
Use o método
getIamPolicypara recuperar a política atual do IAM e oetagdela: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"Substitua
PROJECT_IDpelo ID do seu projeto doGoogle Cloud .Defina a política do IAM atualizada usando o método
setIamPolicycom os papéisroles/cloudaicompanion.usereroles/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"Substitua:
ETAG: o valor deetagda respostagetIamPolicy.EXISTING_ROLEeEXISTING_USER_EMAIL: o papel atual e as vinculações de principal retornadas pelo métodogetIamPolicyque você quer manter.PROJECT_ID: ID do seu projeto do Google Cloud.USER_EMAIL: o endereço de e-mail do usuário ou grupo.
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.