Configurar controles de acesso para fontes de dados personalizadas

Nesta página, descrevemos como aplicar o controle de acesso à fonte de dados (também conhecido como ACLs) para apps de pesquisa criados usando o Cloud Storage ou o BigQuery.

Visão geral

O controle de acesso às suas fontes de dados no Gemini Enterprise limita os dados que os usuários podem visualizar nos resultados do app de pesquisa. O Google usa seu provedor de identidade para identificar o usuário final que está fazendo uma pesquisa e determinar se ele tem acesso aos documentos retornados como resultados.

Por exemplo, digamos que os funcionários da sua empresa pesquisem documentos do BigQuery usando o app de pesquisa. No entanto, você precisa garantir que eles não possam visualizar conteúdo no app que não têm permissão para acessar. Se você configurou um pool de força de trabalho no Google Cloud provedor de identidade da sua organização, então também pode especificar esse pool no Gemini Enterprise. Agora, se um funcionário usar o app, ele vai receber resultados de pesquisa apenas para documentos que a conta dele já tem acesso no BigQuery.

Ativar o controle de acesso é um procedimento único. Para aplicar o controle de acesso a uma fonte de dados do BigQuery ou do Cloud Storage, siga estas etapas, dependendo do tipo de dados, como dados estruturados ou não estruturados.

Dados não estruturados do Cloud Storage

Ao configurar um repositório de dados não estruturados do Cloud Storage, também é necessário fazer upload dos metadados da ACL e definir o repositório de dados como controlado por acesso:

  1. Ao preparar os dados, inclua informações da ACL nos metadados usando o campo acl_info. Exemplo:

    {
       "id": "<your-id>",
       "jsonData": "<JSON string>",
       "content": {
         "mimeType": "<application/pdf or text/html>",
         "uri": "gs://<your-gcs-bucket>/directory/filename.pdf"
       },
       "acl_info": {
         "readers": [
           {
             "principals": [
               { "group_id": "group_1" },
               { "user_id": "user_1" }
             ]
           }
         ]
       }
     }
    

    Para mais informações sobre dados não estruturados com metadados, consulte a seção Dados não estruturados de Preparar dados para ingestão.

  2. Ao seguir as etapas para a criação do repositório de dados em Criar um repositório de dados próprios, é possível ativar o controle de acesso fazendo o seguinte no console ou usando a API:

    • Console: ao criar um repositório de dados, selecione Este repositório de dados contém informações de controle de acesso.
    • API: ao criar o repositório de dados, inclua o campo "aclEnabled": "true" no payload JSON.
  3. Ao seguir as etapas para importação de dados em Criar um repositório de dados próprios, faça o seguinte:

    • Faça upload dos metadados com informações da ACL do mesmo bucket que os dados não estruturados.
    • Se estiver usando a API, defina GcsSource.dataSchema como document.

Dados estruturados do Cloud Storage

Ao configurar um repositório de dados estruturados do Cloud Storage, também é necessário fazer upload dos metadados da ACL e definir o repositório de dados como controlado por acesso:

  1. Ao preparar os dados, inclua informações da ACL nos metadados usando o campo acl_info. Exemplo:

    {
       "id": "<your-id>",
       "jsonData": "<JSON string>",
       "acl_info": {
         "readers": [
           {
             "principals": [
               { "group_id": "group_1" },
               { "user_id": "user_1" }
             ]
           }
         ]
       }
     }
    
  2. Ao seguir as etapas para a criação do repositório de dados em Criar um repositório de dados próprios, é possível ativar o controle de acesso fazendo o seguinte no console ou usando a API:

    • Console: ao criar um repositório de dados, selecione Este repositório de dados contém informações de controle de acesso.
    • API: ao criar o repositório de dados, inclua o campo "aclEnabled": "true" no payload JSON.
  3. Ao seguir as etapas para importação de dados em Criar um repositório de dados próprios store, faça o seguinte:

    • Faça upload dos metadados com informações da ACL do mesmo bucket que os dados estruturados.
    • Se estiver usando a API, defina GcsSource.dataSchema como document.

Dados não estruturados do BigQuery

Ao configurar um repositório de dados não estruturados do BigQuery, é necessário definir o repositório de dados como controlado por acesso e fornecer metadados da ACL usando um esquema predefinido para o Gemini Enterprise:

  1. Ao preparar os dados, especifique o esquema a seguir. Não use um esquema personalizado.

    [
      {
        "name": "id",
        "mode": "REQUIRED",
        "type": "STRING",
        "fields": []
      },
      {
        "name": "jsonData",
        "mode": "NULLABLE",
        "type": "STRING",
        "fields": []
      },
      {
        "name": "content",
        "type": "RECORD",
        "mode": "NULLABLE",
        "fields": [
          {
            "name": "mimeType",
            "type": "STRING",
            "mode": "NULLABLE"
          },
          {
            "name": "uri",
            "type": "STRING",
            "mode": "NULLABLE"
          }
        ]
      },
      {
        "name": "acl_info",
        "type": "RECORD",
        "mode": "NULLABLE",
        "fields": [
          {
            "name": "readers",
            "type": "RECORD",
            "mode": "REPEATED",
            "fields": [
              {
                "name": "principals",
                "type": "RECORD",
                "mode": "REPEATED",
                "fields": [
                  {
                    "name": "user_id",
                    "type": "STRING",
                    "mode": "NULLABLE"
                  },
                  {
                    "name": "group_id",
                    "type": "STRING",
                    "mode": "NULLABLE"
                  }
                ]
              }
            ]
          }
        ]
      }
    ]
    
  2. Inclua os metadados da ACL como uma coluna na tabela do BigQuery.

  3. Ao seguir as etapas em Criar um repositório de dados próprios, ative o controle de acesso no console ou usando a API:

    • Console: ao criar um repositório de dados, selecione Este repositório de dados contém informações de controle de acesso.
    • API: ao criar o repositório de dados, inclua o campo "aclEnabled": "true" no payload JSON.
  4. Ao seguir as etapas para importação de dados em Criar um repositório de dados próprios, se estiver usando a API, defina BigQuerySource.dataSchema como document.

Dados estruturados do BigQuery

Ao configurar um repositório de dados estruturados do BigQuery, é necessário definir o repositório de dados como controlado por acesso e fornecer metadados da ACL usando um esquema predefinido para o Gemini Enterprise:

  1. Ao preparar os dados, especifique o esquema a seguir. Não use um esquema personalizado.

    [
      {
        "name": "id",
        "mode": "REQUIRED",
        "type": "STRING",
        "fields": []
      },
      {
        "name": "jsonData",
        "mode": "NULLABLE",
        "type": "STRING",
        "fields": []
      },
      {
        "name": "acl_info",
        "type": "RECORD",
        "mode": "NULLABLE",
        "fields": [
          {
            "name": "readers",
            "type": "RECORD",
            "mode": "REPEATED",
            "fields": [
              {
                "name": "principals",
                "type": "RECORD",
                "mode": "REPEATED",
                "fields": [
                  {
                    "name": "user_id",
                    "type": "STRING",
                    "mode": "NULLABLE"
                  },
                  {
                    "name": "group_id",
                    "type": "STRING",
                    "mode": "NULLABLE"
                  }
                ]
              }
            ]
          }
        ]
      }
    ]
    
  2. Inclua os metadados da ACL como uma coluna na tabela do BigQuery.

  3. Ao seguir as etapas em Criar um repositório de dados próprios, ative o controle de acesso no console ou usando a API:

    • Console: ao criar um repositório de dados, selecione Este repositório de dados contém informações de controle de acesso.
    • API: ao criar o repositório de dados, inclua o campo "aclEnabled": "true" no payload JSON.
  4. Ao seguir as etapas para importação de dados em Criar um repositório de dados próprios, faça o seguinte:

    • Se estiver usando o console, ao especificar o tipo de dados que você está fazendo upload, selecione JSONL para dados estruturados com metadados.
    • Se estiver usando a API, defina BigQuerySource.dataSchema como document.