

# Kendala skema
<a name="policy-schema-constraints"></a>

Kebijakan untuk Amazon Bedrock AgentCore Gateway harus memvalidasi skema Cedar tertentu yang dibuat secara otomatis dari manifes alat MCP Gateway. Skema ini mendefinisikan apa yang mungkin dalam kebijakan Anda.

**Topics**
+ [Jenis Utama](#policy-principal-type)
+ [Jenis Sumber Daya](#policy-resource-type)
+ [Tindakan](#policy-actions)
+ [Konteks](#policy-context)
+ [Apa yang Tidak Dapat Anda Lakukan](#policy-limitations)

## Jenis Utama
<a name="policy-principal-type"></a>

Jenis utama bergantung pada metode otentikasi yang dikonfigurasi untuk AgentCore Gateway Anda:

 `AgentCore::OAuthUser`   
+ Digunakan untuk OAuth-authenticated gateway
+ Memiliki `id` atribut (dari sub klaim JWT)
+ Mendukung tag untuk klaim OAuth (nama pengguna, ruang lingkup, peran, dll.)

 `AgentCore::IamEntity`   
+ Digunakan untuk IAM-authenticated gateway (AWS\_IAM authorizer)
+ Memiliki `id` atribut yang berisi IAM ARN pemanggil
+ Tidak mendukung tag; gunakan pencocokan pola `principal.id` untuk kontrol akses

## Jenis Sumber Daya
<a name="policy-resource-type"></a>
+ Harus `AgentCore::Gateway` 
+ Merupakan contoh MCP Gateway
+ Dapat dicocokkan dengan tipe (`is`) atau `==` ARN () tertentu
+ Harus menggunakan ARN tertentu untuk merujuk pada tindakan tertentu

## Tindakan
<a name="policy-actions"></a>
+ Setiap alat MCP menjadi tindakan: `AgentCore::Action::"ToolName"` 
+ Semua tindakan alat mewarisi dari CallTool → hierarki Mcp
+ Contoh: `Action::"RefundTool___process_refund"` adalah CallTool

## Konteks
<a name="policy-context"></a>
+ Hanya konteks yang tersedia `context.input` 
+ Berisi parameter masukan alat seperti yang didefinisikan dalam manifes MCP
+ Setiap alat memiliki struktur input yang diketik (misalnya, RefundTool \_\_\_process\_refundInput)
+ Jenis parameter secara otomatis dipetakan dari JSON Schema ke tipe Cedar:
  + string → String
  + bilangan bulat → Panjang
  + boolean → Bool
  + nomor → Desimal

## Apa yang Tidak Dapat Anda Lakukan
<a name="policy-limitations"></a>
+ Tidak dapat mereferensikan jenis entitas di luar AgentCore namespace
+ Tidak dapat mengakses bidang konteks selain `context.input` (hanya `context.output` dapat digunakan dengan pagar pembatas)
+ Tidak dapat menggunakan atribut khusus pada OAuthUser (gunakan tag sebagai gantinya)
+ Tidak dapat menentukan tipe entitas baru dalam kebijakan