AWS CLIを使うために、IAMユーザーのアクセスキーを発行していませんか?
アクセスキーのローテーションや管理は手間がかかるうえ、漏洩リスクもあります。
aws login を使えば、アクセスキーを使わずにAWS CLIへ安全にログインできます。
また、IAM Identity Center を導入していない環境でも、「人がアクセスキーを持たない運用」を簡単に実現できます。
背景と課題
これまでの AWS CLI を使う際の認証についてまとめると以下の通り。
| 項目 | IAM ユーザー運用アカウント | IAM Identity Center 運用アカウント |
|---|---|---|
| 認証方法 | アクセスキーで認証 | ブラウザで認証 |
| 認証情報のローテーション | 手動 | 自動 |
| 漏洩リスク | 高 | 低 |
IAM ユーザーで運用しているアカウントの認証について着目してみると、以下課題があります。
- 期限なしの長期クレデンシャル
- 漏洩リスク
IAM Identity Center での運用に移行すれば解決するのですが、そもそもシングルアカウントや小規模環境では導入コストが見合わず、IAM ユーザーでの運用を続けているケースも多いと思います。
aws login とは
ブラウザで認証した後、一時クレデンシャルが自動的に設定されるコマンドです。
IAM Identity Center の有無に関わらず使用でき、環境に応じて適切な認証フローに誘導してくれます。
IAM Identity Center で運用しているアカウントでも、aws sso login と同じ使用感で認証できます。
何が嬉しいのか
- 一時クレデンシャルで認証するため、アクセスキーが不要
- 漏洩リスク低減
- 導入が簡単
- シングルアカウントでも使える
どんな人が恩恵を受けるか
- シングルアカウントで運用しているチーム
- Identity Center を導入していない環境
「Identity Center の導入まではしたくないけど、アクセスキー運用はやめたい」という環境にちょうどいいですね。
使い方
基本的な使い方は以下の通りです。
# ログイン
aws login
# プロファイルを指定する場合
aws login --profile <your-profile>
ブラウザが開き、AWSコンソールで認証すると一時クレデンシャルが自動設定されます。
詳細な使い方や設定オプションは、以下のAWS公式ドキュメントを参照してください。
まとめ
AWSの認証は、アクセスキーを使わない方向へと進んでいます。
aws login は、その流れをシングルアカウント環境にも広げるための機能と言えます。
- 開発者
- ブラウザ認証(
aws login、aws sso login)
- ブラウザ認証(
- CI/CD
- OpenID Connect
- AWS リソース
- IAM ロール
共通しているのは、「長期クレデンシャルを持たない」という考え方です。
aws login によって、この原則をより多くの環境で実現できるようになりました。
セキュリティを高めつつ運用負荷も減らせる、一石二鳥の機能です。
まだアクセスキー運用を続けている方は、ぜひ aws login の導入を検討してみてください!