

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à.

# Document-level controlli di accesso
<a name="kb-managed-ds-sharepoint-acl"></a>

SharePoint le fonti di dati supportano opzionalmente il controllo degli accessi a livello di documento. Se abilitata, Bedrock Managed Knowledge Base sincronizza gli elenchi di controllo degli accessi (ACL) utilizzati SharePoint durante ogni scansione e verifica le autorizzazioni di ciascun utente al momento della query, in modo che gli utenti vedano solo i risultati dei documenti a cui sono autorizzati ad accedere. SharePoint Per una panoramica del riconoscimento ACL su tutti i connettori, vedere. [Attivazione del riconoscimento delle liste di controllo degli accessi](kb-managed-acl.md)

**Il riconoscimento ACL non è un'autorizzazione**  
Bedrock Managed Knowledge Base fornisce un ACL-aware filtro, non un limite di sicurezza. Bedrock Managed Knowledge Base non autentica gli utenti finali: l'applicazione è responsabile dell'autenticazione degli utenti e del passaggio del contesto di identità verificato. Poiché Bedrock Managed Knowledge Base non è in grado di verificare l'autenticità del contesto utente fornito, questa funzione filtra i risultati in base all'identità fornita ma non costituisce una vera autorizzazione. Non devi fare affidamento su questa funzionalità come unico meccanismo di controllo degli accessi senza l'autenticazione a monte.

## Come funziona
<a name="kb-managed-ds-sharepoint-acl-how"></a>

Quando un utente esegue una query su una knowledge base che utilizza una fonte di ACL-enabled SharePoint dati, Bedrock Managed Knowledge Base applica i controlli di accesso in due fasi:
+ **Pre-retrieval filtraggio**: Bedrock Managed Knowledge Base applica gli elenchi di controllo degli accessi sincronizzati SharePoint durante l'ultima scansione, restituendo solo i documenti candidati a cui l'utente (o i relativi gruppi) è autorizzato a accedere.
+ **Real-time verifica**: Bedrock Managed Knowledge Base verifica i documenti dei candidati in tempo reale controllando l'accesso corrente dell'utente che effettua la query. SharePoint Nella risposta sono inclusi solo i documenti a cui l'utente è attualmente autorizzato ad accedere.

Questo approccio in due fasi fornisce un controllo degli accessi a livello di documento che rimane aggiornato anche quando le SharePoint autorizzazioni cambiano tra una sincronizzazione e l'altra.

## Cosa viene sottoposto a scansione
<a name="kb-managed-ds-sharepoint-acl-crawl"></a>

Quando gli ACL sono abilitati, Bedrock Managed Knowledge Base esegue la scansione delle seguenti strutture di autorizzazioni da: SharePoint
+ Site-level appartenenze e assegnazioni di ruolo
+ autorizzazioni a livello di libreria di documenti
+ Item-level autorizzazioni (relative a file e pagine), incluse autorizzazioni esclusive che interrompono l'ereditarietà
+ Appartenenze ai gruppi di sicurezza, inclusi i gruppi di sicurezza Microsoft Entra ID (Azure AD), i gruppi di sicurezza abilitati alla posta e i gruppi di distribuzione. Vengono inoltre risolte le appartenenze ai gruppi annidati (transitivi).

Al momento della richiesta si trasmette l'indirizzo e-mail dell'utente (non un gruppo). Bedrock Managed Knowledge Base risolve le appartenenze ai gruppi di quell'utente dai dati sottoposti a scansione e le applica quando filtra i risultati. Per ulteriori informazioni sul modello di identità, vedere. [Attivazione del riconoscimento delle liste di controllo degli accessi](kb-managed-acl.md)

## Abilita il riconoscimento ACL
<a name="kb-managed-ds-sharepoint-acl-enable"></a>

Per abilitare il riconoscimento ACL per un'origine SharePoint dati, imposta su `aclEnabled` `true` in `connectorParameters` e usa il tipo di `ENTRA_ID_APP_ONLY` autenticazione. Questo tipo di autenticazione utilizza autorizzazioni applicative basate su certificati che consentono a Bedrock Managed Knowledge Base di eseguire la scansione delle informazioni sull'identità e verificare l'accesso ai documenti al momento della query.

**Importante**  
La configurazione ACL è permanente. Non è possibile abilitare gli ACL su un'origine dati creata senza il supporto ACL e non è possibile disabilitare gli ACL una volta abilitati.

La registrazione dell'app Entra ID deve disporre delle seguenti autorizzazioni per l'applicazione:
+ `User.Read.All`e `GroupMember.Read.All` su Microsoft Graph (per la scansione delle identità)
+ `Sites.FullControl.All`su SharePoint o `Sites.Selected` con autorizzazioni per sito concesse (per la verifica dell'accesso ai documenti)

`connectionConfiguration`Deve includere un `certificateS3Path` riferimento a un file di certificato PKCS \#12 (.p12) in Amazon S3.

**Nota**  
Il `certificatePassword` campo segreto è facoltativo. Se lo ometti, Bedrock Managed Knowledge Base apre il file PKCS \#12 (.p12) utilizzando l'ID client dell'applicazione come password, quindi il certificato deve essere stato creato con quella password. Ti consigliamo di impostare sempre un valore esplicito e ad alta entropia `certificatePassword` per proteggere la chiave privata del certificato quando è inattiva.

```
"connectorParameters": {
    "type": "SHAREPOINT",
    "version": "1",
    "aclEnabled": true,
    "connectionConfiguration": {
        "tenantId": "{{your-tenant-id}}",
        "authType": "ENTRA_ID_APP_ONLY",
        "secretArn": "{{arn:aws:secretsmanager:region:account-id:secret:secret-name}}",
        "certificateS3Path": {
            "s3BucketName": "{{your-certificate-bucket}}",
            "s3KeyName": "{{certs/certificate.p12}}"
        }
    },
    "dataEntityConfiguration": {
        "siteUrls": [
            "{{https://contoso.sharepoint.com/sites/engineering}}"
        ],
        "crawlFiles": true,
        "crawlPages": true
    }
}
```

**Nota**  
Il tipo di `OAUTH2_APP` autenticazione non è supportato per le fonti di dati. ACL-enabled SharePoint Devi utilizzare `ENTRA_ID_APP_ONLY`.

## Real-time verifica dell'accesso
<a name="kb-managed-ds-sharepoint-acl-realtime"></a>

Bedrock Managed Knowledge Base verifica la base di ogni documento candidato SharePoint al momento della richiesta utilizzando le autorizzazioni basate sui certificati dell'applicazione (la registrazione dell'`ENTRA_ID_APP_ONLY`app configurata per la scansione). A differenza di un flusso di accesso utente delegato, non è richiesto alcun accesso o consenso interattivo per utente: la verifica utilizza la stessa registrazione e lo stesso certificato dell'app, tramite l'`Sites.Selected`autorizzazione `Sites.FullControl.All` o, per confermare che l'utente che effettua la richiesta ha ancora accesso a ciascun documento.

## Verifica la tua configurazione
<a name="kb-managed-ds-sharepoint-acl-verify"></a>

È possibile convalidare le autorizzazioni dell'applicazione Entra indipendentemente da una richiesta di recupero. Eseguite ciascuno dei seguenti controlli:

1. **Microsoft Graph (scansione)**:
   + Acquisisci un token applicativo con ambito `https://graph.microsoft.com/.default` e conferma che il `roles` reclamo includa `User.Read.All` e`GroupMember.Read.All`.
   + Chiama un endpoint del sito Microsoft Graph (ad esempio`GET https://graph.microsoft.com/v1.0/sites/{site}`) e conferma che restituisca il sito.

1. **SharePoint REST (verifica in tempo reale)**:
   + Acquisisci un token utilizzando l'asserzione del client di certificazione con scope`https://{tenant}.sharepoint.com/.default`.
   + Conferma che la `roles` dichiarazione del token includa l'autorizzazione SharePoint `Sites.FullControl.All` (o`Sites.Selected`). Un `roles: null` valore indica che manca l'autorizzazione o il consenso dell'amministratore.
   + Chiama `GET https://{tenant}.sharepoint.com/_api/web` e conferma che l'operazione ha esito positivo (HTTP 200). Una risposta non riuscita o non autorizzata significa che manca l' SharePoint autorizzazione o il consenso dell'amministratore, il che comporta la negazione di tutti i documenti.

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

**Nota**  
Le configurazioni errate dell'ACL non producono errori espliciti durante il recupero. Il recupero non riesce a essere chiuso: i documenti interessati vengono omessi automaticamente, quindi una query restituisce un numero inferiore o nullo di risultati anziché un errore. Utilizza i controlli di verifica precedenti per diagnosticare questi problemi.


**ACL-enabled SharePoint sintomi, cause e correzioni**  

| Caratteristiche | Causa probabile | Correggere | 
| --- | --- | --- | 
| Recupera restituisce 0 risultati, ma l'utente può accedere. SharePoint | Manca l'autorizzazione SharePoint Sites.FullControl.All (orSites.Selected) o il consenso dell'amministratore, quindi la chiamata SharePoint REST viene rifiutata e ogni documento viene negato. | Concedi l' SharePoint Sites.FullControl.Allautorizzazione (o Sites.Selected con concessioni per sito) con il consenso dell'amministratore. Poiché queste credenziali dell'applicazione sono memorizzate nella cache, attendi fino a un'ora prima che la modifica abbia effetto oppure esegui il test con un utente non ancora interrogato per confermare prima. | 
| L'accesso di un utente è stato modificato in SharePoint, ma il nuovo risultato non si riflette immediatamente. | Per-user i risultati di accesso alla fine sono coerenti tra l'origine dei dati e la Bedrock Managed Knowledge Base (in genere entro circa due minuti), quindi una modifica di accesso recente potrebbe non riflettersi immediatamente. | Dopo che l'origine dati riflette la modifica, attendi circa due minuti e riprova. | 
| Tutti gli utenti vengono rifiutati dopo aver lavorato in precedenza. | Il certificato è scaduto o il consenso dell'amministratore è stato revocato. | Rinnova il certificato nella registrazione dell'app Entra e in Amazon S3 e concedi nuovamente il consenso dell'amministratore. | 
| La scansione o la sincronizzazione non riescono anche se la configurazione sembra corretta. | Manca un'autorizzazione richiesta per l'applicazione Microsoft Graph. | Grant User.Read.All eGroupMember.Read.All. | 
| Password del certificato o errori di coniazione dei token. | La .p12 password non corrisponde. certificatePassword | certificatePasswordImposta la password utilizzata per creare il .p12 file. | 