[AWS]「CodeCommit」複数アカウントの切替[Windows編]

業務上、顧客ごとや案件ごとにAWSのアカウントを別に取得することがあります。
ここでは、リポジトリごとにユーザーアカウントを切り替える方法を記載します。

なお、Git for Windowsのインストールに関しては、「CodeCommit」Git for Windowsのインストール を参照して下さい。

ここでは例として、以下の作業環境とします。
※名称などは任意です。
namespace ユーザーアカウント リポジトリ名 作業ディレクトリ
project01 aws-account01 cc-test01 C:\Git_Works
project02 aws-account02 cc-test02 C:\Git_Works2

1. ユーザー1のGit認証の登録

まず、1つめのアカウントのGit認証を登録します。
$ mkdir /c/Git_Works
$ cd /c/Git_Works
CodeCommit上のリポジトリをローカルディレクトリにcloneします。
ここで「credential.namespace」を設定することにより、Windowsの資格情報マネージャーで認証情報の切替を行うことができます。
$ git -c credential.namespace=project01 clone https://git-codecommit.ap-northeast-1.amazonaws.com/v1/repos/cc-test01
※「project01」および「cc-test01」の部分は任意です。

Git Credential Managerの認証情報を入力するダイアログが表示されます。


ここで、CodeCommitのGit認証情報を入力します。
  • 「OK」をクリックすると、Gitのcloneが実行されます。
  • 直下にリポジトリ名のディレクトリが作成されているので、リポジトリディレクトリに移動します。
$ cd cc-test01
※「cc-test01」の部分は任意です。
  • 「credential.namespace」の設定を行います。
$ git config --local credential.namespace project01
※「project01」の部分は任意です。
※今後このリポジトリは「project01」の認証情報が使用されます。

2. ユーザー2のGit認証の登録

次に別のアカウントのGit認証を登録します。
$ mkdir /c/Git_Works2
$ cd /c/Git_Works2
CodeCommit上のリポジトリをローカルディレクトリに「credential.namespace」を設定してcloneします。
$ git -c credential.namespace=project02 clone https://git-codecommit.ap-northeast-1.amazonaws.com/v1/repos/cc-test02
※「project02」および「cc-test02」の部分は任意です。


Git Credential Managerの認証情報を入力するダイアログが表示されます。


ここで、CodeCommitのGit認証情報を入力します。
  • 「OK」をクリックすると、Gitのcloneが実行されます。
  • 直下にリポジトリ名のディレクトリが作成されているので、リポジトリディレクトリに移動します。
$ cd cc-test02
※「cc-test02」の部分は任意です。
  • 「credential.namespace」の設定を行います。
$ git config --local credential.namespace project02
※「project02」の部分は任意です。
※今後このリポジトリは「project02」の認証情報が使用されます。

Windowsの資格情報マネージャーを確認すると、credential.namespaceで指定した名前ごとにアカウント情報が登録されているのが分かります。




最終更新:2020年11月17日 15:46