Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

AWS CDK melhores práticas de segurança

Modo de foco
AWS CDK melhores práticas de segurança - AWS Cloud Development Kit (AWS CDK) v2

Este é o Guia do Desenvolvedor AWS CDK v2. O CDK v1 antigo entrou em manutenção em 1º de junho de 2022 e encerrou o suporte em 1º de junho de 2023.

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

Este é o Guia do Desenvolvedor AWS CDK v2. O CDK v1 antigo entrou em manutenção em 1º de junho de 2022 e encerrou o suporte em 1º de junho de 2023.

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

AWS Cloud Development Kit (AWS CDK) É uma ferramenta poderosa que os desenvolvedores podem usar para configurar Serviços da AWS e provisionar a infraestrutura AWS. Com qualquer ferramenta que forneça esse controle e recursos, as organizações precisarão estabelecer políticas e práticas para garantir que a ferramenta seja usada de forma segura e protegida. Por exemplo, as organizações podem querer restringir o acesso do desenvolvedor a serviços específicos para garantir que não possam alterar as medidas de conformidade ou controle de custos configuradas na conta.

Muitas vezes, pode haver uma tensão entre segurança e produtividade, e cada organização precisa estabelecer o equilíbrio adequado para si mesma. Este tópico fornece as melhores práticas de segurança AWS CDK que você pode considerar ao criar e implementar suas próprias políticas de segurança. As práticas recomendadas a seguir são diretrizes gerais e não representam uma solução completa de segurança. Como essas práticas recomendadas podem não ser adequadas ou suficientes para o seu ambiente, trate-as como considerações úteis em vez de prescrições.

Seguir práticas recomendadas de segurança do IAM

AWS Identity and Access Management (IAM) é um serviço web que ajuda você a controlar com segurança o acesso aos AWS recursos. Organizações, indivíduos e pessoas AWS CDK usam o IAM para gerenciar permissões que determinam as ações que podem ser executadas nos AWS recursos. Ao usar o IAM, siga as práticas recomendadas de segurança do IAM. Para obter mais informações, consulte Práticas recomendadas de segurança e casos de uso AWS Identity and Access Management no Guia do usuário do IAM.

Gerencie as permissões para o AWS CDK

Ao usar o AWS CDK em toda a organização para desenvolver e gerenciar sua infraestrutura, considere os seguintes cenários em que o gerenciamento de permissões será importante:

  • Permissões para AWS CDK implantações — Essas permissões determinam quem pode fazer alterações em seus AWS recursos e quais mudanças eles podem fazer.

  • Permissões entre recursos — Essas são as permissões que permitem interações entre os AWS recursos que você cria e gerencia com AWS CDK o.

Gerencie permissões para AWS CDK implantações

Os desenvolvedores usam o AWS CDK para definir a infraestrutura localmente em suas máquinas de desenvolvimento. Essa infraestrutura é implementada em AWS ambientes por meio de implantações que normalmente envolvem o uso da interface de linha de AWS CDK comando (AWS CDK CLI). Com as implantações, talvez você queira controlar quais mudanças os desenvolvedores podem fazer em seus ambientes. Por exemplo, você pode ter um recurso da Amazon Virtual Private Cloud (Amazon VPC) que você não quer que os desenvolvedores modifiquem.

Por padrão, o CDK CLI usa uma combinação das credenciais de segurança do ator e das funções do IAM que são criadas durante a inicialização para receber permissões para implantações. As credenciais de segurança do ator são usadas primeiro para autenticação e, em seguida, presume-se que os perfis do IAM realizem várias ações durante a implantação, como usar o serviço do AWS CloudFormation para criar recursos. Para obter mais informações sobre como as implantações do CDK funcionam, incluindo os perfis do IAM que são usados, consulte Implemente AWS CDK aplicativos.

Para restringir quem pode realizar implantações e as ações que podem ser executadas durante a implantação, considere o seguinte:

  • As credenciais de segurança do ator são o primeiro conjunto de credenciais usado para autenticação na AWS. A partir daqui, as permissões usadas para realizar ações durante a implantação são concedidas aos perfis do IAM que são assumidos durante o fluxo de trabalho de implantação. Você pode restringir quem pode realizar implantações limitando quem pode assumir esses perfis. Também é possível restringir as ações que podem ser realizadas durante a implantação substituindo esses perfis do IAM pelos seus.

  • As permissões para realizar implantações são concedidas ao DeploymentActionRole. Você pode controlar as permissões de quem pode realizar implantações limitando quem pode assumir esse perfil. Ao usar uma função para implantações, você pode realizar implantações em várias contas, pois a função pode ser assumida por AWS identidades em uma conta diferente. Por padrão, todas as identidades na mesma declaração Conta da AWS de AssumeRole política apropriada podem assumir essa função.

  • As permissões para criar e modificar recursos por meio de AWS CloudFormation são concedidas aoCloudFormationExecutionRole. Esse perfil também requer permissão para ler os recursos de bootstrap. Você controla as permissões para as implantações do CDK usando uma política gerenciada para o CloudFormationExecutionRole e, opcionalmente, configurando um limite de permissões. Por padrão, esse perfil tem permissões de AdministratorAccess sem limite de permissões.

  • As permissões para interagir com os recursos de bootstrap são concedidas a FilePublishingRole e ImagePublishingRole. O ator que executa as implantações deve ter permissão para assumir esses perfis. Por padrão, todas as identidades na mesma declaração Conta da AWS de AssumeRole política apropriada podem assumir essa função.

  • As permissões para acessar recursos de bootstrap para realizar pesquisas são concedidas a LookupRole. O ator que executa as implantações deve ter permissão para assumir esse perfil. Por padrão, esse perfil tem acesso readOnly aos recursos de bootstrap. Por padrão, todas as identidades na mesma Conta da AWS com a política AssumeRole apropriada podem assumir esse perfil.

Para configurar as identidades do IAM em você Conta da AWS com permissão para assumir essas funções, adicione uma política com a seguinte declaração de política às identidades:

{ "Version": "2012-10-17", "Statement": [{ "Sid": "AssumeCDKRoles", "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "*", "Condition": { "StringEquals": { "iam:ResourceTag/aws-cdk:bootstrap-role": [ "image-publishing", "file-publishing", "deploy", "lookup" ] } } }] }

Modifique as permissões para os perfis assumidos durante a implantação

Ao modificar as permissões para os perfis assumidos durante a implantação, você pode gerenciar as ações que podem ser executadas durante a implantação. Para modificar as permissões, você cria seus próprios perfis do IAM e os especifica ao realizar bootstrapping em seu ambiente. Ao personalizar o bootstrapping, você terá que personalizar a síntese. Para instruções gerais, consulte Personalize o AWS CDK bootstrapping.

Modifique as credenciais e os perfis de segurança usados durante a implantação

Os perfis e os recursos de bootstrap usados durante as implantações são determinados pelo sintetizador de pilha do CDK que você usa. Para modificar esse comportamento, você pode personalizar a síntese. Para obter mais informações, consulte Configurar e realizar a síntese de pilhas do CDK.

Considerações para conceder o acesso de privilégio mínimo

Conceder acesso com privilégio mínimo é uma prática recomendada de segurança que sugerimos que você considere ao desenvolver sua estratégia de segurança. Para obter mais informações, consulte SEC03-BP02 Conceder acesso com privilégio mínimo no Guia do AWS Well-Architected Framework.

Geralmente, conceder acesso com privilégio mínimo envolve restringir as políticas do IAM ao acesso mínimo necessário para realizar uma determinada tarefa. Tentar conceder acesso com privilégio mínimo por meio de permissões refinadas com o CDK usando essa abordagem pode afetar as implantações do CDK e fazer com que você precise criar permissões com escopo mais amplo do que gostaria. Ao usar essa abordagem, leve em consideração o seguinte:

  • Determinar uma lista exaustiva de permissões que permitem que os desenvolvedores usem a infraestrutura AWS CDK para provisionar CloudFormation é difícil e complexo.

  • Se você quiser refinar, as permissões podem se tornar muito longas para caber no tamanho máximo dos documentos de política do IAM.

  • Fornecer um conjunto incompleto de permissões pode afetar gravemente a produtividade e as implantações dos desenvolvedores.

Com o CDK, as implantações são realizadas usando. CloudFormation CloudFormation inicia um conjunto de chamadas de AWS API em ordem usando as permissões fornecidas. As permissões necessárias a qualquer momento dependem de muitos fatores:

  • Os Serviços da AWS que estão sendo modificados. Especificamente, os recursos e propriedades que estão sendo usados e alterados.

  • O estado atual da CloudFormation pilha.

  • Problemas que podem ocorrer durante as implantações e se forem necessárias reversões, que também exigirão permissões Delete além de Create.

Quando as permissões fornecidas estiverem incompletas, será necessária uma intervenção manual. Veja a seguir alguns exemplos:

  • Se você descobrir permissões incompletas durante o avanço, precisará pausar a implantação e dedicar algum tempo para discutir e provisionar novas permissões antes de continuar.

  • Se a implantação for revertida e as permissões para aplicar a reversão estiverem ausentes, isso poderá deixar sua CloudFormation pilha em um estado que exigirá muito trabalho manual para se recuperar.

Como essa abordagem pode resultar em complicações e limitar severamente a produtividade do desenvolvedor, não recomendamos segui-la. Em vez disso, recomendamos implementar barreiras de proteção e impedir desvios.

Implementação de barreiras de proteção e impedimento de desvios

Você pode implementar grades de proteção, regras de conformidade, auditoria e monitoramento usando serviços como AWS Control Tower,,, AWS Config AWS CloudTrail AWS Security Hub, e outros. Com essa abordagem, você concede permissão aos desenvolvedores para fazer tudo, exceto adulterar os mecanismos de validação existentes. Os desenvolvedores têm a liberdade de implementar mudanças rapidamente, desde que permaneçam dentro da política. Essa é a abordagem que recomendamos ao usar o AWS CDK. Para obter mais informações sobre grades de proteção, consulte Controles no Guia do ambiente de nuvem de gerenciamento e governança.

Também recomendamos o uso de limites de permissões ou políticas de controle de serviço (SCPs) como forma de implementar grades de proteção. Para obter mais informações sobre a implementação de limites de permissões com o AWS CDK, consulteCrie e aplique limites de permissões para o AWS CDK.

Se você estiver usando algum mecanismo de controle de conformidade, configure-o durante a fase de bootstrapping. Verifique se o CloudFormationExecutionRole ou as identidades acessíveis pelo desenvolvedor têm políticas ou limites de permissões anexados que evitem o desvio dos mecanismos que você implementou. As políticas apropriadas dependem dos mecanismos específicos que você usa.

Gerencie permissões entre recursos provisionados pelo AWS CDK

A forma como você gerencia as permissões entre os recursos que são provisionados pelo AWS CDK depende de você permitir que o CDK crie funções e políticas.

Ao usar construções L2 da AWS Construct Library para definir sua infraestrutura, você pode usar os grant métodos fornecidos para provisionar permissões entre recursos. Com grant os métodos, você especifica o tipo de acesso que deseja entre os recursos e as AWS CDK provisões que menos privilegiam os papéis do IAM para realizar sua intenção. Essa abordagem atende aos requisitos de segurança da maioria das organizações e, ao mesmo tempo, é eficiente para desenvolvedores. Para obter mais informações, consulte Defina permissões para construções L2 com o AWS CDK.

Se você quiser contornar esse atributo substituindo os perfis gerados automaticamente por outros criados manualmente, considere o seguinte:

  • Seus perfis do IAM precisarão ser criados manualmente, retardando o desenvolvimento da aplicação.

  • Quando os perfis do IAM precisam ser criados e gerenciados manualmente, as pessoas geralmente combinam vários perfis lógicos em um único perfil para facilitar o gerenciamento. Isso vai contra o princípio de privilégio mínimo.

  • Como esses perfis precisarão ser criados antes da implantação, os recursos que precisam ser referenciados ainda não existirão. Portanto, você precisará usar curingas, o que vai contra o princípio do privilégio mínimo.

  • Uma solução alternativa comum para o uso de curingas é exigir que todos os recursos recebam um nome previsível. No entanto, isso interfere na capacidade CloudFormation da empresa de substituir recursos quando necessário e pode retardar ou bloquear o desenvolvimento. Por isso, recomendamos que você permita CloudFormation criar nomes de recursos exclusivos para você.

  • Será impossível realizar a entrega contínua, pois as ações manuais devem ser realizadas antes de cada implantação.

Quando as organizações querem impedir que o CDK crie funções, geralmente é para impedir que os desenvolvedores possam criar perfis do IAM. A preocupação é que, ao dar permissão aos desenvolvedores para criar perfis do IAM usando o AWS CDK, eles poderiam elevar seus próprios privilégios. Para mitigar isso, recomendamos o uso de limites de permissão ou políticas de controle de serviço (SCPs). Com os limites de permissões, você pode definir limites sobre o que os desenvolvedores e o CDK estão autorizados a fazer. Para obter mais informações sobre como usar limites de permissões com o CDK, consulte Crie e aplique limites de permissões para o AWS CDK.

PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.