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á.
Lógica de avaliação
No momento da avaliação, o objetivo é decidir se uma solicitação de concessão deve ser permitida ou negada. A lógica de avaliação segue várias regras básicas:
-
Por padrão, todas as solicitações para usar o recurso que venham de outras pessoas, e não de você, serão negadas.
-
Um valor permitir substitui qualquer negação padrão.
-
Uma negação explícita substitui todas as permissões.
-
A ordem em que as políticas são avaliadas não é importante.
O seguinte fluxograma e discussão descrevem em mais detalhes como a decisão é tomada.
1 |
A decisão começa com uma negação padrão. |
2 |
O código de aplicação avalia todas as políticas aplicáveis à solicitação (com base no recurso, na entidade principal, na ação e nas condições). A ordem em que o código de aplicação avalia as políticas não é importante. |
3 |
Em todas essas políticas, o código de aplicação procura uma instrução de negação explícita que se aplica à solicitação. Se o código de aplicação encontrar uma instrução desse tipo, ele retornará a decisão de “negar”, e o processo será concluído (essa é uma negação explícita; para obter mais informações, consulte Negação explícita). |
4 |
Se nenhuma negação explícita for encontrada, o código de aplicação procurará qualquer instrução “permitir” aplicável à solicitação. Se encontrar uma instrução “permitir”, o código de aplicação retornará a decisão de “permitir”, e o processo será concluído (o serviço continuará a processar a solicitação). |
5 |
Se nenhuma instrução de permitir for encontrada, a decisão final será “negar”, porque não havia negação explícita, ou permitir, porque é considerada uma negação padrão (para obter mais informações, consulte Negação padrão). |
Interação entre negações explícitas e padrão
Uma política resulta em uma negação padrão caso não se aplique diretamente à solicitação. Por exemplo, se um usuário solicitar o uso da AmazonSNS, mas a política sobre o tópico não se referir nem um pouco Conta da AWS à do usuário, essa política resultará em uma negação padrão.
Uma política também resultará em uma negação padrão se uma condição em uma declaração não for atendida. Se todas as condições da declaração forem atendidas, a política resultará em permitir ou negação explícita, com base no valor do elemento efeito na política. As políticas não especificam o que fazer se uma condição não for atendida, e, portanto, o resultado padrão nesse caso é uma negação padrão.
Por exemplo, digamos que você deseja impedir solicitações que venham da Antártica. Você cria uma política (chamada Política A1) que permite uma solicitação somente se ela não for originária da Antártica. O seguinte diagrama ilustra a política.
Se alguém enviar uma solicitação dos EUA, a condição será atendida (a solicitação não é originária da Antártica). Portanto, a solicitação será permitida. Porém, se alguém enviar uma solicitação da Antártica, a condição não será atendida, e, assim, o resultado da política será uma negação padrão.
Você pode transformar o resultado em uma negação explícita recriando a política (chamada Política A2), como mostrado no diagrama a seguir. Aqui, a política negará explicitamente uma solicitação se ela for originária da Antártica.
Se alguém enviar uma solicitação da Antártica, a condição será atendida, e o resultado da política será uma negação explícita.
A distinção entre negação padrão e negação explícita é importante porque uma negação padrão pode ser substituída por uma permissão, mas uma negação explícita não pode. Por exemplo, digamos que haja outra política que permita solicitações se elas chegarem em 1.º de junho de 2010. Como essa política afeta o resultado geral quando associada à política que restringe o acesso da Antártica? Compararemos o resultado geral ao associar a política baseada em data (que chamaremos de Política B) com as políticas anteriores A1 e A2. O Cenário 1 associa a Política A1 à Política B, e o Cenário 2 associa a Política A2 à Política B. A figura e a discussão a seguir mostram os resultados quando uma solicitação chega da Antártica em 1.º de junho de 2010.
No Cenário 1, a Política A1 retorna uma negação padrão, conforme descrito anteriormente nesta seção. A Política B retorna um permitir porque a política (por definição) permite solicitações que chegam em 1.º de junho de 2010. O permitir da Política B substitui a negação padrão da Política A1 e, assim, a solicitação é permitida.
No Cenário 2, a Política A2 retorna uma negação explícita, conforme descrito anteriormente nesta seção. Novamente, a Política B retorna um permitir. A negação explícita da Política A2 substitui o permitir da Política B e, assim, a solicitação é negada.