Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Document-level controles de acceso
El conocimiento de la ACL no es una autorización
La base de conocimientos gestionada de Bedrock proporciona ACL-aware filtros, no un límite de seguridad. La base de conocimientos gestionada por Bedrock no autentica a los usuarios finales; su aplicación es responsable de autenticar a los usuarios y de transmitir el contexto de identidad verificado. Dado que Bedrock Managed Knowledge Base no puede verificar la autenticidad del contexto de usuario que usted proporciona, esta función filtra los resultados en función de la identidad que proporciona, pero no constituye una autorización verdadera. No debe confiar en esta función como único mecanismo de control de acceso sin una autenticación previa.
Las fuentes de datos de Amazon S3 admiten opcionalmente el control de acceso a nivel de documento. A diferencia de otros conectores, Amazon S3 no tiene un sistema de permisos nativo para rastrear, por lo que puede definir las ACL a través de los archivos de configuración que administra. Para obtener información general sobre el reconocimiento de las ACL en todos los conectores, consulte. Habilitación del conocimiento de las listas de control de acceso
Funcionamiento
En el caso de una fuente de datos de ACL-enabled Amazon S3, la base de conocimiento gestionada de Bedrock aplica las listas de control de acceso proporcionadas por el cliente durante el filtrado previo a la recuperación y devuelve solo los documentos a los que el usuario que realiza la consulta puede acceder. Real-time Amazon S3 no admite la verificación de ACL porque los metadatos de ACL proporcionados por el cliente son la fuente de la verdad.
Active el reconocimiento de las ACL
Para habilitar el reconocimiento de las ACL de una fuente de datos de Amazon S3, aclEnabled true configúrelo en connectorParameters y defina los permisos de acceso mediante uno de estos dos métodos:
-
Archivo de configuración de ACL global: un único archivo JSON centralizado que define los permisos de acceso a nivel de carpeta (prefijo). Ideal para organizaciones con estructuras de permisos estables. Los cambios en el archivo global requieren volver a indexar el prefijo afectado.
-
Document-level archivos de metadatos: cada documento tiene su propio archivo de metadatos que contiene información de control de acceso. Esto permite actualizar los índices más rápidamente cuando cambian los permisos, ya que solo es necesario volver a indexar los documentos afectados.
importante
En el ACL-enabled caso de las fuentes de datos de Amazon S3, no se ingieren los documentos sin una entrada de ACL asociada. Asegúrese de que cada documento tenga una ACL definida en el archivo ACL global o en su archivo de metadatos.
"connectorParameters": { "type": "S3", "version": "1", "aclEnabled": true, "connectionConfiguration": { "bucketName": "your-bucket-name", "bucketOwnerAccountId": "123456789012" }, "aclConfiguration": { "globalAccessControlListS3Uri": "s3://your-bucket-name/acl/global-acl.json" } }
Estructura de archivos ACL global
El archivo ACL global es una matriz JSON en la que cada entrada asigna un key prefijo a un conjunto de entradas de control de acceso. Cada uno keyPrefix es el URI absoluto de Amazon S3 de una carpeta (que se aplica a todos los documentos incluidos en ella) o de un documento individual.
[ { "keyPrefix": "s3://your-bucket-name/finance/", "aclEntries": [ { "Name": "user1@example.com", "Type": "USER", "Access": "ALLOW" } ] } ]
Cada aclEntries elemento contiene:
Name— La dirección de correo electrónico de un usuario.Type— Debe serloUSER.Access— O lo unoALLOWo lo otroDENY. Denegar el permiso de anulación.
Per-document archivos de metadatos
Como alternativa al archivo ACL global, puede definir las ACL por documento mediante archivos de metadatos. Para cada documento, cree un archivo con el nombre de la misma ruta de Amazon S3. Incluya una filename.metadata.jsonaccessControlList matriz con el mismo formato de entrada que el archivo global.
{ "metadataAttributes": {}, "accessControlList": [ { "Name": "user1@example.com", "Type": "USER", "Access": "ALLOW" }, { "Name": "user2@example.com", "Type": "USER", "Access": "DENY" } ] }
Per-document los metadatos tienen prioridad sobre el archivo ACL global. Si un documento tiene una entrada de prefijo global coincidente y un archivo de metadatos por documento, se utilizan los metadatos por documento.
nota
El archivo de configuración de ACL debe almacenarse en el mismo depósito de Amazon S3 que el contenido de la fuente de datos.
Verificación de la configuración
Como las ACL de Amazon S3 las proporciona el cliente, valídelas antes de realizar la consulta:
Confirme que
aclEnabledestátrueen la fuente de datos.connectorParametersConfirme que todos los documentos tengan una ACL, ya sea una entrada en el archivo ACL global o un
.metadata.jsonarchivo por documento. Los documentos sin una ACL no se ingieren.Valide el JSON de la ACL: cada entrada tiene
Name(correo electrónico del usuarioUSER),Access() y (ALLOWoDENY), y los archivos ACL están en el mismo depósito que su contenido.TypeConfirma que el correo electrónico de un usuario de prueba coincide exactamente con el
Namede unaALLOWentrada de un documento que esperas que recupere.
Resolución de problemas
nota
Las configuraciones incorrectas de las ACL no producen errores explícitos durante la recuperación. Se produce un error al cerrar la recuperación: los documentos afectados se omiten de forma silenciosa, por lo que la consulta arroja menos resultados o no arroja ningún resultado en lugar de un error. Utilice las comprobaciones de verificación anteriores para diagnosticar estos problemas.
| Síntoma | Causa probable | Fix |
|---|---|---|
| Retrieve devuelve 0 resultados para un usuario que debería tener acceso. | El correo electrónico del usuario no coincide con ninguna entrada de ACL (el correo electrónico no coincide). | Asegúrese de que la ACL Name coincida exactamente con el correo electrónico del usuario. |
| Un documento nunca se devuelve a nadie. | El documento no tiene una entrada de ACL, por lo que no se ingirió. | Agregue una ACL para el documento mediante el archivo ACL global o un archivo por documento y, a continuación, vuelva a .metadata.json sincronizarlo. |
| Una ACL por documento no está surtiendo efecto. | El nombre del .metadata.json archivo es incorrecto o se encuentra en una ruta incorrecta. |
Nómbrelo en la misma ruta de S3; los metadatos de cada documento anulan el archivo global. |
| Los cambios de ACL no se reflejan. | Los cambios en los archivos ACL globales requieren que se vuelva a indexar el prefijo afectado. | Vuelva a sincronizar el prefijo afectado. |