Perbedaan antara Izin Terverifikasi Amazon dan bahasa kebijakan Cedar - Izin Terverifikasi Amazon

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Perbedaan antara Izin Terverifikasi Amazon dan bahasa kebijakan Cedar

Izin Terverifikasi Amazon menggunakan mesin bahasa kebijakan Cedar untuk melakukan tugas otorisasi. Namun, ada beberapa perbedaan antara implementasi Cedar asli dan implementasi Cedar yang ditemukan di Izin Terverifikasi. Topik ini mengidentifikasi perbedaan-perbedaan tersebut.

Definisi namespace

Implementasi Izin Terverifikasi dari Cedar memiliki perbedaan berikut dari implementasi Cedar asli:

  • Izin Terverifikasi hanya mendukung satu namespace dalam skema yang ditentukan di penyimpanan kebijakan.

  • Izin Terverifikasi tidak memungkinkan Anda membuat namespace dengan nilai berikut:aws,, amazon atau. cedar

Dukungan template kebijakan

Izin Terverifikasi dan Cedar mengizinkan placeholder dalam lingkup hanya untuk dan. principal resource Namun, Izin Terverifikasi juga tidak mengharuskan principal dan tidak resource dibatasi.

Kebijakan berikut berlaku di Cedar tetapi ditolak oleh Izin Terverifikasi karena tidak principal dibatasi.

permit(principal, action == Action::"view", resource == ?resource);

Kedua contoh berikut ini valid di Cedar dan Izin Terverifikasi karena keduanya principal dan resource memiliki kendala.

permit(principal == User::"alice", action == Action::"view", resource == ?resource);
permit(principal == ?principal, action == Action::"a", resource in ?resource);

Dukungan skema

Izin Terverifikasi mengharuskan semua nama JSON kunci skema menjadi string yang tidak kosong. Cedar memungkinkan string kosong dalam beberapa kasus, seperti untuk properti.

Dukungan jenis ekstensi

Izin Terverifikasi mendukung jenis ekstensi Cedar dalam kebijakan, tetapi saat ini tidak mendukung menyertakannya dalam definisi skema atau sebagai bagian dari entities parameter dan operasi. IsAuthorized IsAuthorizedWithToken

Jenis ekstensi termasuk tipe data titik tetap (decimal) dan alamat IP (ipaddr).

JSONFormat cedar untuk entitas

Pada saat ini, Izin Terverifikasi mengharuskan Anda untuk meneruskan daftar entitas yang akan dipertimbangkan dalam pertanyaan ulang otorisasi menggunakan struktur yang ditentukan untuk EntitiesDefinition, yang merupakan array elemen. EntityItem Izin Terverifikasi saat ini tidak mendukung meneruskan daftar entitas untuk dipertimbangkan dalam permintaan otorisasi dalam format Cedar JSON. Untuk persyaratan khusus memformat entitas Anda untuk digunakan dalam Izin Terverifikasi, lihat. Pemformatan entitas dalam kebijakan di Izin Terverifikasi Amazon

Definisi kelompok aksi

Metode otorisasi Cedar memerlukan daftar entitas untuk dipertimbangkan ketika mengevaluasi permintaan otorisasi terhadap kebijakan.

Anda dapat menentukan tindakan dan kelompok tindakan yang digunakan oleh aplikasi Anda dalam skema. Namun, Cedar tidak menyertakan skema sebagai bagian dari permintaan evaluasi. Sebagai gantinya, Cedar menggunakan skema hanya untuk memvalidasi kebijakan dan templat kebijakan yang Anda kirimkan. Karena Cedar tidak mereferensikan skema selama permintaan evaluasi, bahkan jika Anda mendefinisikan grup tindakan dalam skema, Anda juga harus menyertakan daftar grup tindakan apa pun sebagai bagian dari daftar entitas yang harus diteruskan ke operasi otorisasi. API

Izin Terverifikasi melakukan ini untuk Anda. Setiap grup tindakan yang Anda tentukan dalam skema Anda secara otomatis ditambahkan ke daftar entitas yang Anda berikan sebagai parameter untuk operasi IsAuthorized atauIsAuthorizedWithToken.

Batas panjang dan ukuran

Izin Terverifikasi mendukung penyimpanan dalam bentuk penyimpanan kebijakan untuk menyimpan skema, kebijakan, dan templat kebijakan Anda. Penyimpanan tersebut menyebabkan Izin Terverifikasi memberlakukan beberapa batas panjang dan ukuran yang tidak relevan dengan Cedar.

Objek Batas Izin Terverifikasi (dalam byte) Batas cedar
Ukuran kebijakan¹ 10.000 Tidak ada
Deskripsi kebijakan sebaris 150 Tidak berlaku untuk Cedar
Ukuran templat kebijakan 10.000 Tidak ada
Ukuran skema 10.000 Tidak ada
Jenis entitas 200 Tidak ada
ID Kebijakan 64 Tidak ada
ID Templat Kebijakan 64 Tidak ada
ID Entitas 200 Tidak ada
ID toko kebijakan 64 Tidak berlaku untuk Cedar

¹ Ada batasan untuk kebijakan per penyimpanan kebijakan di Izin Terverifikasi berdasarkan ukuran gabungan prinsip, tindakan, dan sumber daya kebijakan yang dibuat di toko kebijakan. Ukuran total semua kebijakan yang berkaitan dengan satu sumber daya tidak dapat melebihi 200.000 byte. Untuk kebijakan yang ditautkan templat, ukuran templat kebijakan dihitung hanya sekali, ditambah ukuran setiap set parameter yang digunakan untuk membuat instance setiap kebijakan yang ditautkan templat.