LoginSignup
0
2

More than 1 year has passed since last update.

AWS CodeCommitを使うためにIAMユーザーを設定する

Last updated at Posted at 2022-06-02

AWS CodeCommitを使うためにIAMユーザーを設定する

AWS Code Commitはgithubやgitlabと同じソースコード管理サービスですが、githubやgitlabの様な管理サービスのアカウントでログインすればリポジトリを使用できるというわけではなく、最初戸惑うこともあるので説明します。

AWSのドキュメントであるGit 認証情報を使用した HTTPS ユーザーのセットアップに「AWS CodeCommit リポジトリへの接続を設定する最も簡単な方法は、IAM コンソールで CodeCommit の Git 認証情報を設定し、HTTPS 接続にこれらの認証情報を使用することです。」と書かれている通り、IAMユーザーでログインすることになります。

個人でAWSにアカウントを作成している人であればIAMユーザーに管理者権限であるAdministratorAccessなどが紐づけられていてCode Commitを利用する権限が紐づいています。

企業でアカウントを利用している場合、管理者がAWSCodeCommitPowerUser又はAWSCodeCommit の 管理ポリシーを参考に権限を付加してください。

IAMユーザーにCode CommitのSSHキーを登録する

githubや、gitlab, gitbucketなどのソースコード管理サービスにコマンドラインからアクセスする場合、都度ユーザー名、パスワードを入れて認証するのは煩わしいため、予めユーザーの公開鍵を登録しておきsshを使って暗号鍵で認証することで認証フェーズをコマンドで入力しなくてもサービスを使うことができます。
このSSHキーは、ssh-keygenなどのコマンドで作成しておきます。
gitのリポジトリ、ソースコード管理サービス登録用sshキーの作成にキーの作成方法を記載したので参考にしてください。

権限をつけてもらったIAMユーザーでログインし
AWS IAMコンソールからIAMユーザーでログインします。

image.png

認証情報タブをクリックします。

image.png

 AWS CodeCommitのSSHキー

image.png

SSHパブリックキーのアップロードをクリックします。
パブリックキーというのは公開鍵のことです。公開鍵ファイルを開いてテキストを貼り付けます。

image.png

公開鍵を登録するとSSHキーIDが生成されます。

image.png

SSHキーIDを、sshのユーザーとして利用し、$HOME/.sshに作成する設定ファイルconfigに次の様に記述します。

Host git-codecommit.*.amazonaws.com
        User XXXX(SSHキーID)XXXX
        IdentityFile ~/.ssh/codecommit_amazonaws_com.id_rsa

AWSコンソールよりCode CommitのSSHのリンクをクリックすると、git cloneのコマンドがクリップボードにコピーされます。

image.png

クリップボードをターミナルに貼り付けて実行します。
設定が正しければリポジトリがcloneされます。

$ git clone ssh://git-codecommit.ap-northeast-1.amazonaws.com/v1/repos/repo-sample
Cloning into 'repo-sample'...
remote: Counting objects: 7, done.
Receiving objects: 100% (7/7), 5.07 KiB | 2.53 MiB/s, done.
$   

これでCodeCommitのgitリポジトリが使えるようになりました。

ssh-keygenのバージョンなどにより、生成した鍵のアルゴリズムが特定できなくてcloneできないことがある。その時、ホスト公開鍵HostKeyAlgorithms と クライアント公開鍵 PubkeyAcceptedKeyTypesを次の様に指定してみてください。

Host git-codecommit.*.amazonaws.com
    User XXXX(SSHキーID)XXXX
    IdentityFile 
    HostKeyAlgorithms +ssh-rsa
    PubkeyAcceptedKeyTypes +ssh-rsa
0
2
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
2