View a markdown version of this page

Memahami kebijakan Cedar - Batuan Dasar Amazon AgentCore

Memahami kebijakan Cedar

Kebijakan dalam AgentCore menggunakan kebijakan Cedar untuk mengontrol akses ke alat AgentCore Gateway. Bagian ini menjelaskan struktur kebijakan Cedar, semantik evaluasi, dan konsep kunci.

Contoh kebijakan

Pertimbangkan alat pemrosesan pengembalian dana dengan persyaratan ini:

  • Hanya pengguna “John” yang dapat memproses pengembalian uang

  • Pengembalian dana dibatasi hingga $500 atau kurang

Kebijakan Cedar yang memberlakukan persyaratan ini:

permit( principal is AgentCore::OAuthUser, action == AgentCore::Action::"RefundTool___process_refund", resource == AgentCore::Gateway::"arn:aws:bedrock-agentcore:your-region:your-account-id:gateway/refund-gateway" ) when { principal.hasTag("username") && principal.getTag("username") == "John" && context.input.amount < 500 };

Kebijakan ini memungkinkan pemrosesan pengembalian dana hanya ketika pengguna “John” dan jumlah pengembalian dana kurang dari $500.

Struktur kebijakan

Kebijakan cedar terdiri dari tiga komponen utama:

  1. Efek - Menentukan apakah akan mengizinkan atau menolak akses (permitatauforbid)

  2. Lingkup - Menentukan prinsip, tindakan, dan sumber daya yang berlaku untuk kebijakan

  3. Kondisi - Mendefinisikan logika tambahan yang harus dipenuhi (whenatauunless) dan dapat merujuk ke parameter alat (melalui konteks) dan token OAuth (melalui tag)

Efek kebijakan

Kebijakan Cedar menggunakan dua efek untuk mengontrol akses:

  • permit- Memungkinkan tindakan untuk melanjutkan

  • forbid- Menyangkal tindakan

Blokir secara default

Semua tindakan ditolak secara default. Jika tidak ada kebijakan yang cocok dengan permintaan, Cedar mengembalikan DENY. Anda harus secara eksplisit menulis kebijakan izin untuk mengizinkan tindakan.

Evaluasi otorisasi

Cedar menggunakan model evaluasi izin-penggantian larangan:

  1. Cedar mengevaluasi semua kebijakan yang berlaku untuk permintaan

  2. Jika ada kebijakan larangan yang cocok, hasilnya adalah DENY

  3. Jika setidaknya satu kebijakan izin cocok dan tidak ada kebijakan larangan, hasilnya adalah IZINKAN

  4. Jika tidak ada kebijakan yang cocok, hasilnya adalah DENY (default deny)

Independensi kebijakan

Setiap kebijakan Cedar mengevaluasi secara independen. Evaluasi kebijakan hanya bergantung pada:

  • Ruang lingkup (prinsipal, tindakan, sumber daya)

  • Konteks dan tag

Kebijakan tidak mengacu atau bergantung pada kebijakan lain.

Algoritma evaluasi kebijakan

Ketika permintaan dievaluasi, mesin kebijakan menentukan keputusan otorisasi menggunakan algoritma berikut:

  1. Jika ada forbid kebijakan yang cocok dengan permintaan, keputusannya adalah DENY.

  2. Jika tidak ada forbid kebijakan yang cocok dengan permintaan dan setidaknya satu permit kebijakan yang cocok, keputusannya adalah IZINKAN.

  3. Jika forbid tidak ada permit kebijakan yang sesuai dengan permintaan, keputusannya adalah DENY.

Model evaluasi ini memberlakukan postur penolakan default.

forbidKebijakan tidak akan pernah menghasilkan keputusan ALLOW. unlessKlausul pada forbid kebijakan menentukan kondisi di mana forbid kebijakan tersebut tidak berlaku; itu tidak memberikan izin dan tidak mengesampingkan kebijakan yang cocok. permit