View a markdown version of this page

Ruang lingkup kebijakan - Batuan Dasar Amazon AgentCore

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

<TargetName>___<ToolName>

NotesTool___manage_notes

AgentCore Runtime

<TargetName>___<METHOD>:/invocations

StrandsAgentTarget___POST:/invocations

Proksi (HTTP)

<TargetName>___<METHOD>:<uri>

MyAPI___POST:/inference/v1/chat/completions

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