Pemformatan entitas dalam kebijakan di Izin Terverifikasi Amazon - Izin Terverifikasi Amazon

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

Pemformatan entitas dalam kebijakan di Izin Terverifikasi Amazon

Izin Terverifikasi Amazon menggunakan bahasa kebijakan Cedar untuk membuat kebijakan. Sintaks kebijakan dan tipe data yang didukung cocok dengan sintaks dan tipe data yang diuraikan dalam konstruksi kebijakan dasar di tipe Cedar dan Data yang didukung oleh topik Cedar dalam Panduan Referensi bahasa kebijakan Cedar. Namun, ada perbedaan antara Izin Terverifikasi dan Cedar dalam pemformatan entitas saat membuat permintaan otorisasi.

JSONPemformatan entitas dalam Izin Terverifikasi berbeda dari Cedar dengan cara berikut:

  • Dalam Izin Terverifikasi, JSON objek harus memiliki semua pasangan nilai kunci-nya yang dibungkus dalam JSON objek dengan nama. Record

  • JSONDaftar di Izin Terverifikasi harus dibungkus dalam pasangan JSON kunci-nilai di mana nama kunci berada Set dan nilainya adalah JSON daftar asli dari Cedar.

  • UntukString,Long, dan Boolean jenis nama, setiap pasangan kunci-nilai dari Cedar digantikan oleh JSON objek di Izin Terverifikasi. Nama objek adalah nama kunci asli. Di dalam JSON objek, ada satu pasangan kunci-nilai di mana nama kunci adalah nama tipe dari nilai skalar (String,Long, atauBoolean) dan nilainya adalah nilai dari entitas Cedar.

  • Pemformatan sintaks entitas Cedar dan entitas Izin Terverifikasi berbeda dengan cara berikut:

    Format cedar Format Izin Terverifikasi
    uid Identifier
    type EntityType
    id EntityId
    attrs Attributes
    parents Parents
contoh - Daftar

Contoh berikut menunjukkan bagaimana daftar entitas dinyatakan dalam Cedar dan Izin Terverifikasi, masing-masing.

Cedar
[ { "number": 1 }, { "sentence": "Here is an example sentence" }, { "Question": false } ]
Verified Permissions
{ "Set": [ { "Record": { "number": { "Long": 1 } } }, { "Record": { "sentence": { "String": "Here is an example sentence" } } }, { "Record": { "question": { "Boolean": false } } } ] }
contoh - Evaluasi kebijakan

Contoh berikut menunjukkan bagaimana entitas diformat untuk mengevaluasi kebijakan dalam permintaan otorisasi di Cedar dan Izin Terverifikasi, masing-masing.

Cedar
[ { "uid": { "type": "PhotoApp::User", "id": "alice" }, "attrs": { "age": 25, "name": "alice", "userId": "123456789012" }, "parents": [ { "type": "PhotoApp::UserGroup", "id": "alice_friends" }, { "type": "PhotoApp::UserGroup", "id": "AVTeam" } ] }, { "uid": { "type": "PhotoApp::Photo", "id": "vacationPhoto.jpg" }, "attrs": { "private": false, "account": { "__entity": { "type": "PhotoApp::Account", "id": "ahmad" } } }, "parents": [] }, { "uid": { "type": "PhotoApp::UserGroup", "id": "alice_friends" }, "attrs": {}, "parents": [] }, { "uid": { "type": "PhotoApp::UserGroup", "id": "AVTeam" }, "attrs": {}, "parents": [] } ]
Verified Permissions
[ { "Identifier": { "EntityType": "PhotoApp::User", "EntityId": "alice" }, "Attributes": { "age": { "Long": 25 }, "name": { "String": "alice" }, "userId": { "String": "123456789012" } }, "Parents": [ { "EntityType": "PhotoApp::UserGroup", "EntityId": "alice_friends" }, { "EntityType": "PhotoApp::UserGroup", "EntityId": "AVTeam" } ] }, { "Identifier": { "EntityType": "PhotoApp::Photo", "EntityId": "vacationPhoto.jpg" }, "Attributes": { "private": { "Boolean": false }, "account": { "EntityIdentifier": { "EntityType": "PhotoApp::Account", "EntityId": "ahmad" } } }, "Parents": [] }, { "Identifier": { "EntityType": "PhotoApp::UserGroup", "EntityId": "alice_friends" }, "Parents": [] }, { "Identifier": { "EntityType": "PhotoApp::UserGroup", "EntityId": "AVTeam" }, "Parents": [] } ]