0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

CodeCommit認証を一時的な認証 (aws login) へ切り替える(Windows版)

0
Posted at

はじめに

ローカルからCodeCommitリポジトリを操作するとき、HTTPS接続用のGit認証情報を使っていたけど、AWS CLI認証情報ヘルパー + aws loginで一時的な認証情報を使ってリポジトリにアクセスするように変更したのでその設定手順。

※2026/4/17現在、コンソール上ではHTTPS Git認証情報はAPIキーと表記されている。
APIキー.png

以下はWindows環境、かつGitとAWS CLIは既にインストールされている前提。

1. Git Credential Managerの無効化

Gitのインストール時、デフォルト設定だとGit Credential Managerが有効になっている。これが有効だとgitコマンド実行時に毎回Credential Managerのポップアップが出てくるため、以下のコマンドで無効化する。(要管理者権限)
git config --system --unset credential.helper

AWS CLI認証情報ヘルパーが設定されていれば、Credential Managerのポップアップが出てきても×ボタンで閉じることで AWS CLIの認証情報を使って認証をしてくれる。…がgitコマンド打つたびにポップアップが出るのは鬱陶しいことこの上ないので切っておくことを推奨。

2. AWS CLI 認証情報ヘルパーを設定する

CodeCommitが認証を必要とした際にAWS CLIの認証情報ヘルパーを使うように設定する。
ユーザ個別設定(global)で別の認証方法を指定している場合、以下のコマンドで解除する。
git config --global --unset-all credential.helper

AWSの認証情報プロファイルを、Gitが使う認証情報として設定する。
git config --global credential.helper "!aws codecommit credential-helper $@"

リポジトリ単位で認証するよう設定する。(ドメインではなくパスベースで認証を分ける)
git config --global credential.UseHttpPath true

3. (Git Credential Managerで認証したことがある場合)過去の認証情報の削除

過去にAPIキー(旧:HTTPS Git 認証情報)でログインしたことがある場合、資格情報マネージャーが認証情報を記憶している可能性が高いので、不要であれば消しておく。

資格情報マネージャーからgit:https://git-codecommit... という項目を削除する。

以下のコマンドでキャッシュも削除しておく。
git credential-cache exit

4. aws loginで一時的な認証情報を取得する

aws loginコマンドを実行するとデフォルトブラウザが開くので、IAMユーザかフェデレーションサインインで認証する。セッション期間は認証したIAMプリンシパルに設定されているものに準ずる。

(補足)AWSの認証プロファイル名を指定する場合

aws loginのみだとdefaultのプロファイルとして設定されるため、もしプロファイル名を指定する場合、aws login --profile <プロファイル名>として認証する。

また、credential.helper側もプロファイル名を指定する。
git config --global credential.helper "!aws codecommit credential-helper --profile <プロファイル名> $@"

5. パスワードレスでGit操作を行う

git fetch originなどを打ち、ユーザ名/パスワードを聞かれずに実行できれば設定完了。

6. 参考

AWS ユーザーガイド
AWS CLI 認証情報ヘルパーを使用した Linux、macOS、または Unix 上の AWS CodeCommit リポジトリへの HTTPS 接続のセットアップ手順

AWSブログ
aws login で AWS への開発者アクセスをシンプルに

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?