Verifique os aplicativos ou CloudFormation modelos do AWS CDK para obter as melhores práticas usando pacotes de regras cdk-nag - Recomendações da AWS

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

Verifique os aplicativos ou CloudFormation modelos do AWS CDK para obter as melhores práticas usando pacotes de regras cdk-nag

Criado por Arun Donti

Ambiente: produção

Tecnologias: DevOps; Segurança, identidade, conformidade

Workload: código aberto

Serviços da AWS: AWS CDK

Resumo

Este padrão explica como você pode usar o utilitário cdk-nag para verificar as práticas recomendadas dos aplicativos do AWS Cloud Development Kit (AWS CDK) usando uma combinação de pacotes de regras. O cdk-nag é um projeto de código aberto inspirado no cfn_nag. Ele implementa regras em pacotes de avaliação, como a Biblioteca de Soluções da AWS, a Lei de Portabilidade e Responsabilidade de Seguros de Saúde (HIPAA) e o Instituto Nacional de Padrões e Tecnologia (NIST) 800-53 usando AWS CDK Aspects. Você pode verificar as práticas recomendadas em seus aplicativos AWS CDK usando as regras desses pacotes, detectar e corrigir o código com base nas práticas recomendadas e suprimir as regras que você não deseja usar em suas avaliações. 

Você também pode usar cdk-nag para verificar seus CloudFormation modelos da AWS usando o módulo cloudformation-include.

Para obter informações sobre todos os pacotes disponíveis, consulte a seção Regras do repositório cdk-nag. Os pacotes de avaliação estão disponíveis para:

Pré-requisitos e limitações

Pré-requisitos

Ferramentas

  • O AWS CDK — Cloud Development Kit (AWS CDK) é uma estrutura de desenvolvimento de software para definir a infraestrutura de nuvem em código e provisioná-la por meio da AWS. CloudFormation

  • AWS CloudFormation — CloudFormation A AWS ajuda você a modelar e configurar seus recursos da AWS, provisioná-los de forma rápida e consistente e gerenciá-los durante todo o ciclo de vida. Você pode usar um modelo para descrever seus recursos e suas dependências, além de iniciá-los e configurá-los juntos como uma pilha, em vez de gerenciar os recursos individualmente. Você pode gerenciar e provisionar pilhas em várias contas e regiões da AWS.  

Épicos

TarefaDescriçãoHabilidades necessárias
Saiba mais sobre cdk-nag.

Navegue até o GitHub repositório cdk-nag e leia a documentação.

Desenvolvedor de aplicativos
Instale o pacote cdk-nag em seu aplicativo AWS CDK.

Para usar o cdk-nag em seu aplicativo de CDK da AWS, você deve instalá-lo primeiro. O cdk-nag está disponível para download no PyPI, npm e Apache Maven. NuGet Para obter as informações mais recentes sobre as versões disponíveis e os locais de download, consulte o Arquivo leiame no repositório.

Desenvolvedor de aplicativos
Escolha o seu NagPacks.

cdk-nag tem diferentes pacotes de regras chamados. NagPacks Cada um NagPack contém regras que estão em conformidade com um padrão específico. Por exemplo, as soluções da AWS NagPack contêm as melhores práticas gerais, e o NIST 800-53 rev 5 NagPack pode ajudar na conformidade. Você pode aplicar vários pacotes NagPacks ao seu aplicativo e adicionar e remover pacotes conforme necessário. Para obter uma lista dos pacotes disponíveis, consulte o arquivo Readme no GitHub repositório. Para obter informações sobre as regras individuais em cada pacote, consulte a seção Regras do GitHub repositório.

Desenvolvedor de aplicativos
Integre o cdk-nag ao seu aplicativo AWS CDK.

Você pode integrar o cdk-nag em seu aplicativo no nível de todo o aplicativo ou integrá-lo em estágios ou pilhas individuais no seu aplicativo. Por exemplo, para integrar as soluções da AWS e a segurança da HIPAA NagPacks em um aplicativo AWS CDK v2 em nível de todo o TypeScript aplicativo, você pode usar o seguinte código:

import { App, Aspects } from 'aws-cdk-lib'; import { CdkTestStack } from '../lib/cdk-test-stack'; import { AwsSolutionsChecks, HIPAASecurityChecks } from 'cdk-nag'; const app = new App(); new CdkTestStack(app, 'CdkNagDemo'); // Simple rule informational messages Aspects.of(app).add(new AwsSolutionsChecks()); // Additional explanations on the purpose of triggered rules Aspects.of(app).add(new HIPAASecurityChecks({ verbose: true }));
Desenvolvedor de aplicativos

Recursos relacionados