IAM Identity Center でマルチセッションサポートを有効にした際の挙動
コーヒーが好きな emi です。
先日 AWS マネジメントコンソールでのマルチセッションサポートが発表されました。
本記事では IAM Identity Center でマルチセッションサポートを有効にした際どんな挙動になるのかご紹介します。
全体イメージ
Control Tower で管理されたマルチアカウント環境で実験します。
以下の 3 アカウントに IAM Identity Center ユーザーでマルチセッションサポートの実験を行います。
本ブログでの表現 | アカウントの役割 | AWS アカウント ID |
---|---|---|
アカウント A | Control Tower 管理アカウント | 111111111111 |
アカウント B | メンバーアカウント | 222222222222 |
アカウント C | メンバーアカウント | 333333333333 |
今回使用したブラウザは Egde です。
アカウント A に遷移しマルチセッションサポートを有効化
IAM Identity Center(以降、IdC)のアクセスポータルにログインします。
アカウント A の許可セット AdministratorAccess
をクリックしてコンソールに遷移します。
ブラウザの別タブが開き、アカウント A のマネジメントコンソールに遷移しました。この時、ブラウザ上部の URL は以下のようになっています。
▼マルチセッションサポートがオフの時の URL
https://ap-northeast-1.console.aws.amazon.com/console/home?region=ap-northeast-1#
右上の 許可セット名/IdC ユーザー名
をクリックすると「マルチセッションサポートをオンにする」があるのでクリックします。
確認画面が出ます。「マルチセッションサポートをオンにする」で進めます。
マルチセッションサポートがオンになりました。
この時、ブラウザ上部の URL は以下のようになっています。
▼マルチセッションサポートがオンの時の URL
https://<AWS アカウント ID>-*****.ap-northeast-1.console.aws.amazon.com/console/home?region=ap-northeast-1#
右上の表示が以下のような表示になりました。
エイリアス (AWS アカウント ID)
AWSReservedSSO_<許可セット名>_*****/<IdC ユーザー名>
「エイリアス」とは、IAM ダッシュボード画面から設定できる AWS アカウントの通称のようなものです。以下から設定できます。
詳細は以下ブログも参照ください。
アカウント B に遷移
さて、ブラウザの別タブで開かれているアクセスポータルに戻り、次はアカウント B の許可セット AdministratorAccess
をクリックしてコンソールに遷移します。
アカウント B のマネジメントコンソールが別タブで開きました。
以下のように、URL に含まれる AWS アカウント ID がアカウント B のものに変わり、
右上のセッションの表示も以下に変わりました。
アカウント ID: (AWS アカウント ID)
AWSReservedSSO_<許可セット名>_*****/<IdC ユーザー名>
アカウント B ではエイリアスを設定していないので、このようになります。
また、「その他に 1 件のアクティブセッション」という部分ができました。こちらに、アカウント A のセッションが記載されています。
===
画面上部の別タブをクリック、または「その他に 1 件のアクティブセッション」でアカウント A のセッションをクリックすると、アカウント A のマネジメントコンソールを開くことができます。同じブラウザで、複数の AWS アカウントに別タブでログインできていることが確認できます。
アカウント A のコンソールで右上のセッションをクリックして開くと、「その他に 1 件のアクティブセッション」にアカウント B のセッションが記載されているのがわかりますね。
アカウント C にログイン
では別タブのアクセスポータルに戻ります。アカウント C の許可セット AWSReadOnlyAccess
をクリックしてコンソールに遷移します。
ブラウザの別タブが開き、アカウント C にログインしました。以下のように、URL に含まれる AWS アカウント ID がアカウント C のものに変わり、右上のセッションの表示も変わりました。
言語が英語になってしまいましたが、「2 other active sessions」の部分にアカウント A とアカウント B のセッションが二つ表示されるようになりました。
ここまでの操作で、1 つのアクセスポータルから 3 つのアカウントのマネジメントコンソール画面が 1 つのブラウザの別タブで開いている状態になっています。
ちなみに、マルチセッションサポートでは 1 つのブラウザにつき 5 つのセッションまでがサポートされています。
You can sign in to up to five different identities simultaneously in a single web browser in the AWS Management Console.
すべてのセッションからサインアウト
どのアカウントのタブでも良いのですが、今回はアカウント B のコンソール画面で右上のセッション名を開き「すべてのセッションからサインアウト」をクリックします。
以下のように、現在開いているすべてのセッションが表示され、確認されます。「すべてのセッションからサインアウト」をクリックし」ます。
以下のようにサインアウトされました。
別のアカウントのタブも確認します。アカウント A のタブを開くと以下のように「サインアウトされました」と表示されました。
「もう一度サインインする」をクリックすると、IAM ユーザーサインイン画面に遷移しました。
このタブは閉じました。
アクセスポータルに戻る
アクセスポータルはサインアウトしておらず、開けていました。
アカウント A の許可セット AdministratorAccess
を再度クリックしてコンソールに遷移し、今度はマルチセッションサポートをオフにしていきます。
マルチセッションサポートをオフにする
アカウント A のタブを開きました。右上のセッション名をクリックし「マルチセッションサポートをオフにする」をクリックします。
確認画面が出ます。「サインアウトしてマルチセッションサポートを無効にする」をクリックします。
IAM ユーザーのサインイン画面に遷移しました。サインアウトしたようですね。
この IAM ユーザーのサインイン画面のタブは閉じました。
アクセスポータルのタブに戻ります。アクセスポータルはサインアウトしていません。
アカウント A の許可セット AdministratorAccess
を再度クリックしてコンソールに遷移します。
アカウント A のコンソール画面に遷移しました。ブラウザ上部の URL は AWS アカウント ID を含まない表示に戻っています。
右上の 許可セット名/IdC ユーザー
をクリックすると、以下のような表示に戻りました。
終わりに
IAM Identity Center でも非常に簡単にマルチセッション操作できることが分かりました。
マルチセッションサポートは AWS API でのアクションではなく Web ブラウザ側の設定のみで行われているようなので、 AWS 側で制御することはできません。管理する場合は Cookie 側で管理できないかご検討ください。
個人的には誤操作が怖くそこまで複数のアカウントを同時に操作することはないので、今のところはオフにしておこうと思っています。
質問やご要望については画面下部のお問い合わせ「DevelopersIO について」からご連絡ください。記事に関してお問い合わせいただけます。
参考