【问题标题】:Ensure tagging using AWS CDK确保使用 AWS CDK 进行标记
【发布时间】:2021-11-06 19:09:31
【问题描述】:

我正在寻找一种使用 AWS CDK 编写单元测试的方法,以确保正确标记堆栈的所有资源。有没有办法为所有资源编写断言,例如:

expect(stack).toHaveAllResources({
  Tags: [
    {
      Key: "ou",
      Value: "ds",
    },
  ],
});

【问题讨论】:

    标签: typescript amazon-web-services jestjs amazon-cloudformation aws-cdk


    【解决方案1】:

    aws-cdk/assert 包并不真正支持此用例。关于如何在 CDK 上进行此类合规性测试,我也遇到过类似的困难。我对 CDK slack 社区进行了快速讨论,基本上得出的结论是,目前最好的方法仍然是使用 cfn-guard 或 checkov 或类似工具来对 cfn 堆栈进行合规性测试(我相信有些支持标签检查)。

    我希望你真的想用 jest(我完全可以理解),我认为 Aspects 是你最好的选择。编写一个方面(example and guide here 以“访问”堆栈中的所有节点并对它们进行一些测试。我没有完整的标签示例,但我希望它为您指明了正确的方向。

    另请注意,并非所有资源都支持标记。因此,如果它按照您最初建议的方式检查所有资源的标签,那么您的测试大部分时间都会失败。一种方法是挑选一些您肯定想要标记的资源类型(角色、存储桶、堆栈本身等)。

    编辑:对于那些对合规性测试感兴趣的人,我发现了这个新的 github 解决方案,它使用与上述使用 Aspects 描述的相同类型的实现:https://github.com/cdklabs/cdk-nag

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-02-04
      • 1970-01-01
      • 1970-01-01
      • 2022-06-22
      • 1970-01-01
      • 2020-09-24
      • 2021-02-03
      • 2023-02-04
      相关资源
      最近更新 更多