1. 主要ページへ移動
  2. メニューへ移動
  3. ページ下へ移動

QES ブログ

記事公開日

新しく追加されたAWS CLIのaws login使ってみたらアクセスキーが不要になった!

  • このエントリーをはてなブックマークに追加

はじめに

こんにちは。DXソリューション営業本部の岡田です。
AWS CLIを使用する際に必須なアクセスキーですが、
「アクセスキーをローカルPCに保存するのは不安」と感じる方は多いのではないでしょうか。
アクセスキーが流出してしまうと、不正アクセスによるデータ盗難や不正なリソースによる高額請求が発生してしまったりと重大なリスクがあります。
そんな中、先日AWS CLIで「aws login」がリリースされました。
「aws login」はブラウザ認証だけでAWS CLI認証をブラウザベースで行うことができるため、アクセスキーの管理、作成、使用に加えて、漏洩を心配する必要がなくなりました。
AWSマネジメントコンソールと同様の感覚でCLIが利用可能のため、ローカル環境に永続的なアクセスキーを保存する必要がなくなります。


AWS公式ドキュメント


今回は「aws login」を使用して、アクセスキーなしでAWS CLIを使用する手順をご紹介いたします。その実例としてSystems Manager(SSM)経由でWindows EC2にRDP接続する場合を例に具体的な使用手順をご紹介します。

構成図




前提条件

本手順では下記が前提となります。
①クライアント端末でWindowsを使用していること
②クライアント端末にSession Manager プラグインをインストールしていること
③クライアント端末にAWS CLI version 2.32.0以上をインストールしていること
④対象のEC2にIAMロール(AmazonSSMManagedInstanceCore)がアタッチされており、SSM Agentが稼働していること

Session Manager プラグイン CLIバージョン確認

手順はすべてクライアント端末で行います。
Session Managerプラグインは、ポートフォワーディングを実行するために必要です。最新バージョンの使用を推奨します。 インストール済みかどうかの確認およびバージョン確認は以下のコマンドで行えます。

session-manager-plugin --version

インストールしてない場合は下記公式ドキュメントを参考にしてください。


aws loginはAWS CLI version 2.32.0以降で利用可能です。下記コマンドでバージョンを確認してください。

aws --version

※2.31以下のバージョンを使用している方は上書きインストールが必要です。下記のAWS公式からインストール等を行ってください。

aws loginコマンド実践

CLI version 2.32.0以降であることを確認したらaws loginコマンドを実行しましょう。
先述した通り、今回は実演の例として「SSMのポートフォワーディングにフォーカス」するためSSM経由でWindows EC2にRDP接続します。

aws login



すでにセッションが残っている場合は、実施するとブラウザで下記のようなログインされているユーザーが表示されます。
ログインされている対象のアカウントをクリックします。




セッションがない場合は「Continue with Root or IAM user (ルートまたはIAMユーザーで続行)」をクリックするとマネジメントコンソールログイン画面へ遷移されるのでログインしてください。





下記のように認証情報が正常に共有された旨を伝える画面が表示されます。





※ログインしているアカウントとは別のアカウントを使用したい場合は「Sign into new session」で任意の新しいセッションからでもサインインできます。




プロンプト画面でもプロファイルの設定が完了した旨が表示されています。

Updated profile default to use arn:aws:sts::<AWS_ACCOUNT_ID>:assumed-role/<ROLE_NAME>/<SESSION_NAME> credentials.


これで、アクセスキーを一度も発行することなく、CLIを利用できる状態になりました。

ログインができたら、今回の実演例である「RDP接続」を試します。
通常、EC2へRDP接続するには踏み台サーバーやパブリックIPが必要ですが、SSMのポートフォワーディング機能を使えば、
CLI経由で安全に接続可能です。
以下のコマンドを実行して、ローカルポート(11111)をEC2のRDPポート(3389)に転送します。

aws ssm start-session --target i-xxxxxxxxxxx --document-name AWS-StartPortForwardingSession --parameters portNumber=3389,localPortNumber=11111


実行すると下記表示されました。

Starting session with SessionId: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Port 11111 opened for sessionId xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Waiting for connections...

Waiting for connections
と表示されています。
この状態で、リモートデスクトップ接続クライアントを起動し、接続先に localhost:11111 を指定すれば、無事にWindowsのデスクトップ画面が表示されます。




セッションが成功すると

Connection accepted for session [xxxxxxxxxxxxxxxxxxxxxxxxxxxxx]

と表示されました。
アクセスキーを払い出すことなく、AWS CLIを使用でき、SSM接続でEC2に接続が可能であることが確認できました。

まとめ

アクセスキー vs aws login

項目 アクセスキー aws login
キー管理 必要 不要
漏洩リスク 細心の注意が必要 低い
操作性


AWS CLIを使用したいけど「アクセスキーの管理、作成、使用が億劫」と感じていた方や「アクセスキーの漏洩が不安」という方は少なくないと思います。
aws loginが登場したことにより、それらの心配をする必要はなくなりました。
ブラウザの認証情報をCLIに持ち込めるのはとても便利です。
そして便利になるだけではなく、セキュリティ向上運用効率の向上にも期待できます。
アクセスキーの漏洩を不安に抱えたまま運用している方や運用効率を上げたい方ははぜひ一度お試しください!


もし「このサービスについて知りたい」「AWS環境の構築、移行」などのリクエストがございましたら、弊社お問合せフォームまでお気軽にご連絡ください。 複雑な内容に関するお問い合わせの場合には直接営業からご連絡を差し上げます。 また、よろしければ以下のリンクもご覧ください!
<QES関連ソリューション/ブログ>

<QESが参画しているAWSのセキュリティ推進コンソーシアムがホワイトペーパーを公開しました>

※Amazon Web Services、”Powered by Amazon Web Services”ロゴ、およびブログで使用されるその他のAWS商標は、米国その他の諸国における、Amazon.com, Inc.またはその関連会社の商標です。

  • このエントリーをはてなブックマークに追加

お問い合わせ

Contact

ご質問やご相談、サービスに関する詳細など、何でもお気軽にご連絡ください。下記のお問い合わせフォームよりお気軽に送信ください。

お問い合わせ

資料ダウンロード

Download

当社のサービスに関する詳細情報を掲載した資料を、下記のページよりダウンロードいただけます。より深く理解していただける内容となっております。ぜひご活用ください。

資料ダウンロード