Azure Active Directory向けのOkta MFAを使用する

Okta多要素認証(MFA)を使用して、WS-Federation Office 365アプリ向けのAzure Active Directory(AD)MFAの要件を満たすことができます。

次の場合はOkta MFAを使用します。

  • Oktaと連携認証されたドメインのAzure AD条件付きアクセスで要求されるMFA要件をOktaで処理する。
  • OktaとMicrosoft両方のMFAに単一ソリューションを使用できるように、エンドユーザーをWindows Hello for Businessに登録する。

既知の問題

ユーザーが無限サインインループに陥ることがある

次のシナリオでは、エンドユーザーが無限サインインループに陥ることがあります。

  1. Oktaサインオンポリシーの方がAzure ADポリシーより弱い:
    • Oktaとアプリの両方のサインオンポリシーがMFAを必要としません。OktaはユーザーにMFAを求めません。Azure AD条件付きアクセスはMFAを必要とし、Oktaが入力済みのMFAクレームを渡すことを求めます。
    • ユーザーがネットワークゾーン内からサインインする場合、サインオンポリシーはMFAを必要しませんが、ゾーン外からの場合はMFAを必要とします。OktaはユーザーにMFAを求めません。Azure AD条件付きアクセスはMFAを必要とし、Oktaが入力済みのMFAクレームを渡すことを求めます。
  2. 認証の直後にユーザーがOffice 365にアクセスしない:
    • ユーザーがOktaでMFAを完了した直後にOffice 365にアクセスしない場合、OktaはMFAクレームを渡しません。結果として生じる無限ループから抜け出すには、ユーザーはもう一度Webブラウザーを開いて認証し直す必要があります。

Oktaが誤って成功したMFAクレームを送信する

これは、Office 365サインオンポリシーが特定のエンドユーザー(個人またはグループ)をMFA要件から除外した場合に起こります。そのため、ユーザーはMFAを求められませんが、Oktaは成功したMFA要求をAzure AD条件付きアクセスに送信します。Azure AD条件付きアクセスはOkta MFAクレームを受け入れ、ユーザーがAD MFAを完了することなくサインインすることを許可します。

はじめに

  1. OktaでMFAを構成する

    実装方法に基づいて、以下のいずれか、または両方を行います。

    1. 多要素認証」で説明されているようにorgレベルのサインオンポリシーを構成します。
    2. WS-Federation Office 365アプリインスタンス向けアプリサインオンポリシーを「Office 365クライアントアクセスポリシー」で説明されている通りに構成します。
  2. Azure ADでMFAを構成する

    Microsoftドキュメントに従って、AzureADインスタンスでMFAを構成します。

この手順を開始する

Okta MFAのサポートを有効にするには、Office 365ドメインの連携認証設定を変更する必要があります。ドメインの連携認証を手動で行ったか自動で行ったかに応じて、次のいずれかの手順を選択します。

手動で連携認証されたドメインの場合

[Setup Instructions(設定手順)]の下で、更新済みの連携認証スクリプトを実行します。

  1. Admin Consoleで、[Applications(アプリケーション)][Applications(アプリケーション)]に移動します。

  2. WS-Federationが行われたOffice 365アプリを開きます。
  3. [Sign On(サインオン)][View Setup Instructions(設定手順を表示)]をクリックします。

    [Office 365 WS-Federationの設定方法]ページが開きます。

  4. このページで、[If your domain is already federated(ドメインがすでにフェデレーションされている場合)]セクションに移動します。
  5. このセクションからスクリプトをコピーして、Windows PowerShellで実行します。
  6. [Okta MFA from Azure AD(Azure ADからのOkta MFA)]オプションで[Enable for this application(このアプリケーションに対して有効にする)]を選択し、[Save(保存)]をクリックします。
  7. 次のPowerShellコマンドを実行して、SupportsMfa値がTrueであることを確認します。
    Connect-MsolService
    Get-MsolDomainFederationSettings -DomainName <yourDomainName>
    結果の例
    コピー
    ActiveLogOnUri : https://example.okta.com/app/office365/issueruri/sso/wsfed/active
    DefaultInteractiveAuthenticationMethod :
    FederationBrandName : Okta
    IssuerUri : issueruri
    LogOffUri : https://example.okta.com/app/office365/issueruri/sso/wsfed/signout
    MetadataExchangeUri : https://example.okta.com/app/office365/issueruri/sso/wsfed/mex
    NextSigningCertificate :
    OpenIdConnectDiscoveryEndpoint :
    PassiveLogOnUri : https://example.okta.com/app/office365/issueruri/sso/wsfed/passive
    SigningCertificate : <SigningCertificate>
    SupportsMfa : True

手動で連携認証されたドメインの場合(Microsoft Graph)

MS Graphフェデレーション機能を有効化した場合は、PowerShellコマンドは異なります。

[Setup Instructions(設定手順)]の下で、更新済みの連携認証スクリプトを実行します。

  1. (欠落または不良スニペット)
  2. WS-Federation Office 365アプリを開きます。
  3. [Sign On(サインオン)][View Setup Instructions(設定手順を表示)]をクリックします。

    [Office 365 WS-Federationの設定方法]ページが開きます。

  4. このページで、[If your domain is already federated(ドメインがすでにフェデレーションされている場合)]セクションに移動します。
  5. このセクションからスクリプトをコピーして、Windows PowerShellで実行します。
  6. オプションの[Okta MFA from Azure AD(Azure ADからのOkta MFA)]で、[Enable for this application(このアプリケーションに対して有効にする)]がオンになっていることを確認し、[Save(保存)]をクリックします。
  7. 次のPowerShellkコマンドを実行してFederatedIdpMfaBehavior値がenforceMfaByFederatedIdpであることを確認します:
    Connect-MgGraph -Scopes Directory.AccessAsUser.All
    Get-MgDomainFederationConfiguration -DomainId <yourDomainName> | Select -Property FederatedIdpMfaBehavior

自動的に連携認証されたドメインの場合

この場合、設定を構成する必要はありません。

  1. Admin Consoleで、[Applications(アプリケーション)][Applications(アプリケーション)]に移動します。
  2. WS-Federationが行われたOffice 365アプリを開きます。
  3. [Sign On(サインオン)]タブを選択し、[Edit(編集)]をクリックします。
  4. オプションの[Okta MFA from Azure AD(Azure ADからのOkta MFA)]で、[Enable for this application(このアプリケーションに対して有効にする)]がオンになっていることを確認し、[Save(保存)]をクリックします。
  5. 次のPowerShellコマンドを実行して、SupportsMfa値がTrueであることを確認します。
    Connect-MsolService
    Get-MsolDomainFederationSettings -DomainName <yourDomainName>
    結果の例
    コピー
    ActiveLogOnUri : https://example.okta.com/app/office365/issueruri/sso/wsfed/active
    DefaultInteractiveAuthenticationMethod :
    FederationBrandName : Okta
    IssuerUri : issueruri
    LogOffUri : https://example.okta.com/app/office365/issueruri/sso/wsfed/signout
    MetadataExchangeUri : https://example.okta.com/app/office365/issueruri/sso/wsfed/mex
    NextSigningCertificate :
    OpenIdConnectDiscoveryEndpoint :
    PassiveLogOnUri : https://example.okta.com/app/office365/issueruri/sso/wsfed/passive
    SigningCertificate : <SigningCertificate>
    SupportsMfa : True

自動的に連携認証されたドメインの場合(Microsoft Graph)

Microsoft Graphフェデレーション機能を有効化した場合は、PowerShellコマンドは異なります。

この場合、設定を構成する必要はありません。

  1. (欠落または不良スニペット)
  2. WS-Federation Office 365アプリを開きます。
  3. [Sign On(サインオン)]タブを選択し、[Edit(編集)]をクリックします。
  4. [Okta MFA from Azure AD(Azure ADからのOkta MFA)]オプションで[Enable for this application(このアプリケーションに対して有効にする)]が選択されていることを確認し、[Save(保存)]をクリックします。
  5. 次のPowerShellコマンドを実行してFederatedIdpMfaBehavior値がenforceMfaByFederatedIdpであることを確認します。
    Connect-MgGraph -Scopes Directory.AccessAsUser.All
    Get-MsolDomainFederationSettings -DomainName <yourDomainName>

この機能を無効にする

この機能を無効にするには、次の手順を実行します。

  1. Admin Consoleで、[Applications(アプリケーション)][Applications(アプリケーション)]に移動します。

  2. WS-Federationが行われたOffice 365アプリを開きます。
  3. [Sign On(サインオン)][Edit(編集)]をクリックします。
  4. [Okta MFA from Azure AD(Azure ADからのOkta MFA)]オプションで[Enable for this application(このアプリケーションに対して有効にする)]の選択がクリアされていることを確認し、[Save(保存)]をクリックします。

この機能をオフにしたときは、この機能が有効な設定でOktaに自動的に連携認証されたすべてのドメインについて、SupportsMfaの設定を手動でfalseに設定する必要があります。

このPowerShellコマンドレットを使用してこの機能をオフにします。

Set-MsolDomainFederationSettings -DomainName <targetDomainName> -SupportsMfa $false

この機能を無効にする(MS Graph)

Microsoft Graphフェデレーション機能を有効化した場合は、PowerShellコマンドは異なります。

この機能を無効にするには、次の手順を実行します。

  1. (欠落または不良スニペット)
  2. WS-Federation Office 365アプリを開きます。
  3. [Sign On(サインオン)]タブ、[Edit(編集)]を順にクリックします。
  4. [Okta MFA from Azure AD(Azure ADからのOkta MFA)]オプションで[Enable for this application(このアプリケーションに対して有効にする)]の選択がクリアされていることを確認し、[Save(保存)]をクリックします。

この機能をオフにするときは、Oktaで自動的に連携認証が行われ、この機能が有効になっているすべてのドメインについてFederatedIdpMfaBehavior設定を手動でacceptIfMfaDoneByFederatedIdpに設定する必要があります。

この機能をオフにするには、次のPowerShellコマンドレットを使用します。

Update-MgDomainFederationConfiguration -DomainId <DomainName> -InternalDomainFederationId (Get-MgDomainFederationConfiguration -DomainId <DomainName> | Select -Property Id).id -FederatedIdpMfaBehavior acceptIfMfaDoneByFederatedIdp

機能の仕組み

Okta MFAがAzure AD MFAの要件を満たす

次の表で説明するように、OktaはMFAクレームを渡します。

Okta orgレベルMFA OktaアプリレベルMFA Azure AD MFA 実行される操作の内容
無効 無効 有効

エンドユーザーが無限サインインループに陥ります。これを防ぐには、Okta MFAを構成してAzure AD MFAの要件を満たす必要があります。

有効 無効 有効 ユーザーはOktaでMFAの要求を完了します。Oktaは入力済みのMFAクレームをAzure ADに渡します。Azure ADはOktaからのMFAを受け入れ、個別のMFAを求めません。ユーザーはOffice 365へのアクセスを許可されます。
無効 有効 有効
有効 有効 有効

OktaによってユーザーがWindows Helloに登録される

前提条件:デバイスがハイブリッドAzure ADまたはAzure ADに参加している必要があります。

組織がWindows Hello for Businessを必須としている場合、Windows Helloにまだ登録されていないエンドユーザーは、ステップアップ認証(SMSプッシュなど)の完了を求められます。Windows Helloへの登録に成功すると、エンドユーザーはサインオンできるようになります。次の表に示されているように、Oktaはエンドユーザーの登録を支援します。

Okta orgレベルMFA OktaアプリレベルMFA 実行される操作の内容
無効 無効

エンドユーザーが無限サインインループに陥ります。これを防ぐには、Okta MFAを構成してAzure AD MFAの要件を満たす必要があります。

有効 無効 エンドユーザーはOktaでステップアップMFAプロンプトに入力します。Windows Hello for Businessへの登録に成功すると、エンドユーザーはAzure AD MFAを満たすための要素として使用できます。
無効 有効
有効 有効

関連項目

Office 365サインオン・ルールのオプション

Office 365向け拡張プロビジョニングとデプロビジョニング

Windows Hello for Business(Microsoftドキュメント)