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
oucedar
.
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ãoentities
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
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.