Diferencias entre los permisos verificados de Amazon y el lenguaje de la política de Cedar - Amazon Verified Permissions

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.

Diferencias entre los permisos verificados de Amazon y el lenguaje de la política de Cedar

Amazon Verified Permissions utiliza el motor de lenguaje de políticas de Cedar para realizar las tareas de autorización. Sin embargo, existen algunas diferencias entre la implementación nativa de Cedar y la implementación de Cedar en Verified Permissions. En este tema se explican esas diferencias.

Definición de espacio de nombres

La implementación de Verified Permissions de Cedar presenta las siguientes diferencias con respecto a la implementación nativa de Cedar:

  • Verified Permissions solo admite un espacio de nombres en un esquema definido en un almacén de políticas.

  • Verified Permissions no permite crear un espacio de nombres con los siguientes valores: aws, amazon o cedar.

Compatibilidad con las plantillas de política

Tanto Verified Permissions como Cedar solo permiten marcadores de posición en el ámbito para principal y resource. Sin embargo, Verified Permissions también requiere que ni principal ni resource carezcan de restricciones.

La siguiente política es válida en Cedar, pero Verified Permissions la rechaza porque la principal no tiene restricciones.

permit(principal, action == Action::"view", resource == ?resource);

Los dos ejemplos siguientes son válidos tanto en Cedar como en Verified Permissions porque la principal y el resource tienen restricciones.

permit(principal == User::"alice", action == Action::"view", resource == ?resource);
permit(principal == ?principal, action == Action::"a", resource in ?resource);

Compatibilidad con esquemas

Los permisos verificados requieren que todos los nombres de las JSON claves del esquema no sean cadenas vacías. Cedar permite cadenas vacías en algunos casos, como en el caso de las propiedades.

Compatibilidad con tipos de extensión

Verified Permissions admite los tipos de extensión de Cedar en las políticas, pero actualmente no permite incluirlos en la definición de un esquema o como parte del parámetro entities de las operaciones IsAuthorized y IsAuthorizedWithToken.

Los tipos de extensión incluyen los tipos de datos de punto fijo (decimal) y dirección IP (ipaddr).

JSONFormato Cedar para entidades

En este momento, los permisos verificados requieren que pase la lista de entidades que se van a tener en cuenta en una solicitud de autorización utilizando la estructura definida para ellos EntitiesDefinition, que es una matriz de EntityItemelementos. Actualmente, Verified Permissions no permite aprobar la lista de entidades que deben tenerse en cuenta en una solicitud de autorización en JSONformato Cedar. Para conocer los requisitos específicos sobre el formato de las entidades para su uso en Verified Permissions, consulte Formato de entidades en las políticas de Amazon Verified Permissions.

Definición de grupos de acción

Los métodos de autorización de Cedar requieren una lista de las entidades que se deben tener en cuenta al evaluar una solicitud de autorización con respecto a las políticas.

Puede definir las acciones y los grupos de acciones que utiliza su aplicación en el esquema. Sin embargo, Cedar no incluye el esquema como parte de una solicitud de evaluación. En su lugar, Cedar usa el esquema solo para validar las políticas y las plantillas de políticas que envíe. Dado que Cedar no hace referencia al esquema durante las solicitudes de evaluación, incluso si ha definido grupos de acción en el esquema, también debe incluir la lista de todos los grupos de acciones como parte de la lista de entidades que debe pasar a las API operaciones de autorización.

Verified Permissions lo hace por usted. Todos los grupos de acciones que defina en su esquema se anexan automáticamente a la lista de entidades que pase como parámetro de las operaciones IsAuthorized o IsAuthorizedWithToken.

Límites de longitud y tamaño

Verified Permissions admite el almacenamiento en forma de almacenes de políticas para almacenar esquemas, políticas y plantillas de políticas. Ese almacenamiento hace que Verified Permissions imponga algunos límites de longitud y tamaño que no son relevantes para Cedar.

Objeto Límite de Verified Permissions (en bytes) Límite de Cedar
Tamaño de la política¹ 10 000 Ninguna
Descripción de la política insertada 150 No aplicable a Cedar
Tamaño de la plantilla de política 10 000 Ninguna
Tamaño del esquema 10 000 Ninguna
Tipo de identidad 200 Ninguna
ID de política 64 Ninguna
ID de plantilla de política 64 Ninguna
ID de la identidad 200 Ninguna
ID del almacén de políticas 64 No aplicable a Cedar

¹ Existe un límite de políticas por almacén de políticas en Verified Permissions en función del tamaño combinado de las entidades principales, las acciones y los recursos de las políticas creadas en el almacén de políticas. El tamaño total de todas las políticas pertenecientes a un único recurso no puede superar los 200 000 bytes. En el caso de las políticas vinculadas a plantillas, el tamaño de la plantilla de política se cuenta solo una vez, más el tamaño de cada conjunto de parámetros utilizado para crear una instancia de cada política vinculada a una plantilla.