はじめに
こんにちは!やくもです!
今回はaws login コマンドについてです。(今更)
長期のアクセスキーをローカルに保存したくない時に有効です。
そんなコマンドですが最近使っていてあった気づきを書いてみます。
ちなみに、このコマンドですがGithub CodeSpaceとかで実行する際はオプションを後ろにつける必要があります。
# 基本のコマンドはこれ
aws login
# コードスペースとか、クラウド上の開発環境から実行するならこれ。
aws login --remote
Github CodeSpaceでオプションをつけずにaws loginをそのまま実行すると以下のようにアクセスがブロックされます。
これはCodespaces(リモート)上で実行しているのに、ブラウザは手元PC(ローカル)で開くため、最後の戻り先が噛み合わず 127.0.0.1 接続が拒否になっています。
--remoteの有無による内部的な処理の詳しい解説は以下のクラメソさんのブログでわかりやすく解説されているので、よければご参照ください。
ログイン時に400エラーが出る
さて、今回の主題ですが、コマンドを実行すると以下のように400エラーでアクセスできなくなってしまうことがありました。
ネットワーク的な問題なのか?と色々試していましたがしばらく沼ってしまいました。
原因
原因は明確でIAMの権限を付与してあげる必要があります
ドキュメントにもありましたが、小さいところにあるし非常にわかりにくいです。
Ensure the IAM identity has the appropriate permissions. Attach the SignInLocalDevelopmentAccess managed policy to your IAM user, role, or group. If you sign in as a root user, no additional permissions are required.
IAM ID に適切な権限があることを確認します。IAM ユーザー、ロール、またはグループに SignInLocalDevelopmentAccess マネージドポリシーをアタッチします。ルートユーザーとしてサインインする場合、追加の権限は不要です。
解決策
今回はマネージドポリシーのSignInLocalDevelopmentAccessをアタッチすることで解決できました。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"signin:AuthorizeOAuth2Access",
"signin:CreateOAuth2Token"
],
"Resource": "arn:aws:signin:*:*:oauth2/public-client/*"
}
]
}
最後に修正後ちゃんとログインできました。
認証情報ががっつり載ってるので、黒塗りばっかで申し訳ない...
さいごに
最近はこのコマンドを利用する方も多いかと思いますが、ハンズオンなどの資料作成時に、いきなりこのコマンドを使用してしまうとエラーになってしまう可能性がある。
また、その原因や解決策まで理解できたのは今後に向けてポジティブな点です。
私も今後手順書作成やブログの執筆時、意識していきたいと思います。
参考
余談(本記事は富山で執筆しました。)
BuriKaigiに参加するため、私は今(2026/1/10)富山にいます。
今回はCfPを採択いただき、登壇することとなりました。本当にありがたいです。
イベントの様子は後ほど参加レポートなどでまとめたいと思います。
ではでは〜




