カピバラ好きなエンジニアブログ

興味ある技術とか検証した内容を赴くままに書いていきます。カピバラの可愛さこそ至高。

AWS CodeCommit関連権限の整理

AWS CodeCommitの権限について調べたので、備忘のためにこちらに載せておきます。(2020/10時点)
対応するAWS CLIのコマンドも記載します。

権限一覧

Git操作

CodeCommit権限 アクセス許可 説明 AWS CLI
Git操作 codecommit:GitPull ローカルrepoにプルする権限 なし
Git操作 codecommit:GitPush リモートrepoにプッシュする権限 なし


ブランチ操作

CodeCommit権限 アクセス許可 説明 AWS CLI
ブランチ操作 codecommit:CreateBranch ブランチを作成する権限 aws codecommit create-branch
ブランチ操作 codecommit:DeleteBranch ブランチを削除する権限 aws codecommit delete-branch
ブランチ操作 codecommit:GetBranch ブランチ情報を取得する権限 aws codecommit get-branch
ブランチ操作 codecommit:ListBranches ブランチのリストを取得する権限 aws codecommit list-branches
ブランチ操作 codecommit:MergeBranchesByFastForward 早送りマージ時にブランチ操作をする権限 aws codecommit merge-branches-by-fast-forward
ブランチ操作 codecommit:MergeBranchesBySquash スカッシュマージ時にブランチ操作をする権限 aws codecommit merge-pull-request-by-squash
ブランチ操作 codecommit:MergeBranchesByThreeWay 3Wayマージ時にブランチ操作をする権限 aws codecommit merge-branches-by-three-way
ブランチ操作 codecommit:UpdateDefaultBranch デフォルトブランチを変更する権限 aws codecommit update-default-branch


マージ操作

CodeCommit権限 アクセス許可 説明 AWS CLI
マージ操作 codecommit:BatchDescribeMergeConflicts スカッシュマージか3Wayマージ時にマージ競合情報を取得する権限 aws codecommit batch-describe-merge-conflicts
マージ操作 codecommit:CreateUnreferencedMergeCommit スカッシュマージか3Wayマージ時にマージコミットを作成する権限 aws codecommit create-unreferenced-merge-commit
マージ操作 codecommit:DescribeMergeConflicts スカッシュマージか3Wayマージ時にマージ競合情報を取得する権限
(マージオプションにFAST_FORWARD_MERGEが設定されている場合はエラー)
aws codecommit describe-merge-conflicts
マージ操作 codecommit:GetMergeCommit コミット間マージ情報を取得する権限 aws codecommit get-merge-commit
マージ操作 codecommit:GetMergeOptions マージオプション情報を取得する権限 aws codecommit get-merge-options


プルリクエスト操作

CodeCommit権限 アクセス許可 説明 AWS CLI
プルリクエスト操作 codecommit:BatchGetPullRequests 1つ以上のプルリクエスト情報を取得する権限 なし
プルリクエスト操作 codecommit:CreatePullRequest プルリクエストを作成する権限 aws codecommit create-pull-request
プルリクエスト操作 codecommit:CreatePullRequestApprovalRule プルリクエストの承認ルールを作成する権限 なし
プルリクエスト操作 codecommit:DeletePullRequestApprovalRule プルリクエストの承認ルールを削除する権限 なし
プルリクエスト操作 codecommit:DescribePullRequestEvents 1つ以上のプルリクエストイベント情報を取得する権限 aws codecommit describe-pull-request-events
プルリクエスト操作 codecommit:EvaluatePullRequestApprovalRules プルリクエストが承認ルール条件を満たしているか評価する権限 なし
プルリクエスト操作 codecommit:GetCommentsForPullRequest プルリクエストのコメントを返す権限 aws codecommit get-comments-for-pull-request
プルリクエスト操作 codecommit:GetCommitsFromMergeBase マージのコンテキストにおけるコミット間差分情報を取得する権限 なし
プルリクエスト操作 codecommit:GetMergeConflicts プルリクエストのブランチ間のマージ競合情報を取得する権限 aws codecommit get-merge-conflicts
プルリクエスト操作 codecommit:GetPullRequest プルリクエスト情報を取得する権限 aws codecommit get-pull-request
プルリクエスト操作 codecommit:GetPullRequestApprovalStates 指定したプルリクエストの承認状態を取得する権限 なし
プルリクエスト操作 codecommit:GetPullRequestOverrideState プルリクエストの承認ルールの上書き有無と、上書きしたユーザ情報を取得する権限 なし
プルリクエスト操作 codecommit:ListPullRequests プルリクエスト一覧を取得する権限 aws codecommit list-pull-requests
プルリクエスト操作 codecommit:MergePullRequestByFastForward 早送りマージ時にプルリクエストのクローズとブランチの統合を行う権限 aws codecommit merge-pull-request-by-fast-forward
プルリクエスト操作 codecommit:MergePullRequestBySquash スカッシュマージ時にプルリクエストのクローズとブランチの統合を行う権限 aws codecommit merge-pull-request-by-squash
プルリクエスト操作 codecommit:MergePullRequestByThreeWay 3Wayマージ時にプルリクエストのクローズとブランチの統合を行う権限 aws codecommit merge-pull-request-by-three-way
プルリクエスト操作 codecommit:OverridePullRequestApprovalRules プルリクエストのすべての承認ルール要件を確保する権限 なし
プルリクエスト操作 codecommit:PostCommentForPullRequest プルリクエストにコメントを投稿する権限 aws codecommit post-comment-for-pull-request
プルリクエスト操作 codecommit:UpdatePullRequestApprovalRuleContent プルリクエストの承認ルールを変更する権限 なし
プルリクエスト操作 codecommit:UpdatePullRequestApprovalState プルリクエストの承認状態を変更する権限 なし
プルリクエスト操作 codecommit:UpdatePullRequestDescription プルリクエストの説明を変更する権限 aws codecommit update-pull-request-description
プルリクエスト操作 codecommit:UpdatePullRequestStatus プルリクエストのステータスを変更する権限 aws codecommit update-pull-request-status
プルリクエスト操作 codecommit:UpdatePullRequestTitle プルリクエストのタイトルを変更する権限 aws codecommit update-pull-request-title


承認ルール操作

CodeCommit権限 アクセス許可 説明 AWS CLI
承認ルール操作 codecommit:AssociateApprovalRuleTemplateWithRepository AWSアカウントの指定のリポジトリへの承認ルールテンプレートの関連付けを行う権限 なし
承認ルール操作 codecommit:BatchAssociateApprovalRuleTemplateWithRepositories 1つ以上の指定リポジトリに承認ルールテンプレートの関連付けを行う権限 なし
承認ルール操作 codecommit:BatchDisassociateApprovalRuleTemplateFromRepositories 1つ以上の指定リポジトリから承認ルールテンプレートの関連付け解除を行う権限 なし
承認ルール操作 codecommit:CreateApprovalRuleTemplate 承認ルールのテンプレートを作成する権限 なし
承認ルール操作 codecommit:DeleteApprovalRuleTemplate 承認ルールのテンプレートを削除する権限 なし
承認ルール操作 codecommit:DisassociateApprovalRuleTemplateFromRepository AWSアカウントの指定のリポジトリへの承認ルールテンプレートの関連付け解除を行う権限 なし
承認ルール操作 codecommit:GetApprovalRuleTemplate 承認ルールテンプレートの情報を取得する権限 なし
承認ルール操作 codecommit:ListApprovalRuleTemplates 承認ルールテンプレートの一覧を取得する権限 なし
承認ルール操作 codecommit:ListAssociatedApprovalRuleTemplatesForRepository 指定のリポジトリに関連付けられている承認ルールテンプレートの一覧を取得する権限 なし
承認ルール操作 codecommit:ListRepositoriesForApprovalRuleTemplate 指定の承認ルールテンプレートに関連付けられているリポジトリの一覧を取得する権限 なし
承認ルール操作 codecommit:UpdateApprovalRuleTemplateContent 承認ルールテンプレートの内容を更新する権限 なし
承認ルール操作 codecommit:UpdateApprovalRuleTemplateDescription 承認ルールテンプレートの説明を更新する権限 なし
承認ルール操作 codecommit:UpdateApprovalRuleTemplateName 承認ルールテンプレートの名前を更新する権限 なし


個別ファイル操作

CodeCommit権限 アクセス許可 説明 AWS CLI
個別ファイル操作 codecommit:DeleteFile 指定されたブランチから指定されたファイルを削除する権限 aws codecommit delete-file
個別ファイル操作 codecommit:GetBlob リポジトリ内の個々のblobのbase-64エンコードされたコンテンツを取得する権限 aws codecommit get-blob
個別ファイル操作 codecommit:GetFile 指定されたファイルとそのメタデータのbase-64でエンコードされたコンテンツを取得する権限 aws codecommit get-file
個別ファイル操作 codecommit:GetFolder リポジトリ内の指定されたフォルダの内容を取得する権限 aws codecommit get-folder
個別ファイル操作 codecommit:PutFile リポジトリのブランチにファイルを追加または更新し、指定されたブランチに追加するためのコミットを生成する権限 aws codecommit put-file


コメント操作

CodeCommit権限 アクセス許可 説明 AWS CLI
コメント操作 codecommit:DeleteCommentContent リポジトリ内の変更、ファイル、またはコミットに対して行われたコメントの内容を削除する権限 aws codecommit delete-comment-content
コメント操作 codecommit:GetComment リポジトリ内の変更、ファイル、またはコミットに対して行われたコメントの内容を取得する権限 aws codecommit get-comment
コメント操作 codecommit:GetCommentsForComparedCommit 2つのコミットの比較で行われたコメントに関する情報を取得する権限 aws codecommit get-comments-for-compared-commit
コメント操作 codecommit:PostCommentForComparedCommit 2つのコミットの比較に関するコメントを投稿する権限 aws codecommit post-comment-for-compared-commit
コメント操作 codecommit:PostCommentReply コミットまたはプルリクエストの比較に関する既存のコメントに返信してコメントを投稿する権限 aws codecommit post-comment-reply
コメント操作 codecommit:UpdateComment コメントの内容を置き換える権限 aws codecommit update-comment


コミット操作

CodeCommit権限 アクセス許可 説明 AWS CLI
コミット操作 codecommit:BatchGetCommits リポジトリ内の1つ以上のコミットの内容に関する情報を取得する権限 aws codecommit batch-get-commits
コミット操作 codecommit:CreateCommit 指定されたブランチの先端にリポジトリのコミットを作成する権限 aws codecommit create-commit
コミット操作 codecommit:GetCommit コミットメッセージやコミッター情報など、コミットに関する情報を取得する権限 aws codecommit get-commit
コミット操作 codecommit:GetCommitHistory コミット履歴に関する情報を取得する権限 なし
コミット操作 codecommit:GetDifferences 有効なコミット指定子(ブランチ、タグ、HEAD、コミットID、その他の完全修飾参照など)の違いに関する情報を取得する権限 aws codecommit get-differences
コミット操作 codecommit:GetObjectIdentifier BLOB、ツリー、コミット、それらの識別子に関する情報を取得する権限 なし
コミット操作 codecommit:GetReferences ブランチやタグなどのすべての参照を返す権限 なし
コミット操作 codecommit:GetTree CodeCommit コンソールから CodeCommit リポジトリ内の指定したツリーの内容を表示する権限 なし


リポジトリ操作

CodeCommit権限 アクセス許可 説明 AWS CLI
リポジトリ操作 codecommit:BatchGetRepositories 1つ以上のリポジトリに関する情報を取得する権限 aws codecommit batch-get-repositories
リポジトリ操作 codecommit:CreateRepository 新しい空のリポジトリを作成する権限 aws codecommit create-repository
リポジトリ操作 codecommit:DeleteRepository リポジトリを削除する権限 aws codecommit delete-repository
リポジトリ操作 codecommit:GetRepository リポジトリに関する情報を取得する権限 aws codecommit get-repository
リポジトリ操作 codecommit:ListRepositories 1つ以上のリポジトリに関する情報を取得する権限 aws codecommit list-repositories
リポジトリ操作 codecommit:UpdateRepositoryDescription リポジトリのコメントまたは説明を設定または変更する権限 aws codecommit update-pull-request-description
リポジトリ操作 codecommit:UpdateRepositoryName リポジトリの名前を変更する権限 aws codecommit update-repository-name


タグ操作

CodeCommit権限 アクセス許可 説明 AWS CLI
タグ操作 codecommit:ListTagsForResource AWS CodeCommitで指定されたAmazonリソースネーム(ARN)のAWSタグに関する情報を取得する権限 aws codecommit list-tags-for-resource
タグ操作 codecommit:TagResource AWS CodeCommitでリソースのタグを追加または更新する権限 aws codecommit tag-resource
タグ操作 codecommit:UntagResource CodeCommit のリソースから AWS タグを解除する権限 aws codecommit untag-resource


トリガー操作

CodeCommit権限 アクセス許可 説明 AWS CLI
トリガー操作 codecommit:GetRepositoryTriggers リポジトリのために設定されたトリガーに関する情報を取得する権限 aws codecommit get-repository-triggers
トリガー操作 codecommit:PutRepositoryTriggers リポジトリのトリガーを作成、編集、または削除する権限 aws codecommit put-repository-triggers
トリガー操作 codecommit:TestRepositoryTriggers トリガー用に設定されたトピックまたは関数にデータを送ることで、リポジトリトリガーの機能をテストする権限 aws codecommit test-repository-triggers