[アップデート] AWS IAM Identity Center を新規に有効化した時のデフォルト設定が MFA 登録必須になったようなので、既存環境の影響を確認してから環境を作り直してみた

2023.11.18

いわさです。

先日 AWS IAM Identity Center に関する次のアップデートがアナウンスされました。
AWS IAM Identity Center の新規インスタンスで MFA(多要素認証)がデフォルトで有効になったようです。

IAM Identity Center ではユーザーを管理します。
ユーザーの認証設定の中に、MFA をどういう時に要求するかという設定を行うことが出来ます。
これまでのデフォルトをしっかり把握してませんでしたが、このデフォルト設定が変わるようです。

私の検証用 AWS アカウントでは認証周りがデフォルト設定状態の数ヶ月前に作成した IAM Identity Center 環境がありました。
そこで、既存の環境がどういう設定だったのか、環境を削除して作り直すとどういう設定に変わるのかを調べてみましたので紹介したいと思います。

ちなみに、IAM Identity Center の有効化された環境をインスタンスと表現するのだなというのを知りました。

既存の IAM Identity Center インスタンスへの影響を確認

まずは既存の MFA 設定と挙動を確認してみたいと思います。
個人的に使用する検証環境のため MFA を有効化していなかったのですが、いけませんね。

設定

MFA 設定は AWS マネジメントコンソールで IAM Identity Center サービスを開き、サイドメニューの「設定」機能から確認・変更が可能です。
従来のデフォルト設定だと思いますが、次のようになっていました。

MFA の設定としては、まずどのタイミングでユーザーに MFA を要求するかを決めることが出来ます。
コンテキスト変更時・毎回・要求しないの 3 つから選択することが出来ます。

これが従来は「なし(無効)」なのかなと思ったら、意外にも従来のデフォルトは「サインインコンテキストが変更された場合のみ(コンテキスト対応)」でした。

また、もしユーザーに MFA が登録されていない場合に MFA デバイスの登録を強制するか、即ブロックするか、無視してサインインさせるかも選ぶことが出来ます。
従来はデフォルトが「ユーザーにサインインを許可する」になっていました。

つまり、従来はMFA の登録は必須ではなく任意。登録している場合はコンテキスト変更ごとに確認を行うという設定だったようです。

なるほど。

新規ユーザーサインアップしてサインイン

一応ユーザー視点での挙動も確認してみたいと思います。
次のように従来の環境に新規ユーザーを作成します。

管理者が入力したメールアドレスに招待メールが送信されるので、ユーザーは招待メールのリンクから初回アクセスを行います。
ユーザーは初回にパスワードの登録を要求されます。

パスワードを登録すると、サインイン画面に遷移します。

サインイン画面でユーザー名とパスワードを入力すると Identity Center のユーザーポータルへ遷移します。
MFA に関してはどこでも要求されませんでした。

ちなみにこの画面からユーザーは任意で MFA デバイスの登録を行うことが可能です。

削除

IAM Identity Center はひとつの AWS Organizations 内に 1 環境のみ作成可能です。
よって新規環境を作成するために一度削除します。

私は個人用の検証環境なので削除と作成をよく行っているのですが、IAM Identity Center の削除はユーザーや統合したアプリケーションに影響が出ますのでご注意ください。

環境を削除すると再び有効化が可能になりますので有効化します。
今回は東京リージョンで有効化しました。

本題から少しそれますが、削除直後に有効化操作を行うと次のようなエラーが発生することがよくあります。
削除は非同期で行われているようですので、数秒〜数分時間をおいてから有効化操作を行うと成功するようになります。

エラーが発生しました
There is another request being processed. Please try again later.

有効化を完了 IAM Identity Center
IAM Identity Center有効にできませんでした。もう一度やり直しますか?

新規 IAM Identity Center インスタンスを確認

次のように新規 IAM Identity Center インスタンスが有効化されました。
MFA 周りの設定や挙動を確認してみましょう。

設定

まず、設定についてです。
「MFA のプロンプトをユーザーに表示」については従来と同じで「サインインコンテキストが変更された場合のみ(コンテキスト対応)」が設定されています。

そして「登録された MFA デバイスのユーザーが持っていない場合」が従来とは異なり「サインイン時に MFA デバイスを登録するよう要求する」が選択されてました。

つまり、ユーザーは MFA デバイスのセルフ登録が必須となっており、MFA 入力の頻度を減らすためにブラウザ・デバイスの記憶が許可されている状態がデフォルト設定となっています。
デフォルト設定の話なので、何らかの理由で環境を再作成したが従来の仕様のほうが良かったという方はこの設定を変更すれば良いですね。

ユーザー追加

先程と同じようにユーザー目線でもデフォルトの挙動がどのように変わったのかを確認してみましょう。
招待メールからパスワード登録を行う流れまでは同じです。

その後ユーザー名とパスワードでサインインを行います。

サインイン後に MFA デバイスの登録を要求されました。従来のデフォルト設定では要求されなかった画面ですね。

任意のデバイスタイプで MFA デバイスを登録します。登録手順については割愛します。

登録に成功しました。

その後ユーザーポータルに遷移しました。
MFA デバイス画面には直前に登録したデバイスが登録済みとなっています。

さいごに

本日は AWS IAM Identity Center を新規に有効化するとデフォルトで MFA 登録が必須になったようなので、既存環境の影響を確認してから環境を作り直してみました。

比較してみたところ、次のようにデフォルトの挙動が変わっていることが確認出来ました。

  • 「MFA のプロンプトをユーザーに表示」については従来どおり
  • 「登録された MFA デバイスのユーザーが持っていない場合」がサインイン時に要求されるように変更

IAM Identity Center の環境を作り直す機会は多くないのでユーザーが気をつけるシーンは少ないと思いますが、管理者や IAM Identity Center に関する技術ドキュメントを参照したり、お客様に案内している方は、MFA 周りのデフォルト設定が変わったことを頭に入れておくと良さそうですね。