Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Formato de entidades en Amazon Verified Permissions
Amazon Verified Permissions utiliza el lenguaje de las políticas de Cedar para crear políticas. La sintaxis de las políticas y los tipos de datos admitidos coinciden con la sintaxis y los tipos de datos descritos en los temas sobre la construcción básica de políticas en Cedar
El formato JSON de las entidades en Verified Permissions difiere del de Cedar en los siguientes aspectos:
-
En Verified Permissions, un objeto JSON debe tener todos sus pares clave-valor incluidos en un objeto JSON con el nombre de
Record
. -
Una lista JSON de Verified Permissions debe estar encapsulada en un par clave-valor de JSON en el que el nombre de la clave sea
Set
y el valor sea la lista JSON original de Cedar. -
En el caso de los nombres de tipo
String
,Long
yBoolean
, cada par clave-valor de Cedar se sustituye por un objeto JSON en Verified Permissions. El nombre del objeto es el nombre de la clave original. Dentro del objeto JSON, hay un par clave-valor en el que el nombre de la clave es el nombre de tipo del valor escalar (String
,Long
oBoolean
) y el valor es el de la entidad de Cedar. -
El formato de la sintaxis de las entidades de Cedar y Verified Permissions difiere en los siguientes aspectos:
Formato de Cedar Formato de Verified Permissions uid
Identifier
type
EntityType
id
EntityId
attrs
Attributes
parents
Parents
En el siguiente ejemplo se muestra cómo se da formato a las entidades de una lista con Cedar.
[ { "number": 1 }, { "sentence": "Here is an example sentence" }, { "Question": false } ]
El siguiente ejemplo muestra cómo se da formato a las mismas entidades del ejemplo anterior de la lista de Cedar en Verified Permissions.
{ "Set": [ { "Record": { "number": { "Long": 1 } } }, { "Record": { "sentence": { "String": "Here is an example sentence" } } }, { "Record": { "question": { "Boolean": false } } } ] }
El siguiente ejemplo muestra cómo dar formato a las entidades de Cedar para evaluar una política en una solicitud de autorización.
[ { "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": [] } ]
El siguiente ejemplo muestra cómo dar formato a las mismas entidades del ejemplo anterior de Cedar en 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": [] } ]