View a markdown version of this page

Amazon S3 - Amazon Bedrock

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Amazon S3

Amazon S3 adalah layanan penyimpanan objek yang menyimpan data sebagai objek dalam bucket. Anda dapat menghubungkan bucket Amazon S3 sebagai sumber data untuk basis pengetahuan terkelola untuk menelan objek yang Anda simpan di sana.

Fitur yang didukung

  • Dokumentasikan bidang metadata melalui file metadata terpisah

  • Filter konten inklusi dan pengecualian menggunakan pola file dan awalan kunci S3

  • Konten tambahan disinkronkan untuk konten yang ditambahkan, diperbarui, dan dihapus

  • Cross-account Akses bucket Amazon S3

  • Document-level kontrol akses (ACL), dengan file ACL yang disediakan pelanggan

Prasyarat

Di Amazon S3, pastikan Anda:

  • Perhatikan nama bucket Amazon S3 dan ID AWS akun pemilik bucket. Bucket harus berupa bucket Tujuan Umum di AWS Wilayah yang sama dengan basis pengetahuan Anda, dan Anda harus memiliki izin untuk mengaksesnya.

  • Jika bucket berada di AWS akun yang berbeda dari basis pengetahuan, atau jika dienkripsi dengan kunci KMS yang dikelola pelanggan, konfigurasikan kebijakan bucket dan (jika berlaku) kebijakan kunci KMS untuk mengizinkan akses dari peran layanan basis pengetahuan Anda. Lihat Kebijakan bucket untuk lintas akun dan akses KMS-encrypted.

Di AWS akun Anda, pastikan Anda:

  • Sertakan izin yang diperlukan untuk terhubung ke sumber data Anda dalam role/permissions kebijakan AWS Identity and Access Management (IAM) untuk basis pengetahuan Anda. Untuk informasi tentang izin yang diperlukan, lihatIzin untuk mengakses sumber data Anda.

Kebijakan bucket untuk lintas akun dan akses KMS-encrypted

Jika bucket Amazon S3 Anda berada di AWS akun yang berbeda dari basis pengetahuan Anda, atau jika dienkripsi dengan kunci KMS yang dikelola pelanggan, tambahkan kebijakan berbasis sumber daya untuk memberikan akses peran layanan basis pengetahuan Anda. Contoh berikut menunjukkan pernyataan minimum yang diperlukan.

Cross-account kebijakan bucket

Di akun yang memiliki bucket Amazon S3, tambahkan pernyataan berikut ke kebijakan bucket. Ganti kb-account-id dengan ID akun tempat basis pengetahuan Anda dibuat, kb-service-role dengan nama peran layanan basis pengetahuan Anda, dan bucket-name dengan nama bucket Anda.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowBedrockKnowledgeBaseAccess", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::kb-account-id:role/kb-service-role" }, "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::bucket-name", "arn:aws:s3:::bucket-name/*" ] } ] }

Untuk panduan umum lainnya, lihat Mengonfigurasi akses ke bucket Amazon S3.

Kebijakan kunci KMS untuk bucket terenkripsi

Jika bucket Amazon S3 Anda dienkripsi dengan kunci KMS yang dikelola pelanggan, tambahkan pernyataan berikut ke kebijakan kunci. Gunakan placeholder yang sama seperti dalam kebijakan bucket lintas akun. Biarkan beberapa menit agar perubahan kebijakan utama menyebar.

{ "Sid": "AllowBedrockKnowledgeBaseKmsAccess", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::kb-account-id:role/kb-service-role" }, "Action": [ "kms:Decrypt", "kms:DescribeKey" ], "Resource": "*" }

Di "Resource": "*" sini cakupan kunci yang dilampirkan kebijakan.

Cara mengatur sumber data Amazon S3

Menyiapkan sumber data Amazon S3 melibatkan langkah-langkah berikut:

  1. Siapkan ember Anda. Konfirmasikan nama bucket, ID akun, dan (untuk akses lintas akun) kebijakan bucket. Jika Anda berencana menggunakan metadata dokumen, tentukan awalan Amazon S3 tempat file Anda tinggal. .metadata.json

  2. Connect sumber data. Buat sumber data Amazon S3 di basis pengetahuan menggunakan Konsol Manajemen AWS atau API. Lihat Buat sumber data.

  3. (Opsional) Aktifkan kontrol akses tingkat dokumen. Filter hasil kueri berdasarkan izin pengguna yang ditentukan dalam file ACL yang disediakan pelanggan. Lihat Document-level kontrol akses.

Buat sumber data

Console
Untuk menghubungkan bucket Amazon S3 ke basis pengetahuan terkelola
  1. Di bawah Sumber data, berikan nama untuk sumber data Anda.

  2. Pilih Amazon S3 dari dropdown sumber data.

  3. Di bawah Lokasi sumber data, pilih apakah bucket Amazon S3 ada di akun AWS ini atau akun AWS Lainnya.

  4. Masukkan URI Amazon S3 dari bucket Anda. Anda dapat memilih Browse S3 untuk memilih bucket.

  5. (Opsional) Masukkan awalan file Metadata — awalan Amazon S3 tempat file metadata dokumen () .metadata.json disimpan untuk sumber data ini.

  6. (Opsional) Perluas pola filter awalan S3 untuk menyertakan atau mengecualikan jalur tertentu.

  7. (Opsional) Perluas pola filter File untuk menambahkan pola regex untuk menyertakan atau mengecualikan file tertentu.

  8. (Opsional) Untuk mengaktifkan kontrol akses tingkat dokumen, pilih Kontrol akses dokumen dengan ACL dan berikan URI Amazon S3 dari file ACL global Anda. Opsi ini tidak dapat diubah setelah pembuatan. Lihat perinciannya di Document-level kontrol akses.

API

Untuk membuat sumber data Amazon S3, kirim CreateDataSourcepermintaan dengan titik akhir waktu pembuatan Agen untuk Amazon Bedrock. AWS Command Line Interface Contoh berikut membuat sumber data untuk bucket di akun yang sama, dengan awalan dan filter pola. Untuk deskripsi setiap bidang, lihat referensi parameter konektor berikut.

aws bedrock-agent create-data-source \ --name "S3-connector" \ --knowledge-base-id "your-knowledge-base-id" \ --data-source-configuration file://s3-managed-connector.json

s3-managed-connector.jsonFile tersebut berisi yang berikut:

{ "type": "MANAGED_KNOWLEDGE_BASE_CONNECTOR", "managedKnowledgeBaseConnectorConfiguration": { "connectorParameters": { "type": "S3", "version": "1", "connectionConfiguration": { "bucketName": "my-knowledge-base-bucket", "bucketOwnerAccountId": "123456789012" }, "filterConfiguration": { "inclusionPrefixes": ["documents/"], "inclusionPatterns": [".*\\.pdf", ".*\\.txt"], "exclusionPatterns": [".*\\.tmp"] }, "metadataFilesPrefix": "metadata/" } } }

Untuk mengaktifkan kontrol akses tingkat dokumen, atur aclEnabled ke true dan tambahkan dengan. aclConfiguration globalAccessControlListS3Uri Lihat Document-level kontrol akses.

Untuk basis pengetahuan terkelola, CreateDataSource asinkron: transisi status sumber data dari CREATING ke AVAILABLE saat operasi selesai.

Parameter konektor

Konfigurasi sumber data menggunakan parameter konektor berikut. Untuk menyambung ke Amazon S3, tentukan S3 sebagai konektor ketik. connectorParameters Untuk bidang yang membungkus connectorParameters (seperti deletionProtectionConfiguration danmediaExtractionConfiguration), lihatConnect sumber data.

ConnectionConfiguration
Bidang Diperlukan Deskripsi
bucketName Ya Nama ember Amazon S3.
bucketOwnerAccountId Bersyarat ID AWS akun pemilik bucket. Diperlukan untuk akses lintas akun.
FilterConfiguration (opsional)
Bidang Diperlukan Deskripsi
inclusionPrefixes Tidak Daftar awalan kunci Amazon S3 untuk disertakan (misalnya,). documents/
exclusionPrefixes Tidak Daftar awalan kunci Amazon S3 untuk dikecualikan (misalnya,). archive/
inclusionPatterns Tidak Daftar ekspresi reguler. Hanya objek yang kuncinya cocok dengan setidaknya satu pola yang dicerna.
exclusionPatterns Tidak Daftar ekspresi reguler. Objek yang kuncinya cocok dengan pola apa pun tidak tertelan.
maxFileSizeInMegaBytes Tidak Ukuran maksimum, dalam megabyte, dari setiap file tunggal yang dicerna konektor. Berikan sebagai string numerik (misalnya,"500"). Default ke "500".
Top-level parameter konektor (opsional)
Bidang Diperlukan Deskripsi
metadataFilesPrefix Tidak Awalan Amazon S3 tempat file metadata dokumen () disimpan. .metadata.json
aclEnabled Tidak Setel true untuk mengaktifkan kontrol akses tingkat dokumen. Anda tidak dapat mengubah pengaturan ini setelah Anda membuat sumber data. Lihat perinciannya di Document-level kontrol akses.
aclConfiguration Bersyarat Berisi globalAccessControlListS3Uri — URI Amazon S3 dari file JSON yang memetakan awalan kunci untuk mengakses entri kontrol. Diperlukan kapan aclEnabledtrue; diabaikan kapan aclEnabledfalse. Lihat Document-level kontrol akses.

Dokumentasikan file metadata

Anda dapat melampirkan metadata ke setiap dokumen dengan mengunggah file sespan di sampingnya. Untuk setiap dokumen, buat file bernama filename.extension.metadata.json di jalur Amazon S3 yang sama. File metadata tidak boleh melebihi 10 KB. Misalnya, di sampingreport.pdf, unggah report.pdf.metadata.json dengan konten berikut:

{ "metadataAttributes": { "company": { "value": { "type": "STRING", "stringValue": "BioPharm Innovations" } }, "created_date": { "value": { "type": "NUMBER", "numberValue": 20221205 } }, "author": { "value": { "type": "STRING", "stringValue": "Lisa Thompson" } } } }

Untuk informasi tentang tipe data atribut yang didukung dan operator pemfilteran yang dapat Anda terapkan pada waktu kueri, lihat Metadata dan pemfilteran.