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.
Configurer l' App-Only authentification Microsoft Entra ID pour SharePoint
L' App-Only authentification Microsoft Entra ID (ENTRA_ID_APP_ONLY) est la méthode d'authentification recommandée pour une source de SharePoint données. Il utilise le flux d'informations d'identification du client OAuth 2.0 (application uniquement) : une application Microsoft Entra s'authentifie à l'aide d'un certificat, de sorte qu'aucune connexion utilisateur n'est requise au moment de l'analyse ou de la requête. Il s'agit de la seule méthode d'authentification qui prend en charge le contrôle d'accès au niveau du document (ACL). Pour une comparaison avec la OAUTH2_APP méthode alternative, voirMéthodes d’authentification.
Cette configuration couvre deux systèmes (Microsoft Entra ID et votre AWS compte) et le certificat est l'identifiant qui les lie. Le connecteur stocke le certificat (clé privée incluse) sous forme de fichier PKCS #12 (.p12) dans Amazon S3 et l'utilise pour signer des assertions d'authentification à Microsoft ; le certificat public correspondant est chargé lors de l'enregistrement de l'application Entra afin que Microsoft puisse valider ces assertions.
Accès administratif requis
Cette configuration nécessite un administrateur Microsoft Entra ID (administrateur global ou administrateur de rôles privilégiés) pour enregistrer l'application, configurer les autorisations et accorder le consentement de l'administrateur. Si vous utilisez l'étendue des Sites.Selected autorisations, vous avez également besoin d'un SharePoint administrateur pour accorder l'accès par site. Le tableau des étapes de configuration et des rôles ci-dessous indique l'accès requis pour chaque étape.
Étapes de configuration et rôles
Cette procédure implique à la fois un administrateur Microsoft Entra ID et un AWS administrateur. Selon la répartition des responsabilités au sein de votre organisation, une ou plusieurs personnes peuvent effectuer ces étapes. Utilisez le tableau suivant pour identifier l'accès requis par chaque étape.
| Step (Étape) | Ce que tu fais | Accès nécessaire |
|---|---|---|
| 1. Enregistrez l'application | Créez l'enregistrement de l'application Entra et enregistrez ses identifiants de client et de locataire. | Administrateur Microsoft Entra ID (administrateur global ou administrateur de rôles privilégiés) |
| 2. Ajouter des autorisations et accorder le consentement | Attribuez les autorisations d'application pour votre configuration et accordez le consentement de l'administrateur. | Administrateur Microsoft Entra ID |
| 3. Générez le certificat | Créez un certificat auto-signé et un bundle PKCS #12 (.p12) avec OpenSSL. |
Toute personne disposant d'un terminal local (OpenSSL requis) |
| 4. Téléchargez le certificat public sur Entra | Ajoutez le certificat public aux clés d'enregistrement de l'application. | Administrateur Microsoft Entra ID |
5. Accorder l'accès par site (Sites.Selecteduniquement) |
Accordez à l'application l'accès à chaque SharePoint site via l'API Microsoft Graph. | Administrateur Microsoft Entra ID |
| 6. Téléchargez le certificat sur Amazon S3 | Stockez le .p12 bundle dans un compartiment Amazon S3. |
AWS administrateur (Amazon S3) |
| 7. Créez le secret. | Conservez les informations d'identification dans un AWS Secrets Manager secret. | AWS administrateur (Secrets Manager) |
| 8. Accorder au rôle de service l'accès au certificat | Ajoutez des autorisations de lecture Amazon S3 à votre rôle de service de base de connaissances. | AWS administrateur (IAM) |
Choisissez votre configuration
Avant de commencer, prenez deux décisions. Ils déterminent les autorisations que vous attribuez à l'étape 2 et la manière dont vous accordez l'accès au site.
-
Document-level contrôle d'accès (ACL) — Décidez si la source de données filtre les résultats des requêtes en fonction des SharePoint autorisations de chaque utilisateur. L'exploration des ACL nécessite Microsoft Graph et des SharePoint autorisations supplémentaires. Vous ne pouvez pas modifier ce paramètre après avoir créé la source de données. Pour en savoir plus, consultez Document-level contrôles d'accès.
-
Étendue des autorisations — Décidez si l'application peut lire tous les SharePoint sites de votre client (tous les sites, l'option la plus simple) ou uniquement les sites que vous accordez explicitement (
Sites.Selectedoption du moindre privilège).Sites.SelectedVous avez ensuite obtenu une subvention supplémentaire par site à l'étape 5, et tous les sites que vous ajouterez ultérieurement auront besoin de leur propre subvention.
La combinaison de ces deux choix permet de sélectionner l'un des ensembles d'autorisations présentés dans la section suivante.
Référence des autorisations
Attribuez les autorisations d'application correspondant à votre configuration. Toutes les autorisations sont des autorisations d'application (non déléguées), et chacune nécessite le consentement de l'administrateur. Le connecteur s'authentifie auprès de deux ressources Microsoft : Microsoft Graph (pour énumérer les sites et, pour les ACL, pour résoudre les problèmes d'utilisateurs et de groupes) et l'SharePointAPI REST (pour lire le contenu du site et, pour les ACL, les autorisations au niveau des éléments).
Important
Lorsque vous ajoutez ces autorisations dans le portail Entra, choisissez l'onglet Autorisations de l'application, et non les autorisations déléguées. App-only l'authentification utilise les autorisations des applications.
Sélectionnez l'onglet correspondant à votre configuration pour voir le Microsoft Graph exact et SharePoint les autorisations à attribuer.
Note
Sites.FullControl.Allaccorde un large accès à tous les sites du locataire. Si votre organisation requiert le moins de privilèges, utilisez Sites.Selected et accordez un accès par site à l'étape 5.
Valeurs que vous collectez lors de la configuration
Vous créez ou collectez les valeurs suivantes au fur et à mesure que vous suivez les étapes. Vous les utilisez lorsque vous créez la source de données. Pour en savoir plus, consultez Connecter une source SharePoint de données.
| Value | Créé en | Utilisé pour |
|---|---|---|
| ID de l’application (client) | Étape 1 | Le secret (clientId). |
| ID du répertoire (locataire) | Étape 1 | La source de donnéestenantId. |
Certificat — PKCS #12 bundle (.p12) et son mot de passe |
Étape 3 | Le bundle (certificat et clé privée) est chargé sur Amazon S3 (étape 6) ; le mot de passe est stocké dans le secret (certificatePassword). |
Certificat — certificat public (.cer) |
Étape 3 | La moitié publique du même certificat, téléchargée lors de l'enregistrement de l'application Entra (étape 4). |
| Nom et clé du compartiment Amazon S3 | Étape 6 | La source de donnéescertificateS3Path. |
| ARN du secret | Étape 7 | La source de donnéessecretArn. |
Étape 1 : enregistrer l'application dans Microsoft Entra ID
-
Connectez-vous au centre d’administration Microsoft Entra
. -
Dans le menu de navigation de gauche, développez Entra ID et choisissez App registration.
-
Choisissez Nouvel enregistrement.
-
Dans Nom, entrez un nom descriptif, tel que
bedrock-sharepoint-connector. -
Pour les types de comptes pris en charge, sélectionnez Comptes dans ce répertoire organisationnel uniquement (locataire unique).
-
Laissez l'URI de redirection vide. Un URI de redirection n'est pas nécessaire car l'application utilise le flux d'informations d'identification du client, et non un flux de connexion interactif.
-
Choisissez S’inscrire.
-
Sur la page de présentation de l'application, enregistrez l'ID de l'application (client) et l'ID du répertoire (locataire). Tu auras besoin des deux plus tard.
Étape 2 : ajouter des autorisations d'API et accorder le consentement de l'administrateur
Ajoutez les autorisations pour votre configuration à partir deRéférence des autorisations.
-
Lors de l'enregistrement de votre application, choisissez Autorisations API, puis Ajouter une autorisation.
-
Choisissez Microsoft Graph, puis Autorisations de l'application. Recherchez et sélectionnez chaque autorisation Microsoft Graph pour votre configuration, puis choisissez Ajouter des autorisations.
-
Choisissez à nouveau Ajouter une autorisation. Choisissez SharePoint(sous Microsoft APIs), puis Autorisations de l'application. Sélectionnez chaque SharePoint autorisation pour votre configuration, puis choisissez Ajouter des autorisations.
-
Sur la page des autorisations d'API, choisissez Accorder le consentement de l'administrateur pour [votre organisation] et confirmez. Sans le consentement de l'administrateur, l'application ne peut pas accéder aux SharePoint données.
Note
L' App-Only authentification Microsoft Entra ID utilise le certificat (issu de l'étape 3) comme identifiant, de sorte que vous ne créez pas de secret client pour cette application.
Étape 3 : générer le certificat d'authentification
Générez un certificat auto-signé et empaquetez-le sous forme de bundle PKCS #12 (.p12). Le bundle contient à la fois le certificat et sa clé privée, protégés par un mot de passe. Vous chargez le certificat public vers Entra (étape 4) et le .p12 bundle vers Amazon S3 (étape 6). Sélectionnez l'onglet correspondant à votre système d'exploitation pour voir les commandes.
Note
Amazon Bedrock lit la clé privée du .p12 bundle pour signer les assertions d'authentification. Le bundle doit donc être protégé par mot de passe et stocké en toute sécurité. Choisissez un mot de passe fort et aléatoire. Vous le stockez dans le secret comme certificatePassword à l'étape 7.
Important
Stockez le .p12 bundle dans Amazon S3 (et non dans le .cer fichier .pem or). Le bundle contient la clé privée qu'Amazon Bedrock utilise pour s'authentifier. Document-level le contrôle d'accès (ACL) nécessite le .p12 format. Pour l'analyse du contenu uniquement sans ACL, vous pouvez stocker un PEM-encoded certificat à la place. Comme il .p12 fonctionne pour toutes les configurations, ce guide l'utilise dans l'ensemble. .p12
Note
Le certificat est valide pendant un an par défaut. Un certificat expiré entraîne l'échec de toutes les synchronisations. Faites donc pivoter le certificat avant son expiration. Pour modifier la période de validité, ajustez l'-daysoption (OpenSSL) ou -NotAfter l'argument (). PowerShell Pour les étapes de rotation, voirFaites pivoter le certificat.
Étape 4 : Téléchargez le certificat public sur Entra
-
Lors de l'enregistrement de votre application, choisissez Certificats et secrets, puis l'onglet Certificats.
-
Choisissez Télécharger le certificat et sélectionnez le
certificate.cerfichier que vous avez généré à l'étape 3 (le certificat public uniquement ; ne téléchargez jamais le.p12bundle ou la clé privée dans Entra). -
Choisissez Ajouter.
Étape 5 (Sites.Selected uniquement) : Accorder l'accès par site
Note
Cette étape s'applique uniquement si vous avez choisi l'étendue des Sites.Selected autorisations à l'étape 2. Si vous avez utilisé le champ d'application pour tous les sites (Sites.Read.AllouSites.FullControl.All), passez àÉtape 6 : télécharger le certificat sur Amazon S3.
AvecSites.Selected, vous accordez à votre application de connecteur l'accès à chaque SharePoint site individuellement via l'API Microsoft Graph. Cela nécessite une demande temporaire distincte qui contient Sites.FullControl.All et est utilisée uniquement pour exécuter les subventions. Amazon Bedrock ne voit jamais cette application temporaire ni ses informations d'identification.
-
Créez une demande de subvention temporaire. Dans le centre d'administration Entra, enregistrez une deuxième application (par exemple,
bedrock-sharepoint-granter) en tant que client unique sans URI de redirection. Ajoutez l'autorisation d'Sites.FullControl.Allapplication Microsoft Graph, accordez le consentement de l'administrateur et créez un secret client. Enregistrez son identifiant client et sa valeur secrète. -
Obtenez un jeton d'accès pour la demande de subvention. Remplacez les espaces réservés par l'identifiant client et le code secret de l'application bénéficiaire, ainsi que par votre identifiant de locataire.
curl -s -X POST \ "https://login.microsoftonline.com/TENANT_ID/oauth2/v2.0/token" \ -H "Content-Type: application/x-www-form-urlencoded" \ -d "grant_type=client_credentials" \ -d "client_id=GRANTER_CLIENT_ID" \ -d "client_secret=GRANTER_CLIENT_SECRET" \ -d "scope=https://graph.microsoft.com/.default"La réponse contient un
access_token. Utilisez-le comme jeton porteur dans les commandes suivantes. -
Résolvez l'URL de chaque site en un identifiant de site. Utilisez le nom d'hôte du site et le chemin relatif au serveur.
curl -s \ "https://graph.microsoft.com/v1.0/sites/contoso.sharepoint.com:/sites/engineering" \ -H "Authorization: BearerACCESS_TOKEN"Le
idchamp de la réponse est l'ID du site. -
Accordez à l'application du connecteur l'accès au site.
readÀ utiliser pour l'analyse du contenu uniquement oufullcontrolpour l'analyse des ACL.CONNECTOR_CLIENT_IDRemplacez-le par l'ID de l'application (client) indiqué à l'étape 1.curl -s -X POST \ "https://graph.microsoft.com/v1.0/sites/SITE_ID/permissions" \ -H "Authorization: BearerACCESS_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "roles": ["fullcontrol"], "grantedToIdentities": [{ "application": { "id": "CONNECTOR_CLIENT_ID", "displayName": "bedrock-sharepoint-connector" } }] }' -
Répétez les commandes resolve-and-grant pour chaque site que vous incluez dans la source de données. Une fois que vous avez terminé, vous pouvez supprimer la demande de subvention temporaire ; les subventions par site restent en vigueur.
Important
Per-site les subventions ne sont pas rétroactives. Si vous ajoutez un site à la source de données ultérieurement, accordez à l'application du connecteur l'accès à ce site avant la prochaine synchronisation, sinon son contenu ne sera pas analysé.
Étape 6 : télécharger le certificat sur Amazon S3
Téléchargez le .p12 bundle de l'étape 3 vers un compartiment Amazon S3 situé dans la même AWS région que votre base de connaissances. Enregistrez le nom et la clé du compartiment : vous les utilisez comme source de donnéescertificateS3Path.
aws s3api put-object \ --bucketyour-certificate-bucket\ --keycerts/certificate.p12\ --body certificate.p12 \ --server-side-encryption AES256
Note
Nous vous recommandons d'activer le chiffrement côté serveur sur l'objet de certificat et de limiter le compartiment aux principaux qui en ont besoin. Le bundle contient la clé privée.
Étape 7 : Création du secret du Gestionnaire de Secrets
Conservez les informations d'identification dans un AWS Secrets Manager secret. Pour l' App-Only authentification Entra ID, incluez les paires clé-valeur suivantes :
clientId(obligatoire) : l'ID de l'application (client) indiqué à l'étape 1.certificatePassword(recommandé) : le mot de passe que vous avez défini sur le.p12pack à l'étape 3. Voir la note qui suit.
{ "clientId": "your-client-id", "certificatePassword": "your-certificate-password" }
Créez le secret avec AWS Command Line Interface :
aws secretsmanager create-secret \ --namebedrock-sharepoint-creds\ --secret-string file://secret.json
Enregistrez l'ARN secret de la réponse. Vous l'utilisez comme source de donnéessecretArn.
Note
Définissez le mot certificatePassword de passe que vous avez utilisé lors de la création du .p12 bundle à l'étape 3. Si vous omettez ce champ, Amazon Bedrock ouvre le bundle en utilisant l'ID client de votre application comme mot de passe. Le bundle doit donc avoir été créé avec l'ID client comme mot de passe. Nous vous recommandons de toujours définir un mot de passe explicite à entropie élevée et de stocker la clé privée en toute sécurité.
Note
Utiliser plutôt un certificat PEM. Ce guide utilise un .p12 bundle qui fonctionne pour toutes les configurations. Si vous analysez uniquement le contenu (aucun contrôle d'accès au niveau du document), vous pouvez utiliser un certificat PEM à la place. Dans ce cas, téléchargez uniquement le certificat public sur Amazon S3 (pas un .p12 bundle) et stockez la clé privée dans le secret sous la forme privateKey (PKCS #8 non crypté codé en base64, sans ligne d'en-tête) à la place de : certificatePassword
{ "clientId": "your-client-id", "privateKey": "your-base64-pkcs8-private-key" }
Étape 8 : Accorder au rôle de service l'accès au certificat
Votre rôle de service de base de connaissances doit être capable de lire l'objet de certificat depuis Amazon S3. Ajoutez la déclaration suivante à la politique d'autorisation du rôle, en remplaçant le nom du compartiment et la clé par vos valeurs.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "S3ListCertificateBucket", "Effect": "Allow", "Action": ["s3:ListBucket"], "Resource": ["arn:aws:s3:::your-certificate-bucket"], "Condition": { "StringEquals": { "aws:ResourceAccount": ["123456789012"] } } }, { "Sid": "S3GetCertificate", "Effect": "Allow", "Action": ["s3:GetObject"], "Resource": [ "arn:aws:s3:::your-certificate-bucket/certs/certificate.p12", "arn:aws:s3:::your-certificate-bucket/certs/certificate.p12.metadata.json" ], "Condition": { "StringEquals": { "aws:ResourceAccount": ["123456789012"] } } } ] }
Note
La politique autorise également l'accès en lecture à un .metadata.json fichier facultatif à côté du certificat. Amazon Bedrock n'a pas besoin de ce fichier ; l'inclusion de cette autorisation permet d'éviter les erreurs d'accès en cas de présence d'une telle autorisation.
Si l'objet du certificat est chiffré avec une clé AWS KMS
La commande de téléchargement Étape 6 : télécharger le certificat sur Amazon S3 utilise Amazon S3-managed encryption (AES256), qui ne nécessite aucune autorisation supplémentaire. Si vous chiffrez plutôt l'objet du certificat avec le chiffrement côté serveur Amazon S3 à l'aide d'une clé KMS gérée par le client (SSE-KMS), le rôle de service doit également disposer d'une kms:Decrypt autorisation sur cette clé, et la politique de la clé doit autoriser le rôle à l'utiliser. Les objets chiffrés AWS à l'aide de la aws/s3 clé gérée ne nécessitent pas cette autorisation supplémentaire.
{ "Sid": "KmsDecryptCertificate", "Effect": "Allow", "Action": ["kms:Decrypt"], "Resource": ["arn:aws:kms:us-west-2:123456789012:key/your-key-id"] }
L'accès en lecture est uniquement requiskms:Decrypt. Pour plus d'informations, consultez la section Utilisation du chiffrement côté serveur avec des clés AWS KMS () SSE-KMS.
Pour obtenir l'ensemble complet des autorisations relatives aux rôles de service de la base de connaissances, consultezAutorisations d’accès aux sources de données.
Étapes suivantes
Vous disposez désormais de tout ce dont vous avez besoin pour créer la source de données : l'ARN secret, votre identifiant de locataire et l'emplacement du certificat sur Amazon S3. Pour créer la source de SharePoint données à l'aide de l'API AWS Management Console ou de l'API, consultezConnecter une source SharePoint de données.
Important
Pour ENTRA_ID_APP_ONLY l'authentification, vous devez le fournir certificateS3Path lorsque vous créez la source de données, même lorsque les ACL sont désactivées. Une source de SharePoint données créée avec ce type d'authentification sans certificat échoue.