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

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

Você pode acessar o console do simulador de políticas do IAM em: https://policysim.aws.amazon.com/

Com o simulador de políticas do IAM, é possível testar e solucionar problemas de políticas baseadas em identidade, limites de permissões do IAM, Organizations service control policies (SCPs, políticas de controle de serviço de organizações) e políticas baseadas em recursos. Veja algumas ações comuns que você pode executar com o simulador de políticas:

  • Teste as políticas anexadas a usuários, grupos de usuários ou funções do IAM em sua conta da AWS. Se mais de uma política estiver anexada ao usuário, ao grupo de usuários ou à função, você poderá testar todas as políticas ou selecionar políticas individuais para teste. Você pode testar quais ações são permitidas ou negadas pelas políticas selecionadas para recursos específicos.

  • Teste e solucione o problema do efeito dos limites de permissões em entidades do IAM. Observação: é possível simular somente um limite de permissões por vez.

  • Teste as políticas que estão anexadas a recursos da AWS, como buckets do Amazon S3, filas do Amazon SQS, tópicos do Amazon SNS ou armazenamentos do Amazon S3 Glacier.

  • Se sua conta da AWS for membro de uma organização no AWS Organizations, você poderá testar o impacto das políticas de controle de serviço (SCPs) nas políticas do IAM e nas políticas de recursos.

  • Teste novas políticas que ainda não foram anexadas a um usuário, grupo de usuários ou função digitando-as ou copiando-as no simulador. Elas são usadas apenas na simulação e não são salvas. Observação: você não pode digitar nem copiar uma política baseada em recursos no simulador. Para usar uma política baseada em recursos no simulador, você deve incluir o recurso na simulação. Você também deve marcar a caixa de seleção para incluir a política desse recurso na simulação.

  • Teste as políticas com serviços, ações e recursos selecionados. Por exemplo, você pode testar para garantir que sua política permita que uma entidade execute as ações ListAllMyBuckets, CreateBucket e DeleteBucket no serviço do Amazon S3 em um bucket específico.

  • Simule cenários reais fornecendo chaves de contexto, como um endereço IP ou uma data, que estão incluídas em elementos Condition nas políticas que estão sendo testadas.

  • Identifique a instrução específica em uma política que resulta na permissão ou negação de acesso a um determinado recurso ou ação.

Como o simulador de políticas do IAM funciona

O simulador avalia as políticas escolhidas e determina as permissões em vigor para cada uma das ações especificadas. O simulador usa o mesmo mecanismo de avaliação de políticas que é usado durante solicitações reais a serviços da AWS. Mas o simulador difere do ambiente de produção da AWS das seguintes formas:

  • O simulador não faz uma solicitação de serviço da AWS real, portanto, você pode testar com segurança as solicitações que podem fazer alterações indesejadas em seu ambiente de produção da AWS.

  • Como o simulador não simula a execução das ações selecionadas, ele não pode relatar nenhuma resposta à solicitação simulada. O único resultado retornado é se a ação solicitada seria permitida ou negada.

  • Se você editar uma política no simulador, essas alterações afetarão apenas o simulador. A política correspondente na sua conta da AWS permanecerá inalterada.

  • Não é possível testar as políticas de controle de serviço (SCPs) do AWS Organizations com chaves de condição globais.

Permissões necessárias para usar o simulador de políticas do IAM

Você pode usar o console ou a API do simulador de políticas para testar políticas. Por padrão, os usuários do console podem testar políticas que ainda não foram anexadas a um usuário, grupo de usuários ou função digitando-as ou copiando-as no simulador. Essas políticas são usadas apenas na simulação e não divulgam informações confidenciais. Os usuários da API devem ter permissões para testar políticas não anexadas. Você pode permitir que usuários do console ou da API testem as políticas anexadas a usuários, grupos de usuários ou funções do IAM na sua conta da AWS. Para fazer isso, você deve conceder a permissão para recuperar essas políticas. Para testar políticas baseadas em recursos, os usuários devem ter permissão para recuperar a política do recurso.

Para obter exemplos de políticas do console e da API que permitem a um usuário simular políticas, consulte Exemplos de políticas: AWS Identity and Access Management (IAM).

Permissões necessárias para usar o console do simulador de políticas

É possível permitir que os usuários testem as políticas anexadas a usuários, grupos de usuários ou funções do IAM na sua conta da AWS. Para fazer isso, você deve conceder aos usuários permissões para recuperar essas políticas. Para testar políticas baseadas em recursos, os usuários devem ter permissão para recuperar a política do recurso.

Para visualizar uma política de exemplo que permita usar o console do simulador de políticas anexadas a um usuário, grupo de usuários ou função, consulte IAM: acesse o console do simulador de políticas.

Para visualizar um exemplo de política que permita o uso do console do simulador de políticas somente para os usuários com um caminho específico, consulte IAM: acessar o console do simulador de políticas com base no caminho do usuário.

Para criar uma política para permitir o uso do console do simulador de políticas para apenas um tipo de entidade, use os seguintes procedimentos.

Para permitir que os usuários do console simulem políticas para os usuários

Inclua as seguintes ações em sua política:

  • iam:GetGroupPolicy

  • iam:GetPolicy

  • iam:GetPolicyVersion

  • iam:GetUser

  • iam:GetUserPolicy

  • iam:ListAttachedUserPolicies

  • iam:ListGroupsForUser

  • iam:ListGroupPolicies

  • iam:ListUserPolicies

  • iam:ListUsers

Para permitir que os usuários do console simulem políticas para grupos de usuários

Inclua as seguintes ações em sua política:

  • iam:GetGroup

  • iam:GetGroupPolicy

  • iam:GetPolicy

  • iam:GetPolicyVersion

  • iam:ListAttachedGroupPolicies

  • iam:ListGroupPolicies

  • iam:ListGroups

Para permitir que os usuários do console simulem políticas para funções

Inclua as seguintes ações em sua política:

  • iam:GetPolicy

  • iam:GetPolicyVersion

  • iam:GetRole

  • iam:GetRolePolicy

  • iam:ListAttachedRolePolicies

  • iam:ListRolePolicies

  • iam:ListRoles

Para testar políticas baseadas em recursos, os usuários devem ter permissão para recuperar a política do recurso.

Para permitir que usuários do console testem políticas baseadas em recursos em um bucket do Amazon S3

Inclua a seguinte ação em sua política:

  • s3:GetBucketPolicy

Por exemplo, a política a seguir usa essa ação para permitir que os usuários do console simulem uma política baseada em recursos em um bucket específico do Amazon S3.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:GetBucketPolicy", "Resource":"arn:aws:s3:::bucket-name/*" } ] }

Permissões necessárias para usar a API do simulador de políticas

As operações GetContextKeyForCustomPolicy eSimulateCustomPolicy da API do simulador de políticas permitem que você teste as políticas ainda não anexadas a um usuário, grupo de usuários ou função. Para testar essas políticas, passe as políticas como strings para a API. Essas políticas são usadas apenas na simulação e não divulgam informações confidenciais. Você também pode usar a API para testar políticas que estejam anexadas a usuários, grupos de usuários ou funções do IAM na sua conta da AWS. Para fazer isso, é necessário conceder aos usuários permissões para chamar GetContextKeyForPrincipalPolicy e SimulatePrincipalPolicy.

Para visualizar um exemplo de política que permite usar a API do simulador de políticas para políticas anexadas e não anexadas na conta atual da AWS, consulte IAM: acessar a API simuladora de políticas.

Para criar uma política para permitir o uso da API do simulador de políticas para apenas um tipo de política, use os seguintes procedimentos.

Para permitir que os usuários da API simulem políticas transmitidas diretamente para a API como strings

Inclua as seguintes ações em sua política:

  • iam:GetContextKeysForCustomPolicy

  • iam:SimulateCustomPolicy

Para permitir que os usuários da API simulem as políticas anexadas a usuários, grupos de usuários, funções ou recursos do IAM

Inclua as seguintes ações em sua política:

  • iam:GetContextKeysForPrincipalPolicy

  • iam:SimulatePrincipalPolicy

Por exemplo, para fornecer a um usuário chamado Bob permissão para simular uma política atribuída a uma usuária chamada Alice, conceda ao Bob acesso ao seguinte recurso: arn:aws:iam::777788889999:user/alice.

Para visualizar um exemplo de política que permita o uso da API do simulador de políticas somente para os usuários com um caminho específico, consulte IAM: acessar a API simuladora de políticas com base no caminho do usuário.

Usar o simulador de políticas do IAM (console)

Por padrão, os usuários podem testar políticas que ainda não foram anexadas a um usuário, grupo de usuários ou função digitando-as ou copiando-as no console do simulador de políticas. Essas políticas são usadas apenas na simulação e não divulgam informações confidenciais.

Como testar uma política que não está anexada a um usuário, um grupo de usuários ou uma função (console)

  1. Abra o console do simulador de políticas do IAM em: https://policysim.aws.amazon.com/.

  2. No menu Modo: na parte superior da página, escolha Nova política.

  3. Na Área restrita de políticas, selecione Criar nova política.

  4. Digite ou copie uma política no simulador e use o simulador, como descrito nas etapas a seguir.

Depois de ter permissão para usar o console do simulador de políticas do IAM, você poderá usar o simulador para testar um usuário, um grupo de usuários, uma função ou uma política de recurso do IAM.

Como testar uma política anexada a um usuário, um grupo de usuários ou uma função (console)

  1. Abra o console do simulador de políticas do IAM em: https://policysim.aws.amazon.com/.

    nota

    Para fazer login no simulador de políticas como um usuário do IAM, use a URL de login exclusiva para fazer login no Console de gerenciamento da AWS. Em seguida, vá para https://policysim.aws.amazon.com/. Para obter mais informações sobre como fazer login como usuário do IAM, consulte Como os usuários do IAM fazem login na AWS.

    O simulador é aberto no modo Políticas existentes e lista os usuários do IAM em sua conta em Usuários, grupos e funções.

  2. Escolha a opção apropriada para sua tarefa:

    Para testar isso: Faça o seguinte:
    Uma política anexada a um usuário Escolha Usuários na lista Usuários, grupos e funções. Em seguida, escolha o usuário.
    Uma política anexada a um grupo de usuários Escolha Grupos na lista Usuários, grupos e funções. Em seguida, escolha o grupo de usuários.
    Uma política anexada a uma função Escolha Funções na lista Usuários, grupos e funções. Em seguida, escolha a função.
    Uma política anexada a um recurso Consulte Passo 9.
    Uma política personalizada para um usuário, um grupo de usuários ou uma função Selecione Create New Policy (Criar nova política). No novo painel Policies (Políticas), digite ou cole uma política e escolha Apply (Aplicar).
    Dica

    Para testar uma política anexada a um grupo de usuários, você pode ativar o simulador de políticas do IAM diretamente no console do IAM: no painel de navegação, escolha User groups (Grupos de usuários). Escolha o nome do grupo no qual você deseja testar uma política e, em seguida, selecione a guia Permissões. Escolha Simulate (Simular).

    Para testar uma política gerenciada pelo cliente que esteja anexada a um usuário: no painel de navegação, escolha Usuários. Escolha o nome do usuário no qual deseja testar uma política. Em seguida, selecione a guia Permissões e expanda a política que você deseja testar. À direita, escolha Simular política. O Simulador de políticas do IAM é aberto em uma nova janela e exibe a política selecionada no painel Políticas.

  3. (Opcional) Se sua conta for membro de uma organização no AWS Organizations, marque a caixa de seleção ao lado de AWS Organizations SCPs para incluir SCPs em sua avaliação simulada. SCPs são políticas JSON que especificam o máximo de permissões para uma organização ou unidade organizacional (UO). O SCP limita as permissões para entidades em contas-membro. Se um bloco de SCP bloquear um serviço ou uma ação, nenhuma entidade na conta em questão poderá acessar esse serviço nem executar essa ação. Isso é verdadeiro mesmo que um administrador conceda permissões explicitamente a esse serviço ou ação por meio de uma política de recurso ou do IAM.

    Se sua conta não for membro de uma organização, a caixa de seleção não será exibida.

  4. (Opcional) Você pode testar uma política definida como limite de permissões para uma entidade do IAM (usuário ou função), mas não para grupos de usuários. Se uma política de limite de permissões estiver atualmente definida para a entidade, ela aparecerá no painel Policies (Políticas). É possível definir apenas um limite de permissões para uma entidade. Para testar um limite de permissões diferente, é possível criar um limite de permissões personalizado. Para fazer isso, escolha Create New Policy (Criar nova política). Um novo painel Policies (Políticas) é aberto. No menu, escolha Custom IAM Permissions Boundary Policy (Política de limite de permissões do IAM personalizado). Insira um nome para a nova política e digite ou copie uma política no espaço abaixo. Escolha Apply (Aplicar) para salvar a política. Depois, escolha Back (Voltar) para retornar ao painel Policies (Políticas) original. Marque a caixa de seleção ao lado do limite de permissões que deseja usar para a simulação.

  5. (Opcional) Você só poderá testar um subconjunto de políticas anexadas a um usuário, um grupo de usuários ou uma função. Para fazer isso, no painel Policies (Políticas), desmarque a caixa de seleção ao lado de cada política que deseja excluir.

  6. Em Simulador de políticas, escolha Selecionar serviço e, em seguida, o serviço a ser testado. Em seguida, escolha Selecionar ações e escolha uma ou mais ações a serem testadas. Embora os menus mostrem as seleções disponíveis somente para um serviço por vez, todos os serviços e ações que você selecionou aparecerão em Configurações e resultados da ação.

  7. (Opcional) Se qualquer uma das políticas que você escolher em Passo 2 e Passo 5 incluir condições com chaves de condição global da AWS, forneça valores para essas chaves. Você pode fazer isso expandindo a seção Configurações globais e digitando valores para os nomes de chaves exibidos.

    Atenção

    Se você deixar o valor para uma chave de condição vazio, essa chave será ignorada durante a simulação. Em alguns casos, isso resulta em um erro e a simulação não é executada. Em outros casos, a simulação é executada, mas os resultados talvez não sejam confiáveis. Nesses casos, a simulação não corresponde às condições reais que incluem um valor para a chave de condição ou a variável.

  8. (Opcional) Cada ação selecionada aparece na lista Configurações e resultados da ação com Não simulado mostrado na coluna Permissão até que você realmente execute a simulação. Antes de executar a simulação, você pode configurar cada ação com um recurso. Para configurar ações individuais para um cenário específico, escolha a seta para expandir a linha da ação. Se a ação for compatível com permissões no nível do recurso, você poderá digitar o nome de recurso da Amazon (ARN) do recurso específico cujo acesso você deseja testar. Por padrão, cada recurso é definido como um caractere curinga (*). Também é possível especificar um valor para qualquer chave de contexto de condição. Conforme mencionado anteriormente, as chaves com valores vazios são ignoradas, o que pode causar falhas na simulação ou resultados não confiáveis.

    1. Escolha a seta ao lado do nome da ação para expandir cada linha e configure todas as informações adicionais necessárias para simular de forma precisa a ação em seu cenário. Se a ação exigir permissões no nível do recurso, você poderá digitar o nome de recurso da Amazon (ARN) do recurso específico ao qual deseja simular o acesso. Por padrão, cada recurso é definido como um caractere curinga (*).

    2. Se a ação der suporte às permissões no nível do serviço, mas não precisar delas, selecione Adicionar recurso para selecionar o tipo de recurso que você deseja adicionar à simulação.

    3. Se qualquer uma das políticas selecionadas incluir um elemento Condition que faz referência a uma chave de contexto para o serviço dessa ação, esse nome de chave será exibido abaixo da ação. Você pode especificar o valor a ser usado durante a simulação dessa ação para o recurso especificado.

    Ações que exigem grupos de tipos de recursos diferentes

    Algumas ações exigem tipos de recursos diferentes em circunstâncias diferentes. Cada grupo de tipos de recursos está associado a um cenário. Se um deles se aplicar à sua simulação, selecione-o e o simulador exigirá os tipos de recursos apropriados para esse cenário. A lista a seguir mostra cada uma das opções de cenário com suporte e os recursos que você deve definir para executar a simulação.

    Cada um dos seguintes cenários do Amazon EC2 a seguir exige que você especifique os recursos instance, image e security-group. Se o seu cenário incluir um volume do EBS, especifique esse volume como um recurso. Se o cenário do Amazon EC2 incluir uma virtual private cloud (VPC), forneça o recurso network-interface. Se ele incluir uma sub-rede IP, especifique o recurso subnet. Para obter mais informações sobre as opções de cenário do Amazon EC2, consulte Plataformas com suporte no Guia do usuário do Amazon EC2.

    • EC2-Classic-InstanceStore

      instância, imagem, security-group

    • EC2-Classic-EBS

      instância, imagem, security-group, volume

    • EC2-VPC-InstanceStore

      instância, imagem, security-group, interface de rede

    • EC2-VPC-InstanceStore-Subnet

      instância, imagem, security-group, interface de rede, sub-rede

    • EC2-VPC-EBS

      instância, imagem, security-group, interface de rede, volume

    • EC2-VPC-EBS-Subnet

      instância, imagem, security-group, interface de rede, sub-rede, volume

  9. (Opcional) Se você deseja incluir uma política com base em recursos em sua simulação, primeiro selecione as ações que você deseja simular nesse recurso em Passo 6. Expanda as linhas das ações selecionadas e digite o nome de recurso da Amazon (ARN) do recurso com uma política que você deseja simular. Em seguida, selecione Incluir política de recursos ao lado da caixa de texto nome de recurso da Amazon (ARN). Atualmente, o simulador de políticas do IAMdá suporte às políticas baseadas em recursos apenas dos seguintes serviços: Amazon S3 (somente políticas baseadas em recursos; as ACLs não têm suporte no momento), Amazon SQS, Amazon SNS e armazenamentos desbloqueados do S3 Glacier (armazenamentos bloqueados não têm suporte no momento).

  10. Escolha Executar simulação no canto superior direito.

    A coluna Permissão em cada linha de Configurações e resultados da ação exibe o resultado da simulação dessa ação no recurso especificado.

  11. Escolha Executar simulação no canto superior direito.

    A coluna Permissão em cada linha de Configurações e resultados da ação exibe o resultado da simulação dessa ação no recurso especificado.

  12. Para ver qual instrução em uma política permitiu ou negou explicitamente uma ação, selecione o link N instruções correspondentes na coluna Permissões para expandir a linha. Em seguida, escolha o link Mostrar instrução. O painel Política mostra a política relevante com a instrução que afetou o resultado realçado da simulação.

    nota

    Se uma ação for implicitamente negada — ou seja, se a ação for negada apenas porque não foi explicitamente permitido — as opções Listar e Mostrar instrução não serão exibidas.

Solução de problemas de mensagens do console do simulador de políticas do IAM

A tabela a seguir lista as mensagens informativas e de aviso que você pode encontrar ao usar o simulador de políticas do IAM. A tabela também fornece as etapas necessárias para solucioná-los.

Message Etapas para solução de problemas
Esta política foi editada. As alterações não serão salvas na sua conta.

Nenhuma ação necessária.

Essa mensagem é apenas informativa. Se você editar uma política existente no simulador de políticas do IAM, a alteração não afetará sua conta da AWS. O simulador permite fazer alterações nas políticas apenas para fins de teste.

Não é possível obter o recurso de política. Motivo: mensagem de erro detalhada O simulador não é capaz de acessar uma política baseada em recursos solicitada. Certifique-se de que o nome de recurso da Amazon (ARN) esteja correto e que o usuário que executa a simulação tenha permissão para ler a política do recurso.
Uma ou mais políticas exigem valores nas configurações da simulação. Sem esses valores, poderá ocorrer falha na simulação.

Essa mensagem será exibida se a política que você está testando contiver chaves de condição ou variáveis, mas não tiver fornecido os valores para essas chaves ou variáveis em Configurações da simulação.

Para ignorar essa mensagem, escolha Simulation Settings (Configurações da simulação) e insira um valor para cada chave de condição ou variável.

Você alterou políticas. Esses resultados não são mais válidos.

Essa mensagem será exibida se você tiver alterado a política selecionada durante a exibição dos resultados no painel Resultados. Os resultados mostrados no painel Resultados não são atualizados dinamicamente.

Para ignorar essa mensagem, escolha Executar simulação novamente para exibir novos resultados da simulação com base nas alterações efetuadas no painel Políticas.

O recurso que você digitou para essa simulação não corresponde a esse serviço.

Essa mensagem será exibida se você tiver digitado um nome de recurso da Amazon (ARN) no painel Configurações da simulação que não corresponda ao serviço que você escolheu para a simulação atual. Por exemplo, essa mensagem será exibida se você especificar um ARN para um recurso do Amazon DynamoDB, mas você escolheu o Amazon Redshift como o serviço a ser simulado.

Para ignorar essa mensagem, faça o seguinte:

  • Remova o nome de recurso da Amazon (ARN) na caixa do painel Configurações da simulação.

  • Escolha o serviço correspondente ao nome de recurso da Amazon (ARN) especificado em Configurações da simulação.

Essa ação pertence a um serviço que dá suporte a mecanismos de controle de acesso especial, além de políticas baseadas em recursos, como ACLs do Amazon S3 ou políticas de bloqueio de armazenamento do S3 Glacier. O simulador de políticas não dá suporte a esses mecanismos, portanto, os resultados podem ser diferentes de seu ambiente de produção.

Nenhuma ação necessária.

Essa mensagem é apenas informativa. Na versão atual, o simulador avalia as políticas anexadas a usuários e grupos de usuários e pode avaliar as políticas baseadas em recursos para Amazon S3, Amazon SQS, Amazon SNS e S3 Glacier. O simulador de políticas não dá suporte a todos os mecanismos de controle de acesso suportados por outros serviços da AWS.

Atualmente o DynamoDB FGAC não tem suporte.

Nenhuma ação necessária.

Essa mensagem informativa se refere a um controle de acesso granular. O controle de acesso refinado é a capacidade de usar condições da política do IAM para determinar quem pode acessar itens de dados individuais e atributos em tabelas e índices do DynamoDB. Isso também se refere às ações que podem ser executadas em tais tabelas e índices. A versão atual do simulador de políticas do IAM não dá suporte a esse tipo de condição de política. Para obter mais informações sobre o controle de acesso granular do DynamoDB, consulte Controle de acesso granular do DynamoDB.

Você tem políticas que não estão em conformidade com a sintaxe da política. Você pode usar a validação de políticas para revisar as atualizações recomendadas para suas políticas.

Essa mensagem aparecerá na parte superior da lista de políticas se você tiver políticas que não estejam em conformidade com a gramática das políticas do IAM. Para simular essas políticas, reveja as opções da validação de políticas em Validar políticas do IAM para identificar e corrigir essas políticas.

Essa política deve ser atualizada para seguir as regras de sintaxe de política mais recentes.

Essa mensagem será exibida se você tiver políticas que não estejam em conformidade com a gramática das políticas do IAM. Para simular essas políticas, reveja as opções da validação de políticas em Validar políticas do IAM para identificar e corrigir essas políticas.

Usar o simulador de políticas do IAM (AWS CLI e API da AWS)

Em geral, os comandos do simulador de políticas exigem chamar operações de API para fazer duas coisas:

  1. Avaliar as políticas e retornar a lista de chaves de contexto às quais elas fazem referência. Você precisa saber quais chaves de contexto são referenciadas para poder fornecer valores para elas na próxima etapa.

  2. Simular as políticas, fornecendo uma lista de ações, recursos e chaves de contexto usados durante a simulação.

Por motivos de segurança, as operações de API foram divididas em dois grupos:

Nos dois casos, as operações de API simulam o efeito de uma ou mais políticas em uma lista de ações e recursos. Cada ação é combinada com cada recurso, e a simulação determina se as políticas permitem ou negam essa ação para esse recurso. Você também pode fornecer valores para qualquer chave de contexto referenciada por suas políticas. Você pode obter a lista de chaves de contexto às quais as políticas fazem referência primeiro chamando GetContextKeysForCustomPolicy ou GetContextKeysForPrincipalPolicy. Se você não fornecer um valor para uma chave de contexto, a simulação ainda será executada. No entanto, os resultados podem não ser confiáveis porque o simulador não pode incluir essa chave de contexto na avaliação.

Para obter a lista de chaves de contexto (AWS CLI, API da AWS)

Use o seguinte para avaliar uma lista de políticas e retornar uma lista de chaves de contexto que são usadas nas políticas.

Para simular as políticas do IAM (AWS CLI, API da AWS)

Use o seguinte para simular políticas do IAM para determinar as permissões em vigor de um usuário.