CodeCommit is Back! 復活したAWS CodeCommitをKiro-CLIで検証、IAM認証Gitの利便性を再確認してみた

CodeCommit is Back! 復活したAWS CodeCommitをKiro-CLIで検証、IAM認証Gitの利便性を再確認してみた

AWS CodeCommitのGA復帰を受け、Kiro-CLIによる自律的なリポジトリ操作を検証。「credential-helper」を用いたIAM認証Gitが、AIエージェント環境においていかにセキュアで効率的か、実機の実行ログを交えて報告します。
2025.11.25

2025年7月に新規利用の停止が発表されていたAWS CodeCommitですが、本日その方針が撤回され、完全なサービス継続(GA復帰) がアナウンスされました。

https://aws.amazon.com/jp/blogs/devops/aws-codecommit-returns-to-general-availability/

https://dev.classmethod.jp/articles/aws-codecommit-returns-to-ga/

AWS環境との親和性が高く、IAM認証によるセキュアな管理が可能なCodeCommitが再び選択肢に戻ってきたことは、多くの開発者にとって朗報と言えます。

本記事では、この復帰を記念し、AWSのAIエージェントツール「Kiro-CLI」を用いて、CodeCommitの強みである「IAM認証によるクレデンシャルレスなGit操作」がいかにスムーズに行えるか、実機での挙動とログを元に検証しました。

検証環境と前提

今回は以下の環境で検証を行いました。

  • OS: Amazon Linux 2023
  • ツール: Kiro-CLI 1.20.1
  • 対象サービス: AWS CodeCommit
  • 認証方式: aws login (AWS CLI v2 標準のブラウザ認証)

なお、検証環境の構築およびKiro-CLIのインストール手順については、以下の記事を参照して実施しました。

https://dev.classmethod.jp/articles/kiro-cli-ec2-amazon-linux-2023-install/

1. AWS認証情報の取得(ブラウザ認証)

まず、Kiro-CLIの対話セッション内からAWSへの認証を行いました。
CodeCommitを利用する上で最大のメリットは、SSH鍵や固定のGitパスワードを管理せず、AWS CLIの一時認証情報(IAMロール)だけで、シンプルな操作が実現できる点にあります。

aws login

ここでは、AWS CLI v2.32.0で追加された aws login コマンド を利用して、セキュアにセッションを開始しました。

https://dev.classmethod.jp/articles/aws-cli-aws-login/

実行コマンド

!aws login

実行ログ

ブラウザ認証を経て、端末側のプロファイルが更新されました。

Attempting to open your default browser.
If the browser does not open, open the following URL:
https://ap-northeast-1.signin.aws.amazon.com/v1/authorize?response_type=code&client_id=arn%3Aaws%3Asignin%3A%3A%3Adevtools%2Fsame-device... (省略) ...

Profile default is already configured to use session ...
Do you want to overwrite it ...? (y/n): y

Updated profile default to use arn:aws:sts::123456789012:assumed-role/cm-user/cm-user credentials.

AIエージェントが更新された認証情報を正しく認識できているか確認しました。

指示プロンプト

現在のAWSアカウント情報を確認してください。

実行ログ

Running aws cli command (using tool: aws):
Service name: sts
Operation name: get-caller-identity
Parameters: 
Region: us-east-1

{
    "UserId": "AROAYQNJSKC6XXXXXXXXX:cm-user",
    "Account": "123456789012",
    "Arn": "arn:aws:sts::123456789012:assumed-role/cm-user/cm-user"
}

意図したIAMロールでアクセスできていることを確認しました。

2. CodeCommit リポジトリの作成

東京リージョンにプライベートリポジトリの作成を指示しました。

指示プロンプト

東京リージョンに「sample-repo-demo」という名前で、CodeCommitのプライベートリポジトリを作成してください。

実行ログ

AIは aws codecommit create-repository を実行しました。

Running aws cli command (using tool: aws):
Service name: codecommit
Operation name: create-repository
Parameters: 
- repositoryDescription: "Sample repository for demo"
- repositoryName: "sample-repo-demo"
Region: ap-northeast-1

# 結果(抜粋)
# - RepositoryName: sample-repo-demo
# - RepositoryId: ff82b310-xxxx-xxxx-xxxx-91b36111cca0
# - CloneUrlHttp: https://git-codecommit.ap-northeast-1.amazonaws.com/v1/repos/sample-repo-demo

リポジトリが作成され、HTTPS形式のクローンURLが発行されたことを確認しました。

3. Credential Helperによるセキュアなクローン

ここがCodeCommitの真骨頂です。
SSH鍵ペアを作成・登録する手間なく、AWS CLIの機能だけでGit認証を通す設定をAIに依頼しました。

指示プロンプト

AWS CLIのcredential helperを設定した上で、先ほどのリポジトリをクローンしてください。

実行ログ

AIは credential-helper の設定とクローンを連続して実行しました。

# Credential Helperの設定 (ここが重要)
git config --global credential.helper '!aws codecommit credential-helper $@' && git config --global credential.UseHttpPath true

# クローンの実行
git clone https://git-codecommit.ap-northeast-1.amazonaws.com/v1/repos/sample-repo-demo

# 出力結果
Cloning into 'sample-repo-demo'...
warning: You appear to have cloned an empty repository.

!aws codecommit credential-helper をGit設定に注入することで、IAM権限を利用した透過的な認証が実現しました。パスワード等の入力は一切求められていません。

4. ファイル作成とGit初期設定

リポジトリ操作の準備として、READMEの作成とコミッター情報を設定しました。

指示プロンプト

初期雛形のREADME.mdを作成し、Gitのユーザー情報を設定してください。

実行ログ

# README.md 作成(writeツールによる生成)
Creating: /home/user/work/sample-repo-demo/README.md

# Git config設定
git config user.email "user@example.com" && git config user.name "cm-user"

5. ブランチ作成とプッシュ

開発用ブランチ (dev) を作成し、リモートへプッシュしました。

指示プロンプト

変更をコミットし、devブランチとしてリモートへプッシュしてください。

実行ログ

# コミット
[dev (root-commit) 61b9601] Add initial README.md

# プッシュ
git push -u origin dev

# 結果
To https://git-codecommit.ap-northeast-1.amazonaws.com/v1/repos/sample-repo-demo
 * [new branch]      dev -> dev
branch 'dev' set up to track 'origin/dev'.

IAM認証が裏側で機能しているため、通常のGitコマンドと同様にスムーズにプッシュが完了しました。

6. プルリクエスト(PR)の作成

Kiro-CLIの興味深い挙動として、「DevからMainへのPR作成」を指示した際、存在しない main ブランチを自動作成する自律的な動きを確認しました。

指示プロンプト

devブランチからmainブランチへマージするためのプルリクエストを作成してください。

実行ログ

AIは「mainブランチが存在しない」ことを判断し、以下の手順を実行しました。

  1. main ブランチをローカルで作成し、プッシュ
  2. dev ブランチに戻る
  3. CodeCommitのAPIでPRを作成

# 1. mainブランチの準備(AIによる自律的な補完動作)
git checkout -b main && git push -u origin main

# 2. 作業ブランチへの復帰
git checkout dev

# 3. PR作成 (AWS CLI)
aws codecommit create-pull-request \
  --targets repositoryName=sample-repo-demo,sourceReference=dev,destinationReference=main \
  --title "Merge dev to main" \
  --description "Initial README.md" \
  --region ap-northeast-1

結果、以下のPRが正常に作成されました。

  • Pull Request ID: 1
  • Status: OPEN

7. PRのマージ実行

最後に、作成されたPRをマージしました。

指示プロンプト

作成されたプルリクエストをマージしてください。

実行ログ

Running aws cli command (using tool: aws):
Service name: codecommit
Operation name: merge-pull-request-by-fast-forward
Parameters: 
- pull-request-id: "1"
- repository-name: "sample-repo-demo"
Region: ap-northeast-1

ログより pullRequestStatus: CLOSED となり、マージが完了したことを確認しました。


まとめ:CodeCommit × IAM認証の再評価

今回の検証を通じ、復活したCodeCommitの利便性を改めて確認しました。
特に以下の2点は、AWSネイティブサービスであるCodeCommitならではの大きな強みです。

  1. トークン・鍵管理が不要なIAM認証
    ログに残された git config ... credential-helper が示す通り、Git操作のためにSSH秘密鍵やPersonal Access Tokenを発行・管理する必要がありません。
    今回 aws login で、MFAで適切に保護されたブラウザ経由で取得した一時的なセッション情報を、そのままAIエージェントでも利用できたため、認証情報の漏洩リスクを最小限に抑えられます。

  2. AIエージェントとの高い親和性
    Kiro-CLIのようなツールから操作する場合、IAMロールが付与されていれば即座にリポジトリ操作(作成・PR・マージ)が可能です。
    「ブランチがない場合は作る」といった文脈補完も含め、運用の自動化において強力な選択肢となることを実証しました。

AWS環境との親和性が高く、IAM認証によるセキュアな管理が可能なCodeCommit。このサービスが再び選択肢に戻ってきたことを喜びたいと思います。

この記事をシェアする

FacebookHatena blogX

関連記事