AWS IAM Identity Center のアカウントインスタンスでも外部 IdP からのシングルサインオンを構成出来るのか試してみた

2024.01.17

いわさです。

数ヶ月前のアップデートで IAM Identity Center が Organizations 管理アカウント以外のメンバーアカウントから有効化出来るようになりました。
この機能で有効化された環境はアカウントインスタンスと呼ばれ、IAM Identity Center から連携出来るアプリケーションが限定されています。

通常の IAM Identity Center 組織インスタンスとは少し使い勝手が違うわけですが、IAM Identity Center の機能のひとつに外部 IdP との連携機能があります。

よく考えたらこちらは制限はないのでしょうか。もしかしたら Identity Center ディレクトリのみしか使えないという可能性もあるかもしれないなと思いました。

本日はアカウントインスタンスと外部 IdP である Microsoft Entra ID をシングルサインオン連携させてみましたので紹介します。

結論だけ先にお伝えすると問題なく使えました。

検証内容

Microsoft 公式ドキュメントである Microsoft Learn に、Microsoft Entra ID と AWS IAM Identity Center との統合手順がまとまっています。
一部明確じゃない部分があって統合に最初うまくいかなかった部分があるのですが、概ねこのドキュメントの記載で設定出来ます。うまくいかなかった部分は後述します。

IAM Identity Center アカウントインスタンスの有効化

Microsoft Entra ID のアプリケーションセットアップ

エンタープライズアプリケーションの登録

最新では Microsoft Entra 管理センターからエンタープライズアプリケーションとして IAM Identity Center を登録して各種構成を行います。

Azure ポータルの Microsoft Entra ID メニューの次から Microsoft Entra 管理センターへ遷移しました。

遷移後、サイドメニューからエンタープライズアプリケーションを開き、新しいアプリケーションの追加を行います。

「新しいアプリケーション」を選択すると、Microsoft Entra ギャラリーから登録するアプリケーションを選択することが出来ます。
検索テキストボックスに「AWS」と入力すると、いくつか AWS 関連の候補が表示されるので「AWS IAM Identity Center」を選択します。

エンタープライズアプリケーションのシングルサインオンを構成

登録したアプリケーションを選択し、サイドメニューの「シングルサインオン」を選択します。
シングルサインオン方式を選択出来るので、「SAML」を選択します。

SAML の構成を行うのですが、次のように Microsoft Entra ID のアプリへメタデータファイルをアップロードする必要があります。そのため、まずは AWS 上からメタデータファイルを取得しましょう。

ここから Entra 管理センター と AWS マネジメントコンソールをいったりきたりします。
まずは、AWS の IAM Ideneity Center に戻ります。
先程の画面でアイデンティティソースを変更することが出来ますので、ここで外部 ID プロバイダーを選択します。

そうすると、サービスプロバイダーのメタデータファイルをダウンロード出来るようになりますので、まずはこちらをダウンロードします。

また、併せて AWS アクセスポータルのサインイン URL をコピーしておきましょう。
Microsoft Entra ID アプリ側にサインオン URL として登録します。

次に Entra 管理センターに戻り、AWS からダウンロードしたメタデータファイルをアップロードします。
その際にサインオン URL を設定出来るので、先程 IAM Identity Center から取得したサインイン URL を設定します。

次に Entra 管理センター側からフェデレーションメタデータ XML をダウンロードします。

またまた AWS IAM Identity Center に戻りまして、今度はアイデンティティプロバイダーのメタデータとして、先ほどダウンロードしたフェデレーションメタデータ XML をアップロードします。

アップロード出来たら次へ進みまして、AWS IAM Identity Center 側の設定自体は終わりです。
オプションで自動プロビジョニングなどの構成も取れるのですが、今回はスキップします。

ユーザー作成と接続確認

それでは Microsoft Entra ID へサインインして AWS IAM Identity Center へアクセスする流れを試してみます。
今回はユーザーの手動プロビジョニング(Entra ID 側のユーザーと対になるユーザーを IAM Identity Center 側へ用意する)が必要なので、まずは Microsoft Entra ID 側でユーザーを登録します。

作成出来たら IAM Identity Center 側でもユーザー登録を行います。
ユーザー名に Microsoft Entra ID で登録したメールアドレスを、表示名は Microsoft Entra ID で登録した表示名を設定します。

Entra アプリケーションのシングルサインオンが面からサインインテストを行うことが出来ます。
対象ユーザーで Entra 管理センターにサインインした状態で、サインインのテストボタンを押下します。

サインインに成功すると、リダイレクトされ IAM Identity Center へも認証済みの状態となりました。
アカウントインスタンスでも外部 IdP によるシングルサインオンが出来ることが確認出来ましたね。

「このコードは使用できません。もう一度試してください。」

Entra ID での認証後にリダイレクトされ、その際に IAM Identity Center 側で次のようなエラーが発生する場合があります。

Microsoft 公式ドキュメントの手順に従うと、おそらく IAM Identity Center のユーザー名に次のように「表示名」を登録してしまう人が多いのではと思います。
この状態だと前述の問題が発生するので、ユーザー名は Entra ID ユーザーのメールアドレスを設定しましょう。

さいごに

本日は IAM Identity Center のアカウントインスタンスでも外部 IdP からのシングルサインオンを構成出来るのか試してみました。

アカウントインスタンスでも外部 IdP を統合することが出来ましたね。このあたりは組織インスタンスとかわりなく使えそうです。
ただし Identity Center のアカウントインスタンスは本日時点で限られたマネージドアプリケーションのみ利用可能で、Organizations との連携も出来ないためユーザーへの AWS アカウントや許可セットの設定も出来ません。

サポートされているアプリケーションについては以下をご確認ください。