🎯 目的
IAM Identity Center(旧 AWS SSO)を利用して
AWS CLI v2 で安全に認証する方法をまとめる。
- アクセスキーを発行しない
- 一時クレデンシャルを利用する
- VSCode から安全に使える状態にする
- 複数アカウントを安全に使い分ける
🏷 SSOプロファイル名の付け方
aws configure sso で設定する profile名(sso_name) は任意ですが、
後から複数アカウントを扱う可能性が高いため、以下のような命名を推奨します。
推奨ルール
プロジェクト名_環境
例:
projectAAA_devprojectAAA_prod
🧾 事前準備:設定情報の取得
AWS マネジメントコンソールにログイン:
AWS Portal
> コンソール
> IAM Identity Center
右側の以下を控える:
- プライマリーリージョン
- 発行者 URL(SSO start URL)
💻 AWS CLI バージョン確認
aws --version
出力例:
aws-cli/2.31.9
aws-cli/2.x.x が含まれていればOK。
aws-cli/1.x.x の場合はトラブルシューティングを参考に対応する。
🔐 SSO プロファイル作成
aws configure sso
入力内容:
SSO session name (Recommended): sso_name
SSO start URL: 発行者 URL
SSO region: プライマリーリージョン
SSO registration scopes: (そのままEnter)
ブラウザが起動 → 認証。
続いて:
CLI default client Region: 利用リージョン(例 ap-northeast-1)
CLI default output format [json]: json
Profile name: sso_name
成功すると:
aws sts get-caller-identity --profile sso_name
のような案内が表示される。
🛠 VSCode での環境固定(推奨)
プロジェクトルートに:
.vscode/settings.json
を作成:
{
"terminal.integrated.env.windows": {
"AWS_PROFILE": "sso_name",
"AWS_REGION": "ap-northeast-1",
"AWS_DEFAULT_OUTPUT": "json"
}
}
効果:
- そのプロジェクトのみ適用
- 他プロジェクトに影響しない
- 本番/開発の誤操作防止
🔑 ログイン方法
初回または期限切れ時:
aws sso login
※ AWS_PROFILE が設定されている場合。
明示する場合:
aws sso login --profile sso_name
🔄 複数プロファイル利用
それぞれ作成:
aws configure sso
ログイン:
aws sso login --profile dev
aws sso login --profile prod
SSOセッションは プロファイル単位 で管理される。
⏳ 有効期限と適用範囲
有効期限
- 最大12時間(組織設定による)
- 期限切れ時に再ログイン必要
適用範囲
- 同一PC
- 同一OSユーザー
- 同一プロファイル
VSCode再起動では切れない。
🛠 トラブルシューティング(CLI v2でない場合)
対処方法(Windows)
- 既存のCLIをアンインストール
- 公式サイトから AWS CLI v2 をダウンロード
https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html - 再インストール
- 再度確認:
aws --version
それでも v1 が表示される場合
原因:
- PATH に古い aws.exe が残っている
確認:
where aws
複数表示された場合:
- 古いパスを削除
- 環境変数 PATH を整理
✅ 最終まとめ
この構成により:
- アクセスキー不要
- 一時認証で安全
- プロジェクト単位で環境固定可能
- 本番事故リスクを低減