IAM Identity Centerのスタンドアロンインスタンスで、カスタマーマネージドアプリケーション用にIAM Identity Center自体を外部IdPとして登録できるのか試してみた
みなさんこんにちは、クルトンです。
今回はIAM Identity Centerのスタンドアロンインスタンスにおいて、自身を外部IdPとして使用できるのか確かめてみました。スタンドアロンインスタンスでもカスタマー管理のアプリケーション用に、OAuth2.0認証が使えると公式ドキュメントを確認したためです。
また、IAM Identity CenterのAWS Organizationsが使える組織インスタンスではできますが、「スタンドアロンインスタンスではできるのか」を検証したブログがなかったためです。
スタンドアロンインスタンスについてはこちらのいわささんが書かれたブログにも記載されているので、よければご覧ください。
最初に結論
公式ドキュメントを調べてみたり実際の画面で動作検証してみたのですが、2025/01/17現在は実行できないようでした。
※「やり方知っているよ」や「こうすればできるよ」というお方いらっしゃいましたら、ご教示頂けますと助かります!
やってみた
まずはスタンドアロンインスタンスを作成します。有効にするボタンをクリックします。
次にタグを入力します。今回は検証用ということでタグを追加していますが、なくとも良いです。もう一度「有効にする」ボタンをクリックします。
スタンドアロンインスタンスが作成されました。
AWS Organizationsを使用できないAWS環境で自分は検証作業していたので、組織インスタンスかスタンドアロンインスタンスを作成するかの表示がされませんでした。
つまり、インスタンスの作成を終えると自動的にスタンドアロンインスタンスでの作成が行われています。
次にカスタマーマネージドアプリケーション用の画面へ遷移し、「アプリケーションを追加」ボタンをクリックします。
以下のように設定しました。
「アプリケーション URL」に設定するURLですが、左メニューにある「設定」をクリックしてページ遷移した後に表示される「アイデンティティソース>AWS access portal URL」へ記載されているものを記載しています。
ここまで設定が終われば画面下部の「次」ボタンをクリックします。
次の画面では外部IdPを設定いたします。こちらの画面で設定する外部IdPとして、IAM Identity Centerを登録してみます。
「信頼されたトークン発行者を作成」ボタンをクリックします。
ページ遷移後の画面で、以下のように設定します。
「発行者 URL」については、左メニューにある「設定」をクリックしてページ遷移した後に表示される「アイデンティティソース>発行者 URL」へ記載されているものを記載しています。
設定終わりましたら「信頼されたトークン発行者を作成」ボタンを再度クリックします。
今し方作成した信頼されたトークン発行者が選択肢に出てきているので、チェックボックスを入れます。
次に、画面に出てきたaudクレームを入力するタイミングで詰まりました。
audクレームというのは、JWT(ジョットと読みます)というユーザー認証後に外部IdPで発行されるトークン中に記載されるものです。
スタンドアロンインスタンスでは発行方法が見つからず、この画面から先に進むことはできませんでした。
試しにユーザー作成後の画面も確認してみましたが、トークンを発行できそうな箇所も見つかりませんでした。
特別なトークン発行用のURLがないか調査してみましたが、スタンドアロンインスタンスで使えるようなものも見つかりませんでした。
ちなみに組織インスタンスであれば、SAML認証に必要な証明書を発行することが可能です。そのためSAML認証に対応しているアプリやサービスであれば、IAM Identity Centerを外部IdPとして利用することができます。
終わりに
今回は調査してみたところ外部IdPとして利用できないと結論づけましたが、社内ではAWSマネージドなサービスであれば使えたという話もあり、何か他のやり方であれば実行できるかもしれないと感じました。
以下のような記事があり、JWTを発行する際にCognitoを使ってのやり方もあるようなので、IAM Identity Centerのスタンドアロンインスタンス単体でなければ何かしらのやり方はあるかもしれません。
今回はここまで。
それでは、また!
参考にしたサイト