Diferenças entre o Verified Permissions e o Cedar - Amazon Verified Permissions

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Diferenças entre o Verified Permissions e o Cedar

O Amazon Verified Permissions usa o mecanismo de linguagem de política Cedar para realizar suas tarefas de autorização. No entanto, existem algumas diferenças entre a implementação nativa do Cedar e a implementação do Cedar encontrada no Verified Permissions. Este tópico identifica essas diferenças.

Definição de namespace

A implementação do Cedar no Verified Permissions tem as seguintes diferenças em relação à implementação nativa do Cedar:

  • O Verified Permissions oferece suporte somente a um namespace em um esquema definido em um armazenamento de políticas.

  • O Verified Permissions não permite que você crie um namespace com os seguintes valores: aws, amazon ou cedar.

Suporte do modelo de política

O Verified Permissions e o Cedar permitem espaços reservados no escopo apenas para principal e resource. No entanto, o Verified Permissions também requer que nem principal nem resource sejam irrestritos.

A política a seguir é válida no Cedar, mas é rejeitada pelo Verified Permissions porque principal não tem restrições.

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

Os dois exemplos a seguir são válidos no Cedar e no Verified Permissions porque tanto principal quanto resource têm restrições.

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

Suporte ao esquema

O Verified Permissions requer que todos os nomes de chave JSON do esquema sejam strings não vazias. O Cedar permite strings vazias em alguns casos; por exemplo, nas propriedades.

Suporte ao tipo de extensão

O Verified Permissions oferece suporte aos tipos de extensão do Cedar nas políticas, mas atualmente não oferece suporte para incluí-los na definição de um esquema ou como parte do parâmetro entities das operações IsAuthorized e IsAuthorizedWithToken.

Os tipos de extensão incluem os tipos de dados de ponto fixo (decimal) e de endereço IP (ipaddr).

Formato JSON do Cedar para entidades

No momento, o Verified Permissions requer que você passe a lista de entidades a serem consideradas em uma solicitação de autorização usando a estrutura definida para EntitiesDefinition, que é uma matriz de elementos EntityItem. Atualmente, o Verified Permissions não oferece suporte à passagem da lista de entidades a serem consideradas em uma solicitação de autorização no formato JSON do Cedar. Para requisitos específicos de formatação das entidades para uso no Verified Permissions, consulte Formatação de entidades no Amazon Verified Permissions.

Definição de grupos de ação

Os métodos de autorização do Cedar requerem uma lista das entidades a serem consideradas durante a avaliação de uma solicitação de autorização com base nas políticas.

Você pode definir as ações e os grupos de ação usados pela sua aplicação no esquema. No entanto, o Cedar não inclui o esquema como parte de uma solicitação de avaliação. Em vez disso, o Cedar usa o esquema somente para validar as políticas e os modelos de políticas que você envia. Como o Cedar não faz referência ao esquema durante as solicitações de avaliação, mesmo que você tenha definido grupos de ação no esquema, você também deve incluir a lista de todos os grupos de ação como parte da lista de entidades que você deve passar para as operações da API de autorização.

O Verified Permissions faz isso para você. Todos os grupos de ação definidos em seu esquema são automaticamente anexados à lista de entidades que você passa como parâmetro para as operações IsAuthorized ou IsAuthorizedWithToken.

Limites de comprimento e tamanho

O Verified Permissions oferece suporte ao armazenamento sob a forma de armazenamentos de políticas que reterão seu esquema, políticas e modelos de políticas. Esse armazenamento faz com que o Verified Permissions aplique alguns limites de comprimento e tamanho que não são relevantes para o Cedar.

Objeto Limite do Verified Permissions (em bytes) Limite do Cedar
Tamanho da política¹ 10.000 Nenhum
Descrição da política em linha 150 Não aplicável ao Cedar
Tamanho do modelo de política 10.000 Nenhum
Tamanho do esquema 10.000 Nenhum
Tipo de entidade 200 Nenhum
Policy ID (ID da política) 64 Nenhum
ID do modelo de política 64 Nenhum
ID da entidade 200 Nenhum
ID do armazenamento de políticas 64 Não aplicável ao Cedar

¹ No Verified Permissions, há um limite para políticas por armazenamento de políticas com base no tamanho combinado de entidades principais, ações e recursos de políticas criadas no armazenamento de políticas. ³ O tamanho total de todas as políticas relacionadas a um único recurso não pode exceder 200.000 bytes. Para políticas vinculadas a modelos, o tamanho do modelo de política é contabilizado somente uma vez, mais o tamanho de cada conjunto de parâmetros usados para instanciar cada política vinculada a modelo.