CodeCommitをサクッとHTTPSとパスワード認証で使いたい

AWS CodeCommitは Gitリポジトリのマネージドサービスです。


SSHやアクセスキーを使って認証することもできますが、サクッとHTTPSとユーザー/パスワード認証で使ってみたかったのでやり方を調べてみました。

IAMユーザーを作成

まずはCodeCommitにアクセスするIAMユーザーを作成します。

CodeCommitのリポジトリ操作はルートアカウントでは推奨されないため、別途リポジトリ操作用のユーザーを作成します。
IAMにはCodeCommitの権限を追加します。
権限がないとリポジトリをプルすることができません。

ここでは「AWSCodeCommitFullAccess」ポリシーを割り当てています。
与える権限に応じて、リポジトリに許可される操作が決まります。
IAMを作成したら認証情報タブから「AWS CodeCommit の HTTPS Git 認証情報」を作成します。
ユーザーとパスワードがダウンロードできるので控えておきましょう。

リポジトリを作成する

リポジトリ作成権限を持つIAMユーザーでリポジトリを作成します。
リポジトリを作成するとクローン用のURLが発行されます。

リポジトリを操作する

準備ができたのでリポジトリを操作してみます。
$ git clone https://git-codecommit.ap-northeast-1.amazonaws.com/****************
Cloning into 'MyRepository'...
warning: You appear to have cloned an empty repository.

$ cd MyRepository

$ echo '# MyRepository' > README.md

$ git add README.md
warning: LF will be replaced by CRLF in README.md.
The file will have its original line endings in your working directory

$ git commit -m"test"
[master (root-commit) 61aaa82] test
 1 file changed, 1 insertion(+)
 create mode 100644 README.md

$ git push origin master
Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Writing objects: 100% (3/3), 227 bytes | 227.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To https://git-codecommit.ap-northeast-1.amazonaws.com/*******************
 * [new branch]      master -> master
クローンからプッシュまで実行できました。

※参考
Git 認証情報を使用する HTTPS ユーザー用のセットアップ