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 Anda untuk menyerap objek yang Anda simpan di sana.

Fitur yang didukung

  • Bidang metadata dokumen melalui file metadata terpisah

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

  • Sinkronisasi konten tambahan 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 Wilayah yang sama AWS 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 lebih umum, lihat Meng onfigurasi 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 pada kebijakan bucket lintas akun. Tunggu 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 mencakup 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 untuk menggunakan metadata dokumen, tentukan awalan Amazon S3 tempat .metadata.json file Anda berada.

  2. Hubungkan sumber data. Buat sumber data Amazon S3 di basis pengetahuan menggunakan API Konsol Manajemen AWS atau. 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
Menyambungkan 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 CreateDataSource permintaan 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 filter awalan dan 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 berisi yang berikut ini:

{ "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 tidak sinkron: 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 tipe konektor diconnectorParameters. Untuk bidang yang membungkus connectorParameters (seperti deletionProtectionConfiguration danmediaExtractionConfiguration), lihatMenghubungkan sumber data.

KoneksiKonfigurasi
Bidang Diperlukan Deskripsi
bucketName Ya Nama bucket 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 dicerna.
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 (.metadata.json) disimpan.
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 Ber globalAccessControlListS3Uri isi — URI Amazon S3 dari file JSON yang memetakan awalan kunci ke entri kontrol akses. Diperlukan kapan aclEnabled adatrue; diabaikan aclEnabled kapanfalse. Lihat Document-level kontrol akses.

Berkas metadata dokumen

Anda dapat melampirkan metadata ke setiap dokumen dengan mengunggah file sidecar 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.