View a markdown version of this page

Document-level controles de acesso - Amazon Bedrock

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

Document-level controles de acesso

Conscientização de ACL não é autorização

A Base de Conhecimento Gerenciada Bedrock fornece ACL-aware filtragem, não um limite de segurança. A Base de Conhecimento Gerenciada da Bedrock não autentica usuários finais — seu aplicativo é responsável por autenticar usuários e transmitir o contexto de identidade verificado. Como a Base de Conhecimento Gerenciada da Bedrock não pode verificar a autenticidade do contexto de usuário que você fornece, esse recurso filtra os resultados com base na identidade que você fornece, mas não constitui uma autorização verdadeira. Você não deve confiar nesse recurso como um único mecanismo de controle de acesso sem a autenticação upstream.

As fontes de dados do Amazon S3 oferecem suporte opcional ao controle de acesso em nível de documento. Ao contrário de outros conectores, o Amazon S3 não tem um sistema de permissão nativo para rastrear, então você define ACLs por meio de arquivos de configuração que você gerencia. Para obter uma visão geral do reconhecimento de ACL em todos os conectores, consulte. Ativação de conscientização de listas de controle de acesso

Como funciona

Para uma fonte de dados do ACL-enabled Amazon S3, a Base de Conhecimento Gerenciada da Bedrock aplica as listas de controle de acesso fornecidas pelo cliente durante a filtragem de pré-recuperação, retornando somente documentos que o usuário consultor tem permissão para acessar. Real-time A verificação da ACL não é compatível com o Amazon S3 porque os metadados da ACL fornecidos pelo cliente são a fonte da verdade.

Habilite o reconhecimento da ACL

Para habilitar o reconhecimento de ACL para uma fonte de dados do Amazon S3, aclEnabled true defina como e connectorParameters defina as permissões de acesso usando um dos dois métodos:

  • Arquivo de configuração global da ACL — Um único arquivo JSON centralizado que define as permissões de acesso no nível da pasta (prefixo). Ideal para organizações com estruturas de permissão estáveis. As alterações no arquivo global exigem a reindexação do prefixo afetado.

  • Document-level arquivos de metadados — Cada documento tem seu próprio arquivo de metadados contendo informações de controle de acesso. Isso permite atualizações mais rápidas do índice quando as permissões são alteradas, pois somente os documentos afetados precisam ser reindexados.

Importante

Para fontes de dados do ACL-enabled Amazon S3, documentos sem uma entrada de ACL associada não são ingeridos. Certifique-se de que cada documento tenha uma ACL definida por meio do arquivo ACL global ou em seu arquivo de metadados.

"connectorParameters": { "type": "S3", "version": "1", "aclEnabled": true, "connectionConfiguration": { "bucketName": "your-bucket-name", "bucketOwnerAccountId": "123456789012" }, "aclConfiguration": { "globalAccessControlListS3Uri": "s3://your-bucket-name/acl/global-acl.json" } }

Estrutura global de arquivos ACL

O arquivo ACL global é uma matriz JSON em que cada entrada mapeia um prefixo de chave para um conjunto de entradas de controle de acesso. Cada um keyPrefix é o URI absoluto do Amazon S3 de uma pasta (aplicável a todos os documentos abaixo dela) ou de um documento individual.

[ { "keyPrefix": "s3://your-bucket-name/finance/", "aclEntries": [ { "Name": "user1@example.com", "Type": "USER", "Access": "ALLOW" } ] } ]

Cada aclEntries elemento contém:

  • Name— O endereço de e-mail de um usuário.

  • Type— Deve serUSER.

  • AccessALLOW OuDENY. Negue a permissão de substituições.

Per-document arquivos de metadados

Como alternativa ao arquivo ACL global, você pode definir ACLs por documento usando arquivos de metadados. Para cada documento, crie um arquivo nomeado filename.metadata.json no mesmo caminho do Amazon S3. Inclua uma accessControlList matriz com o mesmo formato de entrada do arquivo global.

{ "metadataAttributes": {}, "accessControlList": [ { "Name": "user1@example.com", "Type": "USER", "Access": "ALLOW" }, { "Name": "user2@example.com", "Type": "USER", "Access": "DENY" } ] }

Per-document os metadados têm precedência sobre o arquivo ACL global. Se um documento tiver uma entrada de prefixo global correspondente e um arquivo de metadados por documento, os metadados por documento serão usados.

nota

O arquivo de configuração da ACL deve ser armazenado no mesmo bucket do Amazon S3 do conteúdo da fonte de dados.

Verificar sua configuração.

Como as ACLs do Amazon S3 são fornecidas pelo cliente, valide-as antes de consultar:

  1. Confirme aclEnabled se está true na fonte de dadosconnectorParameters.

  2. Confirme se cada documento tem uma ACL — seja uma entrada no arquivo ACL global ou um arquivo por .metadata.json documento. Documentos sem uma ACL não são ingeridos.

  3. Valide o ACL JSON: cada entrada tem Name (e-mail do usuário), Type (USER) e Access (ALLOWouDENY), e os arquivos ACL estão no mesmo bucket do seu conteúdo.

  4. Confirme se o e-mail de um usuário de teste corresponde exatamente ao da Name ALLOW entrada de um documento que você espera que ele recupere.

Solução de problemas

nota

As configurações incorretas da ACL não produzem erros explícitos durante a recuperação. Falha na recuperação: os documentos afetados são omitidos silenciosamente, então uma consulta retorna menos ou zero resultados em vez de um erro. Use as verificações de verificação acima para diagnosticar esses problemas.

ACL-enabled Sintomas, causas e correções do Amazon S3
Sintomas Causa provável Correção
Recuperar retorna 0 resultados para um usuário que deveria ter acesso. O e-mail do usuário não corresponde a nenhuma entrada da ACL (incompatibilidade de e-mail). Certifique-se de que a ACL Name corresponda exatamente ao e-mail do usuário.
Um documento nunca é devolvido a ninguém. O documento não tem entrada de ACL e, portanto, não foi ingerido. Adicione uma ACL para o documento por meio do arquivo ACL global ou de um arquivo por documento e, em seguida, .metadata.json sincronize novamente.
Uma ACL por documento não está entrando em vigor. O .metadata.json arquivo tem um nome errado ou está no caminho errado. Nomeie-o filename.metadata.json no mesmo caminho do S3; os metadados por documento substituem o arquivo global.
As alterações da ACL não são refletidas. As alterações globais do arquivo ACL exigem a reindexação do prefixo afetado. Sincronize novamente o prefixo afetado.