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
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 tipoString
Long
, 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 (String
Long
, 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": [] } ]