Formattazione delle entità in Amazon Verified Permissions - Autorizzazioni verificate da Amazon

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Formattazione delle entità in Amazon Verified Permissions

Amazon Verified Permissions utilizza il linguaggio delle policy Cedar per creare policy. La sintassi delle policy e i tipi di dati supportati corrispondono alla sintassi e ai tipi di dati descritti negli argomenti Basic policy building in Cedar e Data types supported by Cedar nella Cedar Policy Language Reference Guide. Tuttavia, esistono differenze tra Verified Permissions e Cedar nella formattazione delle entità quando si effettua una richiesta di autorizzazione.

La formattazione JSON delle entità in Verified Permissions differisce da Cedar nei seguenti modi:

  • In Verified Permissions, un oggetto JSON deve avere tutte le sue coppie chiave-valore racchiavette in un oggetto JSON con il nome di. Record

  • Un elenco JSON in Verified Permissions deve essere racchiuso in una coppia chiave-valore JSON in cui il nome della chiave è e il valore è l'elenco JSON originale di Cedar. Set

  • Per i nomi di Boolean tipo e tipo StringLong, ogni coppia chiave-valore di Cedar viene sostituita da un oggetto JSON in Verified Permissions. Il nome dell'oggetto è il nome della chiave originale. All'interno dell'oggetto JSON, esiste una coppia chiave-valore in cui il nome della chiave è il nome del tipo del valore scalare (StringLong, oBoolean) e il valore è il valore dell'entità Cedar.

  • La formattazione della sintassi delle entità Cedar e delle entità Verified Permissions differisce nei seguenti modi:

    Formato Cedar Formato di autorizzazioni verificate
    uid Identifier
    type EntityType
    id EntityId
    attrs Attributes
    parents Parents

L'esempio seguente mostra come le entità in un elenco vengono formattate utilizzando Cedar.

[ { "number": 1 }, { "sentence": "Here is an example sentence" }, { "Question": false } ]

L'esempio seguente mostra come le stesse entità del precedente esempio di elenco Cedar sono formattate in Verified Permissions.

{ "Set": [ { "Record": { "number": { "Long": 1 } } }, { "Record": { "sentence": { "String": "Here is an example sentence" } } }, { "Record": { "question": { "Boolean": false } } } ] }

L'esempio seguente mostra come le entità Cedar sono formattate per la valutazione di una politica in una richiesta di autorizzazione.

[ { "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": [] } ]

L'esempio seguente mostra come le stesse entità dell'esempio precedente di Cedar sono formattate in 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": [] } ]