Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Siapkan mesin kueri dan izin untuk membuat basis pengetahuan dengan penyimpanan data terstruktur
Topik ini menjelaskan izin yang Anda perlukan saat menghubungkan basis pengetahuan Anda ke penyimpanan data terstruktur. Jika Anda berencana untuk menghubungkan basis pengetahuan Amazon Bedrock ke penyimpanan data terstruktur, Anda harus memenuhi prasyarat. Untuk persyaratan izin umum yang harus dipenuhi, lihatMenyiapkan izin untuk pengguna atau peran untuk membuat dan mengelola basis pengetahuan.
penting
Mengeksekusi query SQL arbitrer dapat menjadi risiko keamanan untuk Text-to-SQL aplikasi apa pun. Sebaiknya lakukan tindakan pencegahan sesuai kebutuhan, seperti menggunakan peran terbatas, database read-only, dan sandboxing.
Basis Pengetahuan Amazon Bedrock menggunakan Amazon Redshift sebagai mesin kueri untuk menanyakan penyimpanan data Anda. Mesin kueri mengakses metadata dari penyimpanan data terstruktur dan menggunakan metadata untuk membantu menghasilkan kueri SQL. Amazon Redshift adalah layanan gudang data yang menggunakan SQL untuk menganalisis data terstruktur di seluruh gudang data, database, dan danau data.
Buat mesin kueri Amazon Redshift
Anda dapat menggunakan Amazon Redshift Serverless atau Amazon Redshift Provisioned tergantung pada kasus penggunaan Anda, dan terhubung ke grup kerja atau cluster untuk gudang data Anda. Data dasar yang dapat ditanyakan oleh mesin Amazon Redshift dapat berupa data yang disimpan secara asli di cluster Amazon Redshift, atau data yang terletak di bawah default AWS Glue Data Catalog (seperti di Amazon S3 antara lain).
Jika Anda telah membuat mesin kueri, Anda dapat melewati prasyarat ini. Jika tidak, lakukan langkah-langkah berikut untuk mengatur mesin kueri Amazon Redshift yang disediakan atau Amazon Redshift Serverless Anda:
Untuk mengatur mesin kueri di Amazon Redshift disediakan
-
Ikuti prosedur di Langkah 1: Buat contoh cluster Amazon Redshift di Panduan Memulai Amazon Redshift.
-
Perhatikan ID cluster.
-
(Opsional) Untuk informasi selengkapnya tentang cluster yang disediakan Amazon Redshift, lihat cluster yang disediakan Amazon Redshift di Panduan Manajemen Amazon Redshift.
Cara mengatur mesin kueri di Amazon Redshift Serverless
-
Ikuti hanya prosedur penyiapan di Membuat gudang data dengan Amazon Redshift Serverless di Panduan Memulai Amazon Redshift dan konfigurasikan dengan pengaturan default.
-
Perhatikan kelompok kerja ARN.
-
(Opsional) Untuk informasi selengkapnya tentang grup kerja tanpa server Amazon Redshift, lihat Kelompok kerja dan ruang nama di Panduan Manajemen Amazon Redshift.
Konfigurasikan izin mesin kueri Amazon Redshift
Bergantung pada mesin kueri Amazon Redshift yang Anda pilih, Anda dapat mengonfigurasi izin tertentu. Izin yang Anda konfigurasikan bergantung pada metode otentikasi. Tabel berikut menunjukkan metode otentikasi yang dapat digunakan untuk mesin kueri yang berbeda:
| Metode otentikasi | Amazon Redshift Disediakan | Amazon Redshift Tanpa Server |
|---|---|---|
| IAM |
|
|
| Nama pengguna database |
|
|
| AWS Secrets Manager |
|
|
Amazon Bedrock Knowledge Bases menggunakan peran layanan untuk menghubungkan basis pengetahuan ke penyimpanan data terstruktur, mengambil data dari penyimpanan data ini, dan menghasilkan kueri SQL berdasarkan kueri pengguna dan struktur penyimpanan data.
catatan
Jika Anda berencana untuk menggunakan Konsol Manajemen AWS untuk membuat basis pengetahuan, Anda dapat melewati prasyarat ini. Konsol akan membuat peran layanan Amazon Bedrock Knowledge Bases dengan izin yang tepat.
Untuk membuat peran layanan IAM kustom dengan izin yang tepat, ikuti langkah-langkah di Buat peran untuk mendelegasikan izin ke Layanan AWS dan melampirkan hubungan kepercayaan yang ditentukan diHubungan kepercayaan.
Kemudian, tambahkan izin untuk basis pengetahuan Anda untuk mengakses mesin kueri dan database Amazon Redshift Anda. Perluas bagian yang berlaku untuk kasus penggunaan Anda:
Lampirkan kebijakan berikut ke peran layanan kustom Anda untuk mengizinkannya mengakses data Anda dan menghasilkan kueri menggunakannya:
Anda juga perlu menambahkan izin untuk mengizinkan peran layanan Anda untuk mengotentikasi ke mesin kueri. Perluas bagian untuk melihat izin untuk metode itu.
Izin untuk melampirkan tergantung pada metode otentikasi Anda. Perluas bagian untuk melihat izin untuk suatu metode.
Izinkan peran layanan basis pengetahuan untuk mengakses penyimpanan data Anda
Pastikan data Anda disimpan di salah satu penyimpanan data terstruktur yang didukung berikut ini:
Amazon Redshift
AWS Glue Data Catalog (AWS Lake Formation)
Tabel berikut merangkum metode otentikasi yang tersedia untuk mesin kueri, tergantung pada penyimpanan data Anda:
| Metode otentikasi | Amazon Redshift | AWS Glue Data Catalog (AWS Lake Formation) |
|---|---|---|
| IAM |
|
|
| Nama pengguna database |
|
|
| AWS Secrets Manager |
|
|
Untuk mempelajari cara mengatur izin untuk peran layanan Amazon Bedrock Knowledge Bases Anda untuk mengakses penyimpanan data Anda dan menghasilkan kueri berdasarkan itu, perluas bagian yang sesuai dengan layanan tempat penyimpanan data Anda berada:
Untuk memberikan akses peran layanan Amazon Bedrock Knowledge Bases ke database Amazon Redshift Anda, gunakan editor kueri Amazon Redshift v2 dan jalankan perintah SQL berikut:
-
(Jika Anda melakukan otentikasi dengan IAM dan pengguna belum dibuat untuk database Anda) Jalankan perintah berikut, yang menggunakan CREATE USER untuk membuat pengguna database dan mengizinkannya untuk mengotentikasi melalui IAM, diganti
${service-role}dengan nama peran layanan Amazon Bedrock Knowledge Bases kustom yang Anda buat:CREATE USER "IAMR:${service-role}" WITH PASSWORD DISABLE;penting
Jika Anda menggunakan peran layanan Amazon Bedrock Knowledge Bases yang dibuat untuk Anda di konsol dan kemudian menyin kronkan penyimpanan data Anda sebelum Anda melakukan langkah ini, pengguna akan dibuat untuk Anda, tetapi sinkronisasi akan gagal karena pengguna belum diberikan izin untuk mengakses penyimpanan data Anda. Anda harus melakukan langkah berikut sebelum menyinkronkan.
-
Berikan izin identitas untuk mengambil informasi dari database Anda dengan menjalankan perintah GRANT.
penting
Jangan memberikan
CREATE,UPDATE, atauDELETEakses. Memberikan tindakan ini dapat menyebabkan modifikasi data Anda yang tidak diinginkan.Untuk kontrol berbutir lebih halus pada tabel yang dapat diakses, Anda dapat mengganti nama tabel
ALL TABLEStertentu dengan notasi berikut:.${schemaName}${tableName}Untuk informasi selengkapnya tentang notasi ini, lihat bagian objek Query di Cross-database query. -
Jika Anda membuat skema baru di database Redshift, jalankan perintah berikut untuk memberikan izin identitas terhadap skema baru.
GRANT USAGE ON SCHEMA ${schemaName} TO "IAMR:${serviceRole}";
Untuk memberikan akses peran layanan Amazon Bedrock Knowledge Bases ke penyimpanan AWS Glue Data Catalog data Anda, gunakan editor kueri Amazon Redshift v2 dan jalankan perintah SQL berikut:
-
Jalankan perintah berikut, yang menggunakan CREATE USER untuk membuat pengguna database dan mengizinkannya untuk mengotentikasi melalui IAM, menggantikan
${service-role}dengan nama peran layanan Amazon Bedrock Knowledge Bases kustom yang Anda buat:CREATE USER "IAMR:${service-role}" WITH PASSWORD DISABLE;penting
Jika Anda menggunakan peran layanan Amazon Bedrock Knowledge Bases yang dibuat untuk Anda di konsol dan kemudian menyin kronkan penyimpanan data Anda sebelum Anda melakukan langkah ini, pengguna akan dibuat untuk Anda, tetapi sinkronisasi akan gagal karena pengguna belum diberikan izin untuk mengakses penyimpanan data Anda. Anda harus melakukan langkah berikut sebelum menyinkronkan.
-
Berikan izin peran layanan untuk mengambil informasi dari database Anda dengan menjalankan perintah GRANT berikut:
GRANT USAGE ON DATABASE awsdatacatalog TO "IAMR:${serviceRole}";penting
Jangan memberikan
CREATE,UPDATE, atauDELETEakses. Memberikan tindakan ini dapat menyebabkan modifikasi data Anda yang tidak diinginkan. -
Untuk mengizinkan akses ke AWS Glue Data Catalog database Anda, lampirkan izin berikut ke peran layanan:
-
Berikan izin ke peran layanan Anda melalui AWS Lake Formation (untuk mempelajari lebih lanjut tentang Formasi Danau dan hubungannya dengan Amazon Redshift, lihat Sumber data untuk Redshift) dengan melakukan hal berikut:
penting
Anda juga harus menambahkan
lakeformation:GetDataAccesstindakan ke kebijakan IAM peran layanan Amazon Bedrock Knowledge Bases Anda. Tanpa izin ini, kueri ke basis pengetahuan akan gagal dengan kesalahan otorisasi. Tambahkan pernyataan berikut ke kebijakan peran layanan:{ "Effect": "Allow", "Action": "lakeformation:GetDataAccess", "Resource": "*" }-
Masuk ke Konsol Manajemen AWS, dan buka konsol Formasi Danau di https://console.aws.amazon.com/lakeformation/
. -
Pilih Izin data dari panel navigasi kiri.
-
Berikan izin ke peran layanan yang Anda gunakan untuk Basis Pengetahuan Amazon Bedrock.
-
Berikan izin Des kripsikan dan Pilih untuk database dan tabel Anda.
-
-
Bergantung pada sumber data yang Anda gunakan AWS Glue Data Catalog, Anda mungkin perlu menambahkan izin untuk mengakses sumber data tersebut (untuk informasi selengkapnya, lihat AWS Glue ketergantungan pada yang lain Layanan AWS). Misalnya, jika sumber data Anda berada di lokasi Amazon S3, Anda harus menambahkan pernyataan berikut ke kebijakan di atas.
{ "Sid": "Statement1", "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetObject" ], "Resource": [ "arn:aws:s3:::${BucketName}", "arn:aws:s3:::${BucketName}/*" ] } -
(Opsional) Jika Anda menggunakan AWS KMS untuk mengenkripsi data di Amazon S3 atau AWS Glue Data Catalog, maka Anda perlu menambahkan izin ke peran untuk mendekripsi data pada kunci KMS.
{ "Action": [ "kms:Decrypt" ], "Resource": [ "arn:aws:kms:${Region}:${Account}:key/{KmsId}", "arn:aws:kms:${Region}:${Account}:key/{KmsId}" ], "Effect": "Allow" }