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 criar suas próprias políticas que sigam o princípio do menor privilégio.

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 de tipos de recursos a serem usados com condições, consulte a referência de tipos de AWS recursos e propriedades.

Permitir acesso à visualização

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 do bucket émy-CFN-templates. Você pode fazer upload de modelos aprovados para esse bucket. A chave de cloudformation:TemplateUrl condição na política impede que o diretor do IAM use qualquer outro modelo para criar pilhas.

Importante

Permita que o diretor do IAM tenha acesso somente de leitura a esse bucket do S3. Isso ajuda a impedir que o diretor 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 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 alguns principais do IAM especificados e negá-las para qualquer outro 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. A seguir estão alguns exemplos de como você pode modificar o Resource elemento dessa declaraçã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

Um passo importante é decidir qual política deve conter essa declaração. Você pode adicionar essa declaraçã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 ao diretor do IAM — Colocar a declaração nessa política cria uma barreira 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 declaração nessa política cria uma barreira 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 esse princípio privilegiado. Se você quiser implantar a restrição como SCP, recomendamos a seguinte declaração de política.

    { "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 declaração, o Condition elemento define o principal do IAM que é excluído do 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 aws:PrincipalARN condição aceita uma lista, o que significa que você pode excluir mais de um diretor 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