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?

More than 1 year has passed since last update.

IAMロールでCodeCommitにアクセスする方法(git-remote-codecommit)

Posted at

目的

備忘録。

IAMロールで CodeCommit へアクセスする方法を共有し、それによるアクセス権限の制御(および場合によっては CodeCommit のコストダウン)を実現する。

背景

以前には Git 認証情報を使ったアクセスをしていましたが、ローテーションやPC移行等でいちいち Git 認証を発行して管理するのが面倒になりました。できればIAMロールでどうにかできないかと調べたときのメモです。
またWindowsの資格マネージャに認証情報が残らないのもいいですね。

やり方

やり方は非常に簡単で、GRCのセットアップをした後にIAMロールの設定をしたプロファイルを指定するだけです。

ちなみにプロファイルにIAMロールを設定できるのは GRC の機能ではなく AWSCLI の機能です。
またIAMロールを使っているため当然ですがクロスアカウントアクセスも可能です。

設定

.aws/credentials
[hoge]
aws_access_key_id = dummy
aws_secret_access_key = dummy
.aws/config
[profile codecommit]
role_arn = ${IAM_ROLE_ARN}
source_profile = hoge
role_session_name = ${USER_NAME}

使い方

REGION と PROFILE_NAME は省略可能です。

git clone codecommit::${REGION}://${PROFILE_NAME}@${REPOSITORY_NAME}
git clone codecommit::ap-northeast-1://codecommit@fuga_repo

注意点

このやり方は次のような場合には向きません。(多くのケースでは問題ないとは思います)

  • アクセスするAWSアカウントが非常に多く、またリポジトリ名が重複している
  • 別の開発チームのリポジトリを利用、かつ submodule にしている
    • サブモジュールへのアクセスは登録されているURLで行われます
    • サブモジュールが CodeCommit の Git 認証の場合にはその対応が必要です

所感

Git認証情報を管理しなくてよくなるのは気分的に楽です。

あとIAMユーザーを利用して管理コンソールからCodeCommitを操作しない場合にはIAMロールの料金だけになります。AWS Organizations では5ユーザーの無料枠は実質ないので、今回の方法でCodeCommitの固定料金を少しだけ削減することが可能です。

参考

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?