View a markdown version of this page

Exemplos de políticas baseadas em identidade para CloudFormation - AWS Orientação prescritiva

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

Exemplos de políticas baseadas em identidade para CloudFormation

Esta seção contém exemplos de políticas baseadas em identidade que demonstram como conceder e negar permissões para. CloudFormation Você pode usar esses exemplos de políticas para começar a projetar suas próprias políticas que sigam o princípio de privilégio mínimo.

Para obter uma lista de ações e condições CloudFormation específicas, consulte Ações, recursos e chaves de condição para AWS CloudFormation e AWS CloudFormation condições. Para obter uma lista dos tipos de recursos para usar com condições, consulte Referência de tipos de propriedades e recursos da AWS.

Permitir acesso às visualizações

O acesso à visualização é o tipo de acesso menos privilegiado a. CloudFormation Esse tipo de política pode ser apropriado para os diretores do IAM que desejam visualizar todas as CloudFormation pilhas no. Conta da AWS O exemplo de política a seguir concede permissões para visualizar os detalhes de qualquer CloudFormation pilha na conta.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudformation:DescribeStacks", "cloudformation:DescribeStackEvents", "cloudformation:DescribeStackResource", "cloudformation:DescribeStackResources" ], "Resource": "*" } ] }

Permitir a criação de pilhas com base no modelo

O exemplo de política a seguir permite que os diretores do IAM criem pilhas usando somente os CloudFormation modelos armazenados em um bucket específico do Amazon Simple Storage Service (Amazon S3). O nome de um bucket é my-CFN-templates. Você pode carregar modelos aprovados para esse bucket. A chave de condição cloudformation:TemplateUrl na política impede que a entidade principal do IAM use qualquer outro modelo para criar pilhas.

Importante

Permita que a entidade principal do IAM tenha acesso somente leitura a esse bucket do S3. Isso ajuda a impedir que a entidade principal do IAM adicione, remova ou modifique os modelos aprovados.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudformation:CreateStack" ], "Resource": "*", "Condition": { "StringLike": { "cloudformation:TemplateUrl": "https:// my-CFN-templates.s3.amazonaws.com/*" } } } ] }

Negar a atualização ou exclusão de uma pilha

Para ajudar a proteger CloudFormation pilhas específicas que provisionam AWS recursos essenciais para os negócios, você pode restringir as ações de atualização e exclusão dessa pilha específica. Você pode permitir essas ações somente para algumas entidades principais do IAM especificadas e negá-las para qualquer outra entidade principal do IAM no ambiente. A declaração de política a seguir nega permissões para atualizar ou excluir uma CloudFormation pilha específica em um e. Região da AWS Conta da AWS

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "cloudformation:DeleteStack", "cloudformation:UpdateStack" ], "Resource": "arn:aws:cloudformation:us-east-1:123456789012:stack/MyProductionStack/<stack_ID>" } ] }

Esta declaração de política nega permissões para atualizar ou excluir a MyProductionStack CloudFormation pilha, que está no us-east-1 Região da AWS e no. 123456789012 Conta da AWS Você pode ver o ID da pilha no CloudFormation console. Confira abaixo alguns exemplos de como modificar o elemento Resource dessa instrução para seu caso de uso:

  • Você pode adicionar várias CloudFormation pilhas IDs no Resource elemento dessa política.

  • Você pode usar arn:aws:cloudformation:us-east-1:123456789012:stack/* para impedir que os principais do IAM atualizem ou excluam qualquer pilha que esteja na us-east-1 Região da AWS e na conta. 123456789012

Uma etapa importante é decidir qual política deve conter essa instrução. Você pode adicionar essa instrução às seguintes políticas:

  • A política baseada em identidade anexada ao diretor do IAM — colocar a declaração nessa política impede que o diretor específico do IAM crie ou exclua uma pilha específica. CloudFormation

  • Um limite de permissões vinculado à entidade principaldo IAM: colocar a instrução nessa política cria uma barreira de proteção de permissão. Ela impede que mais de um principal do IAM crie ou exclua uma CloudFormation pilha específica, mas não restringe todos os principais em seu ambiente.

  • Um SCP anexado a uma conta, unidade organizacional ou organização: colocar a instrução nessa política cria uma barreira de proteção de permissão. Ela impede que todos os diretores do IAM na conta, unidade organizacional ou organização de destino criem ou excluam uma pilha específica. CloudFormation

    No entanto, se você não permitir que pelo menos um principal do IAM, um principal privilegiado, atualize ou exclua a CloudFormation pilha, você não poderá fazer nenhuma alteração, quando necessário, nos recursos provisionados por meio dessa pilha. Um usuário ou um pipeline de desenvolvimento (recomendado) pode assumir essa entidade principal privilegiada. Se você quiser implantar a restrição como uma SCP, recomendamos a instrução de política a seguir.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "cloudformation:DeleteStack", "cloudformation:UpdateStack" ], "Resource": "arn:aws:cloudformation:us-east-1:123456789012:stack/MyProductionStack/<stack_ID>", "Condition": { "ArnNotLike": { "aws:PrincipalARN": [ "<ARN of the allowed privilege IAM principal>" ] } } } ] }

    Nessa instrução, o elemento Condition define a entidade principal do IAM que é excluída da SCP. Essa declaração nega qualquer permissão principal do IAM para atualizar ou excluir CloudFormation pilhas, a menos que o ARN do IAM principal corresponda ao ARN no elemento. Condition A chave de condição aws:PrincipalARN aceita uma lista, o que significa que você pode excluir mais de uma entidade principal do IAM das restrições, conforme necessário para seu ambiente. Para um SCP semelhante que impede modificações nos CloudFormation recursos, consulte SCP-CLOUDFORMATION-1 (). GitHub