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
La consapevolezza 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.
Le fonti di dati personalizzate supportano opzionalmente il controllo degli accessi a livello di documento. A differenza dei connettori sottoposti a scansione, un'origine dati personalizzata non dispone di un sistema di autorizzazioni nativo, quindi è necessario fornire l'elenco di controllo degli accessi (ACL) per ogni documento quando lo si inserisce con l'operazione. IngestKnowledgeBaseDocuments Per una panoramica del riconoscimento ACL su tutti i connettori, vedere. Attivazione del riconoscimento delle liste di controllo degli accessi
Come funziona
Per un'origine dati ACL-enabled personalizzata, Bedrock Managed Knowledge Base applica gli elenchi di controllo degli accessi forniti dal cliente durante il filtraggio preliminare, restituendo solo i documenti a cui l'utente che effettua l'interrogazione è autorizzato a accedere. Real-time La verifica ACL non è supportata per le origini dati personalizzate perché i metadati ACL forniti dal cliente sono la fonte della verità.
Abilita il riconoscimento ACL
Per abilitare il riconoscimento ACL per un'origine dati personalizzata, imposta su aclEnabled true in connectorParameters quando crei o aggiorni l'origine dati. Per la struttura di configurazione dell'origine dati, vediPersonalizzato.
"connectorParameters": { "type": "CUSTOM", "version": "1", "aclEnabled": true }
Fornisci controlli di accesso durante l'importazione di documenti
Fornisci l'ACL di un documento tramite il accessControlList campo del documento metadata nella IngestKnowledgeBaseDocuments richiesta. L'origine ACL è determinata dallo metadata.type stesso campo che controlla la provenienza degli attributi dei metadati:
-
IN_LINE_ATTRIBUTE— L'ACL viene letto dall'accessControlListarray nel corpo della richiesta. -
S3_LOCATION— L'ACL viene letto dall'accessControlListarray nel.metadata.jsonfile del documento in Amazon S3.
Poiché accessControlList risiede sotto metadata anziché come campo di primo livelloKnowledgeBaseDocument, un documento ha un'unica fonte ACL, controllata da. metadata.type In questo modo si evita che vengano forniti ACL in conflitto per lo stesso documento (ad esempio, un ACL in linea nella richiesta e un ACL nel file S3). Il compromesso è che non è possibile combinare un ACL in linea con attributi di metadati o S3-based un ACL con attributi di S3-based metadati in linea per lo stesso documento.
Ogni voce contiene: accessControlList
name— L'indirizzo e-mail di un utente.type— Deve essereUSER.access— OALLOWoDENY. Le eccezioni di negazione sono consentite.
ACL in linea (metadata.type = IN_LINE_ATTRIBUTE)
Forniscili accessControlList direttamente nel corpo della richiesta insieme agli attributi dei metadati in linea.
PUT /knowledgebases/KB12345678/datasources/DS12345678/documents HTTP/1.1 Content-type: application/json { "documents": [ { "content": { "dataSourceType": "CUSTOM", "custom": { "customDocumentIdentifier": { "id": "hr-policy-2026" }, "inlineContent": { "textContent": { "data": "Annual leave policy: All full-time employees are entitled to..." }, "type": "TEXT" }, "sourceType": "IN_LINE" } }, "metadata": { "type": "IN_LINE_ATTRIBUTE", "inlineAttributes": [ { "key": "department", "value": { "stringValue": "HR", "type": "STRING" } } ], "accessControlList": [ { "name": "alice@example.com", "type": "USER", "access": "ALLOW" }, { "name": "bob@example.com", "type": "USER", "access": "DENY" } ] } } ] }
S3-based ACL (metadata.type = S3_LOCATION)
Indirizza i metadati del documento verso un .metadata.json file in Amazon S3. Sia gli attributi dei metadati che i accessControlList vengono letti da quel file.
"metadata": { "type": "S3_LOCATION", "s3Location": { "uri": "s3://amzn-s3-demo-bucket/hr-policy-2026.metadata.json" } }
Il .metadata.json file utilizza lo stesso formato dei file di metadati per documento per le origini dati Amazon S3. Questo file utilizza nomi di campo ACL in maiuscolo (Name,,Access)Type, che differiscono dai nomi di campo in minuscolo (name,,type) utilizzati nella richiesta in linea. access
{ "metadataAttributes": {}, "accessControlList": [ { "Name": "alice@example.com", "Type": "USER", "Access": "ALLOW" }, { "Name": "bob@example.com", "Type": "USER", "Access": "DENY" } ] }
Verifica la tua configurazione
Poiché gli ACL personalizzati vengono forniti dal clienteIngestKnowledgeBaseDocuments, convalidali prima di eseguire la query:
aclEnabledLa conferma ètruenella fonte dei dati ().connectorParameterstypeCUSTOMVerifica che ogni documento importato includa un valore
accessControlListinferioremetadatae chemetadata.typecorrisponda alla fonte ACL (IN_LINE_ATTRIBUTEper un file in linea,S3_LOCATIONper un file S3).Verifica che l'involucro del campo di immissione ACL corrisponda all'origine: minuscolo//per gli ACL in linea, maiuscolo
name/type/accessper il file S3.NameTypeAccess.metadata.jsonVerifica che l'e-mail di un utente di prova corrisponda esattamente a quella
ALLOWinseritanamein un documento che ti aspetti che recuperi.
Risoluzione dei problemi
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 sopra riportati per diagnosticare questi problemi.
| Caratteristiche | Causa probabile | Correggere |
|---|---|---|
| Recupera restituisce 0 risultati per un utente che dovrebbe avere accesso. | L'userIde-mail non corrisponde a nessuna accessControlList voce. |
Allinea l'e-mail dell'utente a quella contenuta name in una ALLOW voce. |
| Un ACL in linea viene rifiutato o ignorato. | Involucro del campo errato o non lo è. metadata.type IN_LINE_ATTRIBUTE |
Usa le lettere minuscolename/type/accesse imposta su. metadata.type IN_LINE_ATTRIBUTE |
| Non viene S3-based applicato un ACL. | metadata.typenon lo è S3_LOCATION oppure il .metadata.json file è mancanteaccessControlList. |
metadata.typeImposta S3_LOCATION e accessControlList includi nel file. |
| Un documento non viene mai restituito a nessuno. | Il documento è stato ingerito senza un. accessControlList |
Re-ingest il documento con un. accessControlList |