Ruang lingkup kebijakan
Ruang lingkup mendefinisikan kebijakan apa yang berlaku. Setiap kebijakan Cedar menentukan tiga komponen:
permit( principal is AgentCore::OAuthUser, // WHO is making the request action == AgentCore::Action::"...", // WHAT they want to do resource is AgentCore::Gateway::"..." // WHICH resource they want to access )
Entitas dan ruang nama
Cedar menggunakan entitas untuk mewakili prinsip, tindakan, dan sumber daya. Semua entitas di AgentCore Gateway menggunakan AgentCore namespace.
Format entitas: Namespace::EntityType::"identifier"
Principal
Prinsipal mengidentifikasi entitas yang membuat permintaan otorisasi. Jenis utama tergantung pada bagaimana AgentCore Gateway Anda dikonfigurasi untuk otentikasi.
Prinsipal Pengguna OAuth
Saat menggunakan otorisasi OAuth, prinsipal adalah: AgentCore::OAuthUser
principal is AgentCore::OAuthUser
Komponen:
-
principal- Entitas yang membuat permintaan otorisasi -
AgentCore::OAuthUser- Jenis entitas yang mewakili OAuth-authenticated pengguna -
is- Ketik operator cek (cocok dengan OAuthUser entitas apa pun)
Prinsipal adalah pengguna. OAuth-authenticated Setiap pengguna memiliki ID unik dari sub klaim JWT.
Kepala Entitas IAM
Saat menggunakan otorisasi AWS_IAM, prinsipal adalah: AgentCore::IamEntity
principal is AgentCore::IamEntity
Komponen:
-
principal- Entitas yang membuat permintaan otorisasi -
AgentCore::IamEntity- Jenis entitas yang mewakili IAM-authenticated penelepon -
is- Ketik operator cek (cocok dengan apa saja IamEntity)
Prinsipal IAM memiliki id atribut yang berisi IAM ARN pemanggil. Anda dapat menggunakan pencocokan pola pada atribut ini untuk menerapkan kontrol akses berbasis akun atau berbasis peran.
Tindakan
Tindakan menentukan operasi yang diminta:
action == AgentCore::Action::"RefundTool___process_refund"
Komponen:
-
action- Operasi yang diminta -
AgentCore::Action::"RefundTool___process_refund"- Entitas tindakan spesifik -
==- Operator pencocokan yang tepat (hanya tindakan khusus ini)
Tindakan mewakili panggilan alat di MCP AgentCore Gateway. Setiap alat memiliki entitas tindakan yang sesuai.
Nama tindakan berdasarkan jenis target
Pengenal tindakan dalam kebijakan Anda bergantung pada jenis target yang dikonfigurasi di gateway Anda:
| Tipe target | Format tindakan | Contoh |
|---|---|---|
|
MCP |
|
|
|
AgentCore Runtime |
|
|
|
Proksi (HTTP) |
|
|
Beberapa tindakan
Cedar tidak mendukung tindakan wildcard. Setiap tindakan harus direferensikan secara eksplisit menggunakan identifier tindakan yang tepat (). AgentCore::Action::"ToolName___operation" Untuk mengelompokkan beberapa alat di bawah satu aturan, gunakan Target Gateway (Grup Tindakan) dan tulis kebijakan terhadap target tersebut.
Misalnya, untuk mengizinkan akses hanya ke alat yang namanya dimulai dengan Baca, Anda dapat membuat Target Gateway ReadToolsTarget yang disebut yang menyertakan setiap alat tersebut, lalu menulis kebijakan seperti:
permit( principal, action in AgentCore::Action::"ReadToolsTarget", resource == AgentCore::Gateway::"<gateway-arn>" );
Ini akan memungkinkan semua alat yang disertakan dalam target tersebut tergantung pada efek kebijakan.
Sumber daya
Sumber daya mengidentifikasi target permintaan:
resource == AgentCore::Gateway::"arn:aws:bedrock-agentcore:us-west-2:123456789012:gateway/refund-gateway"
Komponen:
-
resource- Target permintaan -
AgentCore::Gateway- Jenis entitas yang mewakili instance gateway -
==- Operator pencocokan yang tepat (cocok dengan AgentCore Gateway khusus ini)
AgentCore Gateway adalah server MCP yang merutekan panggilan alat.
Persyaratan spesifisitas sumber daya
Saat menentukan satu atau beberapa tindakan spesifik, Anda harus menggunakan ARN AgentCore Gateway tertentu:
// Required: Specific Gateway ARN for specific action(s) resource == AgentCore::Gateway::"arn:aws:bedrock-agentcore:us-west-2:123456789012:gateway/refund-gateway"
Ini berlaku untuk:
-
Tindakan tunggal:
action == AgentCore::Action::"ToolName" -
Beberapa tindakan spesifik:
action in [AgentCore::Action::"Tool1", AgentCore::Action::"Tool2"]
Gunakan pemeriksaan tipe hanya saat mencocokkan tindakan apa pun:
// For policies covering any action (not specific tools) resource is AgentCore::Gateway
Contoh:
// Blocks all actions forbid(principal, action, resource); // Allow any CallTool action permit(principal, action in AgentCore::Action::"CallTool", resource is AgentCore::Gateway::"arn:aws:bedrock-agentcore:us-west-2:123456789012:gateway/refund-gateway");
ARN AgentCore Gateway Khusus menyediakan:
-
Isolasi keamanan antara instance AgentCore Gateway
-
Pemisahan lingkungan produksi dan pengembangan
-
Fine-grained kontrol akses per AgentCore Gateway