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?

AWS CLIの認証をIAMユーザーからIAM Identity Centerへ移行して感じたこと

0
Posted at

以前はAWS CLIを使うたびに、IAMユーザーのアクセスキーを発行して利用していました。

動作には問題ありませんでしたが、

  • アクセスキーの管理が面倒
  • 定期的なローテーションが必要
  • 誤って漏洩しないか不安

といった課題がありました。

そこで、AWS IAM Identity Center(旧AWS SSO)を使った認証へ移行しました。

設定してしまえば、CLIの認証がかなりシンプルになり、アクセスキーを持つ必要もなくなりました。


IAM Identity Centerとは

IAM Identity Centerは、AWSアカウントへの認証を一元管理できるサービスです。

ブラウザでログインすると、

  • AWSマネジメントコンソール
  • AWS CLI
  • SDK

などを同じ認証情報で利用できます。


従来のCLI認証

これまでは、

aws configure

で

  • Access Key ID
  • Secret Access Key

を設定していました。

AWS Access Key ID: AKIA...
AWS Secret Access Key: xxxxxxxxx
Region: ap-northeast-1

この方法は簡単ですが、

長期間有効な認証情報をローカルに保存することになります。


IAM Identity Centerでの設定

まず設定を行います。

aws configure sso

質問に沿って入力します。

SSO session name:
SSO start URL:
SSO region:
AWS account:
Permission set:

設定が終わると、

~/.aws/config

にプロファイルが作成されます。


ログイン

CLIを利用するときは、

aws sso login --profile dev

を実行します。

ブラウザが開き、

AWSへサインインすると認証完了です。

その後は通常どおりCLIを利用できます。

aws s3 ls --profile dev
aws sts get-caller-identity --profile dev

複数アカウントも扱いやすい

例えば、

dev
stg
prod

それぞれにプロファイルを作成しておけば、

aws s3 ls --profile prod

のように切り替えられます。

アクセスキーを何個も管理する必要はありません。


良かった点

アクセスキーが不要になった

ローカルに長期間有効な認証情報を保存しなくて済むようになりました。


権限管理がシンプル

利用者ごとの権限はIdentity Center側で管理できます。

CLI側で設定を変更する必要はありません。


一時認証なので安心

ログインすると一時的な認証情報が発行されます。

期限が切れれば再度ログインするだけです。

万が一ローカルPCが盗難・紛失した場合でも、長期間利用できるアクセスキーを保存している場合と比べてリスクを抑えられます。


導入して感じたこと

最初は設定が少し増えた印象でした。

ただ、一度設定してしまえば、

aws sso login

だけでCLIもマネジメントコンソールも利用できるため、運用は以前より楽になりました。

特に複数のAWSアカウントを扱う場合は、切り替えもしやすく感じています。


まとめ

IAMユーザーのアクセスキーを使った運用でもCLIは利用できます。

ただ、

  • アクセスキーを配布しなくてよい
  • 一時認証でセキュリティを高められる
  • 複数アカウントを管理しやすい

といった理由から、現在はIAM Identity Centerを利用した認証が標準的になっています。

AWS CLIをこれから利用する場合は、アクセスキーではなくIAM Identity Centerを使った認証を選ぶと、運用もしやすくなると感じました。

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?