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.
Unterschiede zwischen Amazon Verified Permissions und der Sprache der Cedar-Richtlinie
Amazon Verified Permissions verwendet die Cedar Policy Language Engine, um seine Autorisierungsaufgaben auszuführen. Es gibt jedoch einige Unterschiede zwischen der systemeigenen Cedar-Implementierung und der Implementierung von Cedar in Verified Permissions. In diesem Thema werden diese Unterschiede beschrieben.
Namespace-Definition
Die Implementierung von Verified Permissions von Cedar unterscheidet sich von der nativen Cedar-Implementierung wie folgt:
-
Verified Permissions unterstützt nur einen Namespace in einem Schema
, das in einem Richtlinienspeicher definiert ist. -
Mit Verified Permissions können Sie keinen Namespace
mit den folgenden Werten erstellen: aws
,amazon
, oder.cedar
Unterstützung von Richtlinienvorlagen
Sowohl Verified Permissions als auch Cedar erlauben Platzhalter im Gültigkeitsbereich nur für principal
undresource
. Verified Permissions setzt jedoch auch voraus, dass weder die noch die principal
Rechte resource
uneingeschränkt sind.
Die folgende Richtlinie ist in Cedar gültig, wird jedoch von Verified Permissions abgelehnt, da sie nicht eingeschränkt principal
ist.
permit(principal, action == Action::"view", resource == ?resource);
Die beiden folgenden Beispiele sind sowohl für Cedar als auch für Verified Permissions gültig, da sowohl für als auch für Verified Permissions principal
Einschränkungen resource
gelten.
permit(principal == User::"alice", action == Action::"view", resource == ?resource);
permit(principal == ?principal, action == Action::"a", resource in ?resource);
Unterstützung von Schemas
Verified Permissions setzt voraus, dass alle Namen von JSON Schemaschlüsseln keine leeren Zeichenketten sind. Cedar erlaubt in einigen Fällen leere Zeichenfolgen, z. B. für Eigenschaften.
Unterstützung für Erweiterungstypen
Verified Permissions unterstützt Cedar-Erweiterungstypenentities
Parameters der IsAuthorized
IsAuthorizedWithToken
AND-Operationen aufzunehmen.
Zu den Erweiterungstypen gehören die Datentypen Festpunkt (decimal
ipaddr
) und IP-Adresse ().
JSONCedar-Format für Entitäten
Derzeit müssen Sie bei Verified Permissions die Liste der Entitäten, die in einer Autorisierungsanfrage berücksichtigt werden sollen, anhand der für die definierten Strukturen übergeben EntitiesDefinition, bei der es sich um eine Reihe von EntityItemElementen handelt. Verified Permissions unterstützt derzeit nicht die Weitergabe der Liste der Entitäten, die in einer Autorisierungsanfrage berücksichtigt werden sollen, im JSONCedar-Format
Definition von Aktionsgruppen
Die Autorisierungsmethoden von Cedar erfordern eine Liste der Entitäten, die bei der Bewertung einer Autorisierungsanfrage anhand der Richtlinien berücksichtigt werden müssen.
Sie können die Aktionen und Aktionsgruppen, die von Ihrer Anwendung verwendet werden, im Schema definieren. Cedar nimmt das Schema jedoch nicht als Teil einer Evaluierungsanfrage auf. Stattdessen verwendet Cedar das Schema nur, um die von Ihnen eingereichten Richtlinien und Richtlinienvorlagen zu validieren. Da Cedar bei Bewertungsanfragen nicht auf das Schema verweist, selbst wenn Sie Aktionsgruppen im Schema definiert haben, müssen Sie auch die Liste aller Aktionsgruppen als Teil der Entitätenliste angeben, die Sie an die API Autorisierungsvorgänge übergeben müssen.
Verified Permissions erledigt das für Sie. Alle Aktionsgruppen, die Sie in Ihrem Schema definieren, werden automatisch an die Entitätsliste angehängt, an die Sie als Parameter für die IsAuthorized
IsAuthorizedWithToken
OR-Operationen übergeben.
Längen- und Größenbeschränkungen
Verified Permissions unterstützt die Speicherung in Form von Richtlinienspeichern für Ihr Schema, Ihre Richtlinien und Richtlinienvorlagen. Aufgrund dieser Speicherung legt Verified Permissions einige Längen- und Größenbeschränkungen fest, die für Cedar nicht relevant sind.
Object | Limit für verifizierte Berechtigungen (in Byte) | Zedernholzlimit |
---|---|---|
Größe der Police¹ | 10.000 | None |
Beschreibung der Online-Richtlinie | 150 | Gilt nicht für Cedar |
Größe der Richtlinienvorlage | 10.000 | None |
Größe des Schemas | 10.000 | None |
Entitätstyp | 200 | None |
Policy ID (Richtlinien-ID) | 64 | None |
ID der Richtlinienvorlage | 64 | None |
Entity-ID | 200 | None |
ID des Richtlinienspeichers | 64 | Gilt nicht für Cedar |
¹ Unter Verifizierte Berechtigungen gibt es eine Obergrenze für Richtlinien pro Richtlinienspeicher, die auf der Gesamtgröße der im Richtlinienspeicher erstellten Richtlinien, Aktionen und Ressourcen basiert. Die Gesamtgröße aller Richtlinien, die sich auf eine einzelne Ressource beziehen, darf 200.000 Byte nicht überschreiten. Bei Richtlinien, die mit Vorlagen verknüpft sind, wird die Größe der Richtlinienvorlage nur einmal gezählt, zuzüglich der Größe jedes Parametersatzes, der zur Instanziierung jeder mit der Vorlage verknüpften Richtlinie verwendet wird.