mcpField
S
signing-in-to-aws

signing-in-to-aws

github.com/awsクラウド・DevOps3.3k6.2k 回インストール1 日前に更新
リポジトリ

signing-in-to-aws について

`aws login` でローカルの AWS CLI と SDK の認証情報を取得する手順を案内するスキルです。事前確認、ユーザーの承認、認証情報の検証、一般的なログイン問題を扱います。

主な機能

  1. 01AWS CLI バージョンと認証情報の確認
  2. 02承認後の `aws login` 実行案内
  3. 03ログイン後の ID 検証
  4. 04ブラウザーと権限エラーの調査

活用シーン

  1. 01短期間有効なローカル AWS 認証情報の設定
  2. 02名前付き AWS プロファイルへの切り替え
  3. 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 のバージョンを確認します」だけで終わらせないでください。ユーザーがこの先の流れを把握できるよう、まず解決策を示してから、実行前に確認する前提条件を説明してください。

前提条件の確認(確認を求める前に、ユーザーに知らせずに実行)

計画を立てるために、ローカルシェルで以下を実行します。確認した内容は報告しますが、ユーザーから提示された出力を条件に推奨を変えないでください。

  1. aws --version — CLI が 2.32.0 以降であることを確認します。未インストール、またはバージョンが古い場合は、AWS CLI のインストールガイドを案内して終了します。
  2. aws sts get-caller-identity — 現在の認証情報を確認します。
    • 成功:Account と Arn をユーザーに示します。この認証情報を使い続けるか、別の認証情報を設定するか尋ねてください。切り替えたい場合は、既存のデフォルト設定を上書きしないよう aws login --profile <name> を推奨してください。
    • 失敗(認証情報がない、または有効期限切れ):デフォルトプロファイルで aws login を実行する手順に進みます。
  3. (ステップ 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 と並べて表の行に含めないでください。次の場合に限り、代替手段として提示してください。

  1. ユーザーが aws login を明示的に拒否した場合、または代替手段を尋ねた場合
  2. ユーザーが、aws login を利用できない GovCloud または中国リージョンにいると述べた場合

提示する場合は、長期アクセスキーの安全性が低いことを説明してください。アクセスキーは平文でディスクに保存され、自動的に期限切れにならず、漏えいすると無期限にアクセスを許可します。

このスキルを使用しない場合

  • ユーザーが CI/CD の認証情報を設定している場合。必要なのは IAM ロールまたは OIDC フェデレーションであり、aws login ではありません。

要点

  • トラブルシューティングを最初に詳しく説明しないでください。最初の回答は簡潔にし、エラーが発生した場合にのみ対処してください。
  • aws login は、ルートユーザー、IAM ユーザー、および IAM とのフェデレーションで利用できます。

追加リソース

コメント