페더레이션을 사용하여 Microsoft Entra 다단계 인증으로 마이그레이션

MFA(Multi-Factor Authentication) 솔루션을 Microsoft Entra ID로 전환하는 것은 클라우드로 전환 과정의 첫 단계입니다. 향후 사용자 인증을 위해서도 Microsoft Entra ID로 전환하는 것이 좋습니다. 자세한 내용은 클라우드 인증을 사용하여 Microsoft Entra 다단계 인증으로 마이그레이션하는 프로세스를 참조하세요.

페더레이션을 사용하여 Microsoft Entra 다단계 인증으로 마이그레이션하기 위해 Microsoft Entra 다단계 인증 공급자가 AD FS에 설치됩니다. Microsoft Entra ID 신뢰 당사자 트러스트 및 기타 신뢰 당사자 트러스트는 마이그레이션된 사용자에 Microsoft Entra 다단계 인증을 사용하도록 구성됩니다.

다음 다이어그램은 마이그레이션 프로세스를 보여 줍니다.

Flow chart of the migration process. Process areas and headings in this document are in the same order

마이그레이션 그룹 만들기

새 조건부 액세스 정책을 만들려면 그룹에 해당 정책을 할당해야 합니다. 이 목적으로 Microsoft Entra 보안 그룹 또는 Microsoft 365 그룹을 사용할 수 있습니다. 새 그룹을 만들거나 동기화할 수도 있습니다.

또한 사용자를 Microsoft Entra 다단계 인증으로 반복적으로 마이그레이션하기 위한 Microsoft Entra 보안 그룹이 필요합니다. 이러한 그룹은 클레임 규칙에서 사용됩니다.

보안에 사용되는 그룹은 다시 사용하지 마세요. 조건부 액세스 정책으로 고가치 앱 그룹을 보호하는 데 보안 그룹을 사용하고 있는 경우 해당 그룹만 사용합니다.

AD FS 준비

AD FS 서버 팜을 2019, FBL 4로 업그레이드

AD FS 2019에서는 애플리케이션과 같은 신뢰 당사자에 대한 추가 인증 방법을 지정할 수 있습니다. 그룹 멤버 자격을 사용하여 인증 공급자를 확인합니다. 추가 인증 방법을 지정하면 전환하는 동안 다른 인증을 그대로 유지하면서 Microsoft Entra 다단계 인증으로 전환할 수 있습니다. 자세한 내용은 WID 데이터베이스를 사용하여 Windows Server 2016에서 AD FS로 업그레이드를 참조하세요. 이 문서에서는 팜을 AD FS 2019로 업그레이드하는 방법과 FBL을 4로 업그레이드하는 방법을 모두 설명합니다.

Microsoft Entra 다단계 인증을 호출하도록 클레임 규칙 구성

이제 Microsoft Entra 다단계 인증이 추가 인증 방법이므로 사용할 사용자 그룹을 할당할 수 있습니다. 이렇게 하려면 신뢰 당사자 트러스트라고도 하는 클레임 규칙을 구성합니다. 그룹을 사용하여 전역적으로 또는 애플리케이션에서 호출되는 인증 공급자를 제어할 수 있습니다. 예를 들어 통합된 보안 정보에 대해 등록한 사용자에 대해 Microsoft Entra 다단계 인증을 호출하고, 그렇지 않은 사용자에 대해 MFA 서버를 호출할 수 있습니다.

참고 항목

클레임 규칙에는 온-프레미스 보안 그룹이 필요합니다. 클레임 규칙을 변경하려면 먼저 백업하세요.

백업 규칙

새 클레임 규칙을 구성하기 전에 규칙을 백업합니다. 정리 단계의 일부로 이러한 규칙을 복원해야 합니다.

구성에 따라 규칙을 복사하고 마이그레이션을 위해 만드는 새 규칙을 추가해야 할 수도 있습니다.

전역 규칙을 보려면 다음을 실행합니다.

Get-AdfsAdditionalAuthenticationRule

신뢰 당사자 트러스트를 보려면 다음 명령을 실행하고 RPTrustName을 신뢰 당사자 트러스트 클레임 규칙의 이름으로 바꿉니다.

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

액세스 제어 정책

참고 항목

그룹 멤버 자격에 따라 특정 인증 공급자를 호출하도록 액세스 제어 정책을 구성할 수 없습니다.

액세스 제어 정책에서 추가 인증 규칙으로 전환하려면 MFA 서버 인증 공급자를 사용하여 각 신뢰 당사자 트러스트에 대해 다음 명령을 실행합니다.

Set-AdfsRelyingPartyTrust -TargetName AppA -AccessControlPolicyName $Null

이 명령은 현재 액세스 제어 정책에서 추가 인증 규칙으로 논리를 이동합니다.

그룹을 설정하고 SID 찾기

Microsoft Entra 다단계 인증을 호출하려는 사용자를 배치할 특정 그룹이 있어야 합니다. 해당 그룹에 대한 SID(보안 식별자)가 필요합니다.

그룹 SID를 찾으려면 그룹 이름에서 다음 명령을 사용합니다.

Get-ADGroup "GroupName"

Image of screen shot showing the results of the Get-ADGroup script.

Microsoft Entra 다단계 인증을 호출하도록 클레임 규칙 설정

다음 PowerShell cmdlet은 회사 네트워크에 있지 않은 경우 그룹의 사용자에 대해 Microsoft Entra 다단계 인증을 호출합니다. "YourGroupSid"를 위의 cmdlet을 실행하여 찾은 SID로 바꿉니다.

2019에서 추가 인증 공급자를 선택하는 방법을 검토해야 합니다.

Important

클레임 규칙 백업

전역 클레임 규칙 설정

다음 PowerShell cmdlet을 실행합니다.

(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");'

Microsoft Entra 다단계 인증을 AD FS에서 인증 공급자로 구성

AD FS에 대해 Microsoft Entra 다단계 인증을 구성하려면 각 AD FS 서버를 구성해야 합니다. 팜에 여러 AD FS 서버가 있는 경우 Azure AD PowerShell을 사용하여 원격으로 구성할 수 있습니다.

이 프로세스에 대한 단계별 지침은 AD FS를 사용하여 Microsoft Entra 다단계 인증을 인증 공급자로 구성 문서에서 AD FS 서버 구성을 참조하세요.

서버를 구성한 후에는 Microsoft Entra 다단계 인증을 추가 인증 방법으로 추가할 수 있습니다.

Screen shot showing the Edit authentication methods screen with Microsoft Entra multifactor authentication and Azure Multi-Factor Authentication Server selected

Microsoft Entra ID 준비 및 마이그레이션 구현

이 섹션에서는 사용자 MFA 설정을 마이그레이션하기 전의 최종 단계를 설명합니다.

federatedIdpMfaBehavior를 enforceMfaByFederatedIdp로 설정

페더레이션된 도메인의 경우 Microsoft Entra 조건부 액세스 또는 온-프레미스 페더레이션 공급자에서 MFA를 적용할 수 있습니다. 페더레이션된 각 도메인에는 federatedIdpMfaBehavior라는 Microsoft Graph PowerShell 보안 설정이 있습니다. 페더레이션 ID 공급자가 수행하는 MFA를 Microsoft Entra ID에서 수락하도록 federatedIdpMfaBehaviorenforceMfaByFederatedIdp로 설정할 수 있습니다. 페더레이션 ID 공급자가 MFA를 수행하지 않은 경우 Microsoft Entra ID는 요청을 페더레이션 ID 공급자로 리디렉션하여 MFA를 수행합니다. 자세한 내용은 federatedIdpMfaBehavior를 참조하세요.

참고 항목

federatedIdpMfaBehavior 설정은 New-MgDomainFederationConfiguration cmdlet의 SupportsMfa 속성의 새 버전입니다.

SupportsMfa 속성을 설정하는 도메인의 경우 이러한 규칙은 federatedIdpMfaBehaviorSupportsMfa가 함께 작동하는 방식을 결정합니다.

  • federatedIdpMfaBehaviorSupportsMfa 간의 전환은 지원되지 않습니다.
  • federatedIdpMfaBehavior 속성이 설정되면 Microsoft Entra ID는 SupportsMfa 설정을 무시합니다.
  • federatedIdpMfaBehavior 속성이 설정되지 않은 경우 Microsoft Entra ID는 SupportsMfa 설정을 계속 적용합니다.
  • federatedIdpMfaBehavior 또는 SupportsMfa가 설정되지 않은 경우 Microsoft Entra ID는 기본적으로 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"
}

응답

참고: 여기에 표시된 응답 개체는 가독성을 높이기 위해 줄어들 수 있습니다.

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로 설정된 경우 Microsoft Entra ID 신뢰 당사자 트러스트에서 클레임 규칙을 분석하고 동일한 보안 목표를 지원하는 조건부 액세스 정책을 만듭니다.

AD FS와 동일한 제어를 적용하는 조건부 액세스 정책을 만든 후에는 Microsoft Entra ID 신뢰 당사자에 대한 클레임 규칙 사용자 지정 항목을 백업하고 제거할 수 있습니다.

자세한 내용은 다음 리소스를 참조하세요.

Microsoft Entra 다단계 인증을 위해 사용자 등록

이 섹션에서는 사용자가 결합된 보안(MFA 및 셀프 서비스 암호 재설정)에 등록하는 방법과 MFA 설정을 마이그레이션하는 방법을 설명합니다. Microsoft Authenticator는 암호 없는 모드에서 사용할 수 있습니다. 또한 두 등록 방법 중 하나에서 MFA의 두 번째 단계로 사용할 수 있습니다.

사용자가 MFA 및 SSPR 모두에 대한 인증 방법 및 디바이스를 등록하는 단일 위치인 결합된 보안 정보에 등록하도록 하는 것이 좋습니다.

Microsoft는 결합된 등록 프로세스를 안내하기 위해 사용자에게 제공할 수 있는 통신 템플릿을 제공합니다. 여기에는 이메일, 포스터, 테이블 텐트 및 기타 다양한 자산에 대한 템플릿이 포함됩니다. 사용자는 https://aka.ms/mysecurityinfo에 해당 정보를 등록합니다. 그러면 결합된 보안 등록 화면으로 이동됩니다.

신뢰할 수 있는 디바이스 또는 위치에서 등록을 수행해야 하는 조건부 액세스를 사용하여 보안 등록 프로세스를 보호하는 것이 좋습니다. 등록 상태를 추적하는 방법에 대한 내용은 Microsoft Entra ID의 인증 방법 작업을 참조하세요.

참고 항목

신뢰할 수 없는 위치 또는 디바이스에서 결합된 보안 정보를 등록해야 하는 사용자에게는 임시 액세스 패스를 발급하거나 정책에서 일시적으로 제외할 수 있습니다.

MFA 서버에서 MFA 설정 마이그레이션

MFA 서버 마이그레이션 유틸리티를 사용하여 MFA 서버에서 Microsoft Entra ID로 사용자에 대해 등록된 MFA 설정을 동기화할 수 있습니다. 전화 번호, 하드웨어 토큰 및 Microsoft Authenticator 설정과 같은 디바이스 등록을 동기화할 수 있습니다.

적절한 그룹에 사용자 추가

  • 새 조건부 액세스 정책을 만든 경우 해당 그룹에 적절한 사용자를 추가합니다.

  • 클레임 규칙에 대한 온-프레미스 보안 그룹을 만든 경우 해당 그룹에 적절한 사용자를 추가합니다.

보안에 사용되는 그룹은 다시 사용하지 않는 것이 좋습니다. 조건부 액세스 정책으로 고가치 앱 그룹을 보호하는 데 보안 그룹을 사용하고 있는 경우 해당 그룹만 사용합니다.

모니터링

Microsoft Entra 다단계 인증 등록은 인증 방법 사용 현황 및 인사이트 보고서를 사용하여 모니터링할 수 있습니다. 이 보고서는 Microsoft Entra ID에서 찾을 수 있습니다. 모니터링을 선택한 다음, 사용량 및 인사이트를 선택합니다.

사용 현황 및 인사이트에서 인증 방법을 선택합니다.

자세한 Microsoft Entra 다단계 인증 등록 정보는 등록 탭에서 찾을 수 있습니다. Azure Multi-Factor Authentication을 사용할 수 있는 사용자 하이퍼링크를 선택하고 드릴다운하여 등록된 사용자 목록을 볼 수 있습니다.

Image of Authentication methods activity screen showing user registrations to MFA

정리 단계

Microsoft Entra 다단계 인증으로의 마이그레이션을 완료하고 MFA 서버를 서비스 해제할 준비가 되면 다음 세 가지 작업을 수행합니다.

  1. AD FS에 대한 클레임 규칙을 마이그레이션 전 구성으로 되돌리고 MFA 서버 인증 공급자를 제거합니다.

  2. AD FS에서 인증 공급자로 구성된 MFA 서버를 제거합니다. 그러면 모든 사용자가 유일한 추가 인증 방법으로 설정된 Microsoft Entra 다단계 인증을 사용하게 됩니다.

  3. MFA 서버를 서비스 해제합니다.

AD FS에 대한 클레임 규칙을 되돌리고 MFA 서버 인증 공급자 제거

클레임 규칙 구성의 단계에 따라 Microsoft Entra 다단계 인증을 호출하여 백업된 클레임 규칙으로 되돌리고 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");'

AD FS에서 MFA 서버를 인증 공급자로 사용하지 않도록 설정

이렇게 변경하면 Microsoft Entra 다단계 인증만 인증 공급자로 사용됩니다.

  1. AD FS 관리 콘솔을 엽니다.

  2. 서비스에서 인증 방법을 마우스 오른쪽 단추로 클릭하고 다단계 인증 방법 편집을 선택합니다.

  3. Azure Multi-Factor Authentication 서버 옆의 확인란을 선택 취소합니다.

MFA 서버 서비스 해제

엔터프라이즈 서버 서비스 해제 프로세스에 따라 사용자 환경에서 MFA 서버를 제거합니다.

MFA 서버를 서비스 해제할 때 고려할 수 있는 사항은 다음과 같습니다.

  • 서버를 제거하기 전에 MFA 서버의 로그를 검토하여 서버를 사용하는 사용자 또는 애플리케이션이 없는지 확인합니다.

  • 서버의 제어판에서 Multi-Factor Authentication 서버를 제거합니다.

  • 필요에 따라 먼저 백업한 후 남아 있는 로그 및 데이터 디렉터리를 정리합니다.

  • etpub\wwwroot\MultiFactorAuthWebServiceSdk 또는 MultiFactorAuth 디렉터리에 남아 있는 파일을 포함하여 다단계 인증 웹 서버 SDK를 제거합니다.

  • MFA 서버 8.0 이전 버전의 경우 다단계 인증 전화 앱 웹 서비스를 제거해야 할 수도 있습니다.

다음 단계