フェデレーションを使用して Azure AD MFA に移行する

多要素認証 (MFA) ソリューションを Azure Active Directory (Azure AD) に移行することは、クラウドに移行するための最適な第一歩です。 今後、ユーザー認証のために Azure AD に移行することも検討してください。 詳細については、クラウド認証を使用して Azure AD MFA に移行するためのプロセスを参照してください。

フェデレーションを使用して Azure AD MFA に移行するために、AD FS に Azure AD MFA 認証プロバイダーがインストールされます。 移行されたユーザーに Azure AD MFA を使用するように、Azure AD 証明書利用者信頼とその他の証明書利用者信頼が構成されます。

以下の図は、移行プロセスを示しています。

移行プロセスのフロー チャート。このドキュメントのプロセス領域と見出しは同じ順序です

移行グループを作成する

新しい条件付きアクセス ポリシーを作成するには、それらのポリシーをグループに割り当てる必要があります。 この目的のために、Azure AD セキュリティ グループまたは Microsoft 365 グループを使用できます。 新しいものを作成または同期することもできます。

また、Azure AD MFA にユーザーを繰り返し移行するための Azure AD セキュリティ グループも必要です。 これらのグループは、要求規則で使用されます。

セキュリティに使用されるグループを再利用しないでください。 セキュリティ グループを使用して、条件付きアクセス ポリシーで高価値アプリのグループをセキュリティで保護する場合、その目的のみにグループを使用してください。

AD FS を準備する

AD FS サーバー ファームを 2019、FBL 4 にアップグレードする

AD FS 2019 では、アプリケーションなど、証明書利用者に対して追加の認証方法を指定できます。 グループ メンバーシップを使用して、認証プロバイダーを決定します。 追加の認証方法を指定すると、移行中に他の認証を維持しながら、Azure AD MFA に切り替えることができます。 詳細については、「WID データベースを使用した、Windows Server 2016 での AD FS へのアップグレード」を参照してください。 この記事では、ファームを AD FS 2019 にアップグレードし、FBL を 4 にアップグレードする方法について説明します。

Azure AD MFA を呼び出す要求規則を構成する

MFA は Azure AD MFA の追加の認証方法のため、ユーザーのグループを割り当てて、それを使用できます。 これを行うには、要求規則 (証明書利用者信頼とも呼ばれます) を構成します。 グループを使用すると、グローバルまたはアプリケーションによって、どの認証プロバイダーが呼び出されるかを制御できます。 たとえば、統合されたセキュリティ情報に登録したユーザーに対して Azure AD MFA を呼び出すことができますが、そうしなかったユーザーに対しては MFA Server を呼び出すことができます。

注意

要求規則には、オンプレミスのセキュリティ グループが必要です。 要求規則を変更する前に、それらをバックアップします。

規則をバックアップする

新しい要求規則を構成する前に、規則をバックアップします。 これらの規則ルールは、クリーンアップ手順の一部として復元する必要があります。

構成によっては、規則をコピーし、移行用に作成している新しい規則を追加することが必要になる場合もあります。

グローバル規則を表示するには、次のように実行します。

Get-AdfsAdditionalAuthenticationRule

証明書利用者の信頼を表示するには、次のコマンドを実行し、RPTrustName を証明書利用者の信頼の要求規則の名前に置き換えます。

(Get-AdfsRelyingPartyTrust -Name "RPTrustName").AdditionalAuthenticationRules 

アクセス制御ポリシー

注意

グループ メンバーシップに基づいて特定の認証プロバイダーが呼び出されるように、アクセス制御ポリシーを構成することはできません。

アクセス制御ポリシーから追加の認証規則に切り替えるには、MFA Server 認証プロバイダーを使用して、各証明書利用者信頼に対して次のコマンドを実行します。

Set-AdfsRelyingPartyTrust -TargetName AppA -AccessControlPolicyName $Null

このコマンドでは、現在のアクセス制御ポリシーから追加の認証規則にロジックを移行します。

グループを設定して SID を検索する

Azure AD MFA を呼び出すユーザーを配置する特定のグループを用意する必要があります。 そのグループのセキュリティ識別子 (SID) が必要になります。

グループ SID を検索するには、次のコマンドとグループ名を使用します。

Get-ADGroup "GroupName"

Get-ADGroup スクリプトの結果を示すスクリーンショットの画像。

Azure AD MFA を呼び出すための要求規則の設定

次の PowerShell コマンドレットでは、企業ネットワークに存在しない場合に、グループのユーザーに対して Azure AD MFA を呼び出します。 "YourGroupSid" を、上記のコマンドレットを実行して検出された SID に置き換えます。

2019 で追加の認証プロバイダーを選択する方法を必ず確認してください。

重要

要求規則をバックアップする

グローバル要求規則を設定する

次の PowerShell コマンドレットを実行します。

(Get-AdfsRelyingPartyTrust -Name "RPTrustName").AdditionalAuthenticationRules

コマンドを実行すると、証明書利用者信頼の現在の追加の認証規則が返されます。 現在の要求規則に次の規則を追加します。

c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid", Value == 
"YourGroupSID"] => issue(Type = "http://schemas.microsoft.com/claims/authnmethodsproviders", 
Value = "AzureMfaAuthentication");
not exists([Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid", 
Value=="YourGroupSid"]) => issue(Type = 
"http://schemas.microsoft.com/claims/authnmethodsproviders", Value = 
"AzureMfaServerAuthentication");'

次の例では、ユーザーがネットワークの外部から接続するときに、MFA を要求するように現在の要求規則が構成されていることを前提としています。 この例には、追加する必要がある規則が含まれています。

Set-AdfsAdditionalAuthenticationRule -AdditionalAuthenticationRules 'c:[type == 
"http://schemas.microsoft.com/ws/2012/01/insidecorporatenetwork", value == "false"] => issue(type = 
"http://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationmethod", value = 
"http://schemas.microsoft.com/claims/multipleauthn" );
 c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid", Value == 
"YourGroupSID"] => issue(Type = "http://schemas.microsoft.com/claims/authnmethodsproviders", 
Value = "AzureMfaAuthentication");
not exists([Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid", 
Value=="YourGroupSid"]) => issue(Type = 
"http://schemas.microsoft.com/claims/authnmethodsproviders", Value = 
"AzureMfaServerAuthentication");'

アプリケーションごとの要求規則を設定する

この例では、特定の証明書利用者信頼 (アプリケーション) の要求規則を変更し、追加する必要がある情報が含まれています。

Set-AdfsRelyingPartyTrust -TargetName AppA -AdditionalAuthenticationRules 'c:[type == 
"http://schemas.microsoft.com/ws/2012/01/insidecorporatenetwork", value == "false"] => issue(type = 
"http://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationmethod", value = 
"http://schemas.microsoft.com/claims/multipleauthn" );
c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid", Value == 
"YourGroupSID"] => issue(Type = "http://schemas.microsoft.com/claims/authnmethodsproviders", 
Value = "AzureMfaAuthentication");
not exists([Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid", 
Value=="YourGroupSid"]) => issue(Type = 
"http://schemas.microsoft.com/claims/authnmethodsproviders", Value = 
"AzureMfaServerAuthentication");'

AD FS で認証プロバイダーとして Azure AD MFA を構成する

AD FS に Azure AD MFA を構成するには、各 AD FS サーバーを構成する必要があります。 ファームに複数の AD FS サーバーがある場合は、Azure AD PowerShell を使用してリモートで構成できます。

このプロセスのステップ バイ ステップの指示については、「AD FS を使用して Azure MFA を認証プロバイダーとして構成する」の記事の「AD FS サーバーを構成する」を参照してください。

サーバーを構成したら、追加の認証方法として Azure AD MFA を追加できます。

Azure AD MFA と Azure Multi-Factor Authentication Server が選択された [認証方法の編集] 画面を示すスクリーンショット

Azure AD を準備して移行を実装する

このセクションでは、ユーザーの MFA 設定を移行する前の最後の手順について説明します。

federatedIdpMfaBehavior を enforceMfaByFederatedIdp に設定する

フェデレーション ドメインの場合は、Azure AD 条件付きアクセスまたはオンプレミス フェデレーション プロバイダーによって MFA が適用されることがあります。 各フェデレーション ドメインには、federatedIdpMfaBehavior という名前の Microsoft Graph PowerShell セキュリティ設定があります。 フェデレーション ID プロバイダーによって実行された Azure AD MFA を受け入れるように、federatedIdpMfaBehaviorenforceMfaByFederatedIdp に設定できます。 フェデレーション ID プロバイダーによって MFA が実行されなかった場合、Azure AD ではその要求が MFA を実行するフェデレーション ID プロバイダーにリダイレクトされます。 詳細については、federatedIdpMfaBehavior に関する記事を参照してください。

注意

federatedIdpMfaBehavior 設定は、New-MgDomainFederationConfiguration コマンドレットの SupportsMfa プロパティの新しいバージョンです。

SupportsMfa プロパティを設定するドメインの場合、これらの規則によって、federatedIdpMfaBehaviorSupportsMfa の連携方法が決まります。

  • federatedIdpMfaBehaviorSupportsMfa の切り替えはサポートされていません。
  • federatedIdpMfaBehavior プロパティが設定されると、Azure AD では SupportsMfa 設定が無視されます。
  • federatedIdpMfaBehavior プロパティが設定されていない場合、Azure AD は引き続き SupportsMfa 設定に従います。
  • federatedIdpMfaBehavior または SupportsMfa が設定されていない場合、Azure AD で acceptIfMfaDoneByFederatedIdp 動作が既定となります。

Get-MgDomainFederationConfiguration を使用して、federatedIdpMfaBehavior の状態を確認できます。

Get-MgDomainFederationConfiguration –DomainID yourdomain.com

Get-MgDomainFederationConfiguration を使用して SupportsMfa フラグの状態を確認することもできます。

Get-MgDomainFederationConfiguration –DomainName yourdomain.com

次の例では、Graph PowerShell を使用して federatedIdpMfaBehaviorenforceMfaByFederatedIdp に設定する方法を示します。

Request

PATCH https://graph.microsoft.com/beta/domains/contoso.com/federationConfiguration/6601d14b-d113-8f64-fda2-9b5ddda18ecc
Content-Type: application/json
{
  "federatedIdpMfaBehavior": "enforceMfaByFederatedIdp"
}

Response

注: ここに示されている応答オブジェクトは、読みやすくするために短縮されている可能性があります。

HTTP/1.1 200 OK
Content-Type: application/json
{
  "@odata.type": "#microsoft.graph.internalDomainFederation",
  "id": "6601d14b-d113-8f64-fda2-9b5ddda18ecc",
   "issuerUri": "http://contoso.com/adfs/services/trust",
   "metadataExchangeUri": "https://sts.contoso.com/adfs/services/trust/mex",
   "signingCertificate": "MIIE3jCCAsagAwIBAgIQQcyDaZz3MI",
   "passiveSignInUri": "https://sts.contoso.com/adfs/ls",
   "preferredAuthenticationProtocol": "wsFed",
   "activeSignInUri": "https://sts.contoso.com/adfs/services/trust/2005/usernamemixed",
   "signOutUri": "https://sts.contoso.com/adfs/ls",
   "promptLoginBehavior": "nativeSupport",
   "isSignedAuthenticationRequestRequired": true,
   "nextSigningCertificate": "MIIE3jCCAsagAwIBAgIQQcyDaZz3MI",
   "signingCertificateUpdateStatus": {
        "certificateUpdateResult": "Success",
        "lastRunDateTime": "2021-08-25T07:44:46.2616778Z"
    },
   "federatedIdpMfaBehavior": "enforceMfaByFederatedIdp"
}

必要に応じて条件付きアクセス ポリシーを構成する

条件付きアクセスを使用して、ユーザーに MFA をいつ要求するかを決定する場合は、ポリシーを変更する必要はありません。

フェデレーション ドメインで SupportsMfa が false に設定されている場合は、Azure AD 証明書利用者信頼の要求規則を分析し、同じセキュリティ目標をサポートする条件付きアクセス ポリシーを作成します。

AD FS と同じ制御を適用する条件付きアクセス ポリシーを作成すると、Azure AD 証明書利用者の要求規則のカスタマイズをバックアップおよび削除できます。

詳細については、次のリソースを参照してください。

ユーザーを Azure AD MFA に登録する

このセクションでは、ユーザーが統合セキュリティに登録する (MFA とセルフサービス パスワード リセット) 方法と、MFA 設定を移行する方法について説明します。 Microsoft Authenticator は、パスワードレス モードとして使用できます。 また、いずれかの登録方法を使用して MFA の 2 番目の要素として使用することもできます。

ユーザーに統合されたセキュリティ情報に登録してもらうことをお勧めします。これは、MFA と SSPR の両方に認証方法とデバイスを登録するための単一の場所です。

Microsoft では、統合された登録プロセスを進めるためにユーザーに提供できる通信テンプレートを用意しています。 これには、メール、ポスター、テーブル テント、他のさまざまなアセットのテンプレートなどがあります。 ユーザーは、https://aka.ms/mysecurityinfo で各自の情報を登録します。これにより、統合されたセキュリティ登録の画面に移動します。

信頼できるデバイスまたは場所から登録する必要がある条件付きアクセスを使用して、セキュリティ登録プロセスを保護することをお勧めします。 登録の状態の追跡については、Azure Active Directory の認証方法のアクティビティに関する記事を参照してください。

注意

信頼されていない場所またはデバイスから、統合されたセキュリティ情報を登録する必要があるユーザーについては、一時アクセス パスを発行したり、代わりにポリシーから一時的に除外したりできます。

MFA Server から MFA 設定を移行する

MFA Server 移行ユーティリティを使用して、ユーザーの登録済みの MFA 設定を MFA Server から Azure AD に同期できます。 同期できるのは、電話番号、ハードウェア トークン、および Microsoft Authenticator 設定などのデバイス登録です。

ユーザーを適切なグループに追加する

  • 新しい条件付きアクセス ポリシーを作成した場合は、それらのグループに適切なユーザーを追加します。

  • 要求規則にオンプレミスのセキュリティ グループを作成した場合は、それらのグループに適切なユーザーを追加します。

セキュリティに使用されるグループを再利用しないことをお勧めします。 セキュリティ グループを使用して、条件付きアクセス ポリシーで高価値アプリのグループをセキュリティで保護する場合、その目的のみにグループを使用してください。

監視

Azure AD MFA の登録は、認証方法の使用状況と分析情報に関するレポートを使用して監視できます。 このレポートは、Azure AD で確認できます。 [監視] を選択し、[使用状況と分析情報] を選択します。

[使用状況と分析情報] で、[認証方法] を選択します。

詳細な Azure AD MFA 登録情報は、[登録] タブで確認できます。[Azure 多要素認証を利用できるユーザー] ハイパーリンクを選択すると、ドリルダウンして、登録済みユーザーの一覧を表示できます。

MFA へのユーザー登録を示す認証方法アクティビティ画面の画像

クリーンアップ手順

Azure AD MFA への移行が完了し、MFA Server の使用を停止する準備ができたら、次の 3 つの操作を行います。

  1. AD FS の要求規則を移行前の構成に戻し、MFA Server 認証プロバイダーを削除します。

  2. AD FS の認証プロバイダーとして MFA Server を 削除します。 これにより、すべてのユーザーが Azure AD MFA を使用できます。これは、有効な唯一の追加の認証方法になります。

  3. MFA Server の使用を停止します。

AD FS の要求規則を元に戻し、MFA Server 認証プロバイダーを削除する

要求規則の構成の手順に従い、Azure AD MFA を呼び出して、バックアップした要求規則に戻し、AzureMFAServerAuthentication 要求規則を削除します。

たとえば、ルールから次を削除します。

c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid", Value ==
"**YourGroupSID**"] => issue(Type = "http://schemas.microsoft.com/claims/authnmethodsproviders",
Value = "AzureMfaAuthentication");
not exists([Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid",
Value=="YourGroupSid"]) => issue(Type =
"http://schemas.microsoft.com/claims/authnmethodsproviders", Value =
"AzureMfaServerAuthentication");'

MFA Server を AD FS の認証プロバイダーとして無効にする

この変更により、Azure AD MFA のみが認証プロバイダーとして使用されるようになります。

  1. AD FS 管理コンソールを開きます。

  2. [サービス] で、 [認証方法] を右クリックし、 [多要素認証方法の編集] を選択します。

  3. [Azure Multi-Factor Authentication Server] の横のチェック ボックスをオフにします。

MFA Server の使用を停止する

エンタープライズ サーバーの使用停止プロセスに従って、環境内の MFA Server を削除します。

MFA Server の使用停止時に考えられる考慮事項は次のとおりです。

  • サーバーを削除する前に、MFA Server のログを確認し、ユーザーまたはアプリケーションで MFA Server が使用されていないことを確認します。

  • サーバーの [コントロール パネル] から、Multi-Factor Authentication Server をアンインストールします

  • 必要に応じて、最初のバックアップ後に残っているログとデータ ディレクトリをクリーンアップします。

  • 該当する場合は、Multi-Factor Authentication Web Server SDK をアンインストールします (etpub\wwwroot\MultiFactorAuthWebServiceSdk または MultiFactorAuth ディレクトリに残っているファイルを含む)。

  • 8\.0 より前の MFA Server バージョンの場合は、Multi-Factor Auth Phone App Web Service の削除が必要になる場合もあります。

次の手順