Formatierung von Entitäten innerhalb von Richtlinien in Amazon Verified Permissions - Amazon Verified Permissions

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Formatierung von Entitäten innerhalb von Richtlinien in Amazon Verified Permissions

Amazon Verified Permissions verwendet die Richtliniensprache von Cedar, um Richtlinien zu erstellen. Die Syntax der Richtlinien und die unterstützten Datentypen entsprechen der Syntax und den Datentypen, die in den Themen Grundlegende Richtlinienkonstruktion in Cedar und Von Cedar unterstützte Datentypen im Referenzhandbuch zur Richtliniensprache von Cedar beschrieben sind. Es gibt jedoch Unterschiede zwischen Verified Permissions und Cedar bei der Formatierung von Entitäten, wenn eine Autorisierungsanfrage gestellt wird.

Die JSON Formatierung von Entitäten in Verified Permissions unterscheidet sich in folgenden Punkten von Cedar:

  • In Verified Permissions müssen alle JSON Schlüssel-Wert-Paare eines Objekts in ein JSON Objekt mit dem Namen von eingeschlossen sein. Record

  • Eine JSON Liste in Verified Permissions muss in ein JSON Schlüssel-Wert-Paar eingeschlossen werden, wobei der Schlüsselname Set und der Wert die ursprüngliche JSON Liste von Cedar sind.

  • Bei Namen StringLong, und Boolean wird jedes Schlüssel-Wert-Paar aus Cedar durch ein JSON Objekt in Verified Permissions ersetzt. Der Name des Objekts ist der ursprüngliche Schlüsselname. Innerhalb des JSON Objekts gibt es ein Schlüssel-Wert-Paar, wobei der Schlüsselname der Typname des Skalarwerts (StringLong, oderBoolean) und der Wert der Wert aus der Cedar-Entität ist.

  • Die Syntaxformatierung von Cedar-Entitäten und Verified Permissions-Entitäten unterscheidet sich in folgenden Punkten:

    Cedar-Format Format für verifizierte Berechtigungen
    uid Identifier
    type EntityType
    id EntityId
    attrs Attributes
    parents Parents
Beispiel - Listen

Die folgenden Beispiele zeigen, wie eine Liste von Entitäten in Cedar bzw. Verified Permissions ausgedrückt wird.

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 } } } ] }
Beispiel - Bewertung der Politik

Die folgenden Beispiele zeigen, wie Entitäten für die Auswertung einer Richtlinie in einer Autorisierungsanfrage in Cedar bzw. Verified Permissions formatiert werden.

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