다음을 통해 공유


Microsoft Entra 다단계 인증을 AD FS를 사용하여 인증 공급자로 구성

이 문서의 정보는 Windows 2016 이상에 적용됩니다.

조직이 Microsoft Entra ID와 페더레이션된 경우, Microsoft Entra 다단계 인증 사용하여 온-프레미스와 클라우드 모두에서 AD FS(Active Directory Federation Services) 리소스를 보호할 수 있습니다. Microsoft Entra 다단계 인증을 사용하면 암호를 제거하고 보다 안전한 인증 방법을 제공할 수 있습니다. AD FS를 사용하면 기본 인증에 대해 Microsoft Entra 다단계 인증을 구성하거나 추가 인증 공급자로 사용할 수 있습니다.

Windows Server 2012 R2의 AD FS와 달리 AD FS 2016 Microsoft Entra 다단계 인증 어댑터는 Microsoft Entra ID와 직접 통합되며 온-프레미스 Azure Multi-Factor Authentication 서버가 필요하지 않습니다. Microsoft Entra 다단계 인증 어댑터는 Windows Server 2016에 기본 제공됩니다. 기타 설치가 필요하지 않습니다.

AD FS를 사용하여 사용자를 Microsoft Entra 다단계 인증(MFA)에 등록해야 합니다.

AD FS는 전화번호 또는 모바일 앱과 같은 Microsoft Entra 다단계 인증 보안 확인 정보의 인라인 "증명" 등록을 지원하지 않습니다. 인라인 증명을 지원하지 않으면 사용자는 Microsoft Entra 다단계 인증을 사용하여 AD FS 애플리케이션에 인증하기 전에 https://account.activedirectory.windowsazure.com/Proofup.aspx을(를) 방문하여 증명을 받아야 합니다. Microsoft Entra ID에서 아직 증명되지 않은 사용자가 AD FS에서 Microsoft Entra 다단계 인증으로 인증하려고 하면 AD FS 오류가 발생합니다. AD FS 관리자는 이 오류 환경을 사용자 지정하여 사용자를 대신 교정 페이지로 안내할 수 있습니다. onload.js 사용자 지정을 사용하여 AD FS 페이지 내에서 오류 메시지 문자열을 검색하여 이 메시지를 만들 수 있습니다. 그런 다음 사용자에게 새 메시지를 표시하여 인증을 다시 시도하도록 https://aka.ms/mfasetup(으)로 안내합니다. 자세한 내용은 사용자가 MFA 확인 방법을 등록하도록 안내하는 AD FS 웹 페이지 사용자 지정을 참조하세요.

참고 항목

이 업데이트 전에 사용자는 https://account.activedirectory.windowsazure.com/Proofup.aspx을(를) 방문하여 등록을 위해 Microsoft Entra 다단계 인증을 사용하여 인증해야 했습니다. 이 업데이트를 통해 Microsoft Entra 다단계 인증 확인 정보를 아직 등록하지 않은 AD FS 사용자는 Windows 통합 인증 또는 AD FS 웹 페이지의 사용자 이름 및 암호와 같은 기본 인증만 있는 바로 가기 https://aka.ms/mfasetup을(를) 사용하여 Azure 교정 페이지에 액세스할 수 있습니다. 사용자에게 구성된 확인 방법이 없는 경우 Microsoft Entra ID는 인라인 등록을 수행합니다. 사용자에게 "관리자가 추가 보안 확인을 위해 이 계정을 설정해야 했습니다."라는 메시지가 표시됩니다. 그런 다음, 사용자가 지금 설정을 선택합니다. 이미 하나 이상의 확인 방법을 구성한 사용자는 교정 페이지를 방문할 때 MFA(다단계 인증)를 제공하라는 메시지가 계속 표시됩니다.

이 섹션에서는 Office 365용 AD FS 및 Microsoft Entra 다단계 인증을 사용하는 기본 인증 방법으로 Microsoft Entra 다단계 인증을 사용하는 방법을 설명합니다.

기본 인증으로 Microsoft Entra 다단계 인증

Microsoft Entra 다단계 인증을 AD FS에서 기본 인증으로 사용하는 몇 가지 큰 이유가 있습니다.

  • Microsoft Entra ID, Office 365 및 기타 AD FS 앱에 로그인하기 위한 암호를 방지합니다.
  • 암호 이전의 확인 코드와 같은 다른 요소를 요구하여 암호 기반 로그인을 보호합니다.

또한 추가 요소를 묻는 메시지를 표시하여 진정한 MFA를 포함하여 Microsoft Entra 다단계 인증을 기본 인증 방법 및 Microsoft Entra 조건부 액세스로 사용할 수도 있습니다. 온-프레미스에서 Microsoft Entra 다단계 인증을 사용하려면 SupportsMfa을(를) $true로 설정하여 Microsoft Entra 도메인 설정을 구성할 수 있습니다. 이 구성에서 Microsoft Entra ID는 필요한 조건부 액세스 시나리오에 대해 AD FS에 추가 인증 또는 "true MFA"를 수행하라는 메시지를 표시할 수 있습니다.

등록되지 않은 AD FS 사용자(아직 MFA 확인 정보를 구성하지 않음)에는 확인 정보를 구성하라는 메시지가 표시됩니다. 등록되지 않은 사용자에게 메시지를 표시하려면 사용자 지정 AD FS 오류 페이지를 사용하여 사용자를 https://aka.ms/mfasetup(으)로 안내하며 확인 정보를 전달하고 구성할 수 있습니다. 구성 후 사용자는 자신의 AD FS 로그인을 다시 시도할 수 있습니다.

기본 인증으로 Microsoft Entra 다단계 인증은 단일 요소로 간주됩니다. 초기 구성 후 사용자는 Microsoft Entra ID에서 확인 정보를 관리하거나 업데이트하거나 MFA가 필요한 다른 리소스에 액세스하기 위해 다른 요소를 제공해야 합니다.

참고 항목

AD FS 2019에서는 Active Directory 클레임 공급자 트러스트에 대한 앵커 클레임 유형을 수정하고 이를 UPN(사용자 계정 이름)에서 windowsaccountname(으)로 수정해야 합니다. 다음 PowerShell cmdlet을 실행합니다. 이는 AD FS 팜의 내부 작동에 영향을 주지 않습니다. 이 변경 후 일부 사용자에게 자격 증명을 다시 입력하라는 메시지가 표시될 수 있습니다. 다시 로그인하면 최종 사용자에게 차이가 표시되지 않습니다.

Set-AdfsClaimsProviderTrust -AnchorClaimType "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn" -TargetName "Active Directory"

Office 365에 대한 추가 인증으로 Microsoft Entra 다단계 인증

AD FS용 Microsoft Entra 다단계 인증 어댑터를 사용하면 사용자가 AD FS에서 MFA를 수행할 수 있습니다. Microsoft Entra 리소스를 보호하려면 조건부 액세스 정책을 통해 MFA가 필요합니다. 또한 사용자가 2단계 인증을 성공적으로 수행할 때 도메인 설정 SupportsMfa을(를) $true(으)로 설정하고 multipleauthn 클레임을 내보내야 합니다.

앞서 설명한 것처럼 등록되지 않은 AD FS 사용자(아직 MFA 확인 정보를 구성하지 않음)에는 확인 정보를 구성하라는 메시지가 표시됩니다. 등록되지 않은 사용자에게 메시지를 표시하려면 사용자 지정 AD FS 오류 페이지를 사용하여 사용자를 https://aka.ms/mfasetup(으)로 안내하며 확인 정보를 전달하고 구성할 수 있습니다. 구성 후 사용자는 자신의 AD FS 로그인을 다시 시도할 수 있습니다.

필수 조건

AD FS 인증에 Microsoft Entra 다단계 인증을 사용하는 경우 다음 필수 구성 요소가 필요합니다.

참고 항목

Microsoft Entra ID 및 Microsoft Entra 다단계 인증은 Microsoft Entra ID P1 또는 P2 및 EMS(Enterprise Mobility Suite)에 포함됩니다. 이러한 응용 프로그램 중 하나가 설치되어 있는 경우 개별 구독이 필요하지 않습니다.

  • Windows Server 2016 AD FS 온-프레미스 환경입니다.
    • 서버는 포트 443을 통해 다음 URL과 통신할 수 있어야 합니다.
      • https://adnotifications.windowsazure.com
        • https://login.microsoftonline.com
  • 온-프레미스 환경은 Microsoft Entra ID와 페더레이션되어야 합니다.
  • Windows PowerShell용 Microsoft Azure Active Directory 모듈.
  • Azure AD PowerShell을 사용하여 구성하기 위한 Microsoft Entra ID 인스턴스에 대한 전역 관리자 권한.
  • Microsoft Entra 다단계 인증을 위해 AD FS 팜을 구성하기 위한 엔터프라이즈 관리자 자격 증명입니다.

참고 항목

Azure AD와 MSOnline PowerShell 모듈은 2024년 3월 30일부터 더 이상 사용되지 않습니다. 자세히 알아보려면 사용 중단 업데이트를 참조하세요. 이 날짜 이후에는 이러한 모듈에 대한 지원이 Microsoft Graph PowerShell SDK 및 보안 수정 사항에 대한 마이그레이션 지원으로 제한됩니다. 사용되지 않는 모듈은 2025년 3월 30일까지 계속 작동합니다.

Microsoft Graph PowerShell로 마이그레이션하여 Microsoft Entra ID(이전의 Azure AD)와 상호 작용하는 것이 좋습니다. 일반적인 마이그레이션 관련 질문은 마이그레이션 FAQ를 참조하세요. 참고 항목: MSOnline 버전 1.0.x는 2024년 6월 30일 이후 중단될 수 있습니다.

AD FS 서버를 구성 합니다.

AD FS에 대한 Microsoft Entra 다단계 인증에 대한 구성을 완료하려면 여기에 설명된 단계를 사용하여 각 AD FS 서버를 구성해야 합니다.

참고 항목

팜의 모든 AD FS 서버에서 이러한 단계를 수행해야 합니다. 팜에 여러 AD FS 서버가 있는 경우 Azure AD PowerShell을 사용하여 원격으로 필수 구성을 수행할 수 있습니다.

1단계: 각 AD FS 서버에서 Microsoft Entra 다단계 인증용 인증서 생성

가장 먼저 해야 할 일은 New-AdfsAzureMfaTenantCertificate PowerShell 명령을 사용하여 사용할 Microsoft Entra 다단계 인증에 대한 인증서를 생성하는 것입니다. 인증서를 생성한 후 로컬 컴퓨터 인증서 저장소에서 찾습니다. 인증서는 Microsoft Entra 디렉터리에 대한 TenantID를 포함하는 주체 이름으로 표시됩니다.

생성된 인증서를 보여 주는 로컬 컴퓨터의 인증서 저장소 스크린샷.

TenantID는 Microsoft Entra ID의 디렉터리 이름입니다. 다음 PowerShell cmdlet를 사용하여 새 인증서를 생성합니다.

$certbase64 = New-AdfsAzureMfaTenantCertificate -TenantID <tenantID>

New-AdfsAzureMfaTenantCertificate의 출력을 보여 주는 Powershell 창의 스크린샷.

2단계: Azure 다단계 인증 클라이언트 서비스 주체에 새 자격 증명 추가

AD FS 서버가 Azure 다단계 인증 클라이언트와 통신할 수 있도록 하려면 Azure 다단계 인증 클라이언트의 서비스 주체에 자격 증명을 추가해야 합니다. New-AdfsAzureMFaTenantCertificate cmdlet을 사용하여 생성된 인증서는 이러한 자격 증명으로 사용됩니다. PowerShell을 열고 다음 단계를 수행하여 Azure 다단계 인증 클라이언트 서비스 주체에 새 자격 증명을 추가합니다.

3단계: Azure 다단계 인증 클라이언트에 대한 인증서를 새 자격 증명으로 설정

참고 항목

이 단계를 완료하려면 Connect-MgGraph을(를) 사용하여 Microsoft Graph PowerShell의 Microsoft Entra ID 인스턴스에 연결해야 합니다. 이 단계에서는 PowerShell을 통해 이미 연결했다고 가정합니다.

Connect-MgGraph -Scopes 'Application.ReadWrite.All'
$servicePrincipalId = (Get-MgServicePrincipal -Filter "appid eq '981f26a1-7f43-403b-a875-f8b09b8cd720'").Id
$keyCredentials = (Get-MgServicePrincipal -Filter "appid eq '981f26a1-7f43-403b-a875-f8b09b8cd720'").KeyCredentials
$certX509 = [System.Security.Cryptography.X509Certificates.X509Certificate2]([System.Convert]::FromBase64String($certBase64))
$newKey = @(@{
    CustomKeyIdentifier = $null
    DisplayName = $certX509.Subject
    EndDateTime = $null
    Key = $certX509.GetRawCertData()
    KeyId = [guid]::NewGuid()
    StartDateTime = $null
    Type = "AsymmetricX509Cert"
    Usage = "Verify"
    AdditionalProperties = $null
})
$keyCredentials += $newKey
Update-MgServicePrincipal -ServicePrincipalId $servicePrincipalId -KeyCredentials $keyCredentials

Important

이 명령은 팜의 모든 AD FS 서버에서 실행되어야 합니다. Microsoft Entra 다단계 인증은 Azure 다단계 인증 클라이언트에 대한 새 자격 증명으로 설정된 인증서가 없는 서버에서 실패합니다.

참고 항목

981f26a1-7f43-403b-a875-f8b09b8cd720은 Azure 다단계 인증 클라이언트의 GUID입니다.

AD FS 팜 구성

각 AD FS 서버에 대한 이전 섹션의 단계를 완료한 후 Set-AdfsAzureMfaTenant cmdlet을 사용하여 Azure 테넌트 정보를 설정합니다. 이 cmdlet은 AD FS 팜에 대해 한 번만 실행 해야 합니다.

PowerShell을 열고 Set-AdfsAzureMfaTenant cmdlet을 사용하여 사용자 고유의 tenantId를 입력합니다. Microsoft Azure Government 클라우드를 사용하는 고객의 경우 -Environment USGov 매개 변수를 추가합니다.

참고 항목

이러한 변경 내용이 적용되기 전에 팜의 각 서버에서 AD FS 서비스를 다시 시작해야 합니다. 영향을 최소화하려면 각 AD FS 서버를 NLB 회전에서 한 번에 하나씩 제거하고 모든 연결이 끊어질 때까지 기다립니다.

Set-AdfsAzureMfaTenant -TenantId <tenant ID> -ClientId 981f26a1-7f43-403b-a875-f8b09b8cd720

Set-AdfsAzureMfaTenant cmdlet을 실행한 후 받은 경고 메시지를 보여 주는 PowerShell 창의 스크린샷.

최신 서비스 팩이 없는 Windows Server는 Set-AdfsAzureMfaTenant cmdlet에 대한 -Environment 매개 변수를 지원하지 않습니다. Azure Government 클라우드를 사용하고 이전 단계가 누락된 -Environment 매개 변수로 인해 Azure 테넌트 구성에 실패한 경우 다음 단계를 완료하여 레지스트리 항목을 수동으로 만듭니다. 이전 cmdlet이 테넌트 정보를 올바르게 등록했거나 Azure Government 클라우드에 없는 경우 다음 단계를 건너뜁니다.

  1. AD FS 서버에서 레지스트리 편집기를 엽니다.

  2. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ADFS로 이동합니다. 다음 레지스트리 키 값을 생성합니다.

    레지스트리 키
    SasUrl https://adnotifications.windowsazure.us/StrongAuthenticationService.svc/Connector
    StsUrl https://login.microsoftonline.us
    ResourceUri https://adnotifications.windowsazure.us/StrongAuthenticationService.svc/Connector
  3. 이러한 변경 내용이 적용되기 전에 팜의 각 서버에서 AD FS 서비스를 다시 시작해야 합니다. 시스템에 미치는 영향을 줄이려면 각 AD FS 서버를 NLB 회전에서 한 번에 하나씩 꺼내서 모든 연결이 드레이닝될 때까지 기다립니다.

이 단계가 끝나면 Microsoft Entra 다단계 인증을 인트라넷 및 엑스트라넷 사용을 위한 기본 인증 방법으로 사용할 수 있음을 확인할 수 있습니다.

엑스트라넷 및 인트라넷 섹션에서 강조 표시된 Microsoft Entra 다단계 인증 옵션을 보여 주는 인증 방법 편집 대화 상자의 스크린샷.

Microsoft Entra 다단계 인증을 보조 인증 방법으로 사용하려는 경우 인증 방법 편집 상자에서 다단계 탭(AD FS 2019의 추가 탭)을 선택하고 사용하도록 설정되어 있는지 확인합니다. 그렇지 않으면 "유효한 강력한 인증 방법을 찾을 수 없습니다. 적절한 강력한 인증 공급자를 구성하고 사용하도록 설정하려면 관리자에게 문의하세요."

AD FS Microsoft Entra 다단계 인증 인증서 갱신 및 관리

다음 지침은 AD FS 서버에서 Microsoft Entra 다단계 인증 인증서를 관리하는 데 도움이 되도록 설계되었습니다.

기본적으로 Microsoft Entra 다단계 인증을 사용하여 AD FS를 구성하는 경우 New-AdfsAzureMfaTenantCertificate PowerShell cmdlet을 통해 생성된 인증서는 2년 동안 유효합니다. 인증서 만료가 얼마나 가까운지 확인하고 새 인증서를 갱신하고 설치하려면 다음 절차를 사용합니다.

  1. AD FS Microsoft Entra 다단계 인증 인증서 만료 날짜를 평가합니다.

    각 AD FS 서버의 로컬 컴퓨터 내 저장소에는 발급자 및 주체 영역에 "Microsoft AD FS Microsoft Entra 다단계 인증"이 포함된 자체 서명된 인증서가 있습니다. 이 인증서는 Microsoft Entra 다단계 인증 인증서입니다. 각 AD FS 서버에서 이 인증서의 유효 기간을 확인하여 만료 날짜를 확인합니다.

  2. 각 AD FS 서버에 새 AD FS Microsoft Entra 다단계 인증 인증서를 만듭니다.

    인증서의 유효 기간이 거의 끝나갈 경우 각 AD FS 서버에 새 Microsoft Entra 다단계 인증 인증서를 생성하여 갱신 프로세스를 시작합니다. PowerShell에서 다음 cmdlet을 사용하여 각 AD FS 서버에 새 인증서를 생성합니다.

    주의

    인증서가 이미 만료된 경우 다음 명령에 -Renew $true 매개 변수를 추가하지 마세요. 이 시나리오에서는 만료된 기존 인증서가 현재 위치에 남아 있는 대신 새 인증서로 대체되고 추가 인증서가 만들어집니다.

    $newcert = New-AdfsAzureMfaTenantCertificate -TenantId <tenant id such as contoso.onmicrosoft.com> -Renew $true
    

    인증서가 아직 만료되지 않은 경우 이 명령은 현재 날짜 이후 2일에서 2년, 이후 2일로 유효한 새 인증서를 생성합니다. AD FS 및 Microsoft Entra 다단계 인증 작업은 cmdlet을 실행하거나 인증서를 갱신할 때 영향을 받지 않습니다. 2일 지연은 의도적이며, AD FS가 Microsoft Entra 다단계 인증에 사용하여 시작하기 전에 테넌트에서 새 인증서를 구성하는 다음 단계를 수행할 시간을 제공합니다.

  3. Microsoft Entra 테넌트에서 각 새 AD FS Microsoft Entra 다단계 인증 인증서를 구성합니다.

    참고 항목

    이 단계를 완료하려면 Connect-MgGraph을(를) 사용하여 Microsoft Graph PowerShell의 Microsoft Entra ID 인스턴스에 연결해야 합니다. 이 단계에서는 PowerShell을 통해 이미 연결했다고 가정합니다.

    Connect-MgGraph -Scopes 'Application.ReadWrite.All'
    $servicePrincipalId = (Get-MgServicePrincipal -Filter "appid eq '981f26a1-7f43-403b-a875-f8b09b8cd720'").Id
    $keyCredentials = (Get-MgServicePrincipal -Filter "appid eq '981f26a1-7f43-403b-a875-f8b09b8cd720'").KeyCredentials
    $certX509 = [System.Security.Cryptography.X509Certificates.X509Certificate2]([System.Convert]::FromBase64String($newcert))
    $newKey = @(@{
        CustomKeyIdentifier = $null
        DisplayName = $certX509.Subject
        EndDateTime = $null
        Key = $certX509.GetRawCertData()
        KeyId = [guid]::NewGuid()
        StartDateTime = $null
        Type = "AsymmetricX509Cert"
        Usage = "Verify"
        AdditionalProperties = $null
    })
    $keyCredentials += $newKey
    Update-MgServicePrincipal -ServicePrincipalId $servicePrincipalId -KeyCredentials $keyCredentials
    

    이전 인증서가 만료된 경우 AD FS 서비스를 다시 시작하여 새 인증서를 선택합니다. 인증서가 만료되기 전에 갱신한 경우 AD FS 서비스를 다시 시작할 필요가 없습니다.

  4. 새 인증서가 Microsoft Entra 다단계 인증에 사용되는지 확인합니다.

새 인증서가 유효해지면 AD FS에서 인증서를 선택하고 몇 시간에서 하루 이내에 Microsoft Entra 다단계 인증에 각 인증서를 사용합니다. AD FS에서 새 인증서를 사용한 후 각 서버에서 다음 정보가 포함된 AD FS 관리자 이벤트 로그에 기록된 이벤트가 표시됩니다.

Log Name:      AD FS/Admin
Source:        AD FS
Date:          2/27/2018 7:33:31 PM
Event ID:      547
Task Category: None
Level:         Information
Keywords:      AD FS
User:          DOMAIN\adfssvc
Computer:      ADFS.domain.contoso.com
Description:
The tenant certificate for Azure MFA has been renewed.

TenantId: contoso.onmicrosoft.com.
Old thumbprint: 7CC103D60967318A11D8C51C289EF85214D9FC63.
Old expiration date: 9/15/2019 9:43:17 PM.
New thumbprint: 8110D7415744C9D4D5A4A6309499F7B48B5F3CCF.
New expiration date: 2/27/2020 2:16:07 AM.

사용자가 MFA 확인 방법을 등록하도록 안내하는 AD FS 웹 페이지 사용자 지정

다음 예제를 사용하여 아직 증명하지 않은 사용자(구성된 MFA 확인 정보)에 대한 AD FS 웹 페이지를 사용자 지정합니다.

오류 찾기

먼저, AD FS는 사용자에게 확인 정보가 없는 경우 몇 가지 다른 오류 메시지를 반환합니다. Microsoft Entra 다단계 인증을 기본 인증으로 사용하는 경우 방지되지 않은 사용자에게 다음 메시지가 포함된 AD FS 오류 페이지가 표시됩니다.

    <div id="errorArea">
        <div id="openingMessage" class="groupMargin bigText">
            An error occurred
        </div>
        <div id="errorMessage" class="groupMargin">
            Authentication attempt failed. Select a different sign in option or close the web browser and sign in again. Contact your administrator for more information.
        </div>

추가 인증으로 Microsoft Entra ID를 시도하는 경우 방지되지 않은 사용자에게 다음 메시지가 포함된 AD FS 오류 페이지가 표시됩니다.

<div id='mfaGreetingDescription' class='groupMargin'>For security reasons, we require additional information to verify your account (mahesh@jenfield.net)</div>
    <div id="errorArea">
        <div id="openingMessage" class="groupMargin bigText">
            An error occurred
        </div>
        <div id="errorMessage" class="groupMargin">
            The selected authentication method is not available for &#39;username@contoso.com&#39;. Choose another authentication method or contact your system administrator for details.
        </div>

오류를 catch하고 페이지 텍스트를 업데이트합니다.

오류를 catch하고 사용자 지정 지침을 표시하려면 AD FS 웹 테마의 일부인 onload.js 파일 끝에 JavaScript를 추가합니다. 이렇게 하면 다음을 수행할 수 있습니다.

  • 식별 오류 문자열을 검색합니다.
  • 사용자 지정 웹 콘텐츠를 제공합니다.

참고 항목

onload.js 파일을 사용자 지정하는 방법에 대한 일반적인 지침은 AD FS 로그인 페이지의 고급 사용자 지정을 참조하세요.

다음 단계는 간단한 예를 보여줍니다.

  1. 기본 AD FS 서버에서 Windows PowerShell을 열고 다음 명령을 실행하여 새 AD FS 웹 테마를 만듭니다.

        New-AdfsWebTheme –Name ProofUp –SourceName default
    
  2. 폴더를 만들고 기본 AD FS 웹 테마를 내보냅니다.

       New-Item -Path 'C:\Theme' -ItemType Directory;Export-AdfsWebTheme –Name default –DirectoryPath C:\Theme
    
  3. 텍스트 편집기에서 C:\Theme\script\onload.js 파일을 엽니다.

  4. onload.js 파일의 끝에 다음 코드를 추가합니다.

    //Custom Code
    //Customize MFA exception
    //Begin
    
    var domain_hint = "<YOUR_DOMAIN_NAME_HERE>";
    var mfaSecondFactorErr = "The selected authentication method is not available for";
    var mfaProofupMessage = "You will be automatically redirected in 5 seconds to set up your account for additional security verification. After you've completed the setup, please return to the application you are attempting to access.<br><br>If you are not redirected automatically, please click <a href='{0}'>here</a>."
    var authArea = document.getElementById("authArea");
    if (authArea) {
        var errorMessage = document.getElementById("errorMessage");
        if (errorMessage) {
            if (errorMessage.innerHTML.indexOf(mfaSecondFactorErr) >= 0) {
    
                //Hide the error message
                var openingMessage = document.getElementById("openingMessage");
                if (openingMessage) {
                    openingMessage.style.display = 'none'
                }
                var errorDetailsLink = document.getElementById("errorDetailsLink");
                if (errorDetailsLink) {
                    errorDetailsLink.style.display = 'none'
                }
    
                //Provide a message and redirect to Azure AD MFA Registration Url
                var mfaRegisterUrl = "https://account.activedirectory.windowsazure.com/proofup.aspx?proofup=1&whr=" + domain_hint;
                errorMessage.innerHTML = "<br>" + mfaProofupMessage.replace("{0}", mfaRegisterUrl);
                window.setTimeout(function () { window.location.href = mfaRegisterUrl; }, 5000);
            }
        }
    }
    
    //End Customize MFA Exception
    //End Custom Code
    

    Important

    도메인 이름을 사용하려면 "<YOUR_DOMAIN_NAME_HERE>"을 변경해야 합니다. 예: var domain_hint = "contoso.com";

  5. onload.js 파일을 저장합니다.

  6. 다음 Windows PowerShell 명령을 입력하여 onload.js 파일을 사용자 지정 테마로 가져옵니다.

    Set-AdfsWebTheme -TargetName ProofUp -AdditionalFileResource @{Uri='/adfs/portal/script/onload.js';path="c:\theme\script\onload.js"}
    
  7. 다음 Windows PowerShell 명령을 입력하여 사용자 지정 AD FS 웹 테마를 적용합니다.

    Set-AdfsWebConfig -ActiveThemeName "ProofUp"