signing-in-to-aws について
`aws login` でローカルの AWS CLI と SDK の認証情報を取得する手順を案内するスキルです。事前確認、ユーザーの承認、認証情報の検証、一般的なログイン問題を扱います。
主な機能
- 01AWS CLI バージョンと認証情報の確認
- 02承認後の `aws login` 実行案内
- 03ログイン後の ID 検証
- 04ブラウザーと権限エラーの調査
活用シーン
- 01短期間有効なローカル AWS 認証情報の設定
- 02名前付き AWS プロファイルへの切り替え
- 03期限切れまたは未設定の認証情報の解決
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ aws/ agent-toolkit-for-aws --skill signing-in-to-awsインストール後、Claude Code で/signing-in-to-awsを入力して読み込まれたか確認します。
詳細
サインイン — CLI/SDK の認証情報を取得
aws login を使って、ローカル開発用の AWS 認証情報を取得できるよう開発者を支援します。短期間有効で自動的にローテーションされる認証情報が提供され、15 分ごとに更新され、最長 12 時間有効です。
重要:
- 必ずユーザーのローカルシェルで
aws loginとaws --versionを実行してください。MCP/API ツール経由で実行してはいけません。 aws loginを実行する前に、必ずユーザーに確認してください。ユーザー自身でコマンドを実行するよう案内するのではなく、こちらが実行してよいか尋ねてください(例:「こちらでaws loginを実行してもよろしいですか?」または「aws loginを実行してもよろしいですか?」)。返答を待ってから先に進んでください。
前提条件
aws login コマンドには AWS CLI バージョン 2.32.0 以降が必要です。
インストール済みのバージョンを確認します:
aws --version
CLI がインストールされていないか、バージョンが 2.32.0 未満の場合は、その旨をユーザーに伝え、インストール/更新を希望するか(AWS CLI のインストールガイドを案内)、またはこのスキルのガイダンスなしで続けるかを尋ねてください。アップグレードせずに続けることを選んだ場合は、このスキルを使わず、通常どおり元のリクエストに対応してください。
手順
まず推奨事項を伝える
最初の応答では、必ず aws login が解決策であることを伝えてください。短期間有効で自動的にローテーションされる認証情報が提供されることと、AWS CLI 2.32.0 以降が必要であることを説明します。「CLI のバージョンを確認します」だけで終わらせないでください。ユーザーがこの先の流れを把握できるよう、まず解決策を示してから、実行前に確認する前提条件を説明してください。
前提条件の確認(確認を求める前に、ユーザーに知らせずに実行)
計画を立てるために、ローカルシェルで以下を実行します。確認した内容は報告しますが、ユーザーから提示された出力を条件に推奨を変えないでください。
aws --version— CLI が 2.32.0 以降であることを確認します。未インストール、またはバージョンが古い場合は、AWS CLI のインストールガイドを案内して終了します。aws sts get-caller-identity— 現在の認証情報を確認します。- 成功:Account と Arn をユーザーに示します。この認証情報を使い続けるか、別の認証情報を設定するか尋ねてください。切り替えたい場合は、既存のデフォルト設定を上書きしないよう
aws login --profile <name>を推奨してください。 - 失敗(認証情報がない、または有効期限切れ):デフォルトプロファイルで
aws loginを実行する手順に進みます。
- 成功:Account と Arn をユーザーに示します。この認証情報を使い続けるか、別の認証情報を設定するか尋ねてください。切り替えたい場合は、既存のデフォルト設定を上書きしないよう
- (ステップ 2 が成功し、ユーザーが別の認証情報を希望する場合のみ)
aws configure list—access_keyがAKIAで始まる場合、長期アクセスキーは安全性が低いこと(期限切れにならず、シークレットとしてディスク上に保存され、漏えいすると無期限にアクセスを許可する)を説明してください。また、aws loginでは 15 分ごとに自動ローテーションされる短期間有効な認証情報が提供され、自動的に期限切れとなり、手動でのローテーションも不要であることを伝えてください。
確認後に aws login を実行
前提条件が明らかになったら、aws login の実行について、その時点でのみユーザーに確認してください。ユーザー自身でコマンドを実行するよう案内せず、こちらが実行してよいか尋ねてください(例:「こちらで aws login を実行してもよろしいですか?」または「aws login --profile staging を実行してもよろしいですか?」)。返答を待ってから aws login(または aws login --profile <name>)を実行します。
確認
aws login の完了後、成功を確認するため aws sts get-caller-identity(プロファイルを使用した場合は --profile を指定)を実行します。名前付きプロファイルを使用した場合は、--profile を渡すか AWS_PROFILE を設定するようユーザーに伝えてください。
エラーへの対処
「command not found」またはバージョンが古い
CLI がインストールされていないか、バージョンが 2.32.0 未満です。インストールまたは更新するよう案内してください:AWS CLI のインストールガイド。
ブラウザーが開かない
デバイスをまたいだ認証用に URL とコードが提供される aws login --remote を提案してください(例:ブラウザーのないリモートサーバーを使用している場合)。
ログイン後の権限エラー
IAM アイデンティティには、SignInLocalDevelopmentAccess 管理ポリシーをアタッチする必要があります(ユーザー、ロール、またはグループにアタッチします)。ルートユーザーには不要です。管理者に追加を依頼するか、IAM 権限がある場合はご自身でアタッチするよう伝えてください。
GovCloud または中国リージョン
AWS GovCloud(US)または AWS 中国リージョンでは、aws login を利用できません。この例外について先回りして説明しないでください。ユーザーがこれらのパーティションを利用していると明示した場合にのみ関係します。
既存の aws sso login ワークフローを利用しているユーザー
ユーザーが aws sso login に言及した場合、または既存の SSO 設定がある場合は、aws login に誘導しないでください。これらは異なる状況で使用する別のコマンドです。
aws sso loginは、組織で AWS IAM Identity Center(SSO)が設定されているユーザー向けです。~/.aws/configに、SSO の開始 URL を参照するプロファイルがあります。確立されたワークフローを尊重してください。aws sso loginが失敗する場合は、そのユーザーの状況に沿ってトラブルシューティングしてください。たとえば、SSO セッションの期限切れ、認可の取り消し、キャッシュされたトークンの問題(~/.aws/sso/cache/)、または Identity Center の設定変更などです。
aws configure へのフォールバック
最初の回答では aws configure に言及せず、aws login と並べて表の行に含めないでください。次の場合に限り、代替手段として提示してください。
- ユーザーが
aws loginを明示的に拒否した場合、または代替手段を尋ねた場合 - ユーザーが、
aws loginを利用できない GovCloud または中国リージョンにいると述べた場合
提示する場合は、長期アクセスキーの安全性が低いことを説明してください。アクセスキーは平文でディスクに保存され、自動的に期限切れにならず、漏えいすると無期限にアクセスを許可します。
このスキルを使用しない場合
- ユーザーが CI/CD の認証情報を設定している場合。必要なのは IAM ロールまたは OIDC フェデレーションであり、
aws loginではありません。
要点
- トラブルシューティングを最初に詳しく説明しないでください。最初の回答は簡潔にし、エラーが発生した場合にのみ対処してください。
aws loginは、ルートユーザー、IAM ユーザー、および IAM とのフェデレーションで利用できます。