Closed2

CodeCommitで管理しているリポジトリの特定のブランチへのpush等々を無効にする

ピン留めされたアイテム
nekonikinekoniki

概要

よくあるproductionに直接プッシュしちゃダメよ、的な設定の話。
CodeCommitではリポジトリ側の設定ではなく、IAMユーザに適用するポリシーで制御する。

以下のような感じ。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Deny",
      "Action": [
        "codecommit:GitPush"
      ],
      "Resource": "arn:aws:codecommit:us-east-1:{AccountID}:{RepositoryName}",
      "Condition": {
        "StringEqualsIfExists": {
          "codecommit:References": [
            "refs/heads/production"
          ]
        },
        "Null": {
          "codecommit:References": "false"
        }
      }
    }
  ]
} 

上記のRepositoryNameなどは*にすることも可能。その場合、AWSアカウントで管理する全てのCodeCommitリポジトリが対象になる。

参考

https://docs.aws.amazon.com/ja_jp/codecommit/latest/userguide/how-to-conditional-branch.html

このスクラップは2023/05/17にクローズされました