メインコンテンツまでスキップ

git-remote-codecommitでAWS CodeCommitの認証を簡略化する - IAMベースのGitアクセス

· 約6分
Shinya Kato
DayoneLabs管理人、ソフトウェア開発者、OSS開発者

git-remote-codecommitでAWS CodeCommitの認証を簡略化する - IAMベースのGitアクセス

どうも、Shinyaです。この記事では、AWS公式のPythonツールであるgit-remote-codecommitを使用して、AWS CodeCommitリポジトリへのGitアクセスをIAMユーザーの認証情報で行う方法について解説します。

この記事はこんな人にオススメ
  • AWS CodeCommitを使用していてGit認証に手間を感じている人
  • IAMユーザーの認証情報でCodeCommitにアクセスしたい人
  • Git認証情報(HTTPS Git認証情報)の管理を不要にしたい人
  • CodeCommitのクローンやプッシュでトラブルを経験したことがある人
前提となる記事

この記事では、AWS CLIがインストール済みで、IAMユーザーのプロファイルが設定されていることを前提としています。まだ設定していない場合は、以下の記事を参照してください。

git-remote-codecommitとは

git-remote-codecommitは、AWS CodeCommitリポジトリへのGitアクセスを簡略化するためのAWS公式ツールです。Pythonパッケージとしてpipで配布されています。

AWS CodeCommitはGitベースのマネージドリポジトリサービスですが、デフォルトのHTTPSアクセスではGit認証情報(ユーザー名とパスワード)の発行・管理が必要になります。git-remote-codecommitを使用すると、IAMユーザーの認証情報で直接アクセスできるため、Git認証情報を別途管理する必要がなくなります。

git-remote-codecommitの利点
  • IAMユーザーの認証情報でCodeCommitにアクセスできる
  • Git認証情報(HTTPS Git認証情報)の発行・管理が不要
  • AWS CLIのプロファイルをそのまま活用できる
  • フェデレーテッドアクセスや一時認証情報にも対応

前提条件

git-remote-codecommitを使用するには、以下の環境が必要です。

項目要件
Python3.8以上(3.8、3.9、3.10、3.11がサポート対象)
pip9.0.3以上
Git1.7.9以上
AWS CLIインストール・プロファイル設定済み

参考: git-remote-codecommit - PyPI

Pythonのインストールについては、HomebrewでPythonをインストールするで解説しています。

セットアップ手順

手順1: pipのバージョンを確認する

git-remote-codecommitにはpip 9.0.3以降が必要です。まず、pipのバージョンを確認します。

pip3 --version
出力例
pip 26.0 from /opt/homebrew/lib/python3.14/site-packages/pip (python 3.14)

バージョンが9.0.3未満の場合は、pipを更新します。

pip3 install --upgrade pip

または、Homebrewで管理している場合はbrewコマンドでPythonを更新します。

brew upgrade python3

手順2: IAMユーザーの準備

CodeCommitリポジトリがあるリージョンで、適切な権限を持つIAMユーザーを準備します。

  1. IAMユーザーを作成し、CodeCommit関連のポリシー(AWSCodeCommitFullAccessまたはAWSCodeCommitPowerUserなど)をアタッチする
  2. AWS CLIでプロファイルを設定する
aws configure --profile my-codecommit-profile

AWS CLIのプロファイル設定の詳細については、AWS CLIでIAMユーザーのプロファイルを設定するで解説しています。

手順3: git-remote-codecommitをインストールする

pipでgit-remote-codecommitをインストールします。

pip3 install git-remote-codecommit

インストールが完了すると、Gitコマンドでcodecommit://プロトコルが使用できるようになります。

使用方法

デフォルトプロファイルでクローンする

AWS CLIのデフォルトプロファイルを使用してリポジトリをクローンする場合は、以下のコマンドを実行します。

git clone codecommit://YourRepositoryName

プロファイルを指定してクローンする

デフォルト以外のプロファイルを使用する場合は、@の前にプロファイル名を指定します。

git clone codecommit://my-profile@YourRepositoryName

リージョンを指定してクローンする

特定のリージョンを明示的に指定する場合は、以下の形式を使用します。

git clone codecommit::ap-northeast-1://my-profile@YourRepositoryName

クローン後の操作

codecommit://プロトコルでクローンしたリポジトリでは、通常のGitコマンドでプル・プッシュなどの操作が可能です。

git pull
git push
git fetch

codecommitプロトコルの形式まとめ

形式用途
codecommit://RepoNameデフォルトプロファイル・デフォルトリージョン
codecommit://Profile@RepoNameプロファイル指定
codecommit::Region://Profile@RepoNameリージョン・プロファイル指定
注意点
  • 一部のIDEではcodecommit://形式のURLを直接認識できない場合があります。その場合は、コマンドラインで先にクローンしてからIDEで開くことで対応できます
  • AWS CLI v2の使用が推奨されます。一時認証情報のサポートはv2で提供されています

関連記事

まとめ

この記事では、git-remote-codecommitを使用してAWS CodeCommitの認証をIAMベースに簡略化する方法について解説しました。git-remote-codecommitを導入することで、Git認証情報の管理が不要になり、AWS CLIのプロファイルをそのまま活用してCodeCommitリポジトリにアクセスできます。


参考リンク:

免責事項:
当記事は管理人の開発時に書き留められたメモをもとにAIを活用して編纂されたものです。 管理人は記事の公開前に内容の校正・校閲を行い、記事の信頼性と正確性の向上に務めますが、それらを保証するものではありません。 また、当記事の編集時の誤字やコード例の不具合等によって読者が何らかの損害等を被った場合でも、管理人は一切の責任を負いません。 当記事に掲載したコンテンツの利用については自己責任でお願い致します。