View a markdown version of this page

Enkripsi mesin AgentCore kebijakan Anda dengan kunci KMS yang dikelola pelanggan - Batuan Dasar Amazon AgentCore

Enkripsi mesin AgentCore kebijakan Anda dengan kunci KMS yang dikelola pelanggan

Kebijakan dalam AgentCore menyediakan enkripsi secara default untuk melindungi data pelanggan sensitif saat istirahat menggunakan kunci enkripsi yang AWS dimiliki. Sebagai lapisan perlindungan tambahan, Policy in AgentCore memungkinkan Anda untuk mengenkripsi mesin kebijakan Anda menggunakan AWS Key Management Service (AWS KMS) customer managed keys (CMK). Fungsionalitas ini memastikan perlindungan data sensitif melalui enkripsi saat istirahat, yang membantu Anda:

  • Mengurangi beban operasional di ujung layanan untuk melindungi data sensitif

  • Pertahankan kontrol atas siapa yang dapat melihat detail kebijakan otorisasi Anda melalui kunci terkelola pelanggan AWS KMS Anda sendiri

  • Membangun aplikasi sensitif keamanan yang memenuhi kepatuhan enkripsi yang ketat dan persyaratan peraturan

Bagian berikut menjelaskan cara mengonfigurasi enkripsi untuk mesin kebijakan baru dan mengelola kunci enkripsi Anda.

catatan

Kebijakan dalam AgentCore enkripsi saat istirahat tersedia di semua AWS Wilayah di mana Kebijakan AgentCore tersedia.

AWS Jenis kunci KMS untuk Kebijakan di AgentCore

Kebijakan AgentCore terintegrasi dengan AWS KMS untuk mengelola kunci enkripsi yang digunakan untuk mengenkripsi dan mendekripsi data pelanggan. Untuk mempelajari lebih lanjut tentang jenis dan status kunci, lihat Konsep Layanan Manajemen AWS Kunci di Panduan Pengembang AWS KMS. Saat membuat mesin kebijakan baru, Anda dapat memilih dari jenis kunci AWS KMS berikut untuk mengenkripsi data Anda:

AWS kunci yang dimiliki

Jenis enkripsi default. Policy in AgentCore memiliki kunci tanpa biaya tambahan kepada Anda dan mengenkripsi data sumber daya saat pembuatan. Tidak diperlukan konfigurasi tambahan dalam kode atau aplikasi Anda untuk mengenkripsi atau mendekripsi data Anda menggunakan kunci yang dimiliki oleh Policy di. AgentCore Anda tidak perlu melihat, mengelola, menggunakan, atau mengaudit kunci ini. Untuk informasi selengkapnya, lihat kunci yang AWS dimiliki di Panduan Pengembang AWS KMS.

Kunci yang dikelola pelanggan

Anda membuat, memiliki, dan mengelola kunci di AWS akun Anda. Anda memiliki kontrol penuh atas tombol KMS. AWS Biaya KMS berlaku untuk kunci yang dikelola pelanggan. Untuk informasi selengkapnya, lihat halaman Harga AWS KMS. Untuk informasi selengkapnya tentang jenis kunci, lihat Kunci terkelola pelanggan di Panduan Pengembang AWS KMS.

Saat Anda menentukan kunci terkelola pelanggan untuk enkripsi mesin kebijakan, Kebijakan dalam AgentCore mengenkripsi mesin kebijakan dan semua sumber daya turunannya (kebijakan, pembuatan kebijakan) dengan kunci tersebut. Untuk mengenkripsi mesin kebijakan menggunakan kunci terkelola pelanggan, Anda harus memberikan akses ke Kebijakan AgentCore dalam kebijakan kunci Anda. Kebijakan utama adalah kebijakan berbasis sumber daya yang Anda lampirkan ke kunci yang dikelola pelanggan untuk mengontrol akses ke sana. Lihat Mengotorisasi penggunaan kunci AWS KMS Anda untuk Kebijakan di AgentCore untuk detail selengkapnya.

Selain itu, untuk membuat mesin kebijakan terenkripsi dengan kunci yang dikelola pelanggan, atau untuk melakukan panggilan API ke mesin kebijakan yang dienkripsi oleh kunci yang dikelola pelanggan, pengguna atau peran IAM yang membuat panggilan juga harus memiliki akses ke kunci tersebut. Jika Policy in AgentCore tidak dapat mengakses kunci, keputusan otorisasi apa pun yang melibatkan sumber daya yang dienkripsi oleh kunci tersebut akan ditolak. Ketika Anda tidak memiliki akses ke kunci, Anda tidak akan dapat membaca, memperbarui, atau menghapus sumber daya yang dienkripsi oleh kunci itu, dan setiap panggilan buat untuk memanfaatkan kunci untuk enkripsi akan gagal.

penting

Setelah kunci yang dikelola pelanggan telah digunakan untuk mengenkripsi mesin kebijakan, Anda TIDAK DAPAT memperbarui sumber daya untuk menggunakan kunci yang berbeda untuk enkripsi atau menghapus kunci dari mesin kebijakan tersebut.

Penggunaan AWS KMS dan kunci data dengan Kebijakan di AgentCore

Fitur Kebijakan dalam AgentCore enkripsi saat istirahat menggunakan kunci KMS dan hierarki kunci data untuk melindungi data sumber daya Anda.

catatan

Kebijakan dalam AgentCore mendukung hanya kunci AWS KMS simetris. Anda tidak dapat menggunakan kunci KMS asimetris untuk mengenkripsi Kebijakan Anda di sumber daya. AgentCore

Kebijakan dalam AgentCore menggunakan model berbasis hibah untuk mengakses kunci yang dikelola pelanggan Anda. Saat Anda membuat mesin kebijakan dengan kunci yang dikelola pelanggan, Kebijakan dalam AgentCore melakukan langkah-langkah berikut:

  1. Kebijakan dalam AgentCore memvalidasi kunci untuk memastikannya adalah kunci enkripsi simetris dengan penggunaan ENCRYPT_DECRYPT kunci dan berada dalam status. Enabled

  2. Kebijakan dalam AgentCore menciptakan dua AWS hibah KMS atas nama Anda. Untuk membuat hibah ini, Kebijakan dalam AgentCore panggilan kms:CreateGrant menggunakan identitas Anda melalui Sesi Akses Teruskan (FAS). Karena CreateGrant panggilan dilakukan dengan kredensil Anda melalui FAS, kebijakan kunci AWS KMS Anda harus memberikan kms:CreateGrant izin kepada prinsipal AWS akun Anda (bukan kepada kepala layanan). Hibah itu sendiri kemudian memungkinkan Kebijakan AgentCore untuk melakukan operasi kriptografi atas nama Anda tanpa memerlukan keterlibatan penelepon lebih lanjut.

  3. Semua data kebijakan (kebijakan, pembuatan kebijakan, dan sumber daya terkait di bawah mesin kebijakan) dienkripsi menggunakan kunci yang dikelola pelanggan Anda.

Kedua hibah tersebut melayani tujuan yang berbeda:

Hibah manajemen kebijakan

Digunakan untuk mengelola data kebijakan. Hibah ini memungkinkan mengenkripsi, mendekripsi, dan menghasilkan operasi kunci data untuk membuat, membaca, memperbarui, dan menghapus kebijakan dan sumber daya terkait.

Hibah evaluasi kebijakan

Digunakan untuk evaluasi kebijakan runtime. Hibah ini memungkinkan operasi dekripsi dan enkripsi ulang sehingga mesin kebijakan dapat mengevaluasi kebijakan Cedar terhadap permintaan otorisasi yang masuk.

Kedua hibah dibatasi oleh konteks enkripsi menggunakan kunciaws:bedrock-agentcore-policy:policy-engine-arn, yang mengikat hibah ke sumber daya mesin kebijakan tertentu.

Saat Anda menghapus mesin kebijakan dengan kunci yang dikelola pelanggan, Policy in AgentCore secara otomatis menghentikan kedua hibah tersebut.

penting

Jika Anda perlu mencabut hibah secara manual, selalu mencabut hibah manajemen kebijakan dan hibah evaluasi kebijakan. Mencabut hanya satu hibah tidak sepenuhnya menghapus akses layanan ke kunci Anda dan dapat mengakibatkan perilaku yang tidak konsisten. Anda dapat melihat dan mengelola hibah untuk kunci Anda menggunakan konsol AWS KMS atau perintah CLI list-grants AWS .

Otorisasi penggunaan Anda AWS Kunci KMS untuk Kebijakan di AgentCore

Untuk menggunakan kunci yang dikelola pelanggan dengan Kebijakan di AgentCore, kebijakan kunci AWS KMS Anda harus memberikan izin ke akun Anda AWS . Saat membuat mesin kebijakan, Kebijakan dalam AgentCore panggilan kms:CreateGrant menggunakan identitas Anda melalui Sesi Akses Teruskan (FAS). Akibatnya, kebijakan utama harus memberikan kms:CreateGrant dan izin lain yang diperlukan untuk prinsipal akun Anda (bukan untuk prinsipal layanan) dan menggunakan kms:ViaService kondisi untuk memastikan kunci hanya digunakan melalui Kebijakan di AgentCore.

Minimal, Policy in AgentCore memerlukan izin berikut pada kunci yang dikelola pelanggan:

  • kms:CreateGrant— Buat hibah untuk mengenkripsi, mendekripsi, menghasilkan kunci data, mengenkripsi ulang, dan menjelaskan operasi kunci

  • kms:Decrypt— Dekripsi data yang dienkripsi dengan kunci

  • kms:GenerateDataKey— Menghasilkan kunci data untuk mengenkripsi data kebijakan

  • kms:DescribeKey— Ambil metadata kunci untuk memvalidasi konfigurasi kunci

Memahami konteks sumber

Konteks sumber memberikan informasi tentang pemanggil sumber yang mencoba membuat tindakan AWS KMS terhadap kunci yang diberikan. Ini mencegah kebingungan atau penyalahgunaan data terenkripsi dengan mengikat konteks ke sumber data.

Ketika Kebijakan dalam AgentCore menjalankan operasi AWS KMS melalui hibah atas nama Anda, konteks sumber mengidentifikasi Kebijakan dalam AgentCore sumber daya yang memulai permintaan. Anda dapat menggunakan konteks sumber sebagai kondisi tambahan pada operasi berbasis hibah dalam kebijakan utama Anda untuk membatasi penggunaan kunci pada permintaan yang berasal dari akun atau sumber daya tertentu.

catatan

Kondisi konteks sumber (aws:SourceAccountdanaws:SourceArn) tersedia pada operasi AWS KMS berbasis hibah tetapi tidak pada kms:CreateGrant panggilan, yang menggunakan Sesi Akses Teruskan.

Misalnya, Anda dapat menambahkan aws:SourceAccount dan aws:SourceArn mengkondisikan operasi KMS dan pernyataan validasi dalam kebijakan utama Anda untuk memastikan bahwa operasi ini hanya berhasil ketika permintaan berasal dari akun Anda dan sumber daya mesin kebijakan Anda:

{ "Sid": "Allow Policy for KMS operations with source context", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:root" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "bedrock-agentcore.us-east-1.amazonaws.com", "aws:SourceAccount": "111122223333" }, "StringLike": { "aws:SourceArn": "arn:aws:bedrock-agentcore:us-east-1:111122223333:policy-engine/*", "kms:EncryptionContext:aws:bedrock-agentcore-policy:policy-engine-arn": "arn:aws*:bedrock-agentcore:*:*:policy-engine/*" } } }

Kebijakan utama ini memungkinkan Kebijakan AgentCore untuk melakukan panggilan AWS KMS atas nama Anda melalui hibah, jika akun sumber sama dengan akun tempat kunci KMS ini berada. Nilai-nilai ini harus dapat diverifikasi saat memeriksa log CloudTrail audit untuk kunci KMS. Untuk informasi selengkapnya tentang kunci AWS kondisi global, lihat Menggunakan kunci SourceAccount kondisi aws: SourceArn atau aws: di Panduan Pengembang AWS KMS.

Memahami kms: ViaService

Kunci kms:ViaService kondisi membatasi penggunaan kunci KMS untuk permintaan dari AWS layanan tertentu. Kunci kondisi ini berlaku untuk Sesi Akses Teruskan (FAS). Untuk informasi selengkapnyakms:ViaService, lihat kms: ViaService di Panduan Pengembang AWS KMS.

Dalam kebijakan kunci, kms:ViaService nilai mengikuti formatbedrock-agentcore.REGION.amazonaws.com, di mana REGION adalah AWS Wilayah tempat mesin kebijakan Anda dibuat (misalnya,bedrock-agentcore.us-east-1.amazonaws.com).

Memahami konteks enkripsi

Konteks enkripsi adalah sekumpulan pasangan nilai kunci yang berisi data tambahan yang diautentikasi untuk pemeriksaan integritas enkripsi. Ketika Anda menyertakan konteks enkripsi dalam permintaan untuk mengenkripsi data, AWS KMS secara kriptografis mengikat konteks enkripsi ke data terenkripsi. Untuk mendekripsi data, Anda harus melewati konteks enkripsi yang sama. Untuk informasi selengkapnya, lihat Konteks enkripsi di Panduan Pengembang AWS KMS.

Kebijakan AgentCore menggunakan konteks enkripsi berikut di semua operasi kriptografi AWS KMS dan dapat diverifikasi dalam CloudTrail log saat Kebijakan AgentCore membuat panggilan AWS KMS atas nama Anda untuk proses enkripsi dan dekripsi:

{ "aws:bedrock-agentcore-policy:policy-engine-arn": "arn:aws:bedrock-agentcore:REGION:ACCOUNT_ID:policy-engine/POLICY_ENGINE_ID" }

Anda dapat menggunakan konteks enkripsi ini dalam kondisi kebijakan utama Anda untuk membatasi mesin kebijakan mana yang dapat menggunakan kunci tersebut. Misalnya, kebijakan kunci di bagian berikut menggunakan kms:EncryptionContext kondisi untuk mengizinkan kunci hanya digunakan untuk sumber daya mesin kebijakan.

Selesai AWS Kebijakan kunci KMS

Berdasarkan konsep di bagian sebelumnya, contoh kebijakan kunci berikut memberikan izin yang diperlukan untuk mengenkripsi mesin kebijakan dan menggunakan mesin kebijakan terenkripsi. Kebijakan ini berisi kunci kondisi agar sesuai dengan praktik terbaik keamanan.

penting

Ganti nilai berikut dalam kebijakan kunci: * 111122223333 — Ganti dengan ID AWS akun Anda* us-east-1 — Ganti dengan AWS Wilayah Anda

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Allow Policy to create grants", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/ExampleRole" }, "Action": "kms:CreateGrant", "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "bedrock-agentcore.us-east-1.amazonaws.com", "kms:GrantConstraintType": "EncryptionContextSubset" }, "StringLike": { "kms:EncryptionContext:aws:bedrock-agentcore-policy:policy-engine-arn": "arn:aws*:bedrock-agentcore:*:*:policy-engine/*" }, "ForAllValues:StringEquals": { "kms:GrantOperations": [ "Encrypt", "Decrypt", "GenerateDataKey", "GenerateDataKeyWithoutPlaintext", "ReEncryptFrom", "ReEncryptTo" ] } } }, { "Sid": "Allow Policy for KMS operations", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/ExampleRole" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "bedrock-agentcore.us-east-1.amazonaws.com" }, "StringLike": { "kms:EncryptionContext:aws:bedrock-agentcore-policy:policy-engine-arn": "arn:aws*:bedrock-agentcore:*:*:policy-engine/*" } } }, { "Sid": "Allow Policy for KMS validation", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/ExampleRole" }, "Action": "kms:DescribeKey", "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "bedrock-agentcore.us-east-1.amazonaws.com" } } } ] }

Kebijakan tersebut berisi pernyataan berikut:

Izinkan Kebijakan untuk membuat hibah

Memungkinkan penelepon untuk membuat AWS hibah KMS saat membuat mesin kebijakan. kms:GrantConstraintTypeKondisi ini memastikan bahwa hibah dibatasi oleh konteks enkripsi. ForAllValues:StringEqualsKondisi kms:GrantOperations membatasi hibah hanya untuk operasi kriptografi yang dibutuhkan oleh Kebijakan. AgentCore

Izinkan Kebijakan untuk operasi KMS

Memungkinkan penelepon untuk melakukan dekripsi dan menghasilkan operasi kunci data melalui Kebijakan di. AgentCore Kondisi konteks enkripsi memastikan operasi ini tercakup ke sumber daya mesin kebijakan.

Izinkan Kebijakan untuk validasi KMS

Memungkinkan penelepon untuk mendeskripsikan kunci melalui Kebijakan di AgentCore. Izin ini digunakan selama pembuatan mesin kebijakan untuk memvalidasi bahwa kunci memenuhi persyaratan (penggunaan kunci simetris, diaktifkan, benar).

penting

Berhati-hatilah saat memodifikasi kebijakan kunci AWS KMS untuk kunci yang sudah digunakan oleh Kebijakan di. AgentCore Jika Anda secara tidak sengaja menghapus izin yang diperlukan dari kebijakan utama, Policy in tidak AgentCore akan lagi dapat mendekripsi data kebijakan, dan semua keputusan otorisasi akan ditolak. Setiap operasi yang memerlukan akses ke data terenkripsi (seperti membuat, membaca, memperbarui, atau menghapus kebijakan) juga akan gagal.

Prasyarat untuk mengenkripsi mesin kebijakan Anda

Sebelum mengenkripsi mesin polis Anda, pastikan Anda telah memenuhi prasyarat berikut:

Untuk informasi selengkapnya tentang mengendalikan izin IAM untuk kunci KMS, lihat akses kunci KMS dan izin di Panduan Pengembang KMS. AWS

Membuat mesin kebijakan terenkripsi

Sebelum membuat mesin kebijakan terenkripsi, pastikan bahwa kunci terkelola pelanggan yang Anda gunakan memiliki pernyataan kebijakan kunci yang tepat yang ditetapkan untuk Kebijakan untuk menggunakan kunci AgentCore untuk enkripsi dan dekripsi. Lihat Mengotorisasi penggunaan kunci AWS KMS Anda untuk Kebijakan di AgentCore untuk izin yang diperlukan.

Untuk mengenkripsi mesin kebijakan Anda menggunakan AWS CLI, sertakan --encryption-key-arn parameter saat mengirim create-policy-engine permintaan:

aws bedrock-agentcore-control create-policy-engine \ --name "MyPolicyEngine" \ --description "Policy engine with customer-managed encryption" \ --encryption-key-arn "arn:aws:kms:us-east-1:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab"

Tanggapan tersebut meliputi mesin kebijakan ARN dan status:

{ "policyEngineId": "MyPolicyEngine-abc123", "name": "MyPolicyEngine", "description": "Policy engine with customer-managed encryption", "policyEngineArn": "arn:aws:bedrock-agentcore:us-east-1:123456789012:policy-engine/MyPolicyEngine-abc123", "status": "CREATING", "statusReasons": [], "encryptionKeyArn": "arn:aws:kms:us-east-1:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab", "createdAt": "2026-02-24T12:00:00Z", "updatedAt": "2026-02-24T12:00:00Z" }
catatan

Jika kunci KMS yang digunakan oleh mesin kebijakan Anda dihapus, dinonaktifkan, atau tidak dapat diakses karena kebijakan kunci AWS KMS yang salah, dekripsi sumber daya akan gagal. Hal ini dapat mengakibatkan keputusan otorisasi ditolak. Hilangnya akses dapat bersifat sementara (kebijakan kunci dapat diperbaiki) atau permanen (kunci yang dihapus tidak dapat dipulihkan) tergantung pada keadaan. Kami menyarankan Anda membatasi akses ke operasi penting seperti menghapus atau menonaktifkan kunci KMS. Selain itu, kami menyarankan agar organisasi Anda menyiapkan prosedur akses AWS break-glass untuk memastikan pengguna istimewa Anda dapat mengakses AWS jika Kebijakan tidak dapat diakses. AgentCore

Batasan

Batasan berikut berlaku untuk enkripsi kunci yang dikelola pelanggan untuk mesin kebijakan:

  • Anda tidak dapat menonaktifkan enkripsi untuk mesin kebijakan setelah diaktifkan.

  • Setelah membuat mesin kebijakan tanpa enkripsi, Anda tidak dapat memperbarui mesin kebijakan untuk dienkripsi oleh kunci yang dikelola pelanggan.

  • Setelah Anda membuat mesin kebijakan dengan kunci yang dikelola pelanggan, Anda tidak dapat mengubah kunci atau menghapusnya dari mesin kebijakan tersebut. Anda harus membuat mesin kebijakan baru untuk menggunakan kunci yang berbeda.

  • Enkripsi kunci terkelola pelanggan dikonfigurasi pada tingkat mesin kebijakan. Semua sumber daya di bawah mesin kebijakan, termasuk kebijakan dan pembuatan kebijakan, dienkripsi menggunakan kunci yang dikelola pelanggan yang sama dengan mesin kebijakan. Anda tidak dapat menentukan kunci yang berbeda untuk sumber daya individu dalam mesin kebijakan.

  • Setelah Anda mencabut akses Kebijakan ke kunci yang dikelola pelanggan untuk mesin kebijakan terenkripsi yang ada, semua keputusan otorisasi akan ditolak karena mesin kebijakan tidak dapat lagi mendekripsi data kebijakan. AgentCore

Pemecahan masalah

Bagian ini menjelaskan kesalahan umum terkait kunci terkelola pelanggan yang mungkin Anda temui saat menggunakan Kebijakan AgentCore dan menyediakan langkah-langkah pemecahan masalah untuk mengatasinya.

Akses ditolak: AWS Masalah izin KMS

Kesalahan: “Akses ditolak untuk kunci KMS yang ditentukan. Verifikasi kebijakan utama memberikan izin yang diperlukan.

Ini bisa berarti bahwa pemanggil tidak memiliki izin tindakan kms: * yang diperlukan dalam kebijakan IAM atau kebijakan kunci AWS KMS mereka, atau bahwa kunci yang direferensikan tidak ada atau tidak ada lagi.

Untuk mengatasi masalah ini:

  1. Verifikasi bahwa ARN kunci KMS benar dan kuncinya ada di Wilayah yang ditentukan.

  2. Verifikasi bahwa kebijakan kunci AWS KMS mencakup pernyataan yang diperlukan. Lihat Kebijakan kunci AWS KMS Lengkap.

  3. Verifikasi bahwa kebijakan IAM pemanggil menyertakan izin AWS KMS yang diperlukan (kms:CreateGrant,,,kms:Decrypt). kms:GenerateDataKey kms:DescribeKey

  4. Periksa kms.amazonaws.com peristiwa CloudTrail untuk mengidentifikasi operasi mana yang ditolak dan kepala sekolah mana yang mencobanya.

Pengecualian validasi: AWS Konfigurasi kunci KMS

Kesalahan: “Kunci KMS yang ditentukan tidak dalam keadaan yang dapat digunakan. Verifikasi kunci diaktifkan dan tidak tertunda penghapusan.

Ini berarti bahwa kunci yang direferensikan tidak dapat digunakan untuk enkripsi kunci yang dikelola pelanggan karena konfigurasi saat ini. Alasan yang mungkin termasuk:

  • Kuncinya dinonaktifkan atau penghapusan tertunda.

  • Kuncinya bukan kunci enkripsi simetris.

  • Kunci tidak memiliki penggunaan ENCRYPT_DECRYPT kunci.

Untuk mengatasi masalah ini: Verifikasi bahwa kunci memenuhi prasyarat yang dijelaskan dalam Prasyarat untuk mengenkripsi mesin kebijakan Anda.