🍣

AWS SCPをCodeCommitで管理する

2024/08/16に公開

以下を参考にCodeBuildでAWS CLIを実行してCodeCommitに格納しているSCPに更新するだけです
https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps_create.html#update_policy

SCPのIDを確認

SCPのARNの末尾が、SCPのIDになります

CodeCommitにSCP用ファイルとbuildspec.ymlを作成


・SCPの例 (s3:*を追加)

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "Statement1",
      "Effect": "Allow",
      "Action": [
        "ec2:*",
        "s3:*"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}

・buildspec.ymlの例

version: 0.2

# PolicyIDとFile名はSCPに合わせること
phases:
  build:
    commands:
      - "ls -l"
      - "aws organizations update-policy --policy-id p-uroor9m1 --content file://Allow-SCP"

ほぼデフォルトの設定でCodeBuildとCodePipelineを作成します

作成手順は割愛します…
※CodeBuildのIAM Roleには、以下のSCPを更新するためのIAM Policyを付与してください

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "organizations:UpdatePolicy",
                "organizations:DescribePolicy"
            ],
            "Resource": "*"
        }
    ]
}


以下のように更新されていればOK!

終わり(o _ _)o

GitHubで編集を提案

Discussion