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

Untuk membuat dan mengelola alur di Amazon Bedrock, Anda harus menggunakan peran layanan dengan izin yang diperlukan yang diuraikan di halaman ini. Anda dapat menggunakan peran layanan yang dibuat Amazon Bedrock secara otomatis untuk Anda di konsol atau menggunakan salah satu yang Anda sesuaikan sendiri.

catatan

Jika Anda menggunakan peran layanan yang dibuat Amazon Bedrock secara otomatis untuk Anda di konsol, itu akan melampirkan izin secara dinamis jika Anda menambahkan node ke alur Anda dan menyimpan alur. Namun, jika Anda menghapus node, izin tidak akan dihapus, jadi Anda harus menghapus izin yang tidak lagi Anda perlukan. Untuk mengelola izin untuk peran yang dibuat untuk Anda, ikuti langkah-langkah di Memodifikasi peran dalam IAM Panduan Pengguna.

Untuk membuat peran layanan kustom untuk Amazon Bedrock Flows, buat IAM peran dengan mengikuti langkah-langkah di Membuat peran untuk mendelegasikan izin ke layanan. AWS Kemudian lampirkan izin berikut ke peran.

  • Kebijakan kepercayaan

  • Izin berbasis identitas berikut:

    • Akses ke model dasar Amazon Bedrock yang akan digunakan aliran. Tambahkan setiap model yang digunakan dalam alur ke Resource daftar.

    • Jika Anda memanggil model menggunakan Provisioned Throughput, izin untuk mengakses dan memanggil model yang disediakan. Tambahkan setiap model yang digunakan dalam alur ke Resource daftar.

    • Jika Anda memanggil model kustom, izin untuk mengakses dan memanggil model kustom. Tambahkan setiap model yang digunakan dalam alur ke Resource daftar.

    • Izin berdasarkan node yang Anda tambahkan ke alur:

      • Jika Anda menyertakan node prompt yang menggunakan prompt dari manajemen Prompt, Anda memerlukan izin untuk mengakses prompt. Tambahkan setiap prompt yang digunakan dalam alur ke Resource daftar.

      • Jika Anda menyertakan node basis pengetahuan, Anda memerlukan izin untuk menanyakan basis pengetahuan. Tambahkan setiap basis pengetahuan yang ditanyakan dalam alur ke Resource daftar.

      • Jika Anda menyertakan node agen, Anda memerlukan izin untuk memanggil alias agen. Tambahkan setiap agen yang dipanggil dalam alur ke Resource daftar.

      • Jika Anda menyertakan node pengambilan S3, Anda memerlukan izin untuk mengakses bucket Amazon S3 dari mana data akan diambil. Tambahkan setiap bucket dari mana data diambil ke Resource daftar.

      • Jika Anda menyertakan node penyimpanan S3, Anda memerlukan izin untuk menulis ke bucket Amazon S3 tempat data keluaran akan disimpan. Tambahkan setiap bucket ke mana data ditulis ke Resource daftar.

      • Jika Anda menyertakan pagar pembatas untuk node basis pengetahuan atau simpul prompt, Anda memerlukan izin untuk menerapkan pagar pembatas dalam alur. Tambahkan setiap pagar pembatas yang digunakan dalam alur ke daftar. Resource

      • Jika Anda menyertakan node Lambda, Anda memerlukan izin untuk menjalankan fungsi Lambda. Tambahkan setiap fungsi Lambda yang perlu dipanggil ke daftar. Resource

      • Jika Anda menyertakan node Amazon Lex, Anda memerlukan izin untuk menggunakan bot Amazon Lex. Tambahkan setiap alias bot yang perlu digunakan ke Resource daftar.

      • Jika Anda mengenkripsi sumber daya apa pun yang dipanggil dalam alur, Anda memerlukan izin untuk mendekripsi kunci. Tambahkan setiap tombol ke Resource daftar.

  • Jika Anda mengenkripsi alur, Anda juga perlu melampirkan kebijakan kunci ke KMS kunci yang Anda gunakan untuk mengenkripsi alur.

catatan

Perubahan berikut baru-baru ini diterapkan:

  • Sebelumnya, AWS Lambda dan sumber daya Amazon Lex dipanggil menggunakan prinsipal layanan Amazon Bedrock. Perilaku ini berubah untuk alur yang dibuat setelah 2024-11-22 dan peran layanan Amazon Bedrock Flows akan digunakan untuk memanggil sumber daya Amazon Lex dan Amazon AWS Lambda . Jika Anda membuat alur apa pun yang menggunakan salah satu sumber daya ini sebelum 2024-11-22, Anda harus memperbarui peran layanan Amazon Bedrock Flows dengan izin Amazon AWS Lambda Lex.

  • Sebelumnya, sumber daya manajemen Prompt dirender menggunakan bedrock:GetPrompt tindakan. Perilaku ini berubah untuk alur yang dibuat setelah 2024-11-22 dan bedrock:RenderPrompt tindakan akan digunakan untuk merender sumber daya prompt. Jika Anda membuat alur apa pun yang menggunakan sumber daya prompt sebelum 2024-11-22, Anda harus memperbarui peran layanan Amazon Bedrock Flows dengan izin. bedrock:RenderPrompt

Jika Anda menggunakan peran layanan yang dibuat Amazon Bedrock secara otomatis untuk Anda di konsol, Amazon Bedrock akan melampirkan izin yang dikoreksi secara dinamis saat Anda menyimpan alur.

Hubungan kepercayaan

Lampirkan kebijakan kepercayaan berikut ke peran eksekusi flow untuk memungkinkan Amazon Bedrock mengambil peran ini dan mengelola alur. 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, ganti * dengan ID aliran setelah Anda membuatnya.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "FlowsTrustBedrock", "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}:flow/*" } } } ] }

Izin berbasis identitas untuk peran layanan flow.

Lampirkan kebijakan berikut untuk memberikan izin untuk peran layanan, ganti 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.

  • Akses ke model dasar Amazon Bedrock yang akan digunakan aliran. Tambahkan setiap model yang digunakan dalam alur ke Resource daftar.

  • Jika Anda memanggil model menggunakan Provisioned Throughput, izin untuk mengakses dan memanggil model yang disediakan. Tambahkan setiap model yang digunakan dalam alur ke Resource daftar.

  • Jika Anda memanggil model kustom, izin untuk mengakses dan memanggil model kustom. Tambahkan setiap model yang digunakan dalam alur ke Resource daftar.

  • Izin berdasarkan node yang Anda tambahkan ke alur:

    • Jika Anda menyertakan node prompt yang menggunakan prompt dari manajemen Prompt, Anda memerlukan izin untuk mengakses prompt. Tambahkan setiap prompt yang digunakan dalam alur ke Resource daftar.

    • Jika Anda menyertakan node basis pengetahuan, Anda memerlukan izin untuk menanyakan basis pengetahuan. Tambahkan setiap basis pengetahuan yang ditanyakan dalam alur ke Resource daftar.

    • Jika Anda menyertakan node agen, Anda memerlukan izin untuk memanggil alias agen. Tambahkan setiap agen yang dipanggil dalam alur ke Resource daftar.

    • Jika Anda menyertakan node pengambilan S3, Anda memerlukan izin untuk mengakses bucket Amazon S3 dari mana data akan diambil. Tambahkan setiap bucket dari mana data diambil ke Resource daftar.

    • Jika Anda menyertakan node penyimpanan S3, Anda memerlukan izin untuk menulis ke bucket Amazon S3 tempat data keluaran akan disimpan. Tambahkan setiap bucket ke mana data ditulis ke Resource daftar.

    • Jika Anda menyertakan pagar pembatas untuk node basis pengetahuan atau simpul prompt, Anda memerlukan izin untuk menerapkan pagar pembatas dalam alur. Tambahkan setiap pagar pembatas yang digunakan dalam alur ke daftar. Resource

    • Jika Anda menyertakan node Lambda, Anda memerlukan izin untuk menjalankan fungsi Lambda. Tambahkan setiap fungsi Lambda yang perlu dipanggil ke daftar. Resource

    • Jika Anda menyertakan node Amazon Lex, Anda memerlukan izin untuk menggunakan bot Amazon Lex. Tambahkan setiap alias bot yang perlu digunakan ke Resource daftar.

    • Jika Anda mengenkripsi sumber daya apa pun yang dipanggil dalam alur, Anda memerlukan izin untuk mendekripsi kunci. Tambahkan setiap tombol ke Resource daftar.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "InvokeModel", "Effect": "Allow", "Action": [ "bedrock:InvokeModel" ], "Resource": [ "arn:aws:bedrock:${region}::foundation-model/${model-id}" ] }, { "Sid": "InvokeProvisionedThroughput", "Effect": "Allow", "Action": [ "bedrock:InvokeModel", "bedrock:GetProvisionedModelThroughput" ], "Resource": [ "arn:aws:bedrock:${region}:${account-id}:provisioned-model/${model-id}" ] }, { "Sid": "InvokeCustomModel", "Effect": "Allow", "Action": [ "bedrock:InvokeModel", "bedrock:GetCustomModel" ], "Resource": [ "arn:aws:bedrock:${region}:${account-id}:custom-model/${model-id}" ] }, { "Sid": "UsePromptFromPromptManagement", "Effect": "Allow", "Action": [ "bedrock:RenderPrompt" ], "Resource": [ "arn:aws:bedrock:${region}:${account-id}:prompt/${prompt-id}" ] }, { "Sid": "QueryKnowledgeBase", "Effect": "Allow", "Action": [ "bedrock:Retrieve", "bedrock:RetrieveAndGenerate" ], "Resource": [ "arn:aws:bedrock:${region}:${account-id}:knowledge-base/knowledge-base-id" ] }, { "Sid": "InvokeAgent", "Effect": "Allow", "Action": [ "bedrock:InvokeAgent" ], "Resource": [ "arn:aws:bedrock:${region}:${account-id}:agent-alias/${agent-alias-id}" ] }, { "Sid": "AccessS3Bucket", "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::${bucket-name}/*" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "${account-id}" } } }, { "Sid": "WriteToS3Bucket", "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::${bucket-name}", "arn:aws:s3:::${bucket-name}/*" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "${account-id}" } } }, { "Sid": "GuardrailPermissions", "Effect": "Allow", "Action": "Action": [ "bedrock:ApplyGuardrail" ], "Resource": [ "arn:${Partition}:bedrock:${Region}:${Account}:guardrail/${GuardrailId}" ] }, { "Sid": "LambdaPermissions", "Effect": "Allow", "Action": [ "lambda:InvokeFunction" ], "Resource": [ "arn:aws:lambda:${region}:${account-id}:function:${function-name}" ] }, { "Sid": "AmazonLexPermissions", "Effect": "Allow", "Action": [ "lex:RecognizeUtterance" ], "Resource": [ "arn:aws:lex:${region}:${account-id}:bot-alias/${bot-id}/${bot-alias-id}" ] }, { "Sid": "KMSPermissions", "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": [ "arn:aws:kms:${region}:${account-id}:key/${key-id}" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "${account-id}" } } } ] }

Kebijakan utama untuk mengizinkan Amazon Bedrock mengenkripsi dan mendekripsi alur

Ikuti langkah-langkah di Membuat kebijakan kunci dan lampirkan kebijakan kunci berikut ke KMS kunci untuk memungkinkan Amazon Bedrock mengenkripsi dan mendekripsi alur dengan kunci, menggantikan yang diperlukan. values 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.

{ "Sid": "EncryptFlowKMS", "Effect": "Allow", "Principal": { "Service": "bedrock.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*", "Condition": { "StringEquals": { "kms:EncryptionContext:aws:bedrock-flows:arn": "arn:${partition}:bedrock:${region}:${account-id}:flow/${flow-id}" } } }