Office 365とOneLoginを連携して、SAML認証でログインするための手順を紹介します。
はじめに
1. Office 365でSAMLを設定するためのプラン
Office 365での、SAML連携は、以下のプランでサポートされています。
https://products.office.com/ja-jp/business/compare-more-office-365-for-business-plans
2. 既存のADFS連携について
すでにADFS連携している場合は、その設定を無効化する必要があります。
https://onelogin.service-now.com/kb_view_customer.do?sys_kb_id=KB0010419
3. Office 365上のアカウントについて
Office 365で使用しているドメインと、OneLoginで使用しているドメインが一致している必要があります。
SAML認証を行う場合、Office 365のユーザーに設定されているメールアドレスと、OneLogin上で利用しているメールアドレスが一致している必要があります。
4. Office 365でプライマリドメインをフェデレーションするドメインはありますか。
プライマリドメインをフェデレーションすることはできません。Office 365のデフォルトドメインをxxx.onmicrosoft.comなどの別のドメインに切り替える必要がありす。
5. フェデレーションドメイン外のグローバル管理者アカウントを持っていますか。
SAML連携を行っている際に、誤った設定をしてしまい、ドメインの認証でOffice 365にログインできない自体が起きた場合に備えて、xxx@xxx.onmicrosoft.comドメインのユーザを設定しておくことを推奨します。
6. OneLoginで複数のOffice 365のドメインを統合できますか。
複数のドメインを所有している場合、ドメインごとに、OneLoginのコネクタを設定する必要があります。
各ドメインに個別で構成された、X.509証明書を利用することが推奨されます。
Office 365のOneLoginコネクタを作成する前に、新しい証明書を設定する必要があります。
OneLoginに管理者アカウントでログインし、"Setting > Certificates" を押します。そして、"NEW"を押して、新しい証明書を発行します。
この証明書はSAML設定をセットアップするときに使用します。
7. SyncLoginsを使用していますか。
OneLoginはSyncLoginsを使用してユーザーを照合しません。
8. SAML設定のテストを行いましたか。
以下の設定手順を本番環境で行う前に、テスト環境で実施し、正しく動作することを確認してください。
また、本番環境にロールアウトする場合は、営業時間外にSSOを有効にしてテストを行いリリースすることを推奨します。
Office 365コネクタの設定
OneLoginに管理者アカウントでログインし"Apps > Add Apps"を押します。
検索欄に"Office 365 v2"と入力し、表示されたコネクタを選択します。
OneLogin上の表示名を設定し、”SAVE”を押します。
"Configuration"タブを開き、利用しているOffice 365のAPIに接続するために必要な情報を入力します。
1. "your-domain.com"にOffice 365連携させる、ドメインを入力し"VERIFY"を押します。
ドメインが確認されると、下部の"AUTHENTICATE"ボタンが有効になります。
※すべてのユーザーが、このドメインを使用して、Office 365とOneLoginのメールアドレスが一致している必要があります。
2. Office 365 V2 (zure Graph) OAuthとOffice 365 V2(Microsoft Graph) OAuthの"Authenticate"ボタンを押して、各APIのアクセストークンを取得しています。以前に承認していない場合、OneLoginがOffice 365のWindows Azure Active Directoryにアクセスすることを許可することに、同意要求が表示されます。
3. OneLoginへのアクセスを認証して、認証プロセスを完了するように求めるダイアログが表示されます。Office 365アカウント名をクリックすると、Office 365 が表示されます。アカウントを選択するか、プロンプトが表示されたら、サインインします。
4. 認証すると、"Authenticate"ボタンが"Clear Token"になります。
"Parameter"タブに移動し、Office 365とOneLoginの属性を設定します。
Fieldの項目名がOffice365上の値となっており、それと対になるOneLogin側の項目がValueとなります。
Display Name
Office 365上に表示されるユーザー名を設定します。
これを任意で設定しない場合は、デフォルトで"{lastname}{firstname}"になります。
Immutable ID
Immutable IDは常にAD IDに設定する必要があります。OneLoginがActive Directoryと連携しておらず、ADからOffice 365にProvisioningするImmutableIDがない場合は、OneLogin側でAD IDを生成します。
※誤ったImmutable IDが設定されている場合、SSOに失敗します。
注意
Immutable IDは不変です。それが変更されることがありません。
"Access"タブに移動し、OneLogin側でOffice 365へSAML SSOさせるユーザーのロールを割り当てます。
"SSO"タブから、OneLoginとOffice 365との証明書交換を行い、自動的にWS-Federationの構成を行います。
手動で設定する場合は"Manual CONFIGURATION"に進みます。
Office 365で複数のドメインをフェデレーションする場合は、ドメインごとに個別のX.509証明書を利用することが推奨されます。
OneLoginに管理者アカウントでログインし、"Setting > Certificates" を押します。そして、"NEW"を押して、新しい証明書を発行します。
次の手順を実行する前に、”MANUAL CONFIGURATION”タブを開き”Change”を押します。
その後、該当する証明書を選択し、"Continue"を押します。
AUTOMATIC CONFIGRATION
1. "Enable automatic SAML configuration"のボタンをオンにして、"ONE CLICK"ダイアログを開きます。
2. プロンプト内の"GOT IT. CONTINUE"を押して、表示された内容に従い"WS-Federation"の設定を完了します。
設定が成功した場合は、成功した画面が表示されます。
WS-Federationの構成が失敗した場合、エラーメッセージが表示されます。
エラーを解決するにはエラーメッセージに表示された変更を行うか、Configuration、Access、Parameterの設定を確認後、もう一度実行してください。
失敗し続ける場合は"MANUAL CONFIGURATION"から設定を行うことができます。
3. WS-Federationの設定が成功し、OneLoginのユーザーがOneLogin経由でOffice 365へSSOできることを確認します。
設定を行っているユーザーがOneLoginの権限でOffice 365が割り当てられ、Office 365のアカウントを称ししているユーザーの場合、ダイアログに"Verify"ボタンが表示されます。
ボタンを押すことで、新規タブでOffice 365が表示されて、正常に動作すれば完了です。
※設定を行っているユーザーがOffice 365のアカウントを所有していない場合は、別ブラウザなどから、Office 365アカウントを利用して確認を行う必要があります。
4. OneLoginの"SSO"タブに戻り、"Enable automatic SAML configuration"がオンになっていることを確認します。
このスイッチをオフにすることで、SSOを無効化できます。
MANUAL CONFIGURATION
OneLoginでは、自動的にフェデレーションの設定を行うことができます。(AUTOMATIC CONFIGRATIONを参照)
ただし、手動で設定を行う場合は、以下の手順で行ってください。
Office 365コネクタの"SSO"タブを開き、"MANUAL CONFIGURATION"を押します。
"X.509証明書","SHA-1フィンガープリント","Issuer URL","WS-Federation Web SSO Endpoint"を手元にコピーしておきます。
先程手元にコピーした、値を使用し、Azure powerShellから設定を行います。
※手順が不明な場合は、お問い合わせください。
Azure PowerShellについては以下を参照ください。
https://docs.microsoft.com/ja-jp/powershell/azure/overview?view=azurermps-6.12.0
注意
Office 365で複数のドメインをフェデレーションする場合は、ドメインごとに個別のX.509証明書を利用することが推奨されます。
OneLoginに管理者アカウントでログインし、"Setting > Certificates" を押します。そして、"NEW"を押して、新しい証明書を発行します。