

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á.

# Testando seu modelo de autorização
<a name="authorization-testing"></a>

Para entender o efeito da decisão de autorização de Permissões Verificadas da Amazon quando você implanta seu aplicativo, você pode avaliar suas políticas à medida que as desenvolve com [Usando a bancada de testes de permissões verificadas da Amazon](test-bench.md) e com as solicitações da API REST HTTPS para Permissões Verificadas. A bancada de testes é uma ferramenta Console de gerenciamento da AWS para avaliar solicitações e respostas de autorização em seu repositório de políticas.

A API REST de permissões verificadas é a próxima etapa em seu desenvolvimento à medida que você passa da compreensão conceitual para o design do aplicativo. A API de permissões verificadas aceita solicitações de autorização com [IsAuthorized[IsAuthorizedWithToken](https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_IsAuthorizedWithToken.html)](https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_IsAuthorized.html), e [BatchIsAuthorized](https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_BatchIsAuthorized.html)como [solicitações de AWS API assinadas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-signing.html) para [endpoints de serviços](https://docs.aws.amazon.com/general/latest/gr/verifiedpermissions.html) regionais. Para testar seu modelo de autorização, você pode gerar solicitações com qualquer cliente de API e verificar se suas políticas estão retornando as decisões de autorização conforme o esperado.

Por exemplo, você pode testar `IsAuthorized` em um repositório de políticas de amostra com o procedimento a seguir.

------
#### [ Test bench ]

1. Abra o console de Permissões [verificadas no console de Permissões verificadas](https://console.aws.amazon.com/verifiedpermissions/). Crie um repositório de políticas a partir do **repositório de políticas de amostra** com o nome **DigitalPetStore**.

1. Selecione **Test bench** em seu novo repositório de políticas.

1. Preencha sua solicitação de bancada de testes [IsAuthorized](https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_IsAuthorized.html#API_IsAuthorized_Examples)na referência da API de permissões verificadas. Os detalhes a seguir replicam as condições do **Exemplo 4** que fazem referência à **DigitalPetStore**amostra.

   1. Defina Alice como diretora. Em **Principal tomando medidas**, escolha `DigitalPetStore::User` e insira`Alice`.

   1. Defina o papel de Alice como cliente. Escolha **Adicionar um pai**`DigitalPetStore::Role`, escolha e insira Cliente.

   1. Defina o recurso como pedido “1234”. Em **Recurso no qual o diretor está atuando**, escolha `DigitalPetStore::Order` e insira`1234`.

   1. O `DigitalPetStore::Order` recurso requer um `owner` atributo. Defina Alice como proprietária do pedido. Escolha `DigitalPetStore::User` e entre `Alice`

   1. Alice pediu para ver o pedido. Para **Ação que o diretor está tomando**, escolha`DigitalPetStore::Action::"GetOrder"`.

1. Escolha **Executar solicitação de autorização**. Em um repositório de políticas não modificado, essa solicitação resulta em uma `ALLOW` decisão. Observe a **política Satisfied** que retornou a decisão.

1. Escolha **Políticas** na barra de navegação à esquerda. Revise a política estática com a descrição **Customer Role - Get Order**.

1. Observe que as Permissões Verificadas permitiram a solicitação porque o diretor estava na função de cliente e era o proprietário do recurso.

------
#### [ REST API ]

1. Abra o console de Permissões [verificadas no console de Permissões verificadas](https://console.aws.amazon.com/verifiedpermissions/). Crie um repositório de políticas a partir do **repositório de políticas de amostra** com o nome **DigitalPetStore**.

1. Anote o **ID do repositório de políticas** do seu novo repositório de políticas.

1. [IsAuthorized](https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_IsAuthorized.html#API_IsAuthorized_Examples)Na referência da API de permissões verificadas, copie o corpo da solicitação do **Exemplo 4** que faz referência à **DigitalPetStore**amostra.

1. Abra seu cliente de API e crie uma solicitação para o endpoint de serviço regional para seu repositório de políticas. [Preencha os cabeçalhos conforme mostrado no exemplo.](https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_IsAuthorized.html#API_IsAuthorized_Examples)

1. Cole o corpo da solicitação de amostra e altere o valor `policyStoreId` para o ID do repositório de políticas que você anotou anteriormente.

1. Envie a solicitação e analise os resultados. Em um repositório **DigitalPetStore**de políticas padrão, essa solicitação retorna uma `ALLOW` decisão.

------

Você pode fazer alterações nas políticas, no esquema e nas solicitações em seu ambiente de teste para alterar os resultados e produzir decisões mais complexas.

1. Altere a solicitação de uma forma que altere a decisão das Permissões verificadas. Por exemplo, altere o papel de Alice para `Employee` ou altere o `owner` atributo da ordem 1234 para. `Bob`

1. Altere as políticas de forma que afetem as decisões de autorização. Por exemplo, modifique a política com a descrição **Customer Role - Get Order** para remover a condição de que ele `User` deve ser o proprietário do `Resource` e modifique a solicitação para que `Bob` ele queira visualizar o pedido.

1. Altere o esquema para permitir que as políticas tomem uma decisão mais complexa. Atualize as entidades solicitadas para que Alice possa atender aos novos requisitos. Por exemplo, edite o esquema para `User` permitir que você seja membro de `ActiveUsers` ou`InactiveUsers`. Atualize a política para que somente usuários ativos possam ver seus próprios pedidos. Atualize as entidades da solicitação para que Alice seja uma usuária ativa ou inativa.