

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Configurar a autenticação da conta de serviço para o Google Drive
<a name="kb-managed-googledrive-service-account-setup"></a>

A autenticação da conta de serviço (`SERVICE_ACCOUNT`) é o método recomendado para uma fonte de dados do Google Drive. Uma conta de serviço do Google Cloud é autenticada com uma chave privada e, em seguida, se faz passar por um usuário administrador do Google Workspace para rastrear o conteúdo do Drive para qualquer usuário em seu domínio. Esse é o único método que oferece suporte ao controle de acesso (ACLs) em nível de documento.

**Acesso administrativo necessário**  
Essa configuração exige que um administrador do Google Workspace ative as APIs, crie a conta de serviço, configure a delegação em todo o domínio e crie um usuário administrador delegado. O AWS lado requer acesso de administrador AWS Secrets Manager ao IAM.

## Etapa 1: criar um projeto do Google Cloud
<a name="kb-managed-googledrive-sa-step1"></a>

1. Abra o [console do Google Cloud](https://console.cloud.google.com/).

1. No seletor de projetos na parte superior da página, escolha **Novo projeto**.

1. Insira o nome do projeto e escolha **Criar**.

1. Depois que o projeto for criado, mude para ele a partir do seletor de projetos.

## Etapa 2: habilitar as APIs necessárias
<a name="kb-managed-googledrive-sa-step2"></a>

1. No menu de navegação do console do Google Cloud, escolha **APIs e serviços e**, em seguida, **Biblioteca**.

1. Pesquise e ative cada uma das seguintes APIs:
   + **API do Google Drive**
   + **API de atividades do Google Drive**
   + **API do SDK administrativo**

## Etapa 3: criar a conta de serviço
<a name="kb-managed-googledrive-sa-step3"></a>

1. No menu de navegação, escolha **APIs e serviços e**, em seguida, **Credenciais**.

1. Escolha **Criar credenciais e, em** seguida, **Conta de serviço**.

1. Insira um nome (por exemplo,`bedrock-google-drive-connector`) e uma descrição opcional e escolha **Concluído**.

1. Na página **Credenciais**, escolha a conta de serviço que você acabou de criar.

1. Na guia **Detalhes**, copie a **ID exclusiva**. Você usa isso na Etapa 5 para conceder delegação em todo o domínio.

## Etapa 4: gerar uma chave privada
<a name="kb-managed-googledrive-sa-step4"></a>

1. Na página de detalhes da conta de serviço, escolha a guia **Chaves**.

1. Escolha **Adicionar chave** e, em seguida, **Criar nova chave**.

1. Selecione **JSON** e escolha **Criar**. Seu navegador baixa um arquivo JSON contendo a conta de serviço `client_email` e. `private_key` Armazene o arquivo com segurança.

**nota**  
Se você receber um erro informando que a criação da chave da conta de serviço está desativada por uma política da organização, você deve substituir a `iam.disableServiceAccountKeyCreation` restrição do seu projeto. Para obter detalhes, consulte [Restringir o uso da conta de serviço](https://cloud.google.com/resource-manager/docs/organization-policy/restricting-service-accounts) na documentação do Google Cloud.

## Etapa 5: Configurar a delegação em todo o domínio
<a name="kb-managed-googledrive-sa-step5"></a>

Domain-wide A delegação permite que a conta de serviço atue em nome dos usuários no seu Google Workspace.

1. Faça login no [Google Workspace Admin Console como administrador](https://admin.google.com/) do Google Workspace.

1. No painel de navegação, escolha **Segurança**, Controle de **acesso e dados, controles** **de API**.

1. Escolha **Gerenciar delegação em todo o domínio** e, em seguida, **Adicionar novo**.

1. Em **ID do cliente**, insira a ID exclusiva da conta de serviço na Etapa 3.

1. Para **escopos do OAuth**, insira os seguintes valores separados por vírgula:

   ```
   https://www.googleapis.com/auth/drive.readonly,
   https://www.googleapis.com/auth/drive.metadata.readonly,
   https://www.googleapis.com/auth/admin.directory.user.readonly,
   https://www.googleapis.com/auth/admin.directory.group.readonly,
   https://www.googleapis.com/auth/cloud-platform,
   https://www.googleapis.com/auth/forms.body.readonly
   ```

1. Escolha **Authorize**.

## Etapa 6: criar um usuário administrador delegado
<a name="kb-managed-googledrive-sa-step6"></a>

A conta de serviço se faz passar por um usuário administrador do Google Workspace ao rastrear conteúdo. Recomendamos criar um usuário administrador dedicado para essa finalidade com as funções mínimas necessárias.

1. No Google Workspace Admin Console, escolha **Diretório** e, em seguida, **Usuários**.

1. Escolha **Adicionar novo usuário**, insira um nome, sobrenome e endereço de e-mail principal e escolha **Adicionar novo usuário**.

1. Na lista de usuários, abra o usuário que você criou.

1. Expanda a seção **Funções e privilégios de administrador** e atribua as seguintes funções:
   + **Leitor de grupos**
   + **Administrador de gerenciamento de usuários**
   + **Administrador de armazenamento**

1. Escolha **Salvar**. Registre o endereço de e-mail desse usuário; você o armazena no segredo como`adminAccountEmail`.

## Etapa 7: Criar o segredo do Secrets Manager
<a name="kb-managed-googledrive-sa-step7"></a>

Armazene as credenciais em um AWS Secrets Manager segredo com os seguintes pares de valores-chave. Copie `clientEmail` e `privateKey` do arquivo de chave JSON que você baixou na Etapa 4 (use os `private_key` valores `client_email` e).

```
{
    "adminAccountEmail": "{{admin@your-domain.com}}",
    "clientEmail": "{{your-service-account@your-project.iam.gserviceaccount.com}}",
    "privateKey": "{{your-private-key-from-the-json-key-file}}"
}
```

Crie o segredo com o AWS Command Line Interface:

```
aws secretsmanager create-secret \
  --name {{bedrock-google-drive-sa-creds}} \
  --secret-string file://secret.json
```

Registre o ARN secreto da resposta. Você o usa como fonte de dados`secretArn`.

**nota**  
O `privateKey` valor contém sequências de `\n` escape literais do arquivo de chave JSON. Mantenha-os como estão ao copiar o valor para o segredo.

## Próximas etapas
<a name="kb-managed-googledrive-sa-next"></a>

Depois de armazenar o segredo, crie a fonte de dados com `authType` definido como`SERVICE_ACCOUNT`. Consulte [Conectar uma fonte de dados do Google Drive](kb-managed-ds-googledrive-connect.md). Para filtrar os resultados da consulta por permissões do usuário, consulte[Document-level controles de acesso](kb-managed-ds-googledrive-acl.md).