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に登録する。
既知の問題
ユーザーが無限サインインループに陥ることがある
次のシナリオでは、エンドユーザーが無限サインインループに陥ることがあります。
- Oktaサインオンポリシーの方がAzure ADポリシーより弱い:
- Oktaとアプリの両方のサインオンポリシーがMFAを必要としません。OktaはユーザーにMFAを求めません。Azure AD条件付きアクセスはMFAを必要とし、Oktaが入力済みのMFAクレームを渡すことを求めます。
- ユーザーがネットワークゾーン内からサインインする場合、サインオンポリシーはMFAを必要しませんが、ゾーン外からの場合はMFAを必要とします。OktaはユーザーにMFAを求めません。Azure AD条件付きアクセスはMFAを必要とし、Oktaが入力済みのMFAクレームを渡すことを求めます。
- 認証の直後にユーザーが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を完了することなくサインインすることを許可します。
はじめに
-
OktaでMFAを構成する
実装方法に基づいて、以下のいずれか、または両方を行います。
- 「多要素認証」で説明されているようにorgレベルのサインオンポリシーを構成します。
- WS-Federation Office 365アプリインスタンス向けアプリサインオンポリシーを「Office 365クライアントアクセスポリシー」で説明されている通りに構成します。
-
Azure ADでMFAを構成する
Microsoftドキュメントに従って、AzureADインスタンスでMFAを構成します。
この手順を開始する
Okta MFAのサポートを有効にするには、Office 365ドメインの連携認証設定を変更する必要があります。ドメインの連携認証を手動で行ったか自動で行ったかに応じて、次のいずれかの手順を選択します。
手動で連携認証されたドメインの場合
[Setup Instructions(設定手順)]の下で、更新済みの連携認証スクリプトを実行します。
-
Admin Consoleで、 に移動します。
- WS-Federationが行われたOffice 365アプリを開きます。
-
をクリックします。
[Office 365 WS-Federationの設定方法]ページが開きます。
- このページで、[If your domain is already federated(ドメインがすでにフェデレーションされている場合)]セクションに移動します。
- このセクションからスクリプトをコピーして、Windows PowerShellで実行します。
- [Okta MFA from Azure AD(Azure ADからのOkta MFA)]オプションで[Enable for this application(このアプリケーションに対して有効にする)]を選択し、[Save(保存)]をクリックします。
- 次の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(設定手順)]の下で、更新済みの連携認証スクリプトを実行します。
- (欠落または不良スニペット)
- WS-Federation Office 365アプリを開きます。
-
をクリックします。
[Office 365 WS-Federationの設定方法]ページが開きます。
- このページで、[If your domain is already federated(ドメインがすでにフェデレーションされている場合)]セクションに移動します。
- このセクションからスクリプトをコピーして、Windows PowerShellで実行します。
- オプションの[Okta MFA from Azure AD(Azure ADからのOkta MFA)]で、[Enable for this application(このアプリケーションに対して有効にする)]がオンになっていることを確認し、[Save(保存)]をクリックします。
- 次のPowerShellkコマンドを実行してFederatedIdpMfaBehavior値がenforceMfaByFederatedIdpであることを確認します:
Connect-MgGraph -Scopes Directory.AccessAsUser.All
Get-MgDomainFederationConfiguration -DomainId <yourDomainName> | Select -Property FederatedIdpMfaBehavior
自動的に連携認証されたドメインの場合
この場合、設定を構成する必要はありません。
- Admin Consoleで、 に移動します。
- WS-Federationが行われたOffice 365アプリを開きます。
- [Sign On(サインオン)]タブを選択し、[Edit(編集)]をクリックします。
- オプションの[Okta MFA from Azure AD(Azure ADからのOkta MFA)]で、[Enable for this application(このアプリケーションに対して有効にする)]がオンになっていることを確認し、[Save(保存)]をクリックします。
- 次の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コマンドは異なります。
この場合、設定を構成する必要はありません。
- (欠落または不良スニペット)
- WS-Federation Office 365アプリを開きます。
- [Sign On(サインオン)]タブを選択し、[Edit(編集)]をクリックします。
- [Okta MFA from Azure AD(Azure ADからのOkta MFA)]オプションで[Enable for this application(このアプリケーションに対して有効にする)]が選択されていることを確認し、[Save(保存)]をクリックします。
- 次のPowerShellコマンドを実行してFederatedIdpMfaBehavior値がenforceMfaByFederatedIdpであることを確認します。
Connect-MgGraph -Scopes Directory.AccessAsUser.All
Get-MsolDomainFederationSettings -DomainName <yourDomainName>
この機能を無効にする
この機能を無効にするには、次の手順を実行します。
-
Admin Consoleで、 に移動します。
- WS-Federationが行われたOffice 365アプリを開きます。
- をクリックします。
- [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コマンドは異なります。
この機能を無効にするには、次の手順を実行します。
- (欠落または不良スニペット)
- WS-Federation Office 365アプリを開きます。
- [Sign On(サインオン)]タブ、[Edit(編集)]を順にクリックします。
- [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向け拡張プロビジョニングとデプロビジョニング
Windows Hello for Business(Microsoftドキュメント)