View a markdown version of this page

Document-level kontrol akses - Amazon Bedrock

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 bukan otorisasi

Basis Pengetahuan Terkelola Bedrock menyediakan pem ACL-aware filteran, bukan batas keamanan. Basis Pengetahuan Terkelola Bedrock tidak mengotentikasi pengguna akhir — aplikasi Anda bertanggung jawab untuk mengotentikasi pengguna dan meneruskan konteks identitas terverifikasi. Karena Basis Pengetahuan Terkelola Bedrock tidak dapat memverifikasi keaslian konteks pengguna yang Anda berikan, fitur ini menyaring hasil berdasarkan identitas yang Anda berikan tetapi bukan merupakan otorisasi yang sebenarnya. Anda tidak boleh mengandalkan fitur ini sebagai mekanisme kontrol akses tunggal tanpa otentikasi hulu.

Sumber data Amazon S3 secara opsional mendukung kontrol akses tingkat dokumen. Tidak seperti konektor lain, Amazon S3 tidak memiliki sistem izin asli untuk merayapi, jadi Anda menentukan ACL melalui file konfigurasi yang Anda kelola. Untuk ikhtisar kesadaran ACL di semua konektor, lihatPengaktifan kesadaran Daftar Kontrol Akses.

Cara kerjanya

Untuk sumber data ACL-enabled Amazon S3, Basis Pengetahuan Terkelola Bedrock menerapkan daftar kontrol akses yang disediakan pelanggan selama pemfilteran pra-pengambilan, hanya mengembalikan dokumen yang diizinkan untuk diakses oleh pengguna yang melakukan kueri. Real-time Verifikasi ACL tidak didukung untuk Amazon S3 karena metadata ACL yang disediakan pelanggan adalah sumber kebenaran.

Aktifkan kesadaran ACL

Untuk mengaktifkan kesadaran ACL untuk sumber data Amazon S3, setel aclEnabled ke true dalam connectorParameters dan tentukan izin akses menggunakan salah satu dari dua metode:

  • File konfigurasi ACL global — File JSON terpusat tunggal yang menentukan izin akses di tingkat folder (awalan). Ideal untuk organisasi dengan struktur izin yang stabil. Perubahan pada file global memerlukan pengindeksan ulang awalan yang terpengaruh.

  • Document-level file metadata — Setiap dokumen memiliki file metadata sendiri yang berisi informasi kontrol akses. Ini memungkinkan pembaruan indeks lebih cepat saat izin berubah karena hanya dokumen yang terpengaruh yang perlu diindeks ulang.

penting

Untuk sumber data ACL-enabled Amazon S3, dokumen tanpa entri ACL terkait tidak dicerna. Pastikan setiap dokumen memiliki ACL yang ditentukan baik melalui file ACL global atau dalam file metadatanya.

"connectorParameters": { "type": "S3", "version": "1", "aclEnabled": true, "connectionConfiguration": { "bucketName": "your-bucket-name", "bucketOwnerAccountId": "123456789012" }, "aclConfiguration": { "globalAccessControlListS3Uri": "s3://your-bucket-name/acl/global-acl.json" } }

Struktur file ACL global

File ACL global adalah array JSON di mana setiap entri memetakan awalan kunci ke satu set entri kontrol akses. Masing-masing keyPrefix adalah URI Amazon S3 absolut dari folder (berlaku untuk semua dokumen di bawahnya) atau dokumen individual.

[ { "keyPrefix": "s3://your-bucket-name/finance/", "aclEntries": [ { "Name": "user1@example.com", "Type": "USER", "Access": "ALLOW" } ] } ]

Setiap aclEntries elemen berisi:

  • Name— Alamat email pengguna.

  • Type— Pasti begituUSER.

  • Access— Entah ALLOW atauDENY. Tolak penggantian memungkinkan.

Per-document berkas metadata

Sebagai alternatif untuk file ACL global, Anda dapat menentukan ACL per dokumen menggunakan file metadata. Untuk setiap dokumen, buat file bernama filename.metadata.json di jalur Amazon S3 yang sama. Sertakan accessControlList array dengan format entri yang sama dengan file global.

{ "metadataAttributes": {}, "accessControlList": [ { "Name": "user1@example.com", "Type": "USER", "Access": "ALLOW" }, { "Name": "user2@example.com", "Type": "USER", "Access": "DENY" } ] }

Per-document metadata lebih diutamakan daripada file ACL global. Jika dokumen memiliki entri awalan global yang cocok dan file metadata per dokumen, metadata per dokumen digunakan.

catatan

File konfigurasi ACL harus disimpan di bucket Amazon S3 yang sama dengan konten sumber data Anda.

Verifikasi konfigurasi Anda

Karena Amazon S3 ACL disediakan pelanggan, validasi ACL tersebut sebelum Anda menanyakan:

  1. Konfirmasi aclEnabled ada true di sumber dataconnectorParameters.

  2. Konfirmasikan setiap dokumen memiliki ACL — baik entri dalam file ACL global atau file per .metadata.json dokumen. Dokumen tanpa ACL tidak tertelan.

  3. Validasi JSON ACL: setiap entri memiliki Name (email pengguna), Type (USER), dan Access (ALLOWatauDENY), dan file ACL berada di bucket yang sama dengan konten Anda.

  4. Konfirmasikan email pengguna uji sama persis dengan ALLOW entr Name i untuk dokumen yang Anda harapkan mereka ambil.

Pemecahan masalah

catatan

Kesalahan konfigurasi ACL tidak menghasilkan kesalahan eksplisit selama pengambilan. Pengambilan gagal ditutup: dokumen yang terpengaruh secara diam-diam dihilangkan, sehingga kueri mengembalikan hasil yang lebih sedikit atau nol daripada kesalahan. Gunakan pemeriksaan verifikasi di atas untuk mendiagnosis masalah ini.

ACL-enabled Gejala, penyebab, dan perbaikan Amazon S3
Gejala Kemungkinan penyebabnya Memperbaiki
Ambil mengembalikan hasil 0 untuk pengguna yang harus memiliki akses. Email pengguna tidak cocok dengan entri ACL apa pun (ketidakcocokan email). Pastikan ACL Name cocok dengan email pengguna dengan tepat.
Dokumen tidak pernah dikembalikan kepada siapa pun. Dokumen tidak memiliki entri ACL, jadi tidak tertelan. Tambahkan ACL untuk dokumen melalui file ACL global atau file per dokumen, lalu sinkronkan .metadata.json ulang.
ACL per dokumen tidak berlaku. .metadata.jsonFile salah nama atau di jalur yang salah. Beri nama filename.metadata.json di jalur S3 yang sama; metadata per dokumen menggantikan file global.
Perubahan ACL tidak tercermin. Perubahan file ACL global memerlukan pengindeksan ulang awalan yang terpengaruh. Sinkronkan ulang awalan yang terpengaruh.