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à.
Differenze tra Amazon Verified Permissions e il linguaggio delle policy Cedar
Amazon Verified Permissions utilizza il motore linguistico Cedar Policy per eseguire le proprie attività di autorizzazione. Tuttavia, ci sono alcune differenze tra l'implementazione nativa di Cedar e l'implementazione di Cedar che si trovano in Verified Permissions. Questo argomento identifica queste differenze.
Definizione dello spazio dei nomi
L'implementazione Verified Permissions di Cedar presenta le seguenti differenze rispetto all'implementazione nativa di Cedar:
-
Verified Permissions supporta solo uno spazio dei nomi in uno schema definito in un policy store
. -
Le autorizzazioni verificate non consentono di creare uno spazio dei nomi
che sia una stringa vuota o che includa i seguenti valori:, o. aws
amazon
cedar
Supporto per modelli di policy
Sia Verified Permissions che Cedar consentono di inserire i segnaposto nell'ambito solo per il termine e. principal
resource
Tuttavia, le autorizzazioni verificate richiedono anche che nessuna delle due e sia priva di vincoli. principal
resource
La seguente politica è valida in Cedar ma viene rifiutata da Verified Permissions perché non è vincolata. principal
permit(principal, action == Action::"view", resource == ?resource);
Entrambi gli esempi seguenti sono validi sia in Cedar che in Verified Permissions perché entrambi hanno dei vincoli. principal
resource
permit(principal == User::"alice", action == Action::"view", resource == ?resource);
permit(principal == ?principal, action == Action::"a", resource in ?resource);
Supporto dello schema
Verified Permissions richiede che tutti i nomi delle JSON chiavi dello schema siano stringhe non vuote. Cedar consente stringhe vuote in alcuni casi, ad esempio per proprietà o namespace.
Supporto per tipi di estensione
Verified Permissions supporta i tipi di estensione
I tipi di estensione includono i tipi di dati fixed point (decimal
) e IP address (ipaddr
).
JSONFormato Cedar per le entità
Al momento, Verified Permissions richiede di passare l'elenco delle entità da prendere in considerazione in una richiesta di autorizzazione utilizzando la struttura definita per the EntitiesDefinition, che è una matrice di elementi. EntityItem Verified Permissions attualmente non supporta il passaggio dell'elenco di entità da considerare in una richiesta di autorizzazione in formato Cedar. JSON
Definizione dei gruppi di azione
I metodi di autorizzazione Cedar richiedono un elenco delle entità da prendere in considerazione quando si valuta una richiesta di autorizzazione rispetto alle politiche.
È possibile definire le azioni e i gruppi di azioni utilizzati dall'applicazione nello schema. Tuttavia, Cedar non include lo schema come parte di una richiesta di valutazione. Invece, Cedar utilizza lo schema solo per convalidare le politiche e i modelli di policy inviati. Poiché Cedar non fa riferimento allo schema durante le richieste di valutazione, anche se nello schema sono stati definiti gruppi di azioni, è necessario includere anche l'elenco di tutti i gruppi di azioni come parte dell'elenco delle entità da passare alle operazioni di autorizzazione. API
Verified Permissions lo fa per te. Tutti i gruppi di azioni definiti nello schema vengono aggiunti automaticamente all'elenco di entità a cui si passa come parametro alle operazioni IsAuthorized
orIsAuthorizedWithToken
.
Formattazione delle entità
La JSON formattazione delle entità in Verified Permissions differisce da Cedar nei seguenti modi:
-
In Verified Permissions, un JSON oggetto deve avere tutte le sue coppie chiave-valore racchiavette in un oggetto con il nome di. JSON
Record
-
Un JSON elenco in Autorizzazioni verificate deve essere racchiuso in una coppia JSON chiave-valore in cui il nome della chiave è
Set
e il valore è l'elenco originale di Cedar. JSON -
Per i nomi
Boolean
di tipo eString
Long
, ogni coppia chiave-valore di Cedar viene sostituita da un oggetto in Verified Permissions. JSON Il nome dell'oggetto è il nome della chiave originale. All'interno dell'JSONoggetto, c'è 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
Esempio - Elenchi
Gli esempi seguenti mostrano come un elenco di entità viene espresso rispettivamente in Cedar e Verified Permissions.
Esempio - Valutazione delle politiche
Gli esempi seguenti mostrano come le entità sono formattate per la valutazione di una politica in una richiesta di autorizzazione in Cedar e Verified Permissions, rispettivamente.
Limiti di lunghezza e dimensione
Verified Permissions supporta l'archiviazione sotto forma di archivi di policy per archiviare schemi, policy e modelli di policy. Tale archiviazione fa sì che le autorizzazioni verificate impongano alcuni limiti di lunghezza e dimensione che non sono rilevanti per Cedar.
Oggetto | Limite di autorizzazioni verificate (in byte) | Limite Cedar |
---|---|---|
Dimensione della polizza¹ | 10.000 | Nessuno |
Descrizione della politica in linea | 150 | Non applicabile a Cedar |
Dimensioni del modello di policy | 10.000 | Nessuno |
Dimensioni dello schema | 100.000 | Nessuno |
Tipo di entità | 200 | Nessuno |
ID Policy | 64 | Nessuno |
ID del modello di policy | 64 | Nessuno |
ID entità | 200 | Nessuno |
ID dell'archivio delle politiche | 64 | Non applicabile a Cedar |
¹ Esiste un limite di policy per policy store in Verified Permissions in base alla dimensione combinata dei principali, delle azioni e delle risorse dei criteri creati nell'archivio delle politiche. La dimensione totale di tutte le policy relative a una singola risorsa non può superare i 200.000 byte. Per le policy collegate al modello, la dimensione del modello di policy viene conteggiata una sola volta, più la dimensione di ogni set di parametri utilizzato per creare un'istanza di ogni policy collegata al modello.