View a markdown version of this page

Testar políticas do IAM com o simulador de políticas do IAM - AWS Identity and Access Management

Testar políticas do IAM com o simulador de políticas do IAM

Com o simulador de políticas do IAM, você pode testar políticas baseadas em identidade, limites de permissões do IAM, políticas de controle de serviços (SCPs) e políticas baseadas em recurso que você fornecer. Você simula como a AWS avaliaria uma solicitação em relação a essas políticas, sem enviar uma solicitação real para nenhum serviço da AWS. Cada simulação retorna um resultado de autorização binária para cada ação e recurso que você testa: a ação é permitida ou negada. Quando o resultado é uma permissão ou uma negação explícita, o simulador também mostra qual política produziu esse resultado, para que você possa entender e corrigir a causa.

Para obter mais informações sobre como e por que usar políticas do IAM, consulte Políticas e permissões no AWS Identity and Access Management.

Importante

Os resultados do simulador de políticas podem ser diferentes do seu ambiente da AWS ativo. Recomendamos comparar suas políticas em relação ao seu ambiente da AWS ativo depois de testar com o simulador de políticas para confirmar que obteve os resultados desejados. Para obter mais informações, consulte Como o simulador de políticas do IAM funciona.

A captura de tela a seguir mostra o simulador de políticas do IAM, em que você seleciona uma identidade e as respectivas políticas e escolhe as ações e os recursos a serem testados antes de executar a simulação.

O console do simulador de políticas do IAM no modo Entidade principal.

Modos do simulador de políticas

O simulador de políticas tem dois modos. Escolha o modo que corresponda ao fato de você querer testar políticas que já existem na sua conta ou políticas que ainda estão sendo elaboradas.

Modo Entidade principal

No modo Entidade principal, você testa as políticas que já estão anexadas a um usuário, perfil ou grupo do IAM existente. Você escolhe uma identidade para a simulação, e o simulador avalia as políticas associadas a essa identidade. Você também pode incluir ou excluir políticas de identidade personalizadas ou limites de permissões na simulação. Essas adições são simuladas como se estivessem vinculadas à entidade principal, sem realmente serem anexadas ao IAM; portanto, sua conta permanece inalterada.

Modo Personalizado

No modo Personalizado, você testa uma ou mais políticas que você escreve ou cola. Ele é útil para verificar uma política antes de anexá-la. As políticas personalizadas são simuladas isoladamente e não são salvas na sua conta.

Para obter um passo a passo detalhado sobre como selecionar um modo e executar uma simulação, consulte Como simular políticas.

O que é possível fazer com o simulador de políticas

Veja algumas ações comuns que você pode executar com o simulador de políticas. Um guia passo a passo mais detalhado e uma distinção entre os comportamentos da API e do console podem ser encontrados em Como simular políticas.

  • Teste as políticas baseadas em identidade, se elas já foram anexadas a um usuário, grupo ou perfil do IAM, ou novas políticas que você escreve ou cola. Para uma identidade anexada com mais de uma política, você pode testar todas as políticas em conjunto ou selecionar políticas individuais e ver quais ações são permitidas ou negadas para recursos específicos. As novas políticas são avaliadas como se estivessem anexadas a uma identidade, sem realmente serem anexadas à sua conta; elas são usadas somente na simulação e não são salvas na sua conta.

  • Teste o efeito dos controles restritivos no acesso. É possível simular um limite de permissões por vez. Se a sua Conta da AWS for membro de uma organização no AWS Organizations, você também poderá testar o impacto das políticas de controle de serviço (SCPs) em suas políticas baseadas em identidade. O simulador informa se um SCP permite ou nega uma ação, mas, por motivos de segurança, ele não mostra as instruções correspondentes de um SCP da mesma forma que faz com outros tipos de política.

  • Teste o efeito de uma política baseada em recursos que você fornece. Exceto no console, o simulador não recupera a política de um recurso para você. Para incluir uma política baseada em recursos em uma simulação, você fornece a política junto com o recurso.

  • Teste serviços, ações e recursos específicos em condições reais e identifique o que determina o resultado. Por exemplo, você pode testar se uma política permite as ações ListAllMyBuckets, CreateBucket e DeleteBucket no Amazon S3 em um bucket específico e fornecer chaves de contexto, como um endereço IP ou uma data, que são referenciados em elementos de Condition nas políticas que estão sendo testadas. Para cada resultado, o simulador identifica qual instrução específica permite ou nega acesso; instruções correspondentes podem vir de políticas baseadas em identidade e de políticas baseadas em recursos que você fornece.

Como o simulador de políticas do IAM funciona

Quando você executa uma simulação, o simulador de políticas avalia as políticas no escopo da solicitação, quaisquer SCPs no escopo e as entradas que você fornece, como ações, recursos e valores de chave de contexto. No modo Personalizado, você fornece as políticas diretamente. No modo Entidade principal, o simulador usa as políticas anexadas à identidade selecionada e você pode incluir ou excluir mais políticas da simulação. O resultado é binário para cada ação e recurso: permitido ou negado.

O simulador de políticas difere do ambiente de produção da AWS das seguintes formas:

  • Como o simulador de políticas não faz uma solicitação de serviço da AWS real, você pode testar com segurança as solicitações que, do contrário, poderiam fazer alterações indesejadas em seu ambiente de produção da AWS. Ele não usa valores de chave de contexto reais da produção e, como as ações não são realmente executadas, ele não retorna nenhuma resposta do serviço. O único resultado é se cada ação solicitada seria permitida ou negada.

  • Se você editar uma política no simulador de políticas, a alteração afetará apenas a simulação. A política correspondente em sua Conta da AWS permanecerá inalterada.

  • O simulador de políticas avalia SCPs, incluindo chaves de condição e escopo de recursos em instruções de negação, mas não oferece suporte a políticas de controle de recursos (RCPs). Os resultados da simulação ainda podem diferir do comportamento real para algumas configurações avançadas, como políticas de endpoint da VPC, encadeamento de perfis ou várias políticas baseadas em recursos em um único recurso.

  • Simulações entre contas retornam decisões por tipo de política (política de identidade e política de recursos) em EvalDecisionDetails.

Como funciona a avaliação da chave de condição no simulador de políticas do IAM

Muitas políticas usam elementos de Condition que dependem de chaves de condição, como aws:RequestedRegion ou aws:MultiFactorAuthPresent. Quando você executa uma simulação, o simulador de políticas obtém valores para as chaves de condição de duas fontes: valores que o simulador preenche automaticamente e valores que você fornece como entrada de simulação. Se um valor não atender a uma condição, a ação será negada.

Contexto que o simulador preenche automaticamente

O simulador preenche as seguintes chaves de contexto de entidade principal e organizacional para a avaliação:

  • Contexto da entidade principal: aws:PrincipalAccount, aws:PrincipalId, aws:PrincipalType, aws:Type, aws:UserId, aws:UserName

  • Contexto da organização: aws:PrincipalOrgID, aws:PrincipalOrgMasterAccountId, aws:PrincipalOrgPaths

Como essas chaves são preenchidas para você, as SCPs e outras políticas que usam condições de entidade principal ou organizacionais são avaliadas corretamente. Você fornece os valores para todas as outras chaves de condição que suas políticas referenciam. Revise os elementos de Condition nas políticas que você está testando e forneça valores para todas as chaves que não estejam na lista acima.

Chaves de condição globais e suporte de serviço

Para políticas baseadas em identidade e políticas baseadas em recursos, o simulador não determina quais serviços oferecem suporte a uma determinada chave de condição global para autorização. Por exemplo, o simulador não identifica quando um serviço não oferece suporte a aws:TagKeys. Por outro lado, as políticas de controle de serviços (SCPs) são avaliadas com uma lógica ciente do serviço, incluindo chaves de condição globais como aws:RequestedRegion e aws:PrincipalAccount. Para obter mais informações sobre essas chaves de condição, consulte AWSChaves de contexto de condições globais da.

Chaves de condição em políticas de controle de serviços (SCPs)

O simulador avalia as chaves de condição e o escopo dos recursos em SCPs. A forma como você fornece valores para essas chaves depende de como você executa a simulação:

  • Com a AWS CLI ou a API da AWS, você pode fornecer valores para chaves de condição que são referenciadas por SCPs.

  • No console do IAM, você só pode definir valores para chaves de condição que aparecem em suas políticas baseadas em identidade, limites de permissões ou políticas baseadas em recurso. Se uma chave de condição for referenciada somente por uma SCP, você não poderá definir um valor para ela no console. No entanto, se a mesma chave de condição também aparecer em uma dessas outras políticas, o valor definido será usado em toda a avaliação, incluindo a SCP.

Por motivos de segurança, a avaliação da SCP não retorna valores de contexto ausentes. Você ainda recebe a decisão de permitir ou negar a solicitação.