IAM Identity Centerのスタンドアロンインスタンスで、カスタマーマネージドアプリケーション用にIAM Identity Center自体を外部IdPとして登録できるのか試してみた

IAM Identity Centerのスタンドアロンインスタンスで、カスタマーマネージドアプリケーション用にIAM Identity Center自体を外部IdPとして登録できるのか試してみた

IAM Identity Center(スタンドアロンインスタンス)自体を外部IdPとして使えるか確かめてみました。
Clock Icon2025.01.22

みなさんこんにちは、クルトンです。

今回はIAM Identity Centerのスタンドアロンインスタンスにおいて、自身を外部IdPとして使用できるのか確かめてみました。スタンドアロンインスタンスでもカスタマー管理のアプリケーション用に、OAuth2.0認証が使えると公式ドキュメントを確認したためです。
https://docs.aws.amazon.com/ja_jp/singlesignon/latest/userguide/identity-center-instances.html
005

また、IAM Identity CenterのAWS Organizationsが使える組織インスタンスではできますが、「スタンドアロンインスタンスではできるのか」を検証したブログがなかったためです。

スタンドアロンインスタンスについてはこちらのいわささんが書かれたブログにも記載されているので、よければご覧ください。
https://dev.classmethod.jp/articles/iam-identity-center-account-instance/

最初に結論

公式ドキュメントを調べてみたり実際の画面で動作検証してみたのですが、2025/01/17現在は実行できないようでした。
※「やり方知っているよ」や「こうすればできるよ」というお方いらっしゃいましたら、ご教示頂けますと助かります!

やってみた

まずはスタンドアロンインスタンスを作成します。有効にするボタンをクリックします。

001

次にタグを入力します。今回は検証用ということでタグを追加していますが、なくとも良いです。もう一度「有効にする」ボタンをクリックします。
002

スタンドアロンインスタンスが作成されました。

003

AWS Organizationsを使用できないAWS環境で自分は検証作業していたので、組織インスタンスかスタンドアロンインスタンスを作成するかの表示がされませんでした。
つまり、インスタンスの作成を終えると自動的にスタンドアロンインスタンスでの作成が行われています。

次にカスタマーマネージドアプリケーション用の画面へ遷移し、「アプリケーションを追加」ボタンをクリックします。
004

以下のように設定しました。
006
007

「アプリケーション URL」に設定するURLですが、左メニューにある「設定」をクリックしてページ遷移した後に表示される「アイデンティティソース>AWS access portal URL」へ記載されているものを記載しています。

ここまで設定が終われば画面下部の「次」ボタンをクリックします。

次の画面では外部IdPを設定いたします。こちらの画面で設定する外部IdPとして、IAM Identity Centerを登録してみます。
「信頼されたトークン発行者を作成」ボタンをクリックします。

ページ遷移後の画面で、以下のように設定します。
008

「発行者 URL」については、左メニューにある「設定」をクリックしてページ遷移した後に表示される「アイデンティティソース>発行者 URL」へ記載されているものを記載しています。

設定終わりましたら「信頼されたトークン発行者を作成」ボタンを再度クリックします。

今し方作成した信頼されたトークン発行者が選択肢に出てきているので、チェックボックスを入れます。
009

次に、画面に出てきたaudクレームを入力するタイミングで詰まりました。

010

audクレームというのは、JWT(ジョットと読みます)というユーザー認証後に外部IdPで発行されるトークン中に記載されるものです。
スタンドアロンインスタンスでは発行方法が見つからず、この画面から先に進むことはできませんでした。

試しにユーザー作成後の画面も確認してみましたが、トークンを発行できそうな箇所も見つかりませんでした。
011

特別なトークン発行用のURLがないか調査してみましたが、スタンドアロンインスタンスで使えるようなものも見つかりませんでした。

ちなみに組織インスタンスであれば、SAML認証に必要な証明書を発行することが可能です。そのためSAML認証に対応しているアプリやサービスであれば、IAM Identity Centerを外部IdPとして利用することができます。

終わりに

今回は調査してみたところ外部IdPとして利用できないと結論づけましたが、社内ではAWSマネージドなサービスであれば使えたという話もあり、何か他のやり方であれば実行できるかもしれないと感じました。

以下のような記事があり、JWTを発行する際にCognitoを使ってのやり方もあるようなので、IAM Identity Centerのスタンドアロンインスタンス単体でなければ何かしらのやり方はあるかもしれません。
https://repost.aws/ja/knowledge-center/sso-temporary-credentials

今回はここまで。

それでは、また!

参考にしたサイト

https://docs.aws.amazon.com/ja_jp/singlesignon/latest/userguide/using-apps-with-trusted-token-issuer.html
https://docs.aws.amazon.com/ja_jp/singlesignon/latest/userguide/trustedidentitypropagation-overview.html
https://docs.aws.amazon.com/singlesignon/latest/userguide/trusted-token-issuer-configuration-settings.html#trusted-token-issuer-aud-claim

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.