View a markdown version of this page

Document-level contrôles d'accès - Amazon Bedrock

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Document-level contrôles d'accès

OneDrive les sources de données prennent éventuellement en charge le contrôle d'accès au niveau du document. Lorsqu'elle est activée, la base de connaissances gérée de Bedrock synchronise les listes de contrôle d'accès (ACL) à partir de OneDrive chaque analyse et vérifie les autorisations de chaque utilisateur au moment de la requête, de sorte que les utilisateurs ne voient que les résultats des documents auxquels ils sont autorisés à accéder. OneDrive Pour une vue d'ensemble de la prise en compte des ACL sur tous les connecteurs, consultezActivation de la sensibilisation aux listes de contrôle d'accès.

La sensibilisation à l'ACL n'est pas une autorisation

La base de connaissances gérée de Bedrock fournit un ACL-aware filtrage, et non une limite de sécurité. La base de connaissances gérée de Bedrock n'authentifie pas les utilisateurs finaux : votre application est chargée d'authentifier les utilisateurs et de transmettre le contexte d'identité vérifié. La base de connaissances gérée de Bedrock ne peut pas vérifier l'authenticité du contexte utilisateur que vous fournissez. Par conséquent, cette fonctionnalité filtre les résultats en fonction de l'identité que vous fournissez mais ne constitue pas une véritable autorisation. Vous ne devez pas vous fier à cette fonctionnalité comme seul mécanisme de contrôle d'accès sans authentification en amont.

Comment ça marche

Lorsqu'un utilisateur interroge une base de connaissances qui utilise une source de ACL-enabled OneDrive données, Bedrock Managed Knowledge Base applique les contrôles d'accès en deux étapes :

  • Pre-retrieval filtrage  : la base de connaissances gérée de Bedrock applique les listes de contrôle d'accès qui ont été synchronisées OneDrive lors de la dernière analyse, en renvoyant uniquement les documents candidats auxquels l'utilisateur (ou ses groupes) sont autorisés à accéder.

  • Real-time vérification — La base de connaissances gérée de Bedrock vérifie les documents candidats en temps réel en vérifiant l'accès actuel de l'utilisateur demandeur. OneDrive Seuls les documents auxquels l'utilisateur est actuellement autorisé à accéder sont inclus dans la réponse.

Cette approche en deux étapes fournit un contrôle d'accès au niveau du document qui reste à jour même lorsque les OneDrive autorisations changent entre les synchronisations.

Qu'est-ce qui est rampé

Lorsque les ACL sont activées, la base de connaissances gérée de Bedrock analyse les autorisations de partage au niveau des fichiers et les attributions des groupes de sécurité depuis. OneDrive Les appartenances à des groupes imbriquées (transitives) sont également résolues.

Au moment de la requête, vous transmettez l'adresse e-mail de l'utilisateur (pas celle d'un groupe). La base de connaissances gérée de Bedrock résout les appartenances aux groupes de cet utilisateur à partir des données qu'elle a explorées et les applique lors du filtrage des résultats. Pour plus d'informations sur le modèle d'identité, consultezActivation de la sensibilisation aux listes de contrôle d'accès.

Prérequis pour la sensibilisation à l'ACL

ACL-enabled OneDrive utilise deux API Microsoft différentes, chacune ayant sa propre autorisation d'application définie sur votre application Microsoft Entra : le crawl utilise l'API Microsoft Graph et la vérification en temps réel utilise l' SharePoint API REST (OneDrive for Business est soutenue par). SharePoint Configurez les autorisations pour les deux API, avec le consentement de l'administrateur, avant d'activer la reconnaissance des ACL.

  • User.Read.Allet GroupMember.Read.All sur Microsoft Graph (pour l'exploration des identités).

  • Sites.FullControl.Allactivé SharePoint (pour la vérification de l'accès aux documents). Sites.Read.Alln'est pas suffisant : l'accès en lecture seule ne peut pas effectuer la vérification d'autorisation effective requise par la vérification en temps réel.

Important

Le crawl utilise l'API Microsoft Graph et la vérification en temps réel utilise l' SharePoint API REST : différentes ressources avec différentes autorisations d'application. Les autorisations d'exploration des identités de Microsoft Graph sont nécessaires mais pas suffisantes : la vérification en temps réel nécessite également l' SharePoint Sites.FullControl.Allautorisation de l'administrateur. L'octroi uniquement des autorisations Microsoft Graph est la cause la plus courante pour laquelle une source de ACL-enabled OneDrive données ne renvoie aucun résultat, même lorsque l'utilisateur y a accès.

Pour la procédure de configuration complète, y compris le certificat, consultezConfigurer l'authentification Microsoft Entra App ID pour OneDrive.

Activer la sensibilisation à l'ACL

Pour activer la prise en compte des ACL pour une source aclEnabled de OneDrive true données, définissez sur connectorParameters et utilisez le type d'ENTRA_APP_IDauthentification. Ce type d'authentification utilise des autorisations d'application qui permettent à Bedrock Managed Knowledge Base d'analyser les informations d'identité et de vérifier l'accès aux documents au moment de la requête.

Important

La configuration de l'ACL est permanente. Vous ne pouvez pas activer les ACL sur une source de données créée sans support ACL, et vous ne pouvez pas désactiver les ACL une fois qu'elles sont activées.

Lorsque les ACL sont activées pour OneDrive, vous devez inclure un certificateS3Path dans le fichier de certificat PKCS #12 () connectionConfiguration pointant vers un fichier de certificat PKCS (.p12) dans Amazon S3. Ce certificat est utilisé pour la vérification des ACL en temps réel par rapport à l' SharePoint API REST. Ce n'certificateS3Pathest pas obligatoire lorsque les ACL sont désactivées.

"connectorParameters": { "type": "ONEDRIVE", "version": "1", "aclEnabled": true, "connectionConfiguration": { "tenantId": "your-tenant-id", "authType": "ENTRA_APP_ID", "secretArn": "arn:aws:secretsmanager:region:account-id:secret:secret-name", "certificateS3Path": { "s3BucketName": "your-certificate-bucket", "s3KeyName": "certs/certificate.p12" } }, "dataEntityConfiguration": { "crawlPersonalDrives": true } }
Note

Le certificatePassword champ du secret est facultatif. Si vous l'omettez, Bedrock Managed Knowledge Base ouvre le fichier PKCS #12 (.p12) en utilisant l'ID client de votre application comme mot de passe. Le certificat doit donc avoir été créé avec ce mot de passe. Nous vous recommandons de toujours définir une entropie explicite à haute entropie certificatePassword pour protéger la clé privée du certificat au repos.

Note

Le type d'OAUTH2authentification n'est pas pris en charge pour les sources ACL-enabled OneDrive de données. Vous devez utiliser ENTRA_APP_ID.

Real-time vérification de l'accès

La base de connaissances gérée de Bedrock vérifie chaque document candidat en temps réel, entièrement côté serveur, à l'aide des informations d'identification de l'application : il n'y a pas de connexion de l'utilisateur final ni de consentement délégué. Comme OneDrive for Business est soutenu par SharePoint, Bedrock Managed Knowledge Base vérifie les autorisations effectives de l'utilisateur demandeur par rapport à l' SharePoint API REST de l'hôte de OneDrive votre locataire.

OneDrive la vérification en temps réel utilise un modèle à deux informations d'identification, et les deux informations d'identification sont requises :

  • L'ID client et le secret client contenus dans votre AWS Secrets Manager secret génèrent un jeton Microsoft Graph qui est utilisé pour résoudre l' OneDrive hôte de votre locataire (l'-my.sharepoint.comhôte).

  • Le certificat de certificateS3Path fabrique lui-même le jeton SharePoint REST utilisé pour le contrôle des autorisations. Le certificat est l'identifiant faisant autorité pour la vérification en temps réel : un jeton client-secret ne peut à lui seul effectuer la vérification.

Important

L'application doit détenir l' SharePoint Sites.FullControl.Allautorisation avec le consentement de l'administrateur ; ce n'Sites.Read.Allest pas suffisant car la vérification des autorisations effectives nécessite manage/full des droits de contrôle. Sans l'autorisation appropriée, la vérification en temps réel ne peut pas évaluer les autorisations effectives et échoue à fermer, refusant chaque document pour chaque requête, même lorsque l'utilisateur y a accès et que le filtrage d'exploration et de pré-extraction a réussi. Voir Conditions préalables à la prise de conscience de l'ACL.

Note

Après avoir accordé ou accepté l'autorisation de l' SharePoint application, attendez jusqu'à une heure pour que la modification soit prise en compte pour les utilisateurs vérifiés avant la modification, car les informations d'accès à l'application sont mises en cache. Pour confirmer la modification plus rapidement, testez auprès d'un autre utilisateur qui n'a pas encore été interrogé.

Vérification de votre configuration

Vous pouvez valider les autorisations de votre application Entra indépendamment d'une demande de récupération. Effectuez chacune des vérifications suivantes :

  1. Microsoft Graph (crawl)  :

    • Procurez-vous un jeton d'application avec scopehttps://graph.microsoft.com/.default.

    • Décodez le jeton et confirmez que la roles réclamation inclut les autorisations Microsoft Graph requises (User.Read.AllGroupMember.Read.All, etFiles.Read.All).

    • Appelez GET https://graph.microsoft.com/v1.0/users/{user}/drive/root/children et confirmez qu'il répertorie les éléments du lecteur de l'utilisateur.

  2. SharePoint REST (vérification en temps réel)  :

    • Acquérez un jeton à l'aide de l'assertion du client de certificat avec scopehttps://{tenant}-my.sharepoint.com/.default.

    • Vérifiez que la roles réclamation du jeton inclut l' SharePoint Sites.FullControl.Allautorisation. Une roles: null valeur signifie que l'autorisation ou le consentement de l'administrateur est absent.

    • Appelez GET https://{tenant}-my.sharepoint.com/_api/web et confirmez la réussite (HTTP 200). Une réponse échouée ou non autorisée signifie que l' SharePoint autorisation ou le consentement de l'administrateur est manquant, ce qui entraîne le refus de tous les documents.

Note

Une fois que vous avez défini l'autorisation, l' SharePoint appel aboutit immédiatement au niveau du jeton, mais une récupération de bout en bout pour un utilisateur déjà testé peut toujours être retardée par rapport au TTL du cache décrit dans la section Vérification de l'accès. Real-time Ne concluez pas que le correctif a échoué sur la base d'un utilisateur mis en cache.

Résolution des problèmes

Note

Les erreurs de configuration des ACL ne produisent pas d'erreurs explicites lors de la récupération. La récupération échoue : les documents concernés sont omis en silence, de sorte qu'une requête renvoie moins de résultats, voire aucun résultat, au lieu d'une erreur. Utilisez les contrôles de vérification ci-dessus pour diagnostiquer ces problèmes.

ACL-enabled OneDrive symptômes, causes et solutions
Symptôme Cause probable Corriger
Retrieve renvoie 0 résultat, mais l'utilisateur a accès à OneDrive. Les autorisations Microsoft Graph sont présentes, mais l'autorisation de l' SharePoint application ou le consentement de l'administrateur est absent. L'appel SharePoint REST est donc rejeté et tous les documents sont refusés. Accordez l' SharePoint Sites.FullControl.Allautorisation avec le consentement de l'administrateur. Étant donné que ces informations d'identification de l'application sont mises en cache, attendez jusqu'à une heure pour que la modification soit prise en compte, ou testez-la auprès d'un utilisateur qui n'a pas encore été interrogé pour confirmer plus tôt.
L'accès d'un utilisateur a été modifié OneDrive, mais le nouveau résultat n'est pas immédiatement reflété. Per-user les résultats d'accès finissent par être cohérents entre la source de données et la base de connaissances Bedrock Managed (généralement en deux minutes environ), de sorte qu'un changement d'accès récent peut ne pas être reflété immédiatement. Une fois que la source de données a reflété la modification, attendez environ deux minutes, puis réessayez.
Tous les utilisateurs sont refusés après avoir travaillé précédemment. Le certificat a expiré ou le consentement de l'administrateur a été révoqué. Renouvelez le certificat lors de l'enregistrement de l'application Entra et dans Amazon S3, puis accordez à nouveau le consentement de l'administrateur.
L'exploration ou la synchronisation échouent bien que la configuration semble correcte. Une autorisation requise pour l'application Microsoft Graph est manquante. Grant Files.Read.AllSites.Read.All,User.Read.All, etGroupMember.Read.All.
Erreurs liées au mot de passe du certificat ou à la création de jetons. Le .p12 mot de passe ne correspond pascertificatePassword. Définissez certificatePassword le mot de passe utilisé pour créer le .p12 fichier.