[アップデート] AWS IAM Identity Center がメンバーアカウント個別の環境が作成出来るようになったので、作成して対応アプリケーションなどを調べてみた

2023.11.19

いわさです。

昨日、次のアップデートがアナウンスされていました。

ざっくりいうと、これまではアプリケーションで IAM Identity Center を認証基盤に使いたい場合に、IAM Identity Center の前提条件となる AWS Organizations が必要でした。
IAM Identity Center の機能の中にマルチアカウント管理機能が備わっているために、おそらく前提条件として AWS Organizations が必須という背景なのだと思いますが、単純に IAM Identity Center を IdP としてアプリケーションと連携させたいだけの場合に AWS Organizations 必須というのは少し敷居が高いと感じる時がありました。

今回のアップデートでは連携アプリケーションをセットアップすることを目的に AWS Organizations 外のスタンドアロンアカウント、あるいは AWS Organizations 内のメンバーアカウントで独立した IAM Identity Center インスタンスをセットアップ出来るようになりました。
こいつぁすげえや。と思ったのですが、色々と制限事項も多いです。

この記事ではセットアップから、組織インスタンスとの比較、アプリケーション統合など一通りを試してみましたので紹介したいと思います。

メンバーアカウントでのセットアップ

前提として私の検証アカウントは次のように AWS Organizations をセットアップ済みです。
その中の次のメンバーアカウントで IAM Identity Center にまずはアクセスしてみます。

「有効にする」ボタンが表示されるので押してみます。
従来はたしかセットアップについては管理アカウントのみで行うことが出来て、管理者から委任されたアカウントが IAM Identity Center の管理機能を使うことがオプションで可能。といった形だったと思います。

「有効にする」ボタンを押してみると次のようなダイアログが表示されました。
このダイアログでは、組織インスタンスアカウントインスタンスのどちらをセットアップするのかを選択することが出来ます。
組織インスタンスが従来の IAM Identity Center インスタンスで、アカウントインスタンスが今回新たに追加されたアカウントごとの IAM Identity Center インスタンスのことですね。

ふたつのアカウントタイプの違いについて表示されています。
マルチアカウント周りは当然だなという感じではありますが、この時点での注意点としては顧客管理アプリケーションの設定がアカウントインスタンスでは使用出来ないという点です。

顧客管理アプリケーションは IAM Identity Center を IdP として SAML などで統合する外部のアプリケーションを指しています。
そのため IAM Identity Center を独自アプリケーションの IdP として使う方法は本日時点ではアカウントインスタンスでは不可です。
個人的にはこれは出来てもえんちゃうかという気持ちがありますが。

ここではアカウントインスタンスを作成してみます。
なお、画面上に注意書きされていますがアカウントインスタンスを組織インスタンスへアップグレードすることは出来ません。特に制約が無いのであれば組織アカウントの利用が推奨されています。

続行ボタンを押すとインスタンスにタグを追加するオプションが表示されました。
ここでは特に追加せずに進めます。ここから有効化処理が実行されます。数秒でセットアップされました。

ちなみに、IAM Identity Center のアカウントインスタンスは、アカウントごとに全リージョンで 1 つまでとなっています。
今回バージニア北部リージョンでセットアップしたのですが、東京リージョンで追加のセットアップをしようとしたところ次のようにエラーとなりました。

インスタンスを比較してみた

ではアカウントインスタンスが作成出来たので、組織インスタンスとの違いを軽く比較してみます。
画面左がアカウントインスタンスで、右が組織インスタンスです。

まず次のように、設定画面のインスタンス ARN などから別のインスタンスであることが確認出来ますね。

IAM Identity Center のメニューを見てみると「マルチアカウントのアクセス許可」一式がアカウントインスタンスにはありません。

ユーザーについてはインスタンスごとに別々の管理となっていました。
次の画面では追加していませんが、アカウントインスタンスに通常の流れでユーザーを追加し、組織インスタンスとは別で管理されています。
ポータルへの URL も別のものとなっています。

AWS 管理アプリケーションのみ

アプリケーション機能は冒頭の情報に記載されていたように違いがありました。
組織インスタンスでは「AWS 管理」と「カスタマー管理」のタブが表示されているのですが、アカウントインスタンスでは「AWS 管理」のみが表示されていました。
また、アプリケーションを追加するためのボタンがありませんね。

AWS 管理アプリケーションは該当サービスのコンソールから IAM Identity Center 統合を行う必要があります。
そのため AWS 管理アプリケーションのみをサポートするアカウントインスタンスではアプリケーション追加ボタンが表示されていない。ということのようです。

アプリケーション統合させてみた

さて、実際にいくつかの AWS サービスとの統合を試してみました。
結論としては本日時点では、CodeCatalyst 以外は統合出来無さそうでした。

Amazon QuickSight(使えなかった)

QuickSight を新規でセットアップする際に IAM Identity Center 統合を行うことが出来ます。

こちらをアカウントインスタンスで使えるとユーザー管理が楽になるのと、SageMaker 統合機能などが使えるようになるので激アツです。
アカウントインスタンスを作成したメンバーアカウント上で、新規セットアップしてみます。

IAM Identity Center 認証を選択しようとすると、組織インスタンスが存在しない場合は IAM Identity Center が無いというエラーが表示されました。
あるいは組織インスタンスが存在している場合は組織インスタンスとの統合が進行されようとしました。

本日時点ではアカウントインスタンスの存在は無視されていました。

Amazon CodeWhisperer(使えなかった)

Amazon CodeWhisperer は AI によるコードサジェストを行ってくれる開発用サービスです。
こちらは個人向けの無料版んと、組織向けのプロ版があり、プロ版は IAM Identity Center でユーザー・ライセンス管理を行います。

Amazon CodeWhisperer を組織で使いたいのだが AWS Organizations は事情があって使えない。という相談を頂いたことがあります。
ここでアカウントインスタンスが使えると、激アツです。

結論としては、本日時点ではアカウントインスタンスの存在は無視されていました。

上記は CodeWhisperer のセットアップ画面です。
組織インスタンスが存在しない場合はエラーとなり、組織インスタンスが存在している場合は組織ユーザーのみが表示されました。
こちらでもアカウントインスタンスやユーザーの有無に関わらず、アカウントインスタンスの存在が無視されているようです。

Amazon CodeCatalyst(使えた)

Amazon CodeCatalyst も IAM Identity Center 統合機能があります。
ありますというか、どうやら今回のこの IAM Identity Center アカウントインスタンス機能と足並みを揃えてリリースされたような雰囲気です。

これまでは AWS Builder ID で CodeCatalyst にアクセスしていたのですが、同じタイミングの以下のアップデートから CodeCatalyst を IAM Identy Center 統合出来るようになりました。

セットアップ方法ですが、CodeCatalyst のサイドメニューから「IAM Identity Center」を選択します。

そうすると次のようにどの CodeCatalyst スペースに IAM Identity Center を統合するか選択することが出来ます。
そして、この統合画面では次のように複数の IAM Identity Center インスタンスから選択することが出来ます。
ここで組織インスタンスか、アカウントインスタンスかを選択出来ますね。

私が本日取り急ぎ、アカウントインスタンスとの統合を確認出来たのは上記の CodeCatalyst のみでした。
実際に、AWS 管理アプリケーションでサポートされているものは以下に記載されており、本日時点では CodeCatalyst のみです。

さいごに

本日は AWS IAM Identity Center がメンバーアカウント個別の環境が作成出来るようになったので、作成してアプリケーション統合部分などを調べてみました。

熱い機能が来た!と思ったのですが、統合先アプリケーション側がまだ追いついていない雰囲気ですね。
とはいえ、AWS Organizations と IAM Identity Center をもうちょっと疎にしてほしいなぁと思っていた方は多いと思いますので、今後が期待できるアップデートだと思います。

まずは各アプリケーション側がアカウントインスタンスに対応出来るようになってほしいですね。