View a markdown version of this page

Pembuatan dan pembaruan kebijakan: validasi mesin per kebijakan - Batuan Dasar Amazon AgentCore

Pembuatan dan pembaruan kebijakan: validasi mesin per kebijakan

Saat membuat atau memperbarui kebijakan secara langsung (bukan melalui pembuatan), validasi dan analisis memperhitungkan kebijakan baru serta interaksinya dengan semua kebijakan yang sudah ada sebelumnya di mesin kebijakan.

Cara kerjanya

  1. Kebijakan ini diperiksa terhadap skema Cedar untuk semua gateway yang terkait dengan mesin kebijakan. Pemeriksaan skema selalu berjalan terlepas dari mode validasi.

  2. Jika mode validasi disetel keFAIL_ON_ANY_FINDINGS, validasi semantik berjalan dalam konteks seluruh mesin kebijakan, memeriksa kebijakan yang terlalu permisif, terlalu membatasi, dan tidak efektif. Jika pemeriksaan skema atau validasi semantik menghasilkan temuan, kebijakan tersebut ditolak. Untuk detail tentang setiap pemeriksaan, lihat ikhtisar Validasi dan analisis.

catatan

DenganIGNORE_ALL_FINDINGS, hanya pemeriksaan skema yang dijalankan. Kebijakan diterima selama mereka lulus pemeriksaan skema. Untuk informasi selengkapnya, lihat Menambahkan kebijakan ke Mesin Kebijakan.

Contoh: Membuat kebijakan dengan validasi

Buat kebijakan dengan validasi ketat yang menolak kebijakan dengan temuan apa pun:

aws bedrock-agentcore-control create-policy \ --policy-engine-id MyEngine-abc123 \ --name RestrictRefunds \ --validation-mode FAIL_ON_ANY_FINDINGS \ --definition '{ "cedar": { "statement": "forbid(\n principal,\n action == Action::\"processRefund\",\n resource\n) when {\n context.amount > 1000\n};" } }'

Tanggapan menunjukkan kebijakan sedang dibuat:

{ "policyId": "RestrictRefunds-ghi789", "status": "CREATING" }

Periksa status kebijakan untuk mengonfirmasi validasi yang telah dilewati:

aws bedrock-agentcore-control get-policy \ --policy-engine-id MyEngine-abc123 \ --policy-id RestrictRefunds-ghi789

Ketika validasi berlalu, kebijakan menjadi aktif:

{ "policyId": "RestrictRefunds-ghi789", "status": "ACTIVE", "statusReasons": [] }

Contoh: Kegagalan validasi

Jika kebijakan mereferensikan tindakan yang tidak ada dalam skema gateway terkait, validasi gagal:

aws bedrock-agentcore-control create-policy \ --policy-engine-id MyEngine-abc123 \ --name InvalidPolicy \ --validation-mode FAIL_ON_ANY_FINDINGS \ --definition '{ "cedar": { "statement": "permit(\n principal,\n action == Action::\"nonExistentTool\",\n resource\n);" } }'

Saat Anda memeriksa status kebijakan, respons akan menunjukkan kegagalan validasi:

aws bedrock-agentcore-control get-policy \ --policy-engine-id MyEngine-abc123 \ --policy-id InvalidPolicy-jkl012
{ "policyId": "InvalidPolicy-jkl012", "status": "CREATE_FAILED", "statusReasons": [ "Validation failed: Action 'nonExistentTool' is not defined in the schema for any associated gateway" ] }