

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Configurare l'autenticazione OAuth 2.0 per SharePoint
<a name="kb-managed-sharepoint-oauth2-setup"></a>

L'autenticazione OAuth 2.0 (`OAUTH2_APP`) si autentica con un ID client e un segreto dell'applicazione insieme al nome utente e alla password di un account utente Microsoft 365, utilizzando il flusso OAuth 2.0 resource-owner password credenziali (ROPC). Il connettore accede come utente per leggere i contenuti.

**Importante**  
Consigliamo [Configurare l' App-Only autenticazione Microsoft Entra ID per SharePoint](kb-managed-sharepoint-entra-setup.md) invece. L'autenticazione OAuth 2.0 presenta due limitazioni:  
Poiché accede con un nome utente e una password, non può completare una sfida di autenticazione a più fattori (MFA) o soddisfare una politica di accesso condizionale che ne richiede una. Se l'account applica la MFA o l'accesso condizionale, l'autenticazione fallisce e l'origine dati non può essere sincronizzata. Molte organizzazioni richiedono l'autenticazione a più fattori per i tipi di account che utilizzeresti qui.
Non supporta il controllo degli accessi a livello di documento (ACL). Per filtrare i risultati delle query in base alle autorizzazioni utente, usa l' App-Only autenticazione con ID Microsoft Entra.

## Prerequisiti
<a name="kb-managed-sharepoint-oauth2-prereqs"></a>
+ Un account utente Microsoft 365 il cui nome utente e password vengono utilizzati dal connettore per accedere. L'account deve avere accesso ai SharePoint siti che desideri sottoporre a scansione e non deve richiedere l'autenticazione a più fattori o l'accesso condizionale per l'accesso.
+ Accesso da amministratore con ID Microsoft Entra per registrare un'applicazione e creare un segreto client.
+ L’ID del tenant Microsoft 365.

## Passaggio 1: registrare l'applicazione in Microsoft Entra ID
<a name="kb-managed-sharepoint-oauth2-step1"></a>

1. Accedi al [centro di amministrazione di Microsoft Entra](https://entra.microsoft.com/).

1. Nella barra di navigazione a sinistra, espandi **Entra ID** e scegli **Registrazioni app**.

1. Scegli **Nuova registrazione**.

1. Per **Nome**, inserisci un nome descrittivo, ad esempio`bedrock-sharepoint-oauth2`.

1. Per i **tipi di account supportati**, seleziona **Account solo in questa directory organizzativa (tenant singolo)**.

1. **Lascia vuoto l'**URI di reindirizzamento** e scegli Registra.**

1. Nella pagina **Panoramica** dell'applicazione, registrate l'ID **dell'applicazione (client) e l'ID** della **directory (tenant)**.

## Passaggio 2: aggiungere le autorizzazioni API e concedere il consenso dell'amministratore
<a name="kb-managed-sharepoint-oauth2-step2"></a>

L'autenticazione OAuth 2.0 richiede due autorizzazioni: un'autorizzazione dell'applicazione Microsoft Graph per enumerare i siti e un' SharePoint autorizzazione delegata per leggere il contenuto. Assegna entrambe le seguenti opzioni.


**Autorizzazioni per l'autenticazione OAuth 2.0**  

| "Hello, World\!" | Autorizzazione | Tipo | Scopo | 
| --- | --- | --- | --- | 
| Microsoft Graph | Sites.Read.All | Applicazione | Enumerazione dei siti. SharePoint  | 
| SharePoint | AllSites.Read | Delegato | Leggi il contenuto del sito tramite l'API SharePoint REST. Richiede il consenso dell'amministratore (vedi la nota seguente). | 

1. Nella registrazione dell'app, scegli **Autorizzazioni API**, quindi **Aggiungi un'autorizzazione**.

1. Scegli **Microsoft Graph**, quindi **Autorizzazioni dell'applicazione**. Cerca e seleziona`Sites.Read.All`, quindi scegli **Aggiungi autorizzazioni**.

1. Scegli nuovamente **Aggiungi un'autorizzazione**. Scegli **SharePoint**(in **Microsoft API**), quindi **Autorizzazioni delegate.** **Seleziona `AllSites.Read` (Leggi gli elementi in tutte le raccolte di siti), quindi scegli Aggiungi autorizzazioni.**

1. Nella pagina delle **autorizzazioni API**, scegli **Concedi il consenso dell'amministratore per [la tua organizzazione] e conferma**.

**Importante**  
È necessario concedere il consenso dell'amministratore anche se il portale Entra mostra che è **necessario il consenso dell'amministratore: No** per l'autorizzazione SharePoint `AllSites.Read` delegata. **Questa colonna indica che un utente può normalmente acconsentire durante un accesso interattivo, ma il flusso di credenziali relative alla password del proprietario della risorsa non ha una superficie interattiva, quindi l'autorizzazione non può essere accolta al momento dell'accesso e deve essere concessa in via preventiva a livello di organizzazione con Grant admin consent for [la tua organizzazione].** Senza di essa, la richiesta del SharePoint token ha esito negativo `AADSTS65001` (l'utente o l'amministratore non ha acconsentito all'uso dell'applicazione) e l'origine dati non può essere sincronizzata.

**Nota**  
Se il tenant ha abilitato le impostazioni di sicurezza predefinite, il flusso delle credenziali relative alla password del proprietario della risorsa potrebbe essere bloccato. Potrebbe essere necessario un amministratore per modificare le impostazioni di sicurezza predefinite o le politiche di accesso condizionale del tenant in modo che l'account utilizzato qui possa accedere senza MFA. Per ulteriori informazioni, consulta la documentazione Microsoft sulle impostazioni [di sicurezza predefinite](https://learn.microsoft.com/en-us/entra/fundamentals/security-defaults).

## Fase 3: Creare un segreto per il client
<a name="kb-managed-sharepoint-oauth2-step3"></a>

1. Nella registrazione dell'app, scegli **Certificati e segreti**, quindi **Segreti client**, quindi **Nuovo segreto client**.

1. Inserisci una descrizione, scegli una scadenza e scegli **Aggiungi**.

1. Registra immediatamente il **valore** segreto: viene mostrato solo una volta. Registra il **valore**, non l'**ID segreto**.

## Fase 4: Creare il segreto di Secrets Manager
<a name="kb-managed-sharepoint-oauth2-step4"></a>

Memorizza le credenziali in un luogo AWS Secrets Manager segreto con le seguenti coppie chiave-valore:
+ `clientId`— l'ID dell'applicazione (client) del passaggio 1.
+ `clientSecret`— il valore segreto del client riportato nella Fase 3.
+ `userName`— il nome utente (UPN) dell'account utente Microsoft 365.
+ `password`— la password per quell'account.

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

Crea il segreto con AWS Command Line Interface:

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

Registra l'ARN segreto della risposta. Lo usi come fonte `secretArn` di dati.

**Nota**  
La password dell'account viene memorizzata nel segreto e utilizzata per ogni sincronizzazione. Se la password cambia, aggiorna il segreto. Poiché il connettore accede con questo account, considera il segreto come altamente riservato e limita l'accesso ad esso.

## Risoluzione dei problemi
<a name="kb-managed-sharepoint-oauth2-troubleshooting"></a>

Se la sincronizzazione dell'origine dati non riesce, abbina l'errore alle seguenti firme.


**Errori di sincronizzazione OAuth 2.0**  

| Errore | Causa e risoluzione | 
| --- | --- | 
| AADSTS65001(l'utente o l'amministratore non ha acconsentito all'uso dell'applicazione) | L'autorizzazione SharePoint AllSites.Read delegata non è stata autorizzata dall'amministratore. Nella registrazione dell'app, scegli Autorizzazioni API, quindi Concedi il consenso dell'amministratore per [la tua organizzazione]. Vedi il passaggio 2. | 
| Rest API token request failed with status: 400 | L'accesso alle credenziali della password del proprietario della risorsa non è riuscito durante l'autenticazione, in genere perché l'account richiede MFA o una politica di accesso condizionale che il flusso non è in grado di soddisfare. Utilizza un account che non richieda l'autenticazione a più fattori e conferma che le userName e password nel segreto siano corrette. | 
| SharePoint app is missing required scopes | L'autorizzazione dell'Sites.Read.Allapplicazione Microsoft Graph non è stata concessa (o acconsentita). Il connettore controlla il token dell'applicazione Graph per questo ambito prima della scansione. Aggiungi l'autorizzazione dell'Sites.Read.Allapplicazione Microsoft Graph e concedi il consenso dell'amministratore. Vedi Fase 2. | 

## Fasi successive
<a name="kb-managed-sharepoint-oauth2-next"></a>

Dopo aver memorizzato il segreto, crea l'origine dati con `authType` set to`OAUTH2_APP`. Non viene fornito un certificato per questo metodo. Per informazioni, consulta [Connect una fonte di SharePoint dati](kb-managed-ds-sharepoint-connect.md).