使用 cdk-nag 规则包查看AWSCDK应用程序或 CloudFormation 模板以了解最佳实践 - AWS Prescriptive Guidance

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 cdk-nag 规则包查看AWSCDK应用程序或 CloudFormation 模板以了解最佳实践

由 Arun Donti 编写

环境:生产

技术: DevOps; 安全、身份、合规

工作负载:开源

AWS服务:AWSCDK

Summary

此模式说明了如何使用 cdk-nag 实用程序通过组合使用规则包来检查 C AWSloud Development Kit (AWSCDK) 应用程序的最佳实践。 cdk-nag 是一个受到 cfn_nag 启发的开源项目。它使用Aspects来实施评估包中的规则,例如AWS解决方案库、《健康保险便携性和问责法》(HIPAA)和美国国家标准与技术研究所(NIST)800-53。AWS CDK您可以使用这些包中的规则来检查AWSCDK应用程序的最佳实践,根据最佳实践检测和修复代码,以及取消不想在评估中使用的规则。 

你也可以使用 cdk-nag 通过 cloud formation-include 模块来检查你的AWS CloudFormation 模板。

有关所有可用包的信息,请参阅 cdk-nag 存储库的规则部分。评估包适用于:

先决条件和限制

先决条件

  • 使用以下内容的应用程序 AWSCDK

工具

  • AWSCDK— Cloud Development Kit (AWSCDK) 是一个软件开发框架,用于在代码中定义云基础架构并通过它进行配置AWS CloudFormation。

  • AWS CloudFormation— AWS CloudFormation 帮助您建模和设置AWS资源,快速一致地配置资源,并在资源的整个生命周期中对其进行管理。您可以使用模板来描述资源及其依赖关系,然后将它们作为堆栈一起启动和配置,而不必单独管理资源。您可以跨多个AWS账户和AWS地区管理和配置堆栈。 

操作说明

任务描述所需技能
了解 cdk-nag。

导航到 cdk-nag GitHub 存储库并通读文档。

应用程序开发人员
在您的应用程序中安装 cdk-nag 软件包。AWS CDK

要在AWSCDK应用程序中使用 cdk-nag,必须先安装它。 cdk-nag 可以从 PyPI、npm 和 Apache Maven 下载。 NuGet有关可用版本和下载位置的最新信息,请参见存储库中的自述文件

应用程序开发人员
选择你的 NagPacks。

cdk-nag 有不同的规则包叫做。NagPacks每个都 NagPack 包含符合特定标准的规则。例如,AWS解决方案 NagPack 包含一般最佳实践,NIST800-53 rev 5 NagPack 可以帮助实现合规性。您可以将多个包应用 NagPacks 于您的应用程序,也可以根据需要添加和删除包。有关可用包的列表,请参阅 GitHub 存储库中的自述文件。有关每个包中各个规则的信息,请参阅 GitHub 存储库的 “规则” 部分

应用程序开发人员
将 cdk-nag 集成到您的应用程序中。AWS CDK

您可以在应用程序级别将 cdk-nag 集成至应用程序中,也可以将其集成到应用程序中的各个阶段或堆栈中。例如,要在应用程序级别将AWS解决方案和HIPAA安全性 NagPacks 集成到 AWS CDK v2 TypeScript 应用程序中,可以使用以下代码:

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 }));
应用程序开发人员

相关资源