OneLogin と AWS SSO を統合させる(手動プロビジョニング編)

SCIMによる自動プロビジョニングが使えないパターン
2021.09.30

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

ちゃだいん(@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の自動プロビジョニングが未サポートであり、手動で行う必要がある場合(本手順はあくまで参考程度にどうぞ)

手順

作業は前回からの変更点のみご紹介します。

  1. Onelogin側: AWS SSOをアプリケーションに追加する
  2. AWS側: AWS SSO にて外部IdP、SAMLの設定を行う ← 前回から変更あり
  3. OneLogin側: 設定を完了させる ← 前回から変更あり
  4. OneLogin側: ユーザーを作成する ← 前回から変更あり
  5. AWS側: ユーザーを作成する ← 前回から変更あり
  6. 動作確認

2. AWS側: AWS SSO にて外部IdP、SAMLの設定を行う

※基本的には前回と同様なので、一部差分のみご説明します。

プロビジョニングを前回は「自動プロビジョニング」に変更しましたが、今回は「手動プロビジョニング」のまま変更しません。

そうすることにより、AWS SSO側のユーザー・グループは作成可能な状態であり続けます。(自動プロビジョニングに変更すると、削除や無効化はできても作成NGとなります)

前回と違い、以下2つの情報のみをこの後の OneLogin 側で使用します。

  1. SCIMエンドポイント
  2. アクセストークン(SCIMベアラートークン)
  3. AWS SSO ACS URL
  4. 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のイベント画面は以下の通りでした。基本ユーザー名部分にメールアドレスが表示されています。

検証は以上です。