Buat peran layanan untuk Agen 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 Agen untuk Amazon Bedrock

Untuk menggunakan peran layanan kustom untuk agen, bukan 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

  • Kebijakan kepercayaan

  • Kebijakan yang berisi izin berbasis identitas berikut:

    • Akses ke model dasar Amazon Bedrock.

    • Akses ke objek Amazon S3 yang berisi OpenAPI skema untuk grup tindakan di agen Anda.

    • Izin untuk Amazon Bedrock untuk menanyakan basis pengetahuan yang ingin Anda lampirkan ke agen Anda.

    • Jika salah satu situasi berikut berkaitan dengan kasus penggunaan Anda, tambahkan pernyataan ke kebijakan atau tambahkan kebijakan dengan pernyataan ke peran layanan:

Baik Anda menggunakan peran kustom atau tidak, Anda juga perlu melampirkan kebijakan berbasis sumber daya ke fungsi Lambda untuk grup tindakan di agen Anda guna memberikan izin bagi peran layanan untuk mengakses fungsi. Untuk informasi selengkapnya, lihat Kebijakan berbasis sumber daya untuk mengizinkan Amazon Bedrock menjalankan fungsi Lambda grup tindakan.

Hubungan kepercayaan

Kebijakan kepercayaan berikut memungkinkan Amazon Bedrock untuk mengambil peran ini dan membuat serta mengelola agen. Ganti $ {values} seperlunya. Kebijakan ini berisi kunci kondisi opsional (lihat Kunci kondisi untuk Amazon Bedrock dan kunci konteks kondisi AWS global) di Condition bidang yang kami sarankan Anda gunakan sebagai praktik terbaik keamanan.

catatan

Sebagai praktik terbaik untuk tujuan keamanan, gantilah * dengan ID agen tertentu 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}:agent/*" } } }] }

Izin berbasis identitas untuk peran layanan Agen

Lampirkan kebijakan berikut untuk memberikan izin untuk peran layanan, menggantikan $ {values} seperlunya. Kebijakan tersebut berisi pernyataan berikut. Hilangkan pernyataan jika tidak berlaku untuk kasus penggunaan Anda. Kebijakan ini berisi kunci kondisi opsional (lihat Kunci kondisi untuk Amazon Bedrock dan kunci konteks kondisi AWS global) di Condition bidang yang kami sarankan Anda gunakan sebagai praktik terbaik keamanan.

catatan

Jika Anda mengenkripsi agen Anda dengan kunci KMS yang dikelola pelanggan, lihat Enkripsi sumber daya agen untuk izin lebih lanjut yang perlu Anda tambahkan.

  • Izin untuk menggunakan model foundation Amazon Bedrock untuk menjalankan inferensi model pada prompt yang digunakan dalam orkestrasi agen Anda.

  • Izin untuk mengakses skema API grup tindakan agen Anda di Amazon S3. Abaikan pernyataan ini jika agen Anda tidak memiliki grup tindakan.

  • Izin untuk mengakses basis pengetahuan yang terkait dengan agen Anda. Abaikan pernyataan ini jika agen Anda tidak memiliki basis pengetahuan terkait.

  • Izin untuk mengakses basis pengetahuan pihak ketiga (PineconeatauRedis Enterprise Cloud) yang terkait dengan agen Anda. Abaikan pernyataan ini jika basis pengetahuan Anda adalah pihak pertama (Amazon Tanpa OpenSearch Server atau Amazon Aurora) atau jika agen Anda tidak memiliki basis pengetahuan terkait.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Allow model invocation for orchestration", "Effect": "Allow", "Action": [ "bedrock:InvokeModel" ], "Resource": [ "arn:aws:bedrock:${region}::foundation-model/anthropic.claude-v2", "arn:aws:bedrock:${region}::foundation-model/anthropic.claude-v2:1", "arn:aws:bedrock:${region}::foundation-model/anthropic.claude-instant-v1" ] }, { "Sid": "Allow access to action group API schemas in S3", "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::bucket/path/to/schema" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "${account-id}" } } }, { "Sid": "Query associated knowledge bases", "Effect": "Allow", "Action": [ "bedrock:Retrieve", "bedrock:RetrieveAndGenerate" ], "Resource": [ "arn:aws:bedrock:${region}:${account-id}:knowledge-base/knowledge-base-id" ] }, { "Sid": "Associate a third-party knowledge base with your agent", "Effect": "Allow", "Action": [ "bedrock:AssociateThirdPartyKnowledgeBase", ], "Resource": "arn:aws:bedrock:${region}:${account-id}:knowledge-base/knowledge-base-id", "Condition": { "StringEquals" : { "bedrock:ThirdPartyKnowledgeBaseCredentialsSecretArn": "arn:aws:kms:${region}:${account-id}:key/${key-id}" } } } ] }

(Opsional) Kebijakan berbasis identitas untuk mengizinkan Amazon Bedrock menggunakan Throughput yang Disediakan dengan alias agen Anda

Jika Anda mengaitkan Throughput yang Disediakan dengan alias agen Anda, lampirkan kebijakan berbasis identitas berikut ke peran layanan atau tambahkan pernyataan tersebut ke kebijakan. Izin berbasis identitas untuk peran layanan Agen

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Use a Provisioned Throughput in model invocation", "Effect": "Allow", "Action": [ "bedrock:InvokeModel", "bedrock:GetProvisionedModelThroughput" ], "Resource": [ "arn:aws:bedrock:{${region}}:{${account-id}}:${provisioned-model-id}" ] } ] }

(Opsional) Kebijakan berbasis identitas untuk mengizinkan Amazon Bedrock menggunakan pagar pembatas dengan Agen Anda

Jika Anda mengaitkan pagar pembatas dengan agen Anda, lampirkan kebijakan berbasis identitas berikut ke peran layanan atau tambahkan pernyataan tersebut ke kebijakan. Izin berbasis identitas untuk peran layanan Agen

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Apply a guardrail to your agent", "Effect": "Allow", "Action": "bedrock:ApplyGuardrail", "Resource": [ "arn:aws:bedrock:{${region}}:{${account-id}}:guardrail/${guardrail-id}" ] } ] }

(Opsional) Kebijakan berbasis identitas untuk mengizinkan Amazon Bedrock mengakses file dari S3 untuk digunakan dengan interpretasi kode

Jika Anda mengaktifkanAktifkan interpretasi kode di Amazon Bedrock, lampirkan kebijakan berbasis identitas berikut ke peran layanan atau tambahkan pernyataan ke kebijakan dalam Izin berbasis identitas untuk peran layanan Agen.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AmazonBedrockAgentFileAccess", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion", "s3:GetObjectVersionAttributes", "s3:GetObjectAttributes" ], "Resource": [ "arn:aws:s3:::[[customerProvidedS3BucketWithKey]]" ] } ] }

Kebijakan berbasis sumber daya untuk mengizinkan Amazon Bedrock menjalankan fungsi Lambda grup tindakan

Ikuti langkah-langkah di Menggunakan kebijakan berbasis sumber daya untuk Lambda dan lampirkan kebijakan berbasis sumber daya berikut ke fungsi Lambda untuk memungkinkan Amazon Bedrock mengakses fungsi Lambda untuk grup tindakan agen Anda, menggantikan $ {values} seperlunya. Kebijakan ini berisi kunci kondisi opsional (lihat Kunci kondisi untuk Amazon Bedrock dan kunci konteks kondisi AWS global) di Condition bidang yang kami sarankan Anda gunakan sebagai praktik terbaik keamanan.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Allow Amazon Bedrock to access action group Lambda function", "Effect": "Allow", "Principal": { "Service": "bedrock.amazonaws.com" }, "Action": "lambda:InvokeFunction", "Resource": "arn:aws:lambda:${region}:${account-id}:function:function-name", "Condition": { "StringEquals": { "AWS:SourceAccount": "${account-id}" }, "ArnLike": { "AWS:SourceArn": "arn:aws:bedrock:${region}:${account-id}:agent/${agent-id}" } } } ] }