

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
<a name="kb-managed-ds-onedrive-acl"></a>

OneDrive les sources de données prennent éventuellement en charge le contrôle d'accès au niveau du document. Lorsque cette option est activée, Bedrock Managed Knowledge Base synchronise les listes de contrôle d'accès (ACL) à OneDrive chaque exploration 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, voir[Sensibilisation aux listes de contrôle d'accès](kb-managed-acl.md).

**La connaissance de l'ACL n'est pas une autorisation**  
La base de connaissances gérée Bedrock fournit un ACL-aware filtrage et non une limite de sécurité. La base de connaissances gérée 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 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
<a name="kb-managed-ds-onedrive-acl-how"></a>

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 par Bedrock applique les listes de contrôle d'accès synchronisées OneDrive lors du dernier crawl, renvoyant uniquement les documents candidats auxquels l'utilisateur (ou ses groupes) est autorisé à accéder.
+ **Real-time vérification** — La base de connaissances gérée par 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 actuel même lorsque les OneDrive autorisations changent entre les synchronisations.

## Qu'est-ce qui est crawlé
<a name="kb-managed-ds-onedrive-acl-crawl"></a>

Lorsque les ACL sont activées, Bedrock Managed Knowledge Base analyse les autorisations de partage au niveau des fichiers et les attributions de groupes de sécurité à partir de. OneDrive Les appartenances à des groupes imbriqués (transitifs) sont également résolues.

Au moment de la requête, vous transmettez l'adresse e-mail de l'utilisateur (et non celle d'un groupe). La base de connaissances gérée Bedrock résout les appartenances aux groupes de cet utilisateur à partir des données qu'il a analysées et les applique lors du filtrage des résultats. Pour plus d'informations sur le modèle d'identité, consultez[Sensibilisation aux listes de contrôle d'accès](kb-managed-acl.md).

## Conditions préalables à la prise de conscience de l'ACL
<a name="kb-managed-ds-onedrive-acl-prereqs"></a>

ACL-enabled OneDrive utilise deux API Microsoft différentes, chacune ayant son propre ensemble d'autorisations d'application 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 pour les entreprises est soutenue par). SharePoint Configurez les autorisations pour les deux API, avec le consentement de l'administrateur, avant d'activer la prise en compte des ACL.
+ `User.Read.All`et `GroupMember.Read.All` sur Microsoft Graph (pour l'exploration des identités).
+ `Sites.FullControl.All`activé SharePoint (pour la vérification de l'accès aux documents). `Sites.Read.All`n'est pas suffisant : l'accès en lecture seule ne peut pas effectuer la vérification des autorisations 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, c'est-à-dire différentes ressources avec différentes autorisations d'application. Les autorisations d'exploration des identités Microsoft Graph sont nécessaires mais pas suffisantes : la vérification en temps réel nécessite également l' SharePoint `Sites.FullControl.All`autorisation avec le consentement 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, voir[Configurer l'authentification Microsoft Entra App ID pour OneDrive](kb-managed-onedrive-entra-setup.md).

## Activer la sensibilisation à l'ACL
<a name="kb-managed-ds-onedrive-acl-enable"></a>

Pour activer la prise en compte des ACL pour une source de OneDrive données, définissez `aclEnabled` la `true` valeur sur in the `connectorParameters` et utilisez le type d'`ENTRA_APP_ID`authentification. Ce type d'authentification utilise des autorisations d'application qui permettent à Bedrock Managed Knowledge Base d'explorer 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 activées.

Lorsque les ACL sont activées pour OneDrive, vous devez inclure un `certificateS3Path` dans le `connectionConfiguration` pointeur vers un fichier de certificat PKCS \#12 (`.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'`certificateS3Path`est 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 valeur explicite à entropie élevée `certificatePassword` pour protéger la clé privée du certificat au repos.

**Note**  
Le type d'`OAUTH2`authentification 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 d'accès
<a name="kb-managed-ds-onedrive-acl-realtime"></a>

Bedrock Managed Knowledge Base vérifie chaque document candidat en temps réel, entièrement côté serveur, en utilisant les informations d'identification de l'application. Il n'y a pas de connexion de l'utilisateur final ni de consentement délégué. OneDrive For Business étant 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 créent un jeton Microsoft Graph qui est utilisé pour identifier l' OneDrive hôte de votre locataire (l'`-my.sharepoint.com`hôte).
+ Le certificat produit `certificateS3Path` le jeton SharePoint REST utilisé pour la vérification des autorisations elle-même. Le certificat est l'identifiant officiel pour la vérification en temps réel : un jeton secret client ne peut pas à lui seul effectuer la vérification.

**Important**  
L'application doit détenir l' SharePoint `Sites.FullControl.All`autorisation avec le consentement de l'administrateur ; cela ne `Sites.Read.All` suffit pas 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 à la fermeture, refusant chaque document pour chaque requête, même lorsque l'utilisateur y a accès et que le crawl et le filtrage préalable à la récupération ont réussi. Voir [Conditions préalables à la prise de conscience de l'ACL](#kb-managed-ds-onedrive-acl-prereqs).

**Note**  
Une fois que vous avez accordé ou accepté l'autorisation d' SharePoint application, attendez jusqu'à une heure pour que la modification prenne effet pour les utilisateurs sélectionnés avant la modification, car les informations d'identification 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
<a name="kb-managed-ds-onedrive-acl-verify"></a>

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)** :
   + Acquérez un jeton d'application doté d'une portée`https://graph.microsoft.com/.default`.
   + Décodez le jeton et vérifiez que la `roles` réclamation inclut les autorisations Microsoft Graph requises (`User.Read.All``GroupMember.Read.All`, et`Files.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.

1. **SharePoint REST (vérification en temps réel)** :
   + Acquérez un jeton à l'aide de l'assertion du client de certificat avec portée`https://{tenant}-my.sharepoint.com/.default`.
   + Vérifiez que la `roles` demande du jeton inclut l' SharePoint `Sites.FullControl.All`autorisation. 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 le succès (HTTP 200). Une réponse échouée ou non autorisée signifie que l' SharePoint autorisation ou le consentement de l'administrateur est absent, 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 la récupération de bout en bout pour un utilisateur déjà testé peut toujours être retardée par le TTL du cache décrit dans la section Vérification d'accès. Real-time ](#kb-managed-ds-onedrive-acl-realtime) Ne concluez pas que le correctif a échoué sur la base d'un utilisateur mis en cache.

## Résolution des problèmes
<a name="kb-managed-ds-onedrive-acl-troubleshooting"></a>

**Note**  
Les erreurs de configuration de l'ACL ne produisent pas d'erreurs explicites lors de la récupération. La récupération échoue à la fermeture : les documents concernés sont omis de manière silencieuse, de sorte qu'une requête renvoie moins de résultats, voire aucun, plutôt qu'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 ne renvoie aucun résultat, mais l'utilisateur y a accès OneDrive. | Les autorisations Microsoft Graph sont présentes, mais l'autorisation de l' SharePoint application ou le consentement de l'administrateur sont absents. 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. Ces informations d'identification de l'application étant mises en cache, attendez jusqu'à une heure pour que la modification prenne effet, ou testez avec 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 reflété immédiatement. | Per-user les résultats d'accès sont finalement cohérents entre la source de données et la base de connaissances gérée par Bedrock (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 et réessayez. | 
| Tous les utilisateurs sont refusés après avoir travaillé auparavant. | 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, et accordez à nouveau le consentement de l'administrateur. | 
| L'exploration ou la synchronisation échouent bien que la configuration semble correcte. | L'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. | certificatePasswordDéfini sur le mot de passe utilisé pour créer le .p12 fichier. | 