

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'authentification OAuth 2.0 pour SharePoint
<a name="kb-managed-sharepoint-oauth2-setup"></a>

L'authentification OAuth 2.0 (`OAUTH2_APP`) s'authentifie à l'aide d'un identifiant client d'application et d'un secret, ainsi que du nom d'utilisateur et du mot de passe d'un compte utilisateur Microsoft 365, à l'aide du flux d'informations d'identification du mot de passe du propriétaire de la ressource (ROPC) OAuth 2.0. Le connecteur se connecte en tant que cet utilisateur pour lire le contenu.

**Important**  
Nous recommandons [Configurer l' App-Only authentification Microsoft Entra ID pour SharePoint](kb-managed-sharepoint-entra-setup.md) plutôt. L'authentification OAuth 2.0 présente deux limites :  
Comme il se connecte à l'aide d'un nom d'utilisateur et d'un mot de passe, il ne peut pas relever un défi d'authentification multifactorielle (MFA) ni satisfaire à une politique d'accès conditionnel qui l'exige. Si le compte applique le MFA ou l'accès conditionnel, l'authentification échoue et la source de données ne peut pas être synchronisée. De nombreuses organisations ont besoin de l'authentification multifacteur pour les types de comptes que vous utiliseriez ici.
Il ne prend pas en charge le contrôle d'accès au niveau du document (ACL). Pour filtrer les résultats des requêtes en fonction des autorisations utilisateur, utilisez l' App-Only authentification Microsoft Entra ID.

## Conditions préalables
<a name="kb-managed-sharepoint-oauth2-prereqs"></a>
+ Un compte utilisateur Microsoft 365 dont le connecteur utilise le nom d'utilisateur et le mot de passe pour se connecter. Le compte doit avoir accès aux SharePoint sites que vous souhaitez explorer et ne doit pas nécessiter de MFA ou d'accès conditionnel pour se connecter.
+ Accès administrateur Microsoft Entra ID pour enregistrer une application et créer un secret client.
+ Votre ID de locataire Microsoft 365.

## Étape 1 : enregistrer l'application dans Microsoft Entra ID
<a name="kb-managed-sharepoint-oauth2-step1"></a>

1. Connectez-vous au [centre d’administration Microsoft Entra](https://entra.microsoft.com/).

1. Dans le menu de navigation de gauche, **développez Entra ID** et choisissez **App registration**.

1. Choisissez **Nouvel enregistrement**.

1. Dans **Nom**, entrez un nom descriptif, tel que`bedrock-sharepoint-oauth2`.

1. Pour les **types de comptes pris en charge**, sélectionnez **Comptes dans ce répertoire organisationnel uniquement (locataire unique)**.

1. Laissez l'**URI de redirection** vide, puis choisissez **Enregistrer**.

1. Sur la page **Présentation** de l'application, enregistrez l'ID de **l'application (client) et l'ID** du **répertoire (locataire)**.

## Étape 2 : ajouter des autorisations d'API et accorder le consentement de l'administrateur
<a name="kb-managed-sharepoint-oauth2-step2"></a>

L'authentification OAuth 2.0 nécessite deux autorisations : une autorisation d'application Microsoft Graph pour énumérer les sites et une autorisation SharePoint déléguée pour lire le contenu. Attribuez les deux éléments suivants.


**Autorisations pour l'authentification OAuth 2.0**  

| API | Autorisations | Type | Objectif | 
| --- | --- | --- | --- | 
| Microsoft Graph | Sites.Read.All | Application | Énumérez les SharePoint sites. | 
| SharePoint | AllSites.Read | Délégué | Lisez le contenu du site via l' SharePoint API REST. Nécessite le consentement de l'administrateur (voir la note suivante). | 

1. Lors de l'enregistrement de votre application, choisissez **Autorisations API**, puis **Ajouter une autorisation**.

1. Choisissez **Microsoft Graph**, puis **Autorisations de l'application**. Recherchez et sélectionnez`Sites.Read.All`, puis choisissez **Ajouter des autorisations**.

1. Choisissez **à nouveau Ajouter une autorisation**. Choisissez **SharePoint**(sous **Microsoft APIs**), puis **Autorisations déléguées**. Sélectionnez `AllSites.Read` (Lire les éléments de toutes les collections de sites), puis choisissez **Ajouter des autorisations**.

1. Sur la page **des autorisations d'API**, choisissez **Accorder le consentement de l'administrateur pour [votre organisation]** et confirmez.

**Important**  
Vous devez accorder le consentement de l'administrateur même si le portail Entra indique que le **consentement de l'administrateur est requis : Non** pour l'autorisation SharePoint `AllSites.Read` déléguée. Cette colonne indique qu'un utilisateur peut normalement donner son consentement lors d'une connexion interactive, mais le flux d'informations d'identification du mot de passe du propriétaire de la ressource n'a aucune surface interactive. L'autorisation ne peut donc pas être accordée au moment de la connexion et doit être préaccordée à l'échelle de l'organisation avec le consentement de l'**administrateur Grant** pour [votre organisation]. Sans cela, la demande de SharePoint jeton échoue `AADSTS65001` (l'utilisateur ou l'administrateur n'a pas consenti à utiliser l'application) et la source de données ne peut pas être synchronisée.

**Note**  
Si les paramètres de sécurité par défaut de votre locataire sont activés, le flux d'informations d'identification du mot de passe du propriétaire de la ressource est peut-être bloqué. Vous aurez peut-être besoin d'un administrateur pour ajuster les paramètres de sécurité ou les politiques d'accès conditionnel de votre locataire afin que le compte utilisé ici puisse se connecter sans MFA. Pour plus d'informations, consultez la documentation Microsoft sur les paramètres [de sécurité par défaut](https://learn.microsoft.com/en-us/entra/fundamentals/security-defaults).

## Étape 3 : Création d'un secret client
<a name="kb-managed-sharepoint-oauth2-step3"></a>

1. Lors de l'enregistrement de votre application, choisissez **Certificats et secrets**, puis **Secrets client**, puis **Nouveau secret client**.

1. Entrez une description, choisissez une date d'expiration, puis cliquez sur **Ajouter**.

1. Enregistrez immédiatement la **valeur** secrète : elle n'est affichée qu'une seule fois. Enregistrez la **valeur**, pas l'**identifiant secret**.

## Étape 4 : Création du secret du Gestionnaire de Secrets
<a name="kb-managed-sharepoint-oauth2-step4"></a>

Stockez les informations d'identification dans un AWS Secrets Manager secret avec les paires clé-valeur suivantes :
+ `clientId`— l'identifiant de l'application (client) indiqué à l'étape 1.
+ `clientSecret`— la valeur secrète du client obtenue à l'étape 3.
+ `userName`— le nom d'utilisateur (UPN) du compte utilisateur Microsoft 365.
+ `password`— le mot de passe de ce compte.

```
{
    "clientId": "{{your-client-id}}",
    "clientSecret": "{{your-client-secret}}",
    "userName": "{{user@yourdomain.onmicrosoft.com}}",
    "password": "{{your-account-password}}"
}
```

Créez le secret avec AWS Command Line Interface :

```
aws secretsmanager create-secret \
  --name {{bedrock-sharepoint-oauth2-creds}} \
  --secret-string file://secret.json
```

Enregistrez l'ARN secret de la réponse. Vous l'utilisez comme source de données`secretArn`.

**Note**  
Le mot de passe du compte est enregistré dans le secret et utilisé pour chaque synchronisation. Si le mot de passe change, mettez à jour le secret. Étant donné que le connecteur se connecte avec ce compte, considérez le secret comme étant très sensible et limitez l'accès à celui-ci.

## Résolution des problèmes
<a name="kb-managed-sharepoint-oauth2-troubleshooting"></a>

Si la source de données ne parvient pas à se synchroniser, comparez l'erreur aux signatures suivantes.


**Erreurs de synchronisation OAuth 2.0**  

| Erreur | Cause et résolution | 
| --- | --- | 
| AADSTS65001(l'utilisateur ou l'administrateur n'a pas consenti à utiliser l'application) | L'autorisation SharePoint AllSites.Read déléguée n'a pas été approuvée par l'administrateur. Lors de l'enregistrement de votre application, choisissez Autorisations API, puis Accorder le consentement de l'administrateur pour [votre organisation]. Voir l'étape 2. | 
| Rest API token request failed with status: 400 | La connexion par mot de passe du propriétaire de la ressource a échoué lors de l'authentification, généralement parce que le compte nécessite une MFA ou une politique d'accès conditionnel que le flux ne peut pas respecter. Utilisez un compte qui ne nécessite pas le MFA et confirmez que les informations userName et le password code secret sont corrects. | 
| SharePoint app is missing required scopes | L'autorisation Sites.Read.All d'application Microsoft Graph n'a pas été accordée (ou consentie). Le connecteur vérifie que le jeton de l'application Graph correspond à cette étendue avant de procéder à l'analyse. Ajoutez l'autorisation d'Sites.Read.Allapplication Microsoft Graph et accordez le consentement de l'administrateur. Voir l'étape 2. | 

## Étapes suivantes
<a name="kb-managed-sharepoint-oauth2-next"></a>

Après avoir enregistré le secret, créez la source de données avec la `authType` valeur définie sur`OAUTH2_APP`. Vous ne fournissez pas de certificat pour cette méthode. Consultez [Connecter une source SharePoint de données](kb-managed-ds-sharepoint-connect.md).