CloudFormationでConfigルールと修復アクションを組織に適用する(AWS::Config::OrganizationConformancePack)

こちらの記事を見て、Configルールと修復アクションを組織に適用してみたところ、CloudFormationでもできないか気になったので試してみた。

dev.classmethod.jp

記事中で CLI から put-organization-conformance-pack を実行しているところを、CloudFormationの AWS::Config::OrganizationConformancePack でやればよさそう。

AWS::Config::OrganizationConformancePack - AWS CloudFormation

実際に使ったCFnテンプレート。

AWSTemplateFormatVersion: 2010-09-09
Description: Create Organization Conformance Pack
Resources:
  OrganizationConformancePack:
    Type: AWS::Config::OrganizationConformancePack
    Properties:
      OrganizationConformancePackName: OrganizationConformancePack
      DeliveryS3Bucket: "awsconfigconforms-<audit-account-id>"
      TemplateS3Uri: "s3://awsconfigconforms-<audit-account-id>/S3BucketServerSideEncryptionEnabled.yml"

awsconfigconforms-<audit-account-id> は管理アカウント上の適合パック格納用S3バケット

上記のテンプレートを使って組織の管理アカウント、もしくは委任先アカウントでスタックを作成することでCloudFormationからも作成できることが確認できた。

最初テンプレートをStackSetで組織に配ればいいと思ったら ListDelegatedAdministrators の権限が足りないと怒られた。よく考えたらStackSetだとメンバーアカウントでリソースを作成しようとしてしまうので当然のエラーだった。 AWS::Config::OrganizationConformancePack は組織の管理アカウントか委任先アカウントでスタック作成すればいい。