Buat peran layanan untuk basis Pengetahuan untuk Amazon Bedrock - Amazon Bedrock

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

Buat peran layanan untuk basis Pengetahuan untuk Amazon Bedrock

Untuk menggunakan peran kustom untuk basis pengetahuan alih-alih yang dibuat Amazon Bedrock secara otomatis, buat peran IAM dan lampirkan izin berikut dengan mengikuti langkah-langkah di Membuat peran untuk mendelegasikan izin ke layanan. AWS Sertakan hanya izin yang diperlukan untuk keamanan Anda sendiri.

  • Hubungan kepercayaan

  • Akses ke model dasar Amazon Bedrock

  • Akses ke sumber data tempat Anda menyimpan data

  • (Jika Anda membuat database vektor di Amazon OpenSearch Service) Akses ke koleksi OpenSearch Layanan Anda

  • (Jika Anda membuat database vektor di Amazon Aurora)

  • (Jika Anda membuat database vektor di Pinecone atauRedis Enterprise Cloud) Izin AWS Secrets Manager untuk mengautentikasi atau akun Anda Pinecone Redis Enterprise Cloud

  • (Opsional) Jika Anda mengenkripsi salah satu sumber daya berikut dengan kunci KMS, izin untuk mendekripsi kunci (lihat). Enkripsi sumber daya basis pengetahuan

    • Basis pengetahuan Anda

    • Sumber data untuk basis pengetahuan Anda

    • Database vektor Anda di Amazon OpenSearch Service

    • Rahasia untuk database vektor pihak ketiga Anda di AWS Secrets Manager

    • Pekerjaan menelan data

Hubungan kepercayaan

Kebijakan berikut memungkinkan Amazon Bedrock untuk mengambil peran ini dan membuat serta mengelola basis pengetahuan. Berikut ini menunjukkan contoh kebijakan yang dapat Anda gunakan. Anda dapat membatasi ruang lingkup izin dengan menggunakan satu atau lebih kunci konteks kondisi global. Untuk informasi selengkapnya, lihat kunci konteks kondisi AWS global. Tetapkan aws:SourceAccount nilainya ke ID akun Anda. Gunakan ArnEquals atau ArnLike kondisi untuk membatasi ruang lingkup ke basis pengetahuan tertentu.

catatan

Sebagai praktik terbaik untuk tujuan keamanan, gantilah * dengan ID basis pengetahuan khusus setelah Anda membuatnya.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "Service": "bedrock.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "account-id" }, "ArnLike": { "AWS:SourceArn": "arn:aws:bedrock:region:account-id:knowledge-base/*" } } }] }

Izin untuk mengakses model Amazon Bedrock

Lampirkan kebijakan berikut untuk memberikan izin bagi peran untuk menggunakan model Amazon Bedrock untuk menyematkan data sumber Anda.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "bedrock:ListFoundationModels", "bedrock:ListCustomModels" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "bedrock:InvokeModel" ], "Resource": [ "arn:aws:bedrock:region::foundation-model/amazon.titan-embed-text-v1", "arn:aws:bedrock:region::foundation-model/cohere.embed-english-v3", "arn:aws:bedrock:region::foundation-model/cohere.embed-multilingual-v3" ] } ] }

Izin untuk mengakses sumber data Anda

Pilih dari sumber data berikut untuk melampirkan izin yang diperlukan untuk peran tersebut.

Izin untuk mengakses sumber data Amazon S3 Anda

Lampirkan kebijakan berikut untuk memberikan izin bagi peran untuk mengakses Amazon S3.

Jika Anda mengenkripsi sumber data dengan AWS KMS kunci, lampirkan izin untuk mendekripsi kunci peran dengan mengikuti langkah-langkah di. Izin untuk mendekripsi AWS KMS kunci Anda untuk sumber data Anda di Amazon S3

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::bucket/path/to/folder", "arn:aws:s3:::bucket/path/to/folder/*" ], "Condition": { "StringEquals": { "aws:PrincipalAccount": "account-id" } } }] }

Izin untuk mengakses sumber data Confluence Anda

catatan

Konektor sumber data pertemuan dalam rilis pratinjau dan dapat berubah sewaktu-waktu.

Lampirkan kebijakan berikut untuk memberikan izin bagi peran untuk mengakses Confluence.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue", "secretsmanager:PutSecretValue" ], "Resource": [ "arn:aws:secretsmanager:your-region:your-account-id:secret:secret-id" ] }, { "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": [ "arn:aws:kms:your-region:your-account-id:key/key-id" ], "Condition": { "StringLike": { "kms:ViaService": [ "secretsmanager.your-region.amazonaws.com" ] } } }, }

Izin untuk mengakses sumber SharePoint data Microsoft Anda

catatan

SharePoint konektor sumber data dalam rilis pratinjau dan dapat berubah.

Lampirkan kebijakan berikut untuk memberikan izin bagi peran yang akan diakses SharePoint.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": [ "arn:aws:secretsmanager:your-region:your-account-id:secret:secret-id" ] }, { "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": [ "arn:aws:kms:your-region:your-account-id:key/key-id" ], "Condition": { "StringLike": { "kms:ViaService": [ "secretsmanager.your-region.amazonaws.com" ] } } }, }

Izin untuk mengakses sumber data Salesforce Anda

catatan

Konektor sumber data Salesforce dalam rilis pratinjau dan dapat berubah sewaktu-waktu.

Lampirkan kebijakan berikut untuk memberikan izin bagi peran untuk mengakses Salesforce.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": [ "arn:aws:secretsmanager:your-region:your-account-id:secret:secret-id" ] }, { "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": [ "arn:aws:kms:your-region:your-account-id:key/key-id" ], "Condition": { "StringLike": { "kms:ViaService": [ "secretsmanager.your-region.amazonaws.com" ] } } }, }

Izin untuk mengobrol dengan dokumen Anda

Lampirkan kebijakan berikut untuk memberikan izin bagi peran untuk menggunakan model Amazon Bedrock untuk mengobrol dengan dokumen Anda:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "bedrock:RetrieveAndGenerate" ], "Resource": "*" } ] }

Jika Anda hanya ingin memberi pengguna akses untuk mengobrol dengan dokumen Anda (dan tidak RetrieveAndGenerate pada semua Pangkalan Pengetahuan), gunakan kebijakan berikut:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "bedrock:RetrieveAndGenerate" ], "Resource": "*" }, { "Effect": "Deny", "Action": [ "bedrock:Retrieve" ], "Resource": "*" } ] }

Jika Anda ingin mengobrol dengan dokumen dan menggunakan RetrieveAndGenerate Basis Pengetahuan tertentu, berikan sisipkan KB ARN, dan gunakan kebijakan berikut:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "bedrock:RetrieveAndGenerate" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "bedrock:Retrieve" ], "Resource": insert KB ARN } ] }

(Opsional) Izin untuk mengakses database vektor Anda di Amazon Service OpenSearch

Jika Anda membuat database vektor di OpenSearch Layanan Amazon untuk basis pengetahuan Anda, lampirkan kebijakan berikut ke basis Pengetahuan Anda untuk peran layanan Amazon Bedrock untuk mengizinkan akses ke koleksi. Ganti wilayah dan akun-id dengan wilayah dan ID akun tempat database berada. Masukkan ID koleksi OpenSearch Layanan Amazon Anda di collection-id. Anda dapat mengizinkan akses ke beberapa koleksi dengan menambahkannya ke Resource daftar.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "aoss:APIAccessAll" ], "Resource": [ "arn:aws:aoss:region:account-id:collection/collection-id" ] }] }

(Opsional) Izin untuk mengakses kluster basis data Amazon Aurora Anda

Jika Anda membuat klaster database (DB) di Amazon Aurora untuk basis pengetahuan Anda, lampirkan kebijakan berikut ke basis Pengetahuan Anda untuk peran layanan Amazon Bedrock untuk mengizinkan akses ke klaster DB dan untuk memberikan izin baca dan tulis di dalamnya. Ganti region dan account-id dengan wilayah dan ID akun tempat cluster DB berada. Masukkan ID cluster database Amazon Aurora Anda. db-cluster-id Anda dapat mengizinkan akses ke beberapa cluster DB dengan menambahkannya ke Resource daftar.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "RdsDescribeStatementID", "Effect": "Allow", "Action": [ "rds:DescribeDBClusters" ], "Resource": [ "arn:aws:rds:region:account-id:cluster:db-cluster-id" ] }, { "Sid": "DataAPIStatementID", "Effect": "Allow", "Action": [ "rds-data:BatchExecuteStatement", "rds-data:ExecuteStatement" ], "Resource": [ "arn:aws:rds:region:account-id:cluster:db-cluster-id" ] }] }

(Opsional) Izin untuk mengakses database vektor yang dikonfigurasi dengan rahasia AWS Secrets Manager

Jika database vektor Anda dikonfigurasi dengan AWS Secrets Manager rahasia, lampirkan kebijakan berikut ke basis Pengetahuan Anda untuk peran layanan Amazon Bedrock AWS Secrets Manager untuk memungkinkan mengautentikasi akun Anda untuk mengakses database. Ganti wilayah dan akun-id dengan wilayah dan ID akun tempat database berada. Ganti secret-id dengan ID rahasia Anda.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": [ "arn:aws:secretsmanager:region:account-id:secret:secret-id" ] }] }

Jika Anda mengenkripsi rahasia Anda dengan AWS KMS kunci, lampirkan izin untuk mendekripsi kunci peran dengan mengikuti langkah-langkah di. Izin untuk mendekripsi AWS Secrets Manager rahasia untuk penyimpanan vektor yang berisi basis pengetahuan Anda

(Opsional) Izin AWS untuk mengelola AWS KMS kunci untuk penyimpanan data sementara selama konsumsi data

Untuk memungkinkan pembuatan AWS KMS kunci penyimpanan data sementara dalam proses pengambilan sumber data Anda, lampirkan kebijakan berikut ke basis Pengetahuan Anda untuk peran layanan Amazon Bedrock. Ganti region, account-id, dan key-id dengan nilai yang sesuai.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": [ "arn:aws:kms:region:account-id:key/key-id" ] } ] }

(Opsional) Izin AWS untuk mengelola sumber data dari AWS akun pengguna lain.

Untuk mengizinkan akses ke AWS akun pengguna lain, Anda harus membuat peran yang memungkinkan akses lintas akun ke bucket Amazon S3 di akun pengguna lain. Ganti BucketName, Id bucketOwnerAccount, bucketNameAnd dan Prefix dengan nilai yang sesuai.

Izin Diperlukan pada peran Basis Pengetahuan

Peran basis pengetahuan yang diberikan selama pembuatan basis pengetahuan createKnowledgeBase memerlukan izin Amazon S3 berikut.

{ "Version": "2012-10-17", "Statement": [{ "Sid": "S3ListBucketStatement", "Effect": "Allow", "Action": [ "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::bucketName" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "bucketOwnerAccountId" } } },{ "Sid": "S3GetObjectStatement", "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::bucketNameAndPrefix/*" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "bucketOwnerAccountId" } }] }

Jika bucket Amazon S3 dienkripsi menggunakan AWS KMS kunci, berikut ini juga perlu ditambahkan ke peran basis pengetahuan. Ganti bucketOwnerAccountId dan wilayah dengan nilai yang sesuai.

{ "Sid": "KmsDecryptStatement", "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": [ "arn:aws:kms:region:bucketOwnerAccountId:key/keyId" ], "Condition": { "StringEquals": { "kms:ViaService": [ "s3.region.amazonaws.com" ] } } }

Izin diperlukan pada kebijakan bucket Amazon S3 lintas akun

Bucket di akun lain memerlukan kebijakan bucket Amazon S3 berikut. Ganti kbRoleArn, BucketName, bucketNameAnddan Prefix dengan nilai yang sesuai.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Example ListBucket permissions", "Effect": "Allow", "Principal": { "AWS": "kbRoleArn" }, "Action": [ "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::bucketName" ] }, { "Sid": "Example GetObject permissions", "Effect": "Allow", "Principal": { "AWS": "kbRoleArn" }, "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::bucketNameAndPrefix/*" ] } ] }

Izin diperlukan pada kebijakan kunci lintas akun AWS KMS

Jika bucket Amazon S3 lintas akun dienkripsi menggunakan AWS KMS kunci di akun tersebut, kebijakan kunci tersebut memerlukan kebijakan AWS KMS berikut. Ganti kbRoleArndan kmsKeyArndengan nilai yang sesuai.

{ "Sid": "Example policy", "Effect": "Allow", "Principal": { "AWS": [ "kbRoleArn" ] }, "Action": [ "kms:Decrypt" ], "Resource": "kmsKeyArn" }