Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Kebijakan sumber daya untuk basis pengetahuan terkelola
Kebijakan berbasis sumber daya adalah dokumen JSON yang Anda lampirkan langsung ke basis pengetahuan terkelola. Ini mengontrol prinsip-prinsip IAM mana yang dapat melakukan tindakan pada basis pengetahuan, memungkinkan kasus penggunaan seperti akses lintas akun. Kebijakan ini mendukung keduanya Allow dan Deny efek.
penting
Resource-based kebijakan hanya didukung untuk basis pengetahuan terkelola (tipeMANAGED). Basis pengetahuan vektor (tipeVECTOR) tidak mendukung kebijakan sumber daya.
Tindakan yang didukung
Tindakan berikut dapat digunakan dalam kebijakan sumber daya basis pengetahuan:
| Tindakan | Deskripsi |
|---|---|
bedrock:Retrieve |
Kueri basis pengetahuan dan ambil hasil yang relevan dari sumber data. |
bedrock:GetDocumentContent |
Ambil konten lengkap dokumen tertentu dari sumber data basis pengetahuan. |
catatan
Control-plane operasi sepertiGetKnowledgeBase,, UpdateKnowledgeBaseDeleteKnowledgeBase, dan operasi manajemen sumber data tidak dapat digunakan dalam kebijakan sumber daya. Operasi ini harus dilakukan oleh kepala sekolah di akun pemilik basis pengetahuan.
Persyaratan kebijakan sumber daya
Kebijakan sumber daya basis pengetahuan mengikuti sintaks kebijakan IAM standar. Untuk detail tentang elemen kebijakan dan logika evaluasi, lihat referensi elemen kebijakan IAM JSON di AWS Identity and Access Management Panduan Pengguna.
Kendala khusus layanan berikut berlaku:
-
Hanya basis pengetahuan yang dikelola. Kebijakan sumber daya hanya dapat dilampirkan pada basis pengetahuan jenis
MANAGED. Mencoba melampirkan kebijakan sumber daya ke basis pengetahuanVECTORtipe mengembalikan kesalahan. -
Tindakan yang didukung. Hanya
bedrock:Retrievedanbedrock:GetDocumentContentdapat digunakan dalam kebijakan sumber daya. -
Tidak ada wildcard di Resource atau Action. Anda harus menentukan ARN basis pengetahuan lengkap dalam
Resourceelemen dan secara eksplisit mencantumkan setiap tindakan. Wildcard tidak didukung dalam elemen-elemen ini.
Cara kerja akses lintas akun
Cross-account akses memungkinkan kepala sekolah di AWS akun lain untuk menelepon Retrieve dan GetDocumentContent berdasarkan basis pengetahuan Anda. Untuk akses lintas akun untuk bekerja, kedua kondisi berikut harus dipenuhi:
-
Pemilik basis pengetahuan melampirkan kebijakan sumber daya yang memberikan akses ke kepala sekolah panggilan.
-
Kepala pemanggil memiliki kebijakan berbasis identitas yang memungkinkan tindakan Amazon Bedrock yang sesuai pada basis pengetahuan ARN.
Untuk informasi selengkapnya tentang cara IAM mengevaluasi akses lintas akun, lihat logika evaluasi Cross-account kebijakan di Panduan Pengguna. AWS Identity and Access Management
Contoh: Berikan akses lintas akun
Kebijakan sumber daya berikut memberikan peran IAM tertentu dalam izin akun lain untuk menelepon Retrieve dan: GetDocumentContent
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCrossAccountRetrieve", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::CONSUMER_ACCOUNT_ID:role/service-role-name" }, "Action": [ "bedrock:Retrieve", "bedrock:GetDocumentContent" ], "Resource": "arn:aws:bedrock:REGION:OWNER_ACCOUNT_ID:knowledge-base/KB_ID" } ] }
Memberikan akses ke beberapa prinsipal
Untuk memberikan akses ke beberapa peran yang memakan, cantumkan setiap peran ARN Principal.AWS sebagai array:
"Principal": { "AWS": [ "arn:aws:iam::ACCOUNT_ID_1:role/role-name-1", "arn:aws:iam::ACCOUNT_ID_2:role/role-name-2" ] }
Untuk memberikan akses ke semua prinsipal di akun lain, gunakan root akun sebagai prinsipal:
"Principal": { "AWS": "arn:aws:iam::CONSUMER_ACCOUNT_ID:root" }
Menggunakan pernyataan Deny
Kebijakan sumber daya mendukung keduanya Allow dan Deny efek. Eksplisit Deny dalam kebijakan sumber daya mengesampingkan kebijakan berbasis Allow identitas kepala sekolah.
{ "Sid": "DenySpecificPrincipals", "Effect": "Deny", "Principal": { "AWS": "arn:aws:iam::ACCOUNT_ID:role/role-name" }, "Action": [ "bedrock:Retrieve", "bedrock:GetDocumentContent" ], "Resource": "arn:aws:bedrock:REGION:OWNER_ACCOUNT_ID:knowledge-base/KB_ID" }
Kelola kebijakan sumber daya
Untuk mengelola kebijakan sumber daya berdasarkan basis pengetahuan, kepala IAM pemilik basis pengetahuan memerlukan izin berikut:
| Tindakan | Deskripsi |
|---|---|
bedrock:PutResourcePolicy |
Lampirkan atau perbarui kebijakan berbasis sumber daya pada basis pengetahuan. |
bedrock:GetResourcePolicy |
Lihat kebijakan berbasis sumber daya yang dilampirkan pada basis pengetahuan. |
bedrock:DeleteResourcePolicy |
Hapus kebijakan berbasis sumber daya dari basis pengetahuan. |
Contoh kebijakan untuk pemilik basis pengetahuan
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "bedrock:PutResourcePolicy", "bedrock:GetResourcePolicy", "bedrock:DeleteResourcePolicy" ], "Resource": "arn:aws:bedrock:REGION:ACCOUNT_ID:knowledge-base/KB_ID" } ] }
Operasi API
PutResourcePolicy— Melampirkan atau mengganti kebijakan berbasis sumber daya pada basis pengetahuan.
PUT /resourcepolicy/{knowledgeBaseArn}HTTP/1.1 Content-Type: application/json { "policy": "{policyDocument}" }
policyBidang adalah JSON-escaped string yang berisi dokumen kebijakan.
GetResourcePolicy— Mengembalikan kebijakan berbasis sumber daya yang saat ini dilampirkan ke basis pengetahuan.
GET /resourcepolicy/{knowledgeBaseArn}HTTP/1.1
Mengembalikan ResourceNotFoundException jika tidak ada kebijakan yang dilampirkan.
DeleteResourcePolicy— Menghapus kebijakan berbasis sumber daya dari basis pengetahuan.
DELETE /resourcepolicy/{knowledgeBaseArn}HTTP/1.1
Pembuatan versi kebijakan sumber daya
Saat Anda memanggilPutResourcePolicy, API akan menampilkan sebuah policyRevisionId yang mewakili versi kebijakan saat ini. Anda dapat secara opsional menyertakan ID revisi ini dalam PutResourcePolicy panggilan berikutnya untuk menegakkan penguncian optimis.
-
Jika Anda memberikan
policyRevisionIdyang cocok dengan versi saat ini, pembaruan berhasil dan ID revisi baru dikembalikan. -
Jika Anda memberikan
policyRevisionIdyang tidak cocok dengan versi saat ini (karena prinsipal lain memperbarui kebijakan untuk sementara), panggilan gagal dengan kesalahan konflik. Ambil kebijakan saat ini, gabungkan perubahan, dan coba lagi. -
Jika Anda menghilangkannya
policyRevisionId, kebijakan diganti tanpa syarat terlepas dari modifikasi yang terjadi bersamaan.
Gunakan ID revisi ketika beberapa administrator atau sistem otomatisasi dapat memperbarui kebijakan basis pengetahuan yang sama secara bersamaan, untuk mencegah penimpaan yang tidak disengaja.
Siapkan akun konsumen
Dalam akun konsumsi, lampirkan kebijakan berbasis identitas ke kepala sekolah yang perlu mengakses basis pengetahuan bersama. Kebijakan harus mengizinkan tindakan Amazon Bedrock terkait pada ARN basis pengetahuan di akun pemilik.
Contoh kebijakan berbasis identitas
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "bedrock:Retrieve", "bedrock:GetDocumentContent" ], "Resource": "arn:aws:bedrock:REGION:OWNER_ACCOUNT_ID:knowledge-base/KB_ID" } ] }