Como simular políticas
Você pode executar simulações no console do IAM ou com a AWS CLI e a API da AWS. Para obter uma visão geral do que o simulador avalia, dos dois modos e de como ele alcança um resultado, consulte Testar políticas do IAM com o simulador de políticas do IAM. Para as permissões necessárias, consulte Permissões para usar o simulador de políticas.
Simular políticas (console)
Você pode executar simulações no simulador de políticas no console do IAM
nota
O console autônomo do simulador de políticas em https://policysim.aws.amazon.com/
Modo Entidade principal
Selecionar uma identidade
Você começa selecionando uma identidade. Você pode selecionar usuários, perfis ou grupos do IAM nessa conta. O painel lateral preencherá as políticas anexadas a essas identidades após sua seleção.
Incluir ou excluir políticas
O painel lateral lista as políticas no escopo da simulação, incluindo políticas em linha, gerenciadas pela AWS e gerenciadas pelo cliente, além de qualquer limite de permissões. Você pode excluir uma política para ver como o resultado muda sem ela e depois incluí-la novamente. A exclusão de uma política que concedeu acesso altera o resultado para uma negação implícita.
Adicionar ações e recursos
Depois de escolher identidades e políticas no painel esquerdo, adicione as ações que você deseja testar. Para uma ação que ofereça suporte a uma seleção de recursos, você pode testar todos os recursos ou inserir um ou mais ARNs de recursos específicos. Quando várias ações usam o mesmo tipo de recurso, você pode aplicar um recurso a todas elas de uma vez ou aplicar o escopo a uma única ação.
Algumas ações exigem um grupo de tipos de recursos relacionados antes que o simulador possa avaliá-las. Por exemplo, quando você simula ec2:RunInstances, o console solicita que você especifique uma imagem, uma instância e um grupo de segurança juntos, além de uma sub-rede ou um volume, dependendo do cenário.
Forneça valores de chave de condição
Se as políticas testadas incluírem chaves de condição, o simulador listará as chaves relevantes e permitirá que você defina valores antes de executar a simulação. As chaves mostradas refletem as políticas atualmente selecionadas; portanto, selecionar ou limpar uma política adiciona ou remove suas chaves. Se um valor não atender a uma condição, a ação será negada.
O simulador fornece valores para chaves de condição em dois lugares. As condições de solicitação global se aplicam a toda a solicitação simulada. Essas são as chaves que começam com aws:, como aws:MultiFactorAuthPresent ou aws:PrincipalServiceNamesList, e você define seus valores uma vez na área de condições globais. Selecionar ou limpar uma política adiciona ou remove suas chaves globais, e os valores inseridos são mantidos à medida que você ajusta quais políticas estão no escopo. As condições específicas do serviço se aplicam a uma única ação. Cada linha de ação mostra o número de condições a que ela faz referência, e você abre a linha para definir as chaves específicas do serviço para essa ação, como cloudwatch:namespace para cloudwatch:PutMetricData ou ram:PermissionResourceType para ram:ListPermissionAssociations. Uma linha de ação pode incluir uma chave global e uma chave específica do serviço e, se algum valor não atender a uma condição, essa ação será negada.
O simulador de políticas do IAM preenche algumas chaves de contexto de entidade principal e organizacional para você, e você fornece valores para o restante. Para obter a lista de chaves que são preenchidas automaticamente e mais informações sobre como as chaves de condição são avaliadas, consulte Como funciona a avaliação da chave de condição no simulador de políticas do IAM.
Para saber como usar chaves de condição, consulte AWSChaves de contexto de condições globais da.
Testar um limite de permissões
Quando uma identidade tem um limite de permissões, ela aparece no painel lateral e é incluída por padrão. Você também pode excluir o limite e executar a simulação novamente, se quiser descobrir se o limite é o motivo pelo qual uma ação foi negada.
Por exemplo, vamos supor que você simule iam:DeleteRole para uma identidade cujo limite não permite isso. O resultado é uma negação atribuída ao limite de permissões. Se você adicionar uma política que permita a ação e excluir o limite, o resultado será alterado para uma permissão. Isso confirma que o limite foi o único controle que bloqueou a ação.
Incluir políticas de controle de serviço
Se a sua conta for membro de uma organização, você poderá incluir políticas de controle de serviço (SCPs) na simulação no painel lateral. O simulador avalia as chaves de condição preenchidas automaticamente e o escopo dos recursos em SCPs ao determinar o resultado. Quando uma SCP nega explicitamente uma ação, o resultado é uma negação explícita atribuída ao AWS Organizations, e uma permissão em outra política não pode substituí-la. Desative o controle e execute a simulação novamente para ver o resultado sem os controles da organização. Para obter uma lista de chaves de condição preenchidas automaticamente, consulte Como funciona a avaliação da chave de condição no simulador de políticas do IAM.
nota
Por motivos de segurança, o simulador não revela os detalhes da avaliação do SCP. As chaves de condição referenciadas somente por SCPs não são listadas para que você defina valores, e as instruções correspondentes retornadas para um resultado não incluem instruções de SCPs. As chaves e as instruções correspondentes vêm das políticas baseadas em identidade anexadas à identidade e de quaisquer políticas que você fornecer.
Testar uma política baseada em recurso
Para incluir uma política baseada em recursos em uma simulação de console, insira um ARN de recurso específico e escolha a opção de incluir a política do recurso. A política baseada em recursos aparece no painel lateral e é avaliada no resultado. No console, isso está disponível para buckets do Amazon S3, filas do Amazon SQS, tópicos do Amazon SNS e cofres do Amazon Glacier.
nota
A simulação de políticas baseadas em recursos não é compatível com perfis do IAM.
Ler os resultados
Cada linha na tabela de resultados mostra se a ação é permitida, negada implicitamente ou negada explicitamente, junto com uma breve explicação do resultado. Use a explicação para identificar qual política ou controle determinou o resultado, como uma permissão explícita, a ausência de uma instrução correspondente, um limite de permissões ou um controle organizacional.
Modo personalizado
Você pode usar o editor de políticas do IAM para escrever ou colar políticas baseadas em identidade e limites de permissões no modo personalizado. Essas políticas não estão associadas a uma identidade e podem ser avaliadas antes de você aplicá-las. Você pode incluir várias políticas baseadas em identidade, mas apenas um limite de permissões para simulação.
nota
No modo Personalizado, o console não oferece suporte à transmissão de SCPs personalizadas nem à simulação de políticas baseadas em recursos. Para simular SCPs personalizados ou políticas baseadas em recursos, use a AWS CLI ou a API da AWS.
Simular políticas (AWS CLI e API da AWS)
A simulação de políticas com a AWS CLI ou API da AWS geralmente envolve duas etapas:
-
Avaliar as políticas e retornar a lista de chaves de contexto às quais elas fazem referência, para que você saiba quais valores de chave de contexto fornecer. Esta etapa é opcional.
-
Simular as políticas fornecendo as ações, recursos e valores de chave de contexto a serem usados durante a simulação.
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ê pode fornecer valores para qualquer chave de contexto referenciada por suas políticas. Se você não fornecer um valor para uma chave de contexto, a simulação ainda será executada e retornará uma negação implícita, e as chaves ausentes serão retornadas em missingContextValues para que você saiba quais valores adicionar. Se uma chave de contexto ausente for referenciada somente por um SCP, essa chave não será retornada por motivos de segurança, mas você ainda receberá a decisão.
As ações da API são divididas em dois grupos:
-
Ações que simulam apenas as políticas passadas diretamente para a API como strings: GetContextKeysForCustomPolicy e SimulateCustomPolicy.
-
Ações que simulam as políticas anexadas a um usuário, grupo de usuários, perfil ou recurso do IAM especificado: GetContextKeysForPrincipalPolicy e SimulatePrincipalPolicy. Como podem revelar permissões atribuídas a outras entidades do IAM, considere restringir o acesso a elas.
Essas ações também são compatíveis com o seguinte:
-
OrderedOrganizationPolicyInputListem SimulateCustomPolicy permite simular o efeito da hierarquia de SCP de uma organização sem usar uma entidade principal ativa. -
PolicyExclusionListem SimulatePrincipalPolicy permite testar cenários “e se eu removesse essa política?” sem alterar quais políticas estão associadas à entidade principal. -
A resposta retorna um único
EvaluationResultpor ação, com decisões agregadas no nível superior e detalhes por recurso emResourceSpecificResults.
Referência da AWS CLI e API da AWS
Para exemplos de comandos da AWS CLI para simular políticas, consulte o seguinte: