View a markdown version of this page

Tamanho da política por recurso - 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á.

Tamanho da política por recurso

As permissões verificadas limitam o tamanho total de todas as políticas que fazem referência ao mesmo recurso. Esse limite é o tamanho da política por cota de recursos e seu valor padrão é 200.000 bytes. Quando você liga para CreatePolicy ouUpdatePolicy, as Permissões verificadas calculam o novo total para o recurso referenciado. Se o novo total exceder a cota, a solicitação falhará com a. ServiceQuotaExceededException

As políticas que não especificam um recurso se aplicam a todos os recursos. Essas políticas compartilham um total separado para o "unspecified" recurso, que é limitado ao mesmo valor da cota.

Para ver a lista de todas as cotas de permissões verificadas, consulteCotas do Amazon Verified Permissions.

Como os tamanhos das políticas são calculados

Cada política contribui para o total de um recurso da seguinte forma:

  • Políticas estáticas — Uma política estática contribui com seu tamanho total. Esse é o mesmo valor que é medido em relação à cota de tamanho da política.

  • Template-linked políticas — Uma política vinculada a um modelo contribui com o tamanho combinado do principal e do recurso usado para instanciá-la. Se você não especificar o principal ou o recurso, seu comprimento será contado como 0. O tamanho do corpo do modelo de política em si não conta para essa cota.

Cada política também adiciona uma sobrecarga fixa de até algumas centenas de bytes ao total. Template-linked as políticas adicionam mais sobrecarga do que as políticas estáticas.

Permanecer dentro da cota

Se seu aplicativo se aproximar do tamanho da política por cota de recursos, considere as seguintes estratégias:

  • Use o tipo de política apropriado. Se muitas políticas concederem permissões semelhantes no mesmo recurso, os modelos de políticas poderão reduzir o consumo de armazenamento do seu repositório de políticas. Cada política vinculada a um modelo armazena somente seu principal e seu recurso. O modelo de política armazena a declaração compartilhada uma vez, mas cada política vinculada também carrega uma sobrecarga fixa de armazenamento. Os modelos só se pagam quando a declaração compartilhada é grande o suficiente para compensar essa sobrecarga, aproximadamente 200 bytes ou mais. Abaixo desse limite, as políticas estáticas individuais consomem menos espaço. Para obter mais informações, consulte Modelos de política de permissões verificadas da Amazon e políticas vinculadas a modelos.

  • Especifique os principais e os recursos no escopo da política. As políticas que não especificam um recurso compartilham um único total do "unspecified" recurso em todo o repositório de políticas. A definição do escopo de cada política para um recurso específico distribui suas políticas em totais separados, um para cada recurso.

  • Agrupe seus diretores e recursos. Em vez de escrever uma política para cada diretor, escreva uma política para um grupo e adicione diretores ao grupo. O agrupamento de recursos em contêineres também pode reduzir o número de políticas que fazem referência a um único recurso.

  • Solicite um aumento da cota. Você pode solicitar um aumento dessa cota se o design da sua política atender a determinadas restrições. Para se qualificar, suas políticas devem especificar o principal ou o recurso no escopo da política. Um aumento também pode reduzir o número de pais hierárquicos que seus diretores e recursos podem ter. Mesmo com uma cota aumentada, um sublimite de 200.000 bytes ainda se aplica às políticas que fazem referência ao mesmo principal e ao mesmo recurso. Você não pode solicitar um aumento desse sublimite.

Template-linked exemplo de tamanho da política

Para descobrir como as políticas vinculadas a modelos contribuem para o tamanho da política por cota de recursos, adicione o tamanho do principal e o tamanho do recurso. Se você não especificar um recurso, as Permissões verificadas contarão seu tamanho em relação ao total do "unspecified" recurso.

Analise o seguinte modelo:

permit ( principal in ?principal, action in [MyApplication::Action::"ContentManagement", MyApplication::Action::"AccountAdministration", MyApplication::Action::"BillingOperations"], resource in ?resource ) when { resource has authorizedTenantIds && principal has tenantId && resource.authorizedTenantIds.contains(principal.tenantId) };

Crie as seguintes políticas a partir desse modelo:

TemplateLinkedPolicy { policyId: "policy1", templateId: "template1", principal: User::"alice", resource: Photo::"car.jpg" } TemplateLinkedPolicy { policyId: "policy2", templateId: "template1", principal: User::"bob", resource: Photo::"boat.jpg" } TemplateLinkedPolicy { policyId: "policy3", templateId: "template1", principal: User::"jane", resource: Photo::"car.jpg" } TemplateLinkedPolicy { policyId: "policy4", templateId: "template1", principal: User::"jane", resource }

Calcule o tamanho dessas políticas contando os bytes no principal e resource para cada uma. As permissões verificadas medem o tamanho em UTF-8 bytes. Os caracteres no intervalo ASCII imprimível contam como 1 byte cada, mas outros caracteres podem usar mais. Os exemplos a seguir usam somente caracteres ASCII, então cada caractere conta como 1 byte. Esses cálculos excluem a sobrecarga fixa. Seus totais reais serão maiores.

O tamanho de policy1 é o comprimento do principal User::"alice" (13) mais o comprimento do recurso Photo::"car.jpg" (16). O total é 13 + 16 = 29 bytes.

O tamanho de policy2 é o comprimento do principal User::"bob" (11) mais o comprimento do recurso Photo::"boat.jpg" (17). O total é 11 + 17 = 28 bytes.

O tamanho de policy3 é o comprimento do principal User::"jane" (12) mais o comprimento do recurso Photo::"car.jpg" (16). O total é 12 + 16 = 28 bytes.

O tamanho de policy4 é o comprimento do principal User::"jane" (12) mais o comprimento do recurso (0). O total é 12 + 0 = 12 bytes.

Como policy2 é a única política que faz referência ao recursoPhoto::"boat.jpg", o tamanho total do recurso é de 28 bytes.

Como policy1 policy3 ambos fazem referência ao recursoPhoto::"car.jpg", o tamanho total do recurso é 29 + 28 = 57 bytes.

Como policy4 é a única política que faz referência ao "unspecified" recurso, o tamanho total do recurso é de 12 bytes.