OneLogin と AWS SSO を統合させる(手動プロビジョニング編)
ちゃだいん(@chazuke4649)です。
今回は、前回の続きで OneLogin と AWS SSO を SCIM を使用せずに、手動プロビジョニング という方法で統合させてみたいと思います。
前回のブログ
OneLogin と AWS SSO を統合させるメリットや、基本的に推奨される自動プロビジョニングなど、まずは前回のブログをご覧ください。
やってみる
今回の構成図は以下となります。
前回はSCIMによるユーザー情報の自動プロビジョニングによって、AWS SSOユーザー/グループが自動生成される構成でした。今回はSCIMを利用しないので、AWS SSO側のユーザー/グループはAWS SSO側で作成する必要があります。
SAMLとSCIMの違い、自動プロビジョニングと手動プロビジョニングの違いについては、以下公式ドキュメントをご覧ください。
SCIM profile and SAML 2.0 implementation - AWS Single Sign-On
Automatic provisioning - AWS Single Sign-On
Manual provisioning - AWS Single Sign-On
前提
- OneLogin Enterprise Edition 管理者レベルのユーザー
- AWS SSOが利用できる(AWS Organizationsのマスターアカウントの)環境、AWS SSOの有効化
※ 今回試すOneLoginのプランはEnterpriseですが、おそらくシングルサインオンでSAML2.0をサポートしているプランであればどれでも可能かと思われます。
OneLoginのプランの詳細は以下をご覧ください。
OneLogin 価格|クラウド型シングルサインオン・アクセスコントロール(IDaaS) OneLogin - サイバネット
想定するユースケース
- 要件によって自動プロビジョニングが可能な OneLogin の Unlimited Edition が利用できない場合
- OneLogin以外のIdPで、AWS SSOと統合したいが、SCIMの自動プロビジョニングが未サポートであり、手動で行う必要がある場合(本手順はあくまで参考程度にどうぞ)
手順
作業は前回からの変更点のみご紹介します。
- Onelogin側: AWS SSOをアプリケーションに追加する
- AWS側: AWS SSO にて外部IdP、SAMLの設定を行う ← 前回から変更あり
- OneLogin側: 設定を完了させる ← 前回から変更あり
- OneLogin側: ユーザーを作成する ← 前回から変更あり
- AWS側: ユーザーを作成する ← 前回から変更あり
- 動作確認
2. AWS側: AWS SSO にて外部IdP、SAMLの設定を行う
※基本的には前回と同様なので、一部差分のみご説明します。
プロビジョニングを前回は「自動プロビジョニング」に変更しましたが、今回は「手動プロビジョニング」のまま変更しません。
そうすることにより、AWS SSO側のユーザー・グループは作成可能な状態であり続けます。(自動プロビジョニングに変更すると、削除や無効化はできても作成NGとなります)
前回と違い、以下2つの情報のみをこの後の OneLogin 側で使用します。
SCIMエンドポイントアクセストークン(SCIMベアラートークン)- AWS SSO ACS URL
- AWS SSO 発行者 URL
3. OneLogin側: 設定を完了させる
※基本的には前回と同様なので、一部差分のみご説明します。
先ほどの2つの情報のみを OneLogin側の ApplicationのConfigurationタブを開いて登録します。下部分は変更しません。
4.OneLogin側: ユーザーを作成する
OneLogin側のユーザーを以下の通り作成します。
- Email:
mesoko@example.jp
- First name:
Mesoko
- Last name:
Classmethod
また、ロールなどでアプリケーションを割り当てて、AWS SSO が表示される状態にします。
5.AWS側: ユーザーを作成する
AWS SSO側のユーザーを以下の通り作成します。
- ユーザー名:
mesoko@example.jp
- Eメールアドレス:
mesoko@example.jp
- 名:
Mesoko
- 姓:
Classmethod
一番のポイントは、SSOユーザー名をOneLoginのメールアドレスにする点です。
必要に応じて、グループを作成しユーザーをアタッチします。
6.動作確認
OneLogin側で作成したユーザーに招待メールを送り、そのURLから開くとパスワードの再設定を行います。パスワード再設定後、通常のログインを行います。
画面は前回の画面と特に変わり映えがないので割愛しますが、OneLogin画面 → AWS SSOログイン画面 → AWS マネジメントコンソール へと遷移することができました。
おまけまでに、マネジメントコンソール画面のロール名部分と、CloudTrailのイベント画面は以下の通りでした。基本ユーザー名部分にメールアドレスが表示されています。
検証は以上です。