Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Document-level kontrol akses
Kesadaran ACL bukanlah otorisasi
Basis Pengetahuan Terkelola Batuan Dasar menyediakan ACL-aware penyaringan, bukan batas keamanan. Basis Pengetahuan Terkelola Bedrock tidak mengautentikasi pengguna akhir — aplikasi Anda bertanggung jawab untuk mengautentikasi pengguna dan meneruskan konteks identitas terverifikasi. Karena Basis Pengetahuan Terkelola Bedrock tidak dapat memverifikasi keaslian konteks pengguna yang Anda berikan, fitur ini memfilter hasil berdasarkan identitas yang Anda berikan tetapi bukan merupakan otorisasi yang benar. Anda tidak boleh mengandalkan fitur ini sebagai mekanisme kontrol akses tunggal tanpa otentikasi hulu.
Sumber data khusus secara opsional mendukung kontrol akses tingkat dokumen. Tidak seperti konektor yang dirayapi, sumber data kustom tidak memiliki sistem izin asli, sehingga Anda menyediakan daftar kontrol akses (ACL) untuk setiap dokumen saat Anda menelannya dengan operasi. IngestKnowledgeBaseDocuments Untuk ikhtisar kesadaran ACL di semua konektor, lihatAkses Kontrol Daftar pemberdayaan kesadaran.
Cara kerjanya
Untuk sumber data ACL-enabled kustom, Basis Pengetahuan Terkelola Bedrock menerapkan daftar kontrol akses yang disediakan pelanggan selama pemfilteran pra-pengambilan, hanya mengembalikan dokumen yang diizinkan untuk diakses oleh pengguna kueri. Real-time Verifikasi ACL tidak didukung untuk sumber data khusus karena metadata ACL yang disediakan pelanggan adalah sumber kebenaran.
Aktifkan kesadaran ACL
Untuk mengaktifkan kesadaran ACL untuk sumber data kustom, setel aclEnabled ke true connectorParameters saat Anda membuat atau memperbarui sumber data. Untuk struktur konfigurasi sumber data, lihatKhusus.
"connectorParameters": { "type": "CUSTOM", "version": "1", "aclEnabled": true }
Menyediakan kontrol akses saat Anda menelan dokumen
Anda memberikan ACL dokumen melalui accessControlList bidang pada dokumen metadata dalam IngestKnowledgeBaseDocuments permintaan. Sumber ACL ditentukan olehmetadata.type, bidang yang sama yang mengontrol dari mana atribut metadata berasal:
-
IN_LINE_ATTRIBUTE— ACL dibaca dariaccessControlListarray di badan permintaan. -
S3_LOCATION— ACL dibaca dariaccessControlListarray dalam.metadata.jsonfile dokumen di Amazon S3.
Karena accessControlList hidup di bawah metadata bukan sebagai bidang tingkat atasKnowledgeBaseDocument, dokumen memiliki sumber ACL tunggal, dikendalikan oleh. metadata.type Ini mencegah ACL yang bertentangan disediakan untuk dokumen yang sama (misalnya, ACL sebaris pada permintaan dan ACL dalam file S3). Penggantiannya adalah Anda tidak dapat mencampur ACL sebaris dengan atribut metadata, atau S3-based ACL dengan atribut S3-based metadata sebaris, untuk dokumen yang sama.
Setiap accessControlList entri berisi:
name— Alamat email pengguna.type- HarusUSER.access- EntahALLOWatauDENY. Tolak penggantian memungkinkan.
ACL sebaris (metadata.type = IN_LINE_ATTRIBUTE)
Menyediakan accessControlList langsung di badan permintaan bersama atribut metadata inline.
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_LOKASI)
Arahkan metadata dokumen ke .metadata.json file di Amazon S3. Baik atribut metadata dan dibaca dari file itu. accessControlList
"metadata": { "type": "S3_LOCATION", "s3Location": { "uri": "s3://amzn-s3-demo-bucket/hr-policy-2026.metadata.json" } }
.metadata.jsonFile menggunakan format yang sama dengan file metadata per dokumen untuk sumber data Amazon S3. File ini menggunakan nama bidang ACL yang dikapitalisasi (NameType,,Access), yang berbeda dari nama bidang huruf kecil (name,type,access) yang digunakan dalam permintaan sebaris.
{ "metadataAttributes": {}, "accessControlList": [ { "Name": "alice@example.com", "Type": "USER", "Access": "ALLOW" }, { "Name": "bob@example.com", "Type": "USER", "Access": "DENY" } ] }
Verifikasi konfigurasi Anda
Karena ACL Kustom disediakan oleh pelangganIngestKnowledgeBaseDocuments, validasi sebelum Anda melakukan kueri:
Konfirmasi
aclEnabledadatruedi sumber dataconnectorParameters(typeCUSTOM).Konfirmasikan setiap dokumen yang dicerna menyertakan
accessControlListundermetadata, dan yangmetadata.typecocok dengan sumber ACL (IN_LINE_ATTRIBUTEuntuk inline,S3_LOCATIONuntuk file S3).Konfirmasikan casing bidang entri ACL cocok dengan sumber: huruf kecil
name/type/accessuntuk ACL sebaris, dikapitalisasiName//Typeuntuk file S3.Access.metadata.jsonKonfirmasikan email pengguna pengujian sama persis dengan
ALLOWentrinamedalam dokumen yang Anda harapkan untuk diambil.
Pemecahan masalah
catatan
Kesalahan konfigurasi ACL tidak menghasilkan kesalahan eksplisit selama pengambilan. Pengambilan gagal ditutup: dokumen yang terpengaruh dihilangkan secara diam-diam, sehingga kueri mengembalikan hasil yang lebih sedikit atau nol daripada kesalahan. Gunakan pemeriksaan verifikasi di atas untuk mendiagnosis masalah ini.
| Gejala | Kemungkinan penyebabnya | Perbaiki |
|---|---|---|
| Retrieve mengembalikan 0 hasil untuk pengguna yang seharusnya memiliki akses. | userIdEmail tidak cocok dengan accessControlList entri apa pun. |
Sejajarkan email pengguna dengan ALLOW entri name dalam. |
| ACL inline ditolak atau diabaikan. | Casing lapangan salah, atau metadata.type tidakIN_LINE_ATTRIBUTE. |
Gunakan huruf kecilname/type/accessdan atur metadata.type ke. IN_LINE_ATTRIBUTE |
| S3-based ACL tidak diterapkan. | metadata.typetidakS3_LOCATION, atau .metadata.json filenya hilangaccessControlList. |
Setel metadata.type ke S3_LOCATION dan sertakan accessControlList dalam file. |
| Dokumen tidak pernah dikembalikan kepada siapa pun. | Dokumen itu dicerna tanpa file. accessControlList |
Re-ingest dokumen denganaccessControlList. |