Office 365にWS-Federation認証でSSOを実現する手順
1.前提
この記事では、OneLoginからOffice 365へWS-Federation認証(≒SAML1.1)を利用してシングルサインオンするためのセットアップ手順と、そのセットアップに必要なユーザープロビジョニングの設定手順をご紹介します
前提条件
- Office 365における 全体管理者権限 をお持ちであること
- Office 365に関して、WS-Federation連携したいドメイン以外の他のドメインにも全体管理者アカウントが存在すること
- OneLoginのライセンスがProfessional Bundleであること
- OneLoginの Super User または Account Owner 権限を持つアカウントを所有していること
2.設定手順
1. WS-Federation連携 〜Office 365側の設定〜
-
Office 365に全体管理者でログインし、[管理]から設定 > ドメイン で、WS-Federation連携をするドメイン(フェデレーションドメイン)が、以下の3点をクリアしていることを確認してください ①独自ドメインであること ②既定ドメインではないこと ③セットアップ完了(✅ 正常)状態であること
-
ユーザー > アクティブなユーザー で、WS-Federation連携したいユーザーのユーザー名のドメインが、フェデレーションドメインであることを確認してください。フェデレーションドメインでなかった場合は、フェデレーションドメインに変更してください
-
フェデレーションドメイン以外の他のドメインに全体管理者の権限を持つユーザーを少なくとも1つ用意してください(例: admin@pentiodemo.onmicrosoft.com )
2. ユーザープロビジョニングの設定
-
OneLoginに管理者でログインし、[管理]からApplications > Applications に移動し右上の[Add App]をクリックします
-
アプリケーションを検索 の検索欄に Office 365 V2と入力し、Office 365 V2のコネクタをクリックします
-
Display Nameで、OneLoginポータルでの表示名を設定し[Save]をクリックします 例: Office 365 V2
-
古いMicrosoft系列のソフトウェア(2013以前のOutlookやWord)やAzure AD Joinをご利用の方は、Configuration > Enable WS-Trust にチェックを入れてください
-
Configuration > API Connection に Office 365 のフェデレーションドメインを入力し、[Verify]をクリックします 例:onelogin.pentio-dev.com
-
Configuration > API Connection > Office 365 V2(Azure Graph) OAuth の[Authenticate]をクリックしてOneLoginとのAPI接続を行います。
-
Office 365に全体管理者でログインするとOneLoginによるAPI利用範囲が表示されるので、内容を確認して[承諾]をクリックします
-
APIボタンが Clear Token に変化したことを確認します
-
同じように、Configuration > API Connection > Office 365 V2(Microsoft Graph) OAuthの[Authenticate]をクリックして、API接続を行います。ここは6〜9の手順と同じなので説明は省略します。
-
Access > RolesでOffice 365を割り当てるロールを選択し、[Save]します
-
Provisioning > Enable provisioning にチェックを入れます
-
プロビジョニングする際に、管理者に承認をとるかどうかを選択します Provisioning > Require admin approval before the action in performed で必要に応じてチェックを入れてください 例)Create User にチェックを入れると、OneLoginで新しくユーザーが作成された際、プロビジョニングでOffice 365にも自動で新規ユーザーを作成するには、管理者の承認が必要になります
-
Provisioning > When users are deleted in OneLogin… で、OneLogin側でユーザーが削除もしくはロールから外された際の、Office 365側でのアカウントの動作を選択します
-
Provisioning > When user accounts are suspended in OneLogin… で、OneLogin側でユーザーが停止された際の、Office 365側でのアカウントの動作を選択します。選択したら、[Save]をクリックします
プルダウンから選択 | Office 365側でのアカウントの動作 |
---|---|
Suspend | 自動でアカウントの停止 |
Do Nothing | アカウントに対し何もしない |
プロビジョニングを開始します(※2パターンあることにご注意ください)
❑Office 365に存在しないユーザーを、プロビジョニングによって自動生成する方法
※ここでは例として、'山内 隆一'というユーザーをOffice365側に生成します
-
手順12でプロビジョニングに承認が必要な設定をしている場合、Users > ユーザー の Provisioning State は ◯Pending 状態になります。承認するには、[Pending]をクリックし、[Approve]をクリックします
-
Provisioning State が ✅ Provisioned となったことを確認してください
-
Office 365側で、ユーザーが自動で生成されていれば、プロビジョニングは成功です
❑Office 365にすでに存在しているユーザーとOneLoginのユーザーを紐付ける方法
- 手順12でプロビジョニングに承認が必要な設定をしている場合、Users > ユーザー の Provisioning State は ◯Pending 状態になります。承認するには、[Pending]をクリックし、[Approve]をクリックします ※この紐付けは、Office 365側のユーザーの ユーザー名 とOneLogin側のユーザーの Email の一致によって行われています。ユーザー名とEmailが一致していることを確認してから、プロビジョニングをしてください
- Provisioning State が ✅ Provisioned となっていれば、プロビジョニングは成功です
以上でユーザープロビジョニングの設定は完了です
3. WS-Federation連携 〜OneLogin側の設定〜
-
SSO > Enable automatic SAML configuration: という赤いスイッチをクリックします
-
[Got It. Continue]をクリックします
-
連携が完了したら[Next]をクリックします
-
ポップアップの外側をクリックします
-
10~20秒後、スイッチが緑色になったのを確認したら、右上の[save]をクリックします
-
Roleを割り当てられているユーザーのOneLoginのポータル画面で、Office 365をクリックします
-
正常にログインできたら、Office 365のWS-Federation連携は完了です
3. 結論
OneLoginからOffice 365へのシングルサインオン
OneLoginのポータル画面から、Office 365のアイコンをクリックすることでOffice 365にログインすることができます。
ペンティオでは、OneLoginをご契約いただいた方に向けて独自のドキュメントを無料で提供しています。
詳細は以下よりご覧ください。