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' App-Only autenticazione Microsoft Entra ID per SharePoint
Microsoft Entra ID App-Only authentication (ENTRA_ID_APP_ONLY) è il metodo di autenticazione consigliato per un'origine SharePoint dati. Utilizza il flusso di credenziali client OAuth 2.0 (solo applicazioni): un'applicazione Microsoft Entra si autentica con un certificato, quindi non è necessario alcun accesso utente durante la scansione o durante la query. Questo è l'unico metodo di autenticazione che supporta il controllo degli accessi a livello di documento (ACL). Per un confronto con il OAUTH2_APP metodo alternativo, vedere. Metodi di autenticazione
Questa configurazione si estende su due sistemi, l'ID Microsoft Entra e il tuo AWS account, e il certificato è la credenziale che li unisce. Il connettore memorizza il certificato (chiave privata inclusa) come file PKCS #12 (.p12) in Amazon S3 e lo utilizza per firmare asserzioni di autenticazione a Microsoft; il certificato pubblico corrispondente viene caricato nella registrazione dell'applicazione Entra in modo che Microsoft possa convalidare tali asserzioni.
Accesso amministrativo richiesto
Questa configurazione richiede un amministratore Microsoft Entra ID (amministratore globale o amministratore del ruolo privilegiato) per registrare l'applicazione, configurare le autorizzazioni e concedere il consenso dell'amministratore. Se si utilizza l'ambito delle Sites.Selected autorizzazioni, è inoltre necessario che un SharePoint amministratore conceda l'accesso per sito. La tabella dei passaggi e dei ruoli di configurazione riportata di seguito identifica l'accesso richiesto per ogni passaggio.
Fasi e ruoli di configurazione
Questa procedura coinvolge sia un amministratore dell'ID Microsoft Entra che un AWS amministratore. A seconda della ripartizione delle responsabilità all'interno dell'organizzazione, è possibile che una o più persone completino questi passaggi. Utilizza la tabella seguente per identificare l'accesso richiesto da ogni fase.
| Fase | Cosa fai | Accesso necessario |
|---|---|---|
| 1. Registra l'applicazione | Crea la registrazione dell'app Entra e registra i relativi ID cliente e tenant. | Amministratore ID Microsoft Entra (amministratore globale o amministratore dei ruoli privilegiati) |
| 2. Aggiungi autorizzazioni e concedi il consenso | Assegna le autorizzazioni dell'applicazione per la configurazione e concedi il consenso dell'amministratore. | Amministratore Microsoft Entra ID |
| 3. Genera il certificato | Crea un certificato autofirmato e un pacchetto PKCS #12 (.p12) con OpenSSL. |
Chiunque disponga di un terminale locale (è richiesto OpenSSL) |
| 4. Carica il certificato pubblico su Entra | Aggiungi il certificato pubblico alle chiavi di registrazione dell'app. | Amministratore Microsoft Entra ID |
5. Concedi l'accesso per sito (solo) Sites.Selected |
Concedi all'app l'accesso a ciascun SharePoint sito tramite l'API Microsoft Graph. | Amministratore Microsoft Entra ID |
| 6. Carica il certificato su Amazon S3 | Archivia il .p12 pacchetto in un bucket Amazon S3. |
AWS amministratore (Amazon S3) |
| 7. Creazione del segreto | Memorizza le credenziali in un AWS Secrets Manager luogo segreto. | AWS amministratore (Secrets Manager) |
| 8. Concedi al ruolo di servizio l'accesso al certificato | Aggiungi le autorizzazioni di lettura di Amazon S3 al tuo ruolo di servizio della knowledge base. | AWS amministratore (IAM) |
Scegli la tua configurazione
Prima di iniziare, prendi due decisioni. Determinano quali autorizzazioni assegnare nella Fase 2 e come concedere l'accesso al sito.
-
Document-level controllo degli accessi (ACL): decidi se l'origine dati filtra i risultati delle query in base alle autorizzazioni di ciascun utente. SharePoint La scansione ACL richiede Microsoft Graph e autorizzazioni aggiuntive. SharePoint Non è possibile modificare questa impostazione dopo aver creato l'origine dati. Per informazioni dettagliate, vedi Document-level controlli di accesso.
-
Ambito di autorizzazione: decidi se l'applicazione può leggere tutti i SharePoint siti del tenant (tutti i siti, l'opzione più semplice) o solo i siti che concedi esplicitamente (l'opzione con il
Sites.Selectedprivilegio minimo). DopoSites.Selectedaver completato una concessione aggiuntiva per sito nella Fase 5, tutti i siti aggiunti in un secondo momento necessiteranno di una concessione specifica.
La combinazione di queste due scelte seleziona uno dei set di autorizzazioni nella sezione seguente.
Riferimento per le autorizzazioni
Assegna le autorizzazioni all'applicazione che corrispondono alla tua configurazione. Tutte le autorizzazioni sono autorizzazioni dell'applicazione (non delegate) e ognuna richiede il consenso dell'amministratore. Il connettore esegue l'autenticazione su due risorse Microsoft: Microsoft Graph (per enumerare i siti e, per gli ACL, per risolvere utenti e gruppi) e l'API SharePointREST (per leggere il contenuto del sito e, per gli ACL, le autorizzazioni a livello di elemento).
Importante
Quando aggiungi queste autorizzazioni nel portale Entra, scegli la scheda Autorizzazioni dell'applicazione, non Autorizzazioni delegate. App-only l'autenticazione utilizza le autorizzazioni dell'applicazione.
Seleziona la scheda relativa alla configurazione per visualizzare l'esatto Microsoft Graph e SharePoint le autorizzazioni da assegnare.
Nota
Sites.FullControl.Allgarantisce un ampio accesso a tutti i siti del tenant. Se la tua organizzazione richiede il minimo privilegio, utilizza Sites.Selected e concedi l'accesso per sito nella Fase 5.
Valori raccolti durante la configurazione
I seguenti valori vengono creati o raccolti man mano che si eseguono i passaggi. Li usi quando crei l'origine dati. Per informazioni dettagliate, vedi Connect una fonte di SharePoint dati.
| Valore | Creato in | Usato per |
|---|---|---|
| ID dell’applicazione (client) | Fase 1 | Il segreto (clientId). |
| ID della directory (tenant) | Fase 1 | La fonte tenantId dei dati. |
Certificato: PKCS #12 bundle (.p12) e relativa password |
Fase 3 | Il pacchetto (certificato più chiave privata) viene caricato su Amazon S3 (Fase 6); la password viene memorizzata nel file segreto certificatePassword (). |
Certificato: certificato pubblico () .cer |
Fase 3 | La metà pubblica dello stesso certificato, caricata nella registrazione dell'app Entra (Fase 4). |
| Nome e chiave del bucket Amazon S3 | Fase 6 | La fonte dei dati. certificateS3Path |
| ARN del segreto | Fase 7 | La fonte dei datisecretArn. |
Passaggio 1: registrare l'applicazione in Microsoft Entra ID
-
Accedi al centro di amministrazione di Microsoft Entra
. -
Nella barra di navigazione a sinistra, espandi Entra ID e scegli Registrazioni app.
-
Scegli Nuova registrazione.
-
Per Nome, inserisci un nome descrittivo, ad esempio
bedrock-sharepoint-connector. -
Per i tipi di account supportati, seleziona Account solo in questa directory organizzativa (tenant singolo).
-
Lascia vuoto l'URI di reindirizzamento. Non è necessario un URI di reindirizzamento perché l'applicazione utilizza il flusso di credenziali del cliente, non un flusso di accesso interattivo.
-
Scegli Registrati.
-
Nella pagina Panoramica dell'applicazione, registrate l'ID dell'applicazione (client) e l'ID della directory (tenant). Ti serviranno entrambi in seguito.
Passaggio 2: aggiungi le autorizzazioni API e concedi il consenso dell'amministratore
Aggiungi le autorizzazioni per la tua configurazione da. Riferimento per le autorizzazioni
-
Nella registrazione dell'app, scegli Autorizzazioni API, quindi Aggiungi un'autorizzazione.
-
Scegli Microsoft Graph, quindi Autorizzazioni dell'applicazione. Cerca e seleziona ogni autorizzazione di Microsoft Graph per la tua configurazione, quindi scegli Aggiungi autorizzazioni.
-
Scegli nuovamente Aggiungi un'autorizzazione. Scegli SharePoint(in Microsoft API), quindi Autorizzazioni dell'applicazione. Seleziona ogni SharePoint autorizzazione per la tua configurazione, quindi scegli Aggiungi autorizzazioni.
-
Nella pagina delle autorizzazioni API, scegli Concedi il consenso dell'amministratore per [la tua organizzazione] e conferma. Senza il consenso dell'amministratore, l'applicazione non può accedere ai SharePoint dati.
Nota
L' App-Only autenticazione con ID Microsoft Entra utilizza il certificato (dal passaggio 3) come credenziale, quindi non viene creato un client secret per questa applicazione.
Fase 3: Generare il certificato di autenticazione
Genera un certificato autofirmato e impacchettalo come pacchetto PKCS #12 (.p12). Il pacchetto contiene sia il certificato che la relativa chiave privata, protetta da una password. Carichi il certificato pubblico su Entra (Fase 4) e il .p12 pacchetto su Amazon S3 (Fase 6). Seleziona la scheda del tuo sistema operativo per visualizzare i comandi.
Nota
Amazon Bedrock legge la chiave privata dal .p12 pacchetto per firmare le asserzioni di autenticazione, quindi il pacchetto deve essere protetto da password e archiviato in modo sicuro. Scegli una password sicura e casuale: la memorizzi in modo segreto come nel passaggio 7. certificatePassword
Importante
Archivia il .p12 pacchetto in Amazon S3 (non .pem nel file .cer or). Il pacchetto contiene la chiave privata che Amazon Bedrock utilizza per l'autenticazione. Document-level il controllo degli accessi (ACL) richiede il formato. .p12 Per la scansione dei soli contenuti senza ACL, puoi invece archiviare un PEM-encoded certificato; poiché .p12 funziona per ogni configurazione, questa guida lo utilizza ovunque. .p12
Nota
Per impostazione predefinita, il certificato è valido per un anno. Un certificato scaduto causa il fallimento di tutte le sincronizzazioni, quindi ruota il certificato prima che scada. Per modificare il periodo di validità, modifica l'-daysopzione (OpenSSL) o -NotAfter l'argomento (). PowerShell Per le fasi di rotazione, vedere. Ruota il certificato
Fase 4: Caricare il certificato pubblico su Entra
-
Nella registrazione dell'app, scegli Certificati e segreti, quindi la scheda Certificati.
-
Scegli Carica certificato e seleziona il
certificate.cerfile che hai generato nella Fase 3 (solo il certificato pubblico: non caricare mai il.p12pacchetto o la chiave privata su Entra). -
Scegliere Aggiungi.
Fase 5 (Sites.Selected solo): concedere l'accesso per sito
Nota
Questo passaggio si applica solo se hai scelto l'ambito di Sites.Selected autorizzazione nel passaggio 2. Se hai utilizzato l'ambito relativo a tutti i siti (Sites.Read.AlloSites.FullControl.All), vai a. Fase 6: caricare il certificato su Amazon S3
ConSites.Selected, concedi all'applicazione del connettore l'accesso a ciascun SharePoint sito individualmente tramite l'API Microsoft Graph. Ciò richiede un'applicazione temporanea separata che contenga Sites.FullControl.All e venga utilizzata solo per eseguire le concessioni. Amazon Bedrock non vede mai questa applicazione temporanea o le relative credenziali.
-
Crea una domanda di concessione temporanea. Nel centro di amministrazione Entra, registra una seconda applicazione (ad esempio
bedrock-sharepoint-granter) come tenant singolo senza URI di reindirizzamento. Aggiungi l'autorizzazione dell'Sites.FullControl.Allapplicazione Microsoft Graph, concedi il consenso dell'amministratore e crea un segreto client. Registra l'ID client e il valore segreto. -
Ottieni un token di accesso per la domanda di concessione. Sostituisci i segnaposto con l'ID cliente e il segreto dell'applicazione concedente e il tuo ID tenant.
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 risposta contiene un.
access_tokenUsalo come token portante nei comandi successivi. -
Risolvi ogni URL del sito con un ID del sito. Utilizza il nome host del sito e il percorso relativo al server.
curl -s \ "https://graph.microsoft.com/v1.0/sites/contoso.sharepoint.com:/sites/engineering" \ -H "Authorization: BearerACCESS_TOKEN"Il
idcampo nella risposta è l'ID del sito. -
Concedi all'applicazione del connettore l'accesso al sito.
readUtilizzatelo per la scansione del solo contenuto ofullcontrolper la scansione ACL. SostituisciCONNECTOR_CLIENT_IDcon l'ID dell'applicazione (client) del passaggio 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" } }] }' -
Ripeti i comandi resolve-and-grant per ogni sito che includi nell'origine dati. Al termine, puoi eliminare la domanda di concessione temporanea; le sovvenzioni per sito rimangono valide.
Importante
Per-site le sovvenzioni non sono retroattive. Se aggiungi un sito all'origine dati in un secondo momento, concedi all'applicazione Connector l'accesso a quel sito prima della sincronizzazione successiva, altrimenti il suo contenuto non verrà sottoposto a scansione.
Fase 6: caricare il certificato su Amazon S3
Carica il .p12 pacchetto dalla Fase 3 in un bucket Amazon S3 nella AWS stessa regione della tua knowledge base. Registra il nome e la chiave del bucket: li usi come fonte di dati. certificateS3Path
aws s3api put-object \ --bucketyour-certificate-bucket\ --keycerts/certificate.p12\ --body certificate.p12 \ --server-side-encryption AES256
Nota
Ti consigliamo di abilitare la crittografia lato server sull'oggetto del certificato e di limitare il bucket ai principali che ne hanno bisogno. Il pacchetto contiene la chiave privata.
Passaggio 7: Creare il segreto di Secrets Manager
Memorizza le credenziali in un luogo AWS Secrets Manager segreto. Per l' App-Only autenticazione Entra ID, includi le seguenti coppie chiave-valore:
clientId(obbligatorio) — l'ID dell'applicazione (client) della Fase 1.certificatePassword(consigliato): la password impostata nel.p12pacchetto nel passaggio 3. Vedi la nota che segue.
{ "clientId": "your-client-id", "certificatePassword": "your-certificate-password" }
Crea il segreto con AWS Command Line Interface:
aws secretsmanager create-secret \ --namebedrock-sharepoint-creds\ --secret-string file://secret.json
Registra l'ARN segreto della risposta. Lo usi come fonte secretArn di dati.
Nota
Imposta certificatePassword la password che hai usato quando hai creato il .p12 pacchetto nel passaggio 3. Se ometti questo campo, Amazon Bedrock apre il pacchetto utilizzando l'ID client dell'applicazione come password, quindi il pacchetto deve essere stato creato con l'ID client come password. Ti consigliamo invece di impostare sempre una password esplicita ad alta entropia e di archiviare la chiave privata in modo sicuro.
Nota
Utilizzare invece un certificato PEM. Questa guida utilizza un .p12 pacchetto, che funziona per ogni configurazione. Se esegui solo la scansione dei contenuti (senza controllo degli accessi a livello di documento), puoi invece utilizzare un certificato PEM. In tal caso, carica solo il certificato pubblico su Amazon S3 (non un .p12 pacchetto) e archivia la chiave privata nel file segreto privateKey (PKCS #8 non crittografato con codifica Base64, senza righe di intestazione) al posto di: certificatePassword
{ "clientId": "your-client-id", "privateKey": "your-base64-pkcs8-private-key" }
Fase 8: concedere al ruolo di servizio l'accesso al certificato
Il ruolo del servizio della Knowledge Base deve essere in grado di leggere l'oggetto del certificato da Amazon S3. Aggiungi la seguente dichiarazione alla politica di autorizzazione del ruolo, sostituendo il nome e la chiave del bucket con i tuoi valori.
{ "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"] } } } ] }
Nota
La policy consente inoltre l'accesso in lettura a un .metadata.json file opzionale insieme al certificato. Amazon Bedrock non richiede questo file; l'inclusione dell'autorizzazione previene eventuali errori di accesso.
Se l'oggetto del certificato è crittografato con una chiave AWS KMS
Il comando upload in Fase 6: caricare il certificato su Amazon S3 utilizza la S3-managed crittografia Amazon (AES256), che non richiede autorizzazioni aggiuntive. Se invece si crittografa l'oggetto certificato con la crittografia lato server di Amazon S3 utilizzando una chiave KMS gestita dal cliente SSE-KMS (), anche il ruolo di servizio kms:Decrypt necessita dell'autorizzazione su quella chiave e la politica della chiave deve consentire al ruolo di utilizzarla. Gli oggetti crittografati con la aws/s3 chiave AWS gestita non richiedono questa concessione aggiuntiva.
{ "Sid": "KmsDecryptCertificate", "Effect": "Allow", "Action": ["kms:Decrypt"], "Resource": ["arn:aws:kms:us-west-2:123456789012:key/your-key-id"] }
È richiesto solo l'accesso in letturakms:Decrypt. Per ulteriori informazioni, consulta Utilizzo della crittografia lato server con le chiavi AWS KMS (). SSE-KMS
Per il set completo di autorizzazioni per i ruoli del servizio della Knowledge Base, vedere. Autorizzazioni per accedere alle origini dati
Fasi successive
Ora hai tutto ciò di cui hai bisogno per creare l'origine dati: l'ARN segreto, il tuo ID tenant e la posizione Amazon S3 del certificato. Per creare l'origine SharePoint dati con Console di gestione AWS o l'API, consulta. Connect una fonte di SharePoint dati
Importante
Per ENTRA_ID_APP_ONLY l'autenticazione, devi specificare certificateS3Path quando crei l'origine dati, anche quando gli ACL sono disabilitati. Un'origine SharePoint dati creata con questo tipo di autenticazione e senza certificato ha esito negativo.