@cdklabs/cdk-validator-cfnguard

中文文档
0.0.62发布于 2026/07/28Apache-2.0TypeScriptCommonJS零依赖构建来源已验证近 30 天下载 7.4万
中文使用文档
文档目录9 节
  1. 安装
  2. 类型脚本/ Java 脚本
  3. 蟒
  4. 爪哇语
  5. . NET 网络
  6. 使用量
  7. 补充规则
  8. 使用 CDK 中捆绑的控制塔主动控制
  9. 装订的控制塔规则

CDK CFN 守护验证器插件


cdk-constructs: Experimental

本单元中更高层次的构件的API是实验性的并正在积极开发中. 在今后任何版本中,它们都须作非背向相容的修改或去除。 这些是 不适用 语义版本 模型和断开的更改 在发行笔记中宣布. 这意味着虽然你可能使用它们,但可能需要更新 当更新到此软件包的更新版本时,您的源代码.


安装

类型脚本/ Java 脚本

npm install @cdklabs/cdk-validator-cfnguard

蟒

pip install cdklabs.cdk-validator-cfnguard

爪哇语

// add this to your pom.xml
<dependency>
    <groupId>io.github.cdklabs</groupId>
    <artifactId>cdk-validator-cfnguard</artifactId>
    <version>0.0.0</version> // replace with version
</dependency>

. NET 网络

dotnet add package Cdklabs.CdkValidatorCfnGuard --version X.X.X

使用量

要在您的 CDK 应用程序中使用此插件, 请添加到 CDK App 中 .

new App({
  policyValidationBeta1: [
    new CfnGuardValidator(),
  ],
});

默认情况下 CfnGuardValidator 插件随 控制塔 主动 控件 启用 。 为了禁用这些规则,您可以使用 controlTowerRulesEnabled: false 属性.

new CfnGuardValidator({
  controlTowerRulesEnabled: false,
});

也可以禁用个别规则.

new CfnGuardValidator({
  disabledRules: [
    'ct-s3-pr-1',
  ],
});

补充规则

要为插件提供附加规则, 请提供本地 文件或目录路径.

new CfnGuardValidator({
  rules: [
    'path/to/local-rules-directory',
    'path/to/s3/local-rules/my-rule.guard',
  ],
});

如果提供的路径是目录,则目录只能是 包含守护规则文件,目录中的所有规则都将被使用.

使用 CDK 中捆绑的控制塔主动控制

捆绑的控制塔 主动控制 使用 Cloud Formation guard 用于控制塔管理控制的政策 服务。 您可以使用这些 CDK 捆绑控件而无需控制 AWS中的塔环境,但将两者一起使用有许多好处.

当您启用控制塔 主动控制您的控制塔环境, 控制可以阻止部署不合规资源 云门会. 关于管理下的主动控制及其运作方式的更多信息, 见 控制塔文档。 。 。 .

这些CDK捆绑的控制和管理的控制塔主动控制最好一起使用. 在此情景下, 您可以配置此验证插件, 并使用同样的主动控制 正在您的控制塔云层环境中活动 。 那样你就能很快获得自信了 您的 CDK 应用程序将通过本地运行 cdk 合成来通过控制塔控制 或在上述管道中.

无论你或你的组织是否使用控制塔,你都应该 使用此插件在本地运行时, 了解这些捆绑控件的以下内容 :

  1. 这些 CloudFormation 守护政策接受有限子集 CloudFormation 语法 他们评价的属性。 例如,一个名为加密的属性可能 如果以正文值指定, 则通过, 但是如果以正文值指定, 则可能失败 引用 CloudFormation 堆栈参数。 同样,如果规则检查字符串 值,它可能对 Fn: join 对象失败。 如果你发现一条规则可以绕过 特定资源配置,请存档出问题.
  2. 有些规则可能检查其他资源的参考文献,但这种参考文献检查是有限的. 例如,一项规则可能要求为每个S3桶指定一个出入记录桶. 在这种情况下,规则可以检查你是否通过 引用一个桶在同一 模板,但无法校验“实例”等硬码桶名是否实际指代 一个真正的桶或一个你拥有的桶.

您可以通过在控制塔中设置同样的主动控制来增加一层安全保护 云环境. 使用这些控制有不同的考虑因素,因为它们是在一种情况下操作的 不一样的方式。 更多信息,请参见 控制权 塔式主动控制文件。 。 。 .

如果您还没有控制塔环境, 请查看 什么是AWS控制塔?。 。 。 .

装订的控制塔规则

身份证名称评估的资源类型
CT.ACM.PR. 1 数据要求 AWS 私人 CA 证书有一个单一的域名AWS::CertificateManager::Certificate
(原始内容存档于2019-09-28) (英语). CT.APIGAATEWAY. PR需要 Amazon API 网关 REST 和 WebSocket API 启动日志AWS::ApiGateway::Stage
(原始内容存档于2019-03-25) (英语). CT. APIGATEWAY. PR要求 Amazon API 网关 REST API 阶段启动 AWS X-Ray 跟踪AWS::ApiGateway::Stage
(原始内容存档于2018-03-25) (英语). CT.APIGATEWAY.PR要求 Amazon API Gateway REST API 阶段在休息时为缓存数据配置加密AWS::ApiGateway::Stage
(原始内容存档于2019-09-25) (英语). CT. APIGATEWAY.PR需要 Amazon API 网关 V2 级才能启用访问日志AWS::ApiGatewayV2::Stage
(原始内容存档于2018-03-25) (英语). CT.APIGATEWAY.PR需要 Amazon API 网关 V2 Websocket 和 HTTP 路由来指定授权类型AWS::ApiGatewayV2::Route
AWS::ApiGatewayV2::ApiGatewayManagedOverrides
(原始内容存档于2018-09-21) (英语). CT.APIGATEWAY. PR需要一个 Amazon API Gateway REST 域名使用指定 TLSv1.2 最小 TLS 协议版本的安全政策AWS::ApiGateway::DomainName
CT.APPSYNC.PR. 1 (中文(简体) )要求 AWS AppSync GraphQL API 启用日志AWS::AppSync::GraphQLApi
CT.APPSYNC.PR. 2 (中文(简体) )需要配置一个 AWS AppSync GraphQL API 以私有可见度AWS::AppSync::GraphQLApi
CT.APPSYNC.PR. 3 (中文(简体) )要求 AWS AppSync GraphQL API 不使用 API 密钥认证AWS::AppSync::GraphQLApi
CT.APPSYNC.PR.4. (中文(简体) )需要 AWS AppSync GraphQL API 缓存才能启用中转加密 .AWS::AppSync::ApiCache
CT.APPSYNC.PR.5 互联网档案馆的存檔,存档日期2013-12-22要求 AWS AppSync GraphQL API 缓存在休息时启用加密 .AWS::AppSync::ApiCache
CT. ATHENA.PR. 1 (英语)需要 Amazon Athena 工作组在休息时加密 Athena 查询结果AWS::Athena::WorkGroup
(原始内容存档于2018-03-26) (英语). CT.ATHENA.PR.2需要 Amazon Athena 工作组在休息时用 AWS 密钥管理服务键加密 Athena 查询结果AWS::Athena::WorkGroup
(简体中文)CT.AUTACALING.PR要求 Amazon EC2 自动缩放组具有多个可用区AWS::AutoScaling::AutoScalingGroup
(简体中文)CT.AUTOSCALING.PR. 2需要 Amazon EC2 自动缩放组启动配置, 以配置 IMDSv2 的 Amazon EC2 实例AWS::AutoScaling::LaunchConfiguration
(原始内容存档于2019-03-26) (中文(简体) ). CT.AUTSCALING.PR需要使用 Amazon EC2 自动缩放启动配置, 以获得单跳元数据响应限制AWS::AutoScaling::LaunchConfiguration
(原始内容存档于2019-07-26) (中文(简体) ). CT.AUTSCALING.PR要求与 AWS 弹性负载平衡器(ELB)相联的 Amazon EC2 自动放大组启动 ELB 健康检查AWS::AutoScaling::AutoScalingGroup
(原始内容存档于2018-06-26) (英语). CT.AUTSCALING.PR要求 Amazon EC2 自动缩放 Group 启动配置中没有 Amazon EC2 实例并有公共 IP 地址AWS::AutoScaling::LaunchConfiguration
(原始内容存档于2018-06-26) (中文(简体) ). CT.AUTSCALING.PR要求任何 Amazon EC2 自动缩放组使用多个实例类型AWS::AutoScaling::AutoScalingGroup
CT.AUTACALING.PR. 8 (英语)要求 Amazon EC2 自动缩放组配置 EC2 启动模板AWS::AutoScaling::AutoScalingGroup
(原始内容存档于2019-09-26) (中文(简体) ). CT.AUTSCALING.PR需要通过 Amazon EC2 自动缩放启动配置配置配置的 Amazon EBS 音量,以便在休息时加密数据AWS::AutoScaling::LaunchConfiguration
(原始内容存档于2018-09-29) (中文(简体) ). CT.AUTACALING.PR.10要求一个 Amazon EC2 自动缩放组在覆盖发射模板时只使用 AWS 实例类型AWS::AutoScaling::AutoScalingGroup
(原始内容存档于2018-03-26) (英语). CT.AUTSCALING.PR.11只要求支持实例间网络流量加密的 AWS Nitro 实例类型在覆盖启动模板时添加到 Amazon EC2 自动缩放组AWS::AutoScaling::AutoScalingGroup
CT.CLOUDFRONT.PR. 1 (英语)需要 Amazon CloudFront 分布以配置默认的根对象AWS::CloudFront::Distribution
CT.CLOUDRONT.PR. 3 (英语)需要一个 Amazon CloudFront 分布以配置中转加密AWS::CloudFront::Distribution
CT.CLOUDFRONT.PR. 4 (英语)需要使用 Amazon CloudFront 分布来配置源失败AWS::CloudFront::Distribution
CT. CLOUDFRONT.PR.5 互联网档案馆的存檔,存档日期2013-12-22需要任何 Amazon CloudFront 分布以启用日志AWS::CloudFront::Distribution
CT. CLOUDRONT.PR. 6号机车需要使用自定义 SSL/ TLS 证书的 Amazon CloudFront 分布AWS::CloudFront::Distribution
CT.CLOUDRONT.PR. 7号机车需要使用 Amazon CloudFront 分布以服务 HTTPS 请求AWS::CloudFront::Distribution
CT.CLOUDFRONT.PR.8(英语:需要使用 Amazon CloudFront 发行来加密自定义源的流量AWS::CloudFront::Distribution
CT. CLOUDFRONT.PR.9 互联网档案馆的存檔,存档日期2013-12-02要求 Amazon CloudFront 发行时至少有 TLSv1.2 的安全政策AWS::CloudFront::Distribution
CT. CLOUDFRONT.PR.10 (英语)需要使用 Amazon S3 支持的源头的任何 Amazon CloudFront 分布来配置源访问控制AWS::CloudFront::Distribution
CT.CLOUDFRONT.PR.11 (英语)需要使用 Amazon CloudFront 分布以在边缘位置和自定义来源之间使用更新的 SSL 协议AWS::CloudFront::Distribution
CT. CLOUDTRAIL.PR. 1 (英语)需要一个 AWS CloudTrail 跟踪以启动休息时的加密AWS::CloudTrail::Trail
CT. CLOUDTRAIL.PR. 2 (英语)需要AWS CloudTrail 线索才能启动日志文件验证AWS::CloudTrail::Trail
CT. CLOUDTRAIL.PR. 3 (英语)需要一条 AWS CloudTrail 线索才能有 Amazon Cloud Watch 日志组配置AWS::CloudTrail::Trail
CT. CLOUDTRAIL.PR. 4 (英语)需要一个 AWS 云轨 湖事件数据存储, 允许在休息时使用 AWS KMS 密钥加密AWS::CloudTrail::EventDataStore
CT. CLOUDWATCH.PR. 1 (中文(简体) )需要使用 Amazon Cloud Watch 提醒来配置提醒状态的动作AWS::CloudWatch::Alarm
CT. CLOUDWATCH.PR. 2 (英语)要求将亚马逊云表日志组至少保留一年AWS::Logs::LogGroup
CT. CLOUDWATCH.PR. 3 (中文(简体) )需要使用 AWS KMS 密钥加密 Amazon Cloud Watch 日志组AWS::Logs::LogGroup
CT. CLOUDWATCH.PR. 4 (中文(简体) )需要 Amazon Cloud 监视提醒才能激活动作AWS::CloudWatch::Alarm
CT.CODEILD.PR.1 (英语)在 GitHub 或 Bitbucket 源寄存器上为 AWS 代码构建项目要求 OAuth URLAWS::CodeBuild::Project
CT.CODEILD.PR.2 (英语)要求任何 AWS 代码构建工程环境变量加密环境变量中的证书AWS::CodeBuild::Project
CT.CODEILD.PR. 3 (英语)要求任何 AWS 代码构建工程环境配置日志AWS::CodeBuild::Project
CT.CODEBILD.PR.4 (英语)要求任何 AWS 代码构建工程在运行时关闭特权模式AWS::CodeBuild::Project
CT.CODEILD.PR.5 (英语)要求对所有 AWS 代码创建项目文物进行加密AWS::CodeBuild::Project
CT.CODEILD.PR.6 (英语)AWS 代码构建项目需要加密所有 Amazon S3 日志AWS::CodeBuild::Project
CT.DAX.PR. 1 (中文(简体) )需要所有 Amazon DynamoDB 加速器( DAX) 集群在休息时加密AWS::DAX::Cluster
CT.DAX.PR.2 互联网档案馆的存檔,存档日期2013-12-02要求 Amazon DAX 集群在至少三个可用区部署节点AWS::DAX::Cluster
CT.DAX.PR. 3号卫星需要 Amazon DAX 集群对过境中的数据进行加密,并使用 Transport Lease (TLS)AWS::DAX::Cluster
CT.DMS.PR. 1 (中文(简体) )要求公共 AWS 地址管理系统复制实例不公开AWS::DMS::ReplicationInstance
CT.DMS.PR.2 (中文(简体) )要求 AWS 数据库迁移服务端点加密源端点和目标端点的连接AWS::DMS::Endpoint
CT.DOCUMENTDB.PR. 1 (中文(简体) )要求在休息时加密 Amazon 文档DB 集群AWS::DocDB::DBCluster
CT.DOCUMENTDB.PR.2 互联网档案馆的存檔,存档日期2013-12-2要求 Amazon 文件DB 集群的备份保留期大于或等于七天AWS::DocDB::DBCluster
CT.DYNAMODB.PR. 1 (中文(简体) )要求启动 Amazon DynamoDB 表格的即时恢复AWS::DynamoDB::Table
CT.DYNAMODB.PR.2 存档副本需要使用 AWS KMS 键在休息时加密 Amazon DynamoDB 表格AWS::DynamoDB::Table
CT.EC2.PR.1 化学反应需要 Amazon EC2 启动模板才能配置 IMDSv2AWS::EC2::LaunchTemplate
CT.EC2.PR.2 (中文(简体) )要求亚马逊 EC2 发射模板将符号跳限限制为最多一个AWS::EC2::LaunchTemplate
CT.EC2.PR.3 互联网档案馆的存檔,存档日期2013-12-02要求任何亚马逊 EC2 安全组规则不对 80 和 443 以外的端口使用源 IP 范围 0.0/0 或 */ 0AWS::EC2::SecurityGroup
AWS::EC2::SecurityGroupIngress
CT.EC2.PR. 4 (韩语)要求任何 Amazon EC2 安全组规则都不对特定高风险端口使用源 IP 范围 0.0.0.0/0 或 */ 0AWS::EC2::SecurityGroup
AWS::EC2::SecurityGroupIngress
CT.EC2.PR.5 化学反应要求任何亚马逊EC2网络ACL防止从0.0.0.0/0进入端口22或端口3389AWS::EC2::NetworkAclEntry
CT.EC2.PR.6 化学反应要求 Amazon EC2 过境网关拒绝 Amazon VPC 自动附件请求AWS::EC2::TransitGateway
CT.EC2.PR. 7 (中文(简体) )使用 AWS: EC2: : Instance Block DeviceMappings 属性或 AWS: EC2: : Volume 资源类型定义时, 需要 Amazon EBS 音量资源在休息时加密 AWS::EC2::Instance
AWS::EC2::Volume
CT.EC2.PR.8 化学反应需要 Amazon EC2 实例来设置 AssociatePublicIpAddress 在 AWS: EC2::: Instance 资源中由 NetworkInterfaces 属性创建的新网络界面上作假AWS::EC2::Instance
CT.EC2.PR.9 化学反应要求任何 Amazon EC2 启动模板不要自动为网络接口指定公共IP地址AWS::EC2::LaunchTemplate
CT.EC2.PR.10 化学文摘社要求 Amazon EC2 发射模板启用 Amazon Cloud Watch 详细监测AWS::EC2::LaunchTemplate
CT.EC2.PR.11 (中文(简体) )要求 Amazon EC2 子网不自动指定公共 IP 地址AWS::EC2::Subnet
CT.EC2.PR. 12 (韩语)要求 Amazon EC2 实例 最多通过 AWS: EC2:::: Instance 资源中的 NetworkInterfaces 属性来指定一个网络接口AWS::EC2::Instance
CT.EC2.PR.13 (韩语)要求 Amazon EC2 实例启用详细监测AWS::EC2::Instance
CT.EC2.PR.14 (韩语)需要通过 Amazon EC2 启动模板配置的 Amazon EBS 音量,以便在休息时加密数据AWS::EC2::LaunchTemplate
CT.EC2.PR.15 化学反应要求 Amazon EC2 实例在从“ AWS: EC2:::::: Launch Template” 资源类型创建时使用 AWS 氮实例类型AWS::EC2::LaunchTemplate
CT.EC2.PR. 16 (韩语)使用 “ AWS: EC2:::: Instance” 资源类型创建时, 需要 Amazon EC2 实例使用 AWS 硝基实例类型AWS::EC2::Instance
CT.EC2.PR.17 (中文(简体) )需要 Amazon EC2 专用主机使用 AWS 硝基实例类型AWS::EC2::Host
CT.EC2.PR.18 互联网档案馆的存檔,存档日期2013-12-02要求 Amazon EC2 机队仅覆盖那些带有 AWS Nitro 实例类型的发射模板AWS::EC2::EC2Fleet
CT.EC2.PR.19 互联网档案馆的存檔,存档日期2013-12-02要求一个 EC2 实例使用 AWS 的 Nitro 实例类型, 当使用 AWS: EC2::: Instance 资源类型创建时, 该实例类型支持实例之间的加密AWS::EC2::Instance
CT.EC2.PR.20 (中文(简体) )要求 Amazon EC2 机队只覆盖那些使用 AWS Nitro 实例类型支持在实例间中加密的发射模板AWS::EC2::EC2Fleet
CT.ECR.PR. 1 (中文(简体) )要求 Amazon ECR 存储器配置生命周期策略AWS::ECR::Repository
CT.ECR.PR. 2 (中文(简体) )要求 Amazon ECR 私人寄存器启用图像扫描AWS::ECR::Repository
CT.ECR.PR. 3 (中文(简体) )要求 Amazon ECR 私人寄存器启用标记不可变性AWS::ECR::Repository
CT.ECS.PR. 1 (中文(简体) )要求 AWS ECS 远门服务在最新的远门平台版本运行AWS::ECS::Service
CT.ECS.PR. 2 (中文(简体) )要求任何亚马逊ECS集群启动容器透视AWS::ECS::Cluster
CT.ECS.PR. 3 (中文(简体) )要求任何 Amazon ECS 任务定义指定非根的用户AWS::ECS::TaskDefinition
CT.ECS.PR. 4 (中文(简体) )要求 Amazon ECS 任务使用“ awsvpc” 网络模式AWS::ECS::TaskDefinition
CT.ECS.PR.5 《欧洲条约汇编》需要一个活跃的 Amazon ECS 任务定义来进行日志配置AWS::ECS::TaskDefinition
CT.ECS.PR. 6 (中文(简体) )要求 Amazon ECS 容器允许只读访问根文件系统AWS::ECS::TaskDefinition
CT.ECS.PR. 7 (中文(简体) )要求 Amazon ECS 任务定义有特定的内存使用限制AWS::ECS::TaskDefinition
CT.ECS.PR. 8 (中文(简体) )要求亚马逊ECS任务定义具有安全的联网模式和用户定义AWS::ECS::TaskDefinition
CT.ECS.PR.9 《欧洲条约汇编》要求 Amazon ECS 服务不能自动指定公共 IP 地址AWS::ECS::Service
CT.ECS.PR.10 《欧洲条约汇编》要求 Amazon ECS 任务定义不共享主机的进程命名空间AWS::ECS::TaskDefinition
CT.ECS.PR. 11 (中文(简体) )要求 Amazon ECS 容器作为非特权程序运行AWS::ECS::TaskDefinition
CT.ECS.PR. 12 (中文(简体) )要求 Amazon ECS 任务定义不会作为容器环境变量传递秘密AWS::ECS::TaskDefinition
CT.EKS.PR. 1 (中文(简体) )需要配置一个 Amazon EKS 集群, 其公共访问被禁用到集群 Kubernetes API 服务器端点 .AWS::EKS::Cluster
CT.EKS.PR.2 信息技术要求使用 AWS 密钥管理服务( KMS) 密钥配置 Amazon EKS 集群AWS::EKS::Cluster
(原始内容存档于2018-10-21) (中文(简体) ). CT.EASTICACHE.PRRedis 集群需要使用 Amazon ElastiCache 启动自动备份AWS::ElastiCache::CacheCluster
(原始内容存档于2017-03-31) (英语). CT.EASTICACHE.PR.2Redis 集群需要 Amazon ElastiCache 启动自动小版本升级AWS::ElastiCache::CacheCluster
(原始内容存档于2013-10-03). CT.EASTICACHE.PR需要用于 Redis 复制组的 Amazon ElastiCache 启动自动失效AWS::ElastiCache::ReplicationGroup
(中文(简体) ). 4要求 Amazon ElastiCache 复制组在休息时启动加密AWS::ElastiCache::ReplicationGroup
(原始内容存档于2013-10-12). CT.EASTICACHE.PR需要 Amazon ElastiCache 用于 Redis 复制组, 才能激活中转中的加密AWS::ElastiCache::ReplicationGroup
(原始内容存档于2019-03-26) (英语). CT.EASTICACHE.PR需要 Amazon ElastiCache 缓存组使用自定义子网组AWS::ElastiCache::CacheCluster
(中文(简体) ). 7需要由早期 Redis 版本的 Amazon ElastiCache 复制组启用 Redis AUTHAWS::ElastiCache::ReplicationGroup
(原始内容存档于2017-03-31) (中文(简体) ). CT.EASTICACHE.PR.8需要使用 Amazon ElastiCache 复制 组 , 包括后来的 Redis 版本, 才能启用 RBAC 认证AWS::ElastiCache::ReplicationGroup
科学、技术和科学分析要求 AWS 弹性豆茎环境能够加强健康报告AWS::ElasticBeanstalk::Environment
AWS::ElasticBeanstalk::ConfigurationTemplate
(原始内容存档于2019-03-25) (中文(简体) ). CT.ELACSTANSTALK.PR需要一个 AWS 弹性 Beanstalk 环境来配置管理平台更新AWS::ElasticBeanstalk::Environment
AWS::ElasticBeanstalk::ConfigurationTemplate
(原始内容存档于2019-10-21) (英语). CT.ELASTICANSTALK.PR需要一个 AWS 弹性 Beanstalk 环境来进行日志配置AWS::ElasticBeanstalk::Environment
AWS::ElasticBeanstalk::ConfigurationTemplate
资料汇编需要 Amazon EFS 文件系统在休息时使用 AWS KMS 加密文件数据AWS::EFS::FileSystem
资料汇编需要 Amazon EFS 音量才能有自动备份计划AWS::EFS::FileSystem
(原始内容存档于2018-09-21) (中文(简体) ). CT. ELASTICLIERSYSTEM.PR要求 Amazon EFS 访问点有一个根目录AWS::EFS::AccessPoint
(原始内容存档于2018-09-29) (中文(简体) ). CT. ELASTICLIERSYSTEM.PR要求 Amazon EFS 访问点执行用户身份AWS::EFS::AccessPoint
(原始内容存档于2018-03-26) (英语). CT. ALESTICLO ADBASSANCING.PR要求任何应用程序负载平衡器监听器默认动作将所有 HTTP 请求重定向到 HTTPSAWS::ElasticLoadBalancingV2::Listener
(原始内容存档于2019-09-26) (英语). CT. ELASTICLO ADABANCING.PR.2要求任何 Amazon ELB 应用程序或网络负载平衡器拥有 AWS 证书管理器证书AWS::ElasticLoadBalancingV2::Listener
AWS::ElasticLoadBalancingV2::ListenerCertificate
(原始内容存档于2019-03-26) (英语). CT. ALESTICLO ADHAMALANCING. PR要求任何应用程序负荷平衡器启用防御性或最严格的脱同步减缓模式AWS::ElasticLoadBalancingV2::LoadBalancer
(原始内容存档于2018-03-26) (英语). CT. ALESTICLO ADBANKANCING.PR要求必须配置任何应用程序负载平衡器以放下 HTTP 信头AWS::ElasticLoadBalancingV2::LoadBalancer
拉丁美洲和拉丁美洲要求启动应用程序负载平衡器删除保护AWS::ElasticLoadBalancingV2::LoadBalancer
(原始内容存档于2018-03-26) (英语). CT. ALESTICLO ADBANKANCING.PR要求启动应用程序和网络负荷平衡器访问记录AWS::ElasticLoadBalancingV2::LoadBalancer
拉丁美洲和加勒比要求任何经典负载平衡器配置多个可用区AWS::ElasticLoadBalancing::LoadBalancer
(原始内容存档于2017-03-26) (英语). CT. ALESTICLO ADBASSANCING.PR要求任何经典负载平衡器 SSL/HTTPS 听器拥有由 AWS 证书管理器提供的证书AWS::ElasticLoadBalancing::LoadBalancer
(原始内容存档于2019-09-26) (英语). CT. ELASTICLO ADABANCING.PR要求使用 HTTPS 或 TLS 终止配置 AWS ELB 应用程序或经典负载平衡器AWS::ElasticLoadBalancing::LoadBalancer
(原始内容存档于2019-09-26) (英语). CT. ALESTICLO ADBASSANCING. PR.10需要使用 ELB 应用程序或经典负载平衡器来激活日志AWS::ElasticLoadBalancing::LoadBalancer
(原始内容存档于2019-06-26) (英语). CT. ALESTICLO ADHAMALANCING. PR.11要求任何ELB经典负载平衡器启动连接排出AWS::ElasticLoadBalancing::LoadBalancer
(原始内容存档于2019-03-26) (英语). CT. ALESTICLO ADHAMALANCING. PR.12要求任何 ELB 经典负载平衡器 SSL/ HTTPS 收听器都有一个具有强配置的预定义的安全政策AWS::ElasticLoadBalancing::LoadBalancer
(原始内容存档于2013-10-12) (英语). CT. ALESTICLO ADBANKANCING.PR.13要求任何ELB经典负载平衡器启用跨区负载平衡AWS::ElasticLoadBalancing::LoadBalancer
(原始内容存档于2019-09-26) (英语). CT. ALESTICLO ADBASSANCING.PR.14要求网络负载平衡器启用跨区域负载平衡AWS::ElasticLoadBalancingV2::LoadBalancer
(原始内容存档于2019-09-29) (英语). CT. ELASTICLO ADABANCING.PR.15要求弹性负载平衡 v2 目标组不明确禁用跨区负载平衡AWS::ElasticLoadBalancingV2::TargetGroup
CT.EMR.PR. 1 (中文(简体) )需要配置一个 Amazon Elastic MapReduce (EMR) 安全配置,以便在 Amazon S3 中休息时加密数据AWS::EMR::SecurityConfiguration
CT.EMR.PR. 2 (中文(简体) )需要配置一个 Amazon Elastic MapReduce (EMR) 安全配置,以便在 Amazon S3 的休息状态加密数据,并配有 AWS KMS 密钥AWS::EMR::SecurityConfiguration
CT.EMR.PR. 3 (中文(简体) )需要使用 AWS KMS 密钥配置 Amazon Elastic MapReduce (EMR) 安全配置 AWS::EMR::SecurityConfiguration
CT.EMR.PR. 4 (中文(简体) )需要配置一个 Amazon 弹性 MapReduce (EMR) 安全配置, 以加密中转中的数据AWS::EMR::SecurityConfiguration
CT.GLUE.PR. 1 (中文(简体) )需要一个 AWS 粘贴任务来设置相关的安全配置AWS::Glue::Job
CT. GUARDDUTY.PR. 1 (英语)需要 Amazon GuardDuty 探测器才能启动 Amazon S3 保护AWS::GuardDuty::Detector
CT.IAM.PR. 1 (中文(简体) )要求 AWS 身份和访问管理(IAM)内置政策没有将"*"包含在行动和资源要素中的声明AWS::IAM::Policy
AWS::IAM::Role
AWS::IAM::User
AWS::IAM::Group
CT.IAM.PR. 2 (中文(简体) )要求 AWS 身份和访问管理(IAM) 客户管理的政策不包含在行动和资源要素中包含"*"的语句AWS::IAM::ManagedPolicy
CT.IAM.PR. 3 (中文(简体) )要求AWS身份和访问管理(IAM)客户管理的政策没有通配卡服务行动AWS::IAM::ManagedPolicy
CT.IAM.PR. 4 (中文(简体) )要求AWS身份和访问管理(IAM)用户不附带内含或管理的政策AWS::IAM::User
AWS::IAM::Policy
AWS::IAM::ManagedPolicy
[CT.IAM.PR.5] (中文(简体) )https://docs.aws.amazon.com/controltower 互联网档案馆的存檔,存档日期2013-12-02

版本与发布记录

@cdklabs/cdk-validator-cfnguard 共发布 61 个版本,首次发布于 2023/03/31;过去 12 个月发布了 2 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.0.62latest2026/07/283 个月前
0.0.612026/07/283 个月前
0.0.602024/10/152 年前
0.0.592024/10/032 年前
0.0.582023/12/122 年前
0.0.572023/11/172 年前

关于 @cdklabs/cdk-validator-cfnguard 的常见问题

如何安装 @cdklabs/cdk-validator-cfnguard?

在项目目录运行 npm install @cdklabs/cdk-validator-cfnguard,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:aws-cdk-lib(^2.76.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@cdklabs/cdk-validator-cfnguard 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@cdklabs/cdk-validator-cfnguard 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@cdklabs/cdk-validator-cfnguard 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >= 16.14.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@cdklabs/cdk-validator-cfnguard 可以商用吗?

@cdklabs/cdk-validator-cfnguard 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@cdklabs/cdk-validator-cfnguard 的下载量有多少?

根据 npm 官方下载统计,@cdklabs/cdk-validator-cfnguard 在 2026/10/10 – 2026/11/08 这 30 天内被下载 73,980 次,日均约 2,466 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@cdklabs/cdk-validator-cfnguard 还在维护吗?

最新版本 0.0.62 发布于 2026/07/28(3 个月前);至今共发布 61 个版本,其中过去 12 个月发布了 2 个;首次发布于 2023/03/31。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。