事前に、Microsoft 365のWS-Federation連携を始める前に をご参照ください。
本記事では、OneLogin から Microsoft 365(旧Office 365)へのWS-Federation(WS-Fed)シングルサインオン(SSO)およびユーザープロビジョニングの設定手順をご案内します。
目次
前提条件
- OneLoginのライセンスが Unlimited または Professional(新料金体系)のいずれかであること
- OneLoginの Super User または Account Owner 権限を持つアカウントを所有していること
- Microsoft 365における 全体管理者権限 をお持ちであること
- Microsoft 365に関して、WS-Federation連携したいドメイン以外の他のドメインにも全体管理者アカウントが存在すること
注意事項
- すでにユーザープロビジョニングの設定をされている方は、3. WS-Federation連携 〜Microsoft 365側の設定〜からお読みください
- ユーザープロビジョニングのみ設定したい方は、2. ユーザープロビジョニングの設定のみお読みください
- OneLoginの不具合など何らかの原因で、Microsoft 365にSSOできなくなった場合にMicrosoft 365を使用できなくなることを防ぐために、WS-Federation連携したいドメイン以外の他のドメインにも全体管理者アカウントを作成しておく必要があります(参考: 1. Microsoft 365側の設定の手順4)
- Microsoft Office 365, Microsoft 365, Microsoft Entra IDにシングルサインオンを行う方は「Office 365 V2」コネクタを使用する必要があります
1. Microsoft 365側の設定
- Microsoft 365に全体管理者でログインし、[管理]をクリックします
- 設定 > ドメイン で、WS-Federation連携をするドメイン(フェデレーションドメイン)が、以下の3点をクリアしていることを確認してください
①独自ドメインであること
②既定ドメインではないこと
③セットアップ完了(✅ 正常)状態であること
- ユーザー > アクティブなユーザー で、WS-Federation連携したいユーザーのユーザー名のドメインが、フェデレーションドメインであることを確認してください。フェデレーションドメインでなかった場合は、フェデレーションドメインに変更してください
- フェデレーションドメイン以外の他のドメインに全体管理者の権限を持つユーザーを少なくとも1つ用意してください(例: admin@pentiodemo.onmicrosoft.com )
2. ユーザープロビジョニングの設定
- OneLoginに管理者でログインし、[管理]をクリックします
-
Applications メニューから[Applications]を選択します
- [Add App]をクリックします
-
Office 365 V2 と検索し、該当コネクタを選択します
- [Save]をクリックします
- 古いMicrosoft系列のソフトウェア(2013以前のOutlookやWord)やAzure AD Joinをご利用の方は、Configuration > Enable WS-Trust にチェックを入れてください
- Configuration > API Connection に Microsoft 365 のフェデレーションドメインを入力し、[Verify]をクリックします
例:onelogin.pentio-dev.com
- Configuration > API Connection > Office 365 V2(Azure Graph) OAuth の[Authenticate]をクリックしてAPI接続を行います
-
Office 365 V2 をクリックします
- OneLoginによるAPI利用を許可するため、Microsoft 365に 全体管理者 でログインします
- OneLoginによるAPI利用範囲が表示されるので、内容を確認して[承諾]をクリックします
- APIボタンが Clear Token に変化したことを確認します
- 同じように、Configuration > API Connection > Office 365 V2(Microsoft Graph) OAuthの[Authenticate]をクリックして、API接続を行います
-
Office 365 V2 をクリックします
- OneLoginによるAPI利用範囲が表示されるので、内容を確認して[承諾]をクリックします
- APIボタンが Clear Token に変化したことを確認します
-
Access タブに移動し、割り当てたいユーザーが属するロールを選択後、[Save]をクリックします
- Provisioning > Enable provisioning にチェックを入れます
- プロビジョニングする際に、管理者に承認をとるかどうかを選択します
Provisioning > Require admin approval before the action in performed で必要に応じてチェックを入れてください
例)Create User にチェックを入れると、OneLoginで新しくユーザーが作成された際、プロビジョニングでMicrosoft 365にも自動で新規ユーザーを作成するには、管理者の承認が必要になります
(参照:参考)
-
Provisioning > When users are deleted in OneLogin… で、OneLogin側でユーザーが削除もしくはロールから外された際の、Microsoft 365側でのアカウントの動作を選択します
プルダウンから選択 Microsoft 365側でのアカウントの動作 Suspend 自動でアカウントの停止 Do Nothing アカウントに対し何もしない Delete 自動でアカウントを削除
-
Provisioning > When user accounts are suspended in OneLogin… で、OneLogin側でユーザーが停止された際の、Microsoft 365側でのアカウントの動作を選択します。選択したら、[Save]をクリックします
プルダウンから選択 Microsoft 365側でのアカウントの動作 Suspend 自動でアカウントの停止 Do Nothing アカウントに対し何もしない
-
プロビジョニングを開始します(※2パターンあることにご注意ください)
1. Microsoft 365に存在しないユーザーをプロビジョニングにより作成
*ここでは例として、'山内 隆一'というユーザーをMicrosoft 365側に作成します。
-
手順19でプロビジョニングに承認が必要な設定をしている場合、Users > ユーザー の Provisioning State は ◯Pending 状態になります。承認するには、[Pending]をクリックします
*デフォルトでは、ユーザーにMicrosoft 365のライセンスは付与されません。
- [Approve]をクリックし、承認します
- 数秒の間、Provisioning State が Provisioning と表示されていることを確認してください
- 以下のように、Provisioning State が ✅ Provisioned となったことを確認してください
-
Microsoft 365側で、ユーザーが自動で生成されていれば、プロビジョニングは成功です
2. 既存のMicrosoft 365ユーザーとOneLoginユーザーを紐付ける
*ここでは例として、'小林 隼平'というユーザーを紐付けます。
- 手順19でプロビジョニングに承認が必要な設定をしている場合、Users > ユーザー の Provisioning State は ◯Pending 状態になります。承認するには、[Pending]をクリックします
※この紐付けは、Microsoft 365側のユーザーの ユーザー名 とOneLogin側のユーザーの Email の一致によって行われています。ユーザー名とEmailが一致していることを確認してから、プロビジョニングをしてください
- 承認するために、[Approve]をクリックします
- 数秒の間、Modifying と表示されていることを確認してください
- 以下のように、Provisioning State が ✅ Provisioned となっていれば、プロビジョニングは成功です
-
手順19でプロビジョニングに承認が必要な設定をしている場合、Users > ユーザー の Provisioning State は ◯Pending 状態になります。承認するには、[Pending]をクリックします
-
参考: 手順19で設定したProvisioning > Require admin before the action in performed のチェック欄では、全てのチェックを外すことを弊社では推奨しております。チェックが入っている項目に関して、ユーザープロビジョニングをする際に 管理者の承認 という1ステップが入るため、管理者が承認するのを忘れていると、プロビジョニングが実行されずユーザーがSSOできないといった問題が発生します。そのため、このチェックを外すことで、管理者の承認がなくてもユーザープロビジョニングを行えるようにすることを推奨しております。
※OneLogin側でユーザーを削除した際に、Microsoft 365側のユーザーも自動で削除されてしまうのを防ぐために、Delete User だけにチェックを入れることで、アカウント削除の際に管理者の承認を求めるようにする場合もあります。
ユーザープロビジョニングの設定は以上です。
3. OneLogin側の設定
- SSO > Enable automatic SAML configuration: という赤いスイッチをクリックします
- [Got It. Continue]をクリックします
- 連携が完了したら[Next]をクリックします
- ポップアップの外側をクリックします
- 10~20秒後、スイッチが緑色になったのを確認したら、右上の[save]をクリックします
WS-Fed フェデレーションの設定は以上です。
4. WS-Fed SSOの動作確認
- OneLoginに対象ユーザーでログインし、設定した Office 365 V2 を選択します
- ユーザー認証が完了し、Microsoft 365にSSOされることを確認します
WS-Fed SSOの動作確認は以上です。
5. WS-Fed フェデレーションの解除
- OneLoginに管理者でログインし、[管理]をクリックします
-
Applications メニューから[Applications]を選択します
-
Office 365 V2 と検索し、該当コネクタを選択します
- SSO > Enable automatic SAML configuration: の緑色のスイッチをオフにします
- 確認画面が表示されるので、[Ok]をクリックします
- スイッチが赤色になったのを確認し、[Save]をクリックします
- Roleを割り当てられているユーザーのOneLoginのポータル画面で、Office365をクリックします
- エラー画面が出たら、WS-Federation連携の解除は完了です
6. ユーザープロビジョニングの無効化
- OneLoginに管理者でログインし、[管理]をクリックします
-
Applications メニューから[Applications]を選択します
-
Office 365 V2 と検索し、該当コネクタを選択します
- Provisioning > Enable Provisioning のチェックを外し、[Save]をクリックします
- Users > Provisiong State が表示されなくなったら、ユーザープロビジョニングの解除は完了です
トラブルシュート
- [Pending]をクリックした際、Failed と表示される
[Pending]をクリックした際、Failed と表示された場合、プロビジョニングが何らかの原因で失敗していることになります。[Failed]をクリックすることで、原因が表示されますので、原因をもとにパラメータなどをご確認ください