zuntan02のはてなブログ

備忘録的なものです

既存のAWS CodeCommitに接続するアカウントを追加で作成したメモ

【サマリ】

既に存在するAWS CodeCommitリポジトリにIAMアカウントベースで接続する。
(筆者はCodeCommitはおろかGitにも明るくないので誤りがあるかもしれませんが何かの足しになれば)

【作業メモ】

gitのURLをhttpsでやるかsshでやるかで方法が異なります。

HTTPS

手順

1)マネージドコンソールより利用者のIAMを作成(共通)
2)マネージドコンソールより[IAM]-[ユーザー]-対象のIAM詳細-[認証情報]を選択(共通)
3)[AWS CodeCommit の HTTPS Git 認証情報] で、[生成] を選択します。
→CodeCommitにHTTPS接続する際のBasic認証情報が生成されるので保存・連絡

※CentOS6などでgit cloneする場合、basic認証が通らずエラーとなるため、AWS CLI認証情報ヘルパー(未検証)を用いるか、或いは以下のようにして自動的にbasic認証をパスしてみてください

vi ~/.netrc

machine git-codecommit.ap-northeast-1.amazonaws.com
login 認証ID
password 認証パスコード

AWS CLI認証情報ヘルパー
https://docs.aws.amazon.com/ja_jp/codecommit/latest/userguide/setting-up-https-unixes.html

SSH

手順

1)利用者はあらかじめ

cd ~/.ssh
~/.ssh$ ssh-keygen -t rsa -b 2048 -f codecommit

の様にして鍵ファイルを生成し、公開鍵(上記のコマンドであればcodecommit.pub)を確認します
2)マネージドコンソールより利用者のIAMを作成(共通)
3)マネージドコンソールより[IAM]-[ユーザー]-対象のIAM詳細-[認証情報]を選択(共通)
4)「AWS CodeCommit の SSH キー」で公開鍵の中身を貼り付ける
 →成功すると「SSHキーID]が発行されるのでこれを連絡
5)利用者は以下のようにしてsshのConfigを設定し、git clone可能となる
vi ~/.ssh/config

Host git-codecommit.*.amazonaws.com
  User APK*****************
  IdentityFile ~/.ssh/codecommit(秘密鍵名)