Configurar controles de acesso para apps

Nesta página, explicamos como um administrador do Gemini Enterprise pode usar a API para gerenciar o controle de acesso detalhado de apps individuais do Gemini Enterprise.

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, permitindo que os administradores:

  • Restrinjam o acesso do usuário a apps específicos no mesmo Google Cloud projeto.
  • Alinhem as permissões às necessidades organizacionais e aos silos de dados para as 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.

Diagrama de exemplos de políticas do IAM no nível do app.

Antes de começar

Transição do acesso para envolvidos no projeto para o acesso no nível do app

Para restringir os usuários a apps específicos, remova o papel correspondente das permissões no nível do projeto e conceda-o no nível do app.

Por exemplo, para mover um usuário com a função de usuário do Gemini Enterprise (roles/discoveryengine.agentspaceUser) para envolvidos no projeto para o nível do app, siga estas etapas:

  1. No Google Cloud console, acesse a página IAM.
  2. Encontre o usuário e remova o papel roles/discoveryengine.agentspaceUser das permissões para envolvidos no projeto.
  3. Use o método setIamPolicy para conceder ao usuário o roles/discoveryengine.agentspaceUser papel para o app específico. 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

Receba a política do IAM atual do app usando o getIamPolicy método. Recomendamos buscar a política atual primeiro para evitar a substituição de 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:
    • us para a multirregião dos EUA
    • eu para a multirregião da UE
    • global para o local global
    Para mais informações, consulte Especificar uma multirregião para seu repositório de dados.
  • LOCATION: a multirregião do seu repositório de dados: global, us ou eu
  • APP_ID: o ID do app que você quer configurar.

Atualizar a política do IAM do app

Para conceder ou revogar o acesso do usuário ao app, atualize a política do IAM do app usando o setIamPolicy método.

A política do IAM usa o papel de 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 etag que você recebeu como resposta ao usar o método getIamPolicy.

  • USER_EMAIL, GROUP_EMAIL: um ou mais endereços de e-mail de usuários ou grupos. Além de user e group, principal e principalSet sã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 pool de Identidade 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:

    • us para a multirregião dos EUA
    • eu para a multirregião da UE
    • global para o local global
    Para mais informações, consulte Especificar uma multirregião para seu repositório de dados.

  • LOCATION: a multirregião do seu repositório de dados: global, us ou eu.

  • 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.