Conector Google Drive V2.0 - Amazon Kendra

Conector Google Drive V2.0

O Google Drive é um serviço de armazenamento de arquivos baseado em nuvem. Você pode usar o Amazon Kendra para indexar documentos e comentários armazenados nos drives compartilhados, Meus Drives e Compartilhado comigo na fonte de dados do Google Drive. Você pode indexar os documentos do Google Workspace e os documentos listados em Tipos de documentação. Você também pode usar filtros de inclusão e exclusão para indexar o conteúdo por nome, tipo e caminho do arquivo.

nota

O conector do Google Drive V1.0/a API Google DriveConfiguration foram descontinuados em 2023. Recomendamos migrar ou usar o conector V2.0/API TemplateConfiguration do Google Drive.

Para solucionar problemas do conector da fonte de dados do Google Drive do Amazon Kendra, consulte Solucionar problemas de origens de dados.

Recursos compatíveis

  • Mapeamentos de campos

  • Controle de acesso do usuário

  • Filtros de inclusão/exclusão

  • Sincronizações completas e incrementais de conteúdo

  • Nuvem privada virtual (VPC)

Pré-requisitos

Antes que você possa usar o Amazon Kendra para indexar a fonte de dados do Google Drive, faça essas alterações no Google Drive nas contas da AWS.

No Google Drive, verifique se você:

  • Recebeu acesso para uma função de superadministrador ou é um usuário com privilégios administrativos. Você não precisa de uma função de superadministrador para você se tiver recebido acesso de uma função de superadministrador.

  • Credenciais de conexão da conta de serviço do Google Drive configuradas contendo o e-mail da conta de administrador, e-mail do cliente (e-mail da conta de serviço) e chave privada. Consulte a documentação do Google Cloud sobre como criar e excluir chaves de contas de serviço.

    nota

    É recomendável atualizar ou alternar regularmente suas credenciais e senhas. Forneça somente o nível de acesso necessário para sua própria segurança. Não recomendamos que você reutilize credenciais e senhas nas fontes de dados e nas versões 1.0 e 2.0 do conector (quando for aplicável).

  • Criou uma conta de serviço do Google Cloud (uma conta com autoridade delegada para assumir a identidade do usuário) com a Ativação da delegação em todo o domínio do G Suite para a autenticação de servidor a servidor e, em seguida, gerou uma chave privada JSON usando a conta.

    nota

    A chave privada deve ser gerada após a criação da conta de serviço.

  • A API Admin SDK e a API do Google Drive foram adicionadas à sua conta de usuário.

  • Opcional: configurou as credenciais de conexão do Google Drive OAuth 2.0 com o ID do cliente, a senha do cliente e o token de atualização como credenciais de conexão para um usuário específico. Você precisa disso para rastrear dados de contas individuais. Consulte a documentação do Google sobre como usar o OAuth 2.0 para acessar as APIs.

  • Adicionou (ou solicitou que um usuário com uma função de superadministrador adicionasse) os seguintes escopos do OAuth à conta de serviço usando uma função de superadministrador: Esses escopos de API são necessários para rastrear todos os documentos e as informações de controle de acesso (ACL) de todos os usuários em um domínio do Google Workspace:

    • https://www.googleapis.com/auth/drive.readonly: visualize e baixe todos os arquivos do Google Drive

    • https://www.googleapis.com/auth/drive.readonly: visualize e baixe todos os arquivos do Google Drive

    • https://www.googleapis.com/auth/admin.directory.group.readonly: escopo para recuperar somente informações sobre grupos, alias de grupos e membros. Isso é necessário para o Identity Crawler do Amazon Kendra.

    • https://www.googleapis.com/auth/admin.directory.user.readonly: escopo para recuperar somente usuários ou aliases de usuários. Isso é necessário para listar usuários no Identity Crawler do Amazon Kendra e para definir ACLs.

    • https://www.googleapis.com/auth/cloud-platform: escopo para gerar token de acesso para buscar conteúdo de arquivos grandes do Google Drive.

    • https://www.googleapis.com/auth/forms.body.readonly: escopo para buscar dados do Google Forms.

    Para oferecer suporte à API de formulários, adicione o seguinte escopo adicional:

    • https://www.googleapis.com/auth/forms.body.readonly

  • Verificou se cada documento é exclusivo no Google Drive e em outras fontes de dados que você planeja usar para o mesmo índice. Cada fonte de dados que você deseja usar para um índice não deve conter o mesmo documento em todas as fontes de dados. Os IDs de documentos são globais para um índice e devem ser exclusivos por índice.

No Conta da AWS, verifique se você:

  • Criou um índice do Amazon Kendra e, se estiver usando a API, anotou o ID do índice.

  • Criou uma função do IAM para a fonte de dados e, se estiver usando a API, anotou o ARN da função do IAM.

    nota

    Se você alterar o tipo de autenticação e as credenciais, deverá atualizar a função do IAM para acessar o ID secreto correto do AWS Secrets Manager.

  • Armazenou suas credenciais de autenticação do Google Drive em uma senha do AWS Secrets Manager e, se estiver usando a API, anotou o ARN da senha.

    nota

    Recomendamos que você atualize ou alterne regularmente as credenciais e as senhas. Forneça somente o nível de acesso necessário para sua própria segurança. Não recomendamos que você reutilize credenciais e senhas nas fontes de dados e nas versões 1.0 e 2.0 do conector (quando for aplicável).

Se você não tiver uma função ou senha existente do IAM, poderá usar o console para criar uma nova função do IAM e um nova senha do Secrets Manager ao conectar a fonte de dados do Google Drive ao Amazon Kendra. Se você estiver usando a API, deverá fornecer o ARN de uma função da IAM e a senha Secrets Manager existentes e um ID de índice.

Instruções de conexão

Para conectar Amazon Kendra à sua fonte de dados do Google Drive, você deve fornecer os detalhes necessários da fonte de dados do Google Drive para que Amazon Kendra possa acessar seus dados. Se você ainda não configurou o Google Drive para o Amazon Kendra, consulte Pré-requisitos.

Console

Para conectar Amazon Kendra ao Google Drive

  1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon Kendra.

  2. No painel de navegação esquerdo, escolha Índices e, em seguida, escolha o índice que deseja usar na lista de índices.

    nota

    Você pode escolher definir ou editar as configurações de Controle de acesso do usuário em Configurações do índice.

  3. Na página Introdução, escolha Adicionar fonte de dados.

  4. Na página Adicionar fonte de dados, escolha o Conector do Google Drive e Adicionar conector. Se estiver usando a versão 2 (se aplicável), escolha o Conector do Google Drive com a tag “V2.0”.

  5. Na página Especar detalhes da fonte de dados, insira as seguintes informações:

    1. Em Nome e descrição, em Nome da fonte de dados: insira um nome para a fonte de dados. Você pode incluir hífens, mas não espaços.

    2. (Opcional) Descrição: insira uma descrição opcional para a fonte de dados.

    3. Em Idioma padrão: escolha um idioma para filtrar os documentos do índice. A menos que você especifique o contrário, o idioma padrão é o inglês. O idioma especificado nos metadados do documento substitui o idioma selecionado.

    4. Em Tags, em Adicionar nova tag: inclua tags opcionais para pesquisar e filtrar os recursos ou monitorar os custos da AWS.

    5. Escolha Próximo.

  6. Na página Definir seção e segurança, insira as informações a seguir:

    1. Autorização: ative ou desative as informações da lista de controle de acesso (ACL) para seus documentos, caso tenha uma ACL e queira usá-la para controle de acesso. A ACL especifica quais documentos usuários e grupos podem acessar. As informações da ACL são usadas para filtrar os resultados da pesquisa com base no acesso do usuário ou do grupo aos documentos. Para obter mais informações, consulte Filtrar o contexto do usuário.

    2. Para a Autenticação, escolha entre Conta de serviço do Google e Autenticação Oauth 2.0 com base no seu caso de uso.

    3. Segredo do AWS Secrets Manager: escolha um segredo existente ou crie um segredo do Secrets Manager para armazenar as credenciais de autenticação do Google Drive. Se optar por criar uma nova senha, uma janela secreta do AWS Secrets Manager será aberta.

      1. Se você escolheu a conta de serviço do Google, insira um nome para o segredo, o ID de e-mail do usuário administrador ou “Usuário da conta de serviço” na configuração da conta de serviço (e-mail de administrador), o ID de e-mail da conta do serviço (e-mail cliente) e a chave privada que você criou na conta de serviço.

        Salve e adicione o segredo

      2. Se você escolheu a Autenticação OAuth 2.0, insira um nome para o segredo, o ID do cliente, o segredo do cliente e o token de atualização que criou na conta do OAuth. O ID de e-mail do usuário (usuário cujos detalhes de conexão estão configurados) será definido como ACL. O conector não define outras informações de entidade principal do usuário/grupo como ACL devido às limitações da API.

        Salve e adicione o segredo.

    4. Nuvem privada virtual (VPC): você pode escolher usar uma VPC. Nesse caso, você deve adicionar sub-redes e grupos de segurança da VPC.

    5. (Somente para usuários de autenticação da conta de serviço do Google)

      Crawler de identidade: especifique se deseja ativar o crawler de identidade do Amazon Kendra. O crawler de identidade usa as informações da lista de controle de acesso (ACL) de seus documentos para filtrar os resultados da pesquisa com base no acesso do usuário ou do grupo aos documentos. Se tiver uma ACL para seus documentos e usá-la, você também poderá optar por ativar o crawler de identidade do Amazon Kendra para configurar a filtragem no contexto do usuário dos resultados da pesquisa. Caso contrário, se o crawler de identidade estiver desativado, todos os documentos poderão ser pesquisados publicamente. Se quiser usar o controle de acesso para seus documentos e o crawler de identidade estiver desativado, você poderá usar como alternativa a API PutPrincipalMapping para fazer upload de informações de acesso de usuários e grupos para filtragem no contexto do usuário.

    6. Função do IAM: escolha uma função do IAM existente ou crie uma nova função do IAM para acessar as credenciais do repositório e indexar o conteúdo.

      nota

      Funções do IAM usadas para índices não podem ser usados para fontes de dados. Se você não tiver certeza se uma função existente é usada para um índice ou perguntas frequentes, escolha Criar uma nova função para evitar erros.

    7. Escolha Próximo.

  7. Na página Configurar configurações de sincronização, insira as seguintes informações:

    1. Sincronizar conteúdo: defina quais opções ou o conteúdo do qual você deseja fazer crawling. Você pode optar por fazer crawling de Meu Drive (pastas pessoais), de Compartilhados comigo (pastas compartilhadas com você) ou de ambos. Você também pode incluir comentários do arquivo.

    2. Em Configuração adicional: opcional também é possível inserir as seguintes informações opcionais:

      1. Tamanho máximo do arquivo: defina o limite máximo de tamanho em MBs dos arquivos dos quais fazer crawling.

      2. E-mail de usuário: adicione os e-mails do usuário que você deseja incluir ou excluir.

      3. Compartilhados comigo adicione os nomes dos drives compartilhados que você deseja incluir ou excluir.

      4. Tipos de MIME: adicione os tipos de MIME que você deseja incluir ou excluir.

      5. Padrões de regex de entidade: adicione padrões de expressão regular para incluir ou excluir determinados anexos de todas as entidades compatíveis. Você pode adicionar até 100 padrões.

        É possível configurar os padrões de regex de incluir/excluir para Nome do arquivo, Tipo de arquivo e Caminho do arquivo.

        • Nome do arquivo: o nome do arquivo a incluir ou excluir. Por exemplo, para indexar um arquivo com nome teamroster.txt, forneça teamroster.

        • Tipo de arquivo: o tipo de arquivo a incluir ou excluir. Por exemplo, .pdf, .txt ou .docx.

        • Caminho do arquivo: o caminho do arquivo a incluir ou excluir. Por exemplo, para indexar arquivos somente dentro da pasta Products list de um drive, forneça /Products list.

    3. Modo de sincronização: escolha como você deseja atualizar o índice quando o conteúdo da fonte de dados for alterado. Ao sincronizar a fonte de dados com o Amazon Kendra pela primeira vez, é feito crawling de e indexação de todo o conteúdo por padrão. Você deve executar uma sincronização completa dos seus dados se o processo inicial falhar, mesmo que não escolha essa opção de modo de sincronização.

      • Sincronização total: indexa novamente todo o conteúdo, substituindo o já existente sempre que a fonte de dado é sincronizada com o índice.

      • Sincronização nova e modificada: indexe somente o conteúdo novo e modificado sempre que a fonte de dados é sincronizada com o índice. O Amazon Kendra pode usar o mecanismo da fonte de dados para rastrear alterações no conteúdo e indexar o conteúdo que foi alterado desde a última sincronização.

      • Sincronização nova, modificada e excluída: indexe somente o conteúdo novo, modificado e excluído sempre que a fonte de dados é sincronizada com o índice. O Amazon Kendra pode usar o mecanismo da fonte de dados para rastrear alterações no conteúdo e indexar o conteúdo que foi alterado desde a última sincronização.

      Importante

      A API do Google Drive não é compatível com a recuperação de comentários de um arquivo excluído permanentemente. Os comentários dos arquivos descartados podem ser recuperados. Quando um arquivo é descartado, o conector exclui os comentários do índice do Amazon Kendra.

    4. Em Programação de execução de sincronização, em Frequência: escolha com que frequência sincronizar o conteúdo da fonte de dados e atualizar o índice.

    5. Em Histórico de execução da sincronização, escolha armazenar relatórios gerados automaticamente no Amazon S3 ao sincronizar a fonte de dados. Isso é útil para rastrear problemas ao sincronizar a fonte de dados.

    6. Escolha Próximo.

  8. Na página Definir mapeamentos de campo, insira as seguintes informações:

    1. Em Arquivos: escolha entre os campos da fonte de dados padrão gerados pelo Amazon Kendra que você deseja mapear para o índice.

      nota

      A API do Google Drive não é compatível com a criação de campos personalizados. O mapeamento de campo personalizado não está disponível para o conector do Google Drive.

    2. Escolha Próximo.

  9. Na página Revisar e criar, verifique se as informações inseridas estão corretas e selecione Adicionar fonte de dados. Você também pode optar por editar as informações a partir desta página. Sua fonte de dados aparecerá na página Fontes de dados depois que a fonte de dados for adicionada com sucesso.

API

Para conectar Amazon Kendra ao Google Drive

Especifique um JSON do esquema da fonte de dados usando a API TemplateConfiguration. Você deve fornecer as seguintes informações:

  • Fonte de dados: especifique o tipo de fonte de dados como GOOGLEDRIVEV2 quando você usa o esquema JSON TemplateConfiguration. Também especifique a fonte de dados como TEMPLATE quando você chama a API CreateDataSource.

  • Tipo de autenticação: especifique se deseja usar a autenticação da conta de serviço ou a autenticação OAuth 2.0.

  • Modo de sincronização: especifique como o Amazon Kendra deve atualizar o índice quando o conteúdo da fonte de dados é alterado. Ao sincronizar a fonte de dados com o Amazon Kendra pela primeira vez, é feito crawling de e indexação de todo o conteúdo por padrão. Você deve executar uma sincronização completa dos seus dados se o processo inicial falhar, mesmo que não escolha essa opção de modo de sincronização. Escolha uma das seguintes opções:

    • FORCED_FULL_CRAWL para indexar novamente todo o conteúdo, substituindo o já existente sempre que a fonte de dado é sincronizada com o índice.

    • FULL_CRAWL para indexar somente o conteúdo novo, modificado e excluído sempre que a fonte de dados é sincronizada com o índice. O Amazon Kendra pode usar o mecanismo da fonte de dados para rastrear alterações no conteúdo e indexar o conteúdo que foi alterado desde a última sincronização.

    • CHANGE_LOG para indexar somente o conteúdo novo e modificado sempre que a fonte de dados é sincronizada com o índice. O Amazon Kendra pode usar o mecanismo da fonte de dados para rastrear alterações no conteúdo e indexar o conteúdo que foi alterado desde a última sincronização.

    Importante

    A API do Google Drive não é compatível com a recuperação de comentários de um arquivo excluído permanentemente. Os comentários dos arquivos descartados podem ser recuperados. Quando um arquivo é descartado, o conector exclui os comentários do índice do Amazon Kendra.

  • Nome do recurso da Amazon (ARN) de senha: forneça o nome do recurso da Amazon (ARN) de uma senha do Secrets Manager que contenha as credenciais de autenticação criadas na conta do Google Drive. Se você usar uma autenticação da conta de serviço do Google, a senha deverá conter uma estrutura JSON com as seguintes chaves:

    { "clientEmail": "user account email", "adminAccountEmail": "service account email", "privateKey": "private key" }

    Para usar a autenticação OAuth 2.0, a senha é armazenada em uma estrutura JSON com as seguintes chaves:

    { "clientID": "OAuth client ID", "clientSecret": "client secret", "refreshToken": "refresh token" }
  • Função do IAM: especifique o RoleArn ao chamar o CreateDataSource para fornecer uma função do IAM com permissões para acessar a senha do Secrets Manager e chamar as APIs públicas necessárias para o conector do Google Drive e o Amazon Kendra. Para obter mais informações, consulte Funções do IAM para fontes de dados do Google Drive.

Você também pode adicionar os seguintes recursos opcionais:

  • Nuvem privada virtual (VPC): especifique a VpcConfiguration quando ao chamar CreateDataSource. Para obter mais informações, consulte Configurar a Amazon Kendra para usar o Amazon VPC.

  • Meus drives, drives compartilhados, comentários: você pode especificar se deseja fazer crawling desses tipos de conteúdo.

  • Filtros de inclusão e exclusão: especifique se deseja incluir ou excluir determinadas contas de usuários, drives compartilhados e tipos de MIME.

    nota

    A maioria das fontes de dados usa padrões de expressão regular, que são padrões de inclusão ou exclusão chamados de filtros. Se você especificar um filtro de inclusão, somente o conteúdo que corresponda ao filtro de inclusão será indexado. Qualquer documento que não corresponda ao filtro de inclusão não é indexado. Se especificar um filtro de inclusão e exclusão, os documentos que corresponderem ao filtro de exclusão não serão indexados, mesmo que correspondam ao filtro de inclusão.

  • Lista de controle de acesso (ACL): especifique se deve ser feito crawling das informações da ACL para seus documentos, caso tenha uma ACL e queira usá-la para controle de acesso. A ACL especifica quais documentos usuários e grupos podem acessar. As informações da ACL são usadas para filtrar os resultados da pesquisa com base no acesso do usuário ou do grupo aos documentos. Para obter mais informações, consulte Filtrar o contexto do usuário.

  • Crawler de identidade: especifique se deseja ativar o crawler de identidade do Amazon Kendra. O crawler de identidade usa as informações da lista de controle de acesso (ACL) de seus documentos para filtrar os resultados da pesquisa com base no acesso do usuário ou do grupo aos documentos. Se tiver uma ACL para seus documentos e usá-la, você também poderá optar por ativar o crawler de identidade do Amazon Kendra para configurar a filtragem no contexto do usuário dos resultados da pesquisa. Caso contrário, se o crawler de identidade estiver desativado, todos os documentos poderão ser pesquisados publicamente. Se quiser usar o controle de acesso para seus documentos e o crawler de identidade estiver desativado, você poderá usar como alternativa a API PutPrincipalMapping para fazer upload de informações de acesso de usuários e grupos para filtragem no contexto do usuário.

  • Mapeamentos de campo: escolha mapear os campos de fonte de dados do Google Drive para os campos de índice do Amazon Kendra. Para obter mais informações, consulte Mapeamento de campos de fonte de dados.

    nota

    É obrigatório definir o campo de corpo do documento ou equivalente para que o Amazon Kendra possa pesquisar seus documentos. Você deve mapear o nome do campo de corpo do documento na fonte de dados para o nome do campo de índice _document_body. Todos os demais campos são opcionais.

Para ver uma lista de outras chaves JSON importantes a serem configuradas, consulte o Esquema do modelo do Google Drive.

Observações

  • O mapeamento de campo personalizado não está disponível para o conector do Google Drive, pois a interface do usuário do Google Drive não é compatível com a criação de campos personalizados.

  • A API do Google Drive não é compatível com a recuperação de comentários de um arquivo excluído permanentemente. Os comentários dos arquivos na lixeira podem ser recuperados. Quando um arquivo é descartado, o conector do Amazon Kendra exclui os comentários do índice do Amazon Kendra.

  • A API do Google Drive não retorna comentários presentes em um arquivo.docx.

  • Se a permissão para determinado Google document (documento, planilha, slide etc.) estiver definida como Acesso geral: qualquer pessoa com o link ou Compartilhado com o domínio específico da sua empresa, o documento não ficará visível para os usuários de pesquisa do Amazon Kendra até que o usuário que fez a consulta tenha acessado o documento.