다음을 통해 공유


Windows 내부 데이터베이스 사용해 기존 AD FS 팜 업그레이드

Important

Microsoft는 AD FS의 최신 버전으로 업그레이드하는 대신 Microsoft Entra ID로 마이그레이션하는 것을 강력히 권장합니다. 자세한 내용은 AD FS 서비스 해제를 위한 리소스를 참조하세요.

이 문서에서는 WID(Windows 내부 데이터베이스)를 사용해 AD FS(Active Directory Federation Services)의 팜 동작 수준을 업그레이드하는 방법을 알아봅니다. Windows Server 2016부터 AD FS에 FBL(팜 동작 수준)이 도입되었습니다. FBL은 AD FS 팜에서 사용할 수 있는 기능을 결정하는 팜 전체의 설정입니다.

관리자가 "혼합 모드"에서 기존 Windows Server 팜에 새 페더레이션 서버를 추가할 수 있습니다. 혼합 모드는 일관된 동작을 보장하기 위해 원래 팜과 동일한 팜 동작 수준에서 작동합니다. 최신 Windows Server AD FS 버전의 기능을 구성하거나 사용할 수 없습니다.

필수 조건

팜 동작 수준을 업그레이드하려면 다음 필수 조건을 먼저 충족해야 합니다.

  • 업그레이드할 Windows Server 버전을 결정합니다.

  • 새 컴퓨터에 대상 Windows Server 버전을 배포하고 모든 Windows 업데이트 적용하고, Active Directory Federation Service 서버 역할을 설치합니다. 자세한 내용은 기존 페더레이션 서버 팜에 페더레이션 서버 추가를 참조하세요.

  • Windows Server 웹 애플리케이션 프록시 사용하는 경우, 새 컴퓨터에 대상 Windows Server 버전을 배포하고, 모든 Windows 업데이트 적용하고, 원격 액세스 서버 역할 및 웹 애플리케이션 프록시 역할 서비스를 설치합니다. 자세한 내용은 웹 애플리케이션 프록시 작업을 참조하세요.

  • Windows Server 2016 이상에서 AD FS로 업그레이드하는 경우에 팜 업그레이드를 수행하려면 AD 스키마가 최소 수준 85여야 합니다. Windows Server AD FS 2019 이상으로 업그레이드하는 경우에는 AD 스키마가 88 이상이어야 합니다. 도메인 업그레이드에 대한 자세한 내용은 새로운 버전의 Windows Server로 도메인 컨트롤러 업그레이드를 참조하세요.

  • 완료하기로 정의한 시간 프레임을 계획합니다. 장시간 혼합 모드 상태를 작동하는 것은 권장되지 않습니다. AD FS를 혼합 모드 상태로 둘 경우 팜에 문제가 발생할 수 있습니다.

  • AD FS 구성과 페더레이션 서버를 백업합니다.

팜 동작 수준

기본적으로 새 AD FS 팜의 FBL은 처음 설치된 팜 노드의 Windows Server 버전 값과 일치합니다.

이후 버전의 AD FS 서버를 낮은 FBL을 사용해 팜에 조인할 수 있습니다. 팜은 기존 노드와 같은 FBL에서 작동합니다. 동일한 팜에서 가장 낮은 버전의 FBL 값으로 여러 Windows Server 버전을 운영하는 경우 팜은 "혼합"됩니다. 단, FBL을 발생 하려면 이후 버전의 기능을 활용할 수 없습니다. 조직에서 FBL을 올리기 전에 새 기능을 테스트하는 경우에는 별도의 팜을 배포해야 합니다.

다음 표에는 Windows Server 버전별 가능한 FBL 값 및 구성 데이터베이스 이름이 나열되어 있습니다.

Windows Server 버전 FBL 값 AD FS 구성 데이터베이스 이름
2012 R2 1 AdfsConfiguration
2016 3 AdfsConfigurationV3
2019 및 2022 4 AdfsConfigurationV4

참고 항목

FBL을 업그레이드하면 새 AD FS 구성 데이터베이스가 생성됩니다.

FBL의 목적을 이해하고 필수 구성 요소를 완료했으므로 이제 FBL을 검토할 준비가 되었습니다.

현재 FBL을 찾으려면 다음을 수행합니다.

  1. 페더레이션 서버에 로그인하여 관리자 권한 PowerShell 세션을 엽니다.

  2. 다음 PowerShell 명령을 실행하여 현재 FBL과 팜 노드 정보를 반환합니다.

    Get-AdfsFarmInformation
    
  3. CurrentFarmBehaviorFarmNodes를 검토합니다.

페더레이션 서버 마이그레이션

페더레이션 팜 정보를 수집했으니 업그레이드 프로세스를 시작할 준비가 되었습니다. 업그레이드를 시작하려면 다음을 수행합니다.

  1. 새 페더레이션 서버를 기존 팜에 추가합니다. 자세한 내용은 기존 페더레이션 서버 팜에 페더레이션 서버 추가를 참조하세요.

  2. 새 페더레이션 서버에 로그인한 후 관리자 권한 PowerShell 세션을 엽니다. 서버가 둘 이상 있는 경우 한 서버에서만 이 명령을 실행합니다.

  3. 다음 명령을 실행하여 기본 컴퓨터 역할을 수행하도록 페더레이션 서버 동기화 속성을 설정합니다. 자세한 내용은 Set-AdfsSyncProperties를 참조하세요.

    Set-AdfsSyncProperties -Role PrimaryComputer
    
  4. 팜에 있는 다른 페더레이션 서버에 로그인하여 관리자 권한 PowerShell 세션을 엽니다.

  5. 다음 명령을 실행하여 이 역할을 보조 컴퓨터로 설정합니다.

    Set-AdfsSyncProperties -Role SecondaryComputer -PrimaryComputerName "<primary-server-FQDN>"
    
  6. 부하 분산 장치, DNS 또는 네트워크 구성을 업데이트하여 새 페더레이션 서버를 사용해 서버가 작동하는지 확인합니다. 자세한 내용은 Windows Server 2012 R2 페더레이션 서버가 작동하는지 확인을 참조하세요.

  7. 이전 서버에서 Active Directory Federation Service 서버 역할을 제거한 후에, 다음 명령을 실행하여 부실 항목을 제거합니다.

    Set-AdfsFarmInformation -RemoveNode "<old-server-FQDN>"
    

이제 팜에 대한 새 페더레이션 서버가 생겼고 이전 페더레이션 서버를 제거했으므로 FBL을 업그레이드할 준비가 되었습니다. 서비스 해제에 대한 자세한 내용은 AD FS 서버의 서비스 해제 단계를 참조하세요.

팜 동작 수준 업그레이드

페더레이션 팜 정보를 수집했으니 업그레이드 프로세스를 시작할 준비가 되었습니다. 업그레이드를 시작하려면 다음을 수행합니다.

  1. 기본 페더레이션 서버에 로그인한 후 관리자 권한 PowerShell 세션을 엽니다.

  2. 다음 명령을 실행하여 팜의 동작 수준을 높일 수 있는지를 테스트합니다.

    Test-AdfsFarmBehaviorLevelRaise
    
  3. 출력을 검토한 후에 팜 동작 수준을 업그레이드하려면 다음 명령을 실행합니다. 계속할지를 묻는 메시지가 표시됩니다.

    Invoke-AdfsFarmBehaviorLevelRaise
    
  4. 명령 출력을 검토하여 이 작업에 성공했는지 확인합니다. 새 팜 동작 수준을 확인하려면 다음 PowerShell 명령을 실행하여 현재 FBL과 팜 노드 정보를 반환합니다.

    Get-AdfsFarmInformation
    

이제 FBL이 업그레이드되어 대상 Windows Server 버전과 일치합니다. Windows Server 웹 애플리케이션 프록시 역할 서비스도 사용하는 경우에는 다음 섹션을 계속 진행합니다.

웹 애플리케이션 프록시 업그레이드

FBL을 업데이트했으므로 WAP(웹 애플리케이션 프록시)를 최신 수준으로 업그레이드해야 합니다.

  1. 새로 배포된 웹 애플리케이션 프록시 서버에 로그인하여 관리자 권한 PowerShell 세션을 엽니다.

  2. 페더레이션 인증서에서 사용하는 인증서를 가져와 인증서 지문을 기록해 둡니다.

  3. WAP를 구성하려면, 다음 PowerShell 명령을 실행하여 자리 표시자 <value>를 사용자 고유의 값으로 바꿉니다. 그 외 웹 애플리케이션 프록시 서버에도 이 단계를 반복합니다.

    $trustcred = Get-Credential -Message "<Enter Domain Administrator credentials>"
    Install-WebApplicationProxy -CertificateThumbprint "<SSLCertThumbprint>" -FederationServiceName "<FScomputername>" -FederationServiceTrustCredential $trustcred
    
  4. 현재 연결된 웹 애플리케이션 프록시 서버를 검토하려면 다음 명령을 실행하여 ConnectedServerNameConfigurationVersion 값을 확인합니다.

    Get-WebApplicationProxyConfiguration
    

    참고 항목

    ConfigurationVersion이 Windows Server 2016이면 다음 단계를 건너뜁니다. 이것은 Windows Server 2016 이상에서 웹 애플리케이션 프록시의 올바른 값입니다.

  5. 이전 웹 애플리케이션 프록시 서버를 제거하고, 다음 PowerShell cmdlet을 실행하여 이전 단계에서 구성된 새 서버만 유지합니다.

    Set-WebApplicationProxyConfiguration -ConnectedServersName "WAPServerName1", "WAPServerName2"
    
  6. WAP 서버의 ConfigurationVersion을 업그레이드하려면 다음 PowerShell 명령을 실행합니다.

    Set-WebApplicationProxyConfiguration -UpgradeConfigurationVersion
    

이제 웹 애플리케이션 프록시 업그레이드가 완료되었습니다.

비즈니스용 Windows Hello를 사용한 인증서 트러스트 모델

Windows Server 2019 이상에서 AD FS를 사용하고, 인증서 신뢰 모델에서 비즈니스용 Windows Hello 경우 다음 이벤트 로그 오류 메시지가 표시될 수 있습니다.

Received invalid Oauth request. The client 'NAME' is forbidden to access the resource with scope 'ugs'.

이 오류를 해결하려면

  1. AD FS 관리 콘솔을 엽니다. 서비스 > 범위 설명으로 이동합니다.

  2. 범위 설명을 마우스 오른쪽 단추로 클릭하고 범위 설명 추가를 선택합니다.

  3. 이름 아래에 ugs를 입력하고 적용 > 확인을 선택합니다.

  4. 관리자 권한으로 PowerShell을 실행하고 다음 명령을 실행합니다.

    $id = (Get-AdfsApplicationPermission -ServerRoleIdentifiers 'http://schemas.microsoft.com/ws/2009/12/identityserver/selfscope' | ?{ $_.ClientRoleIdentifier -eq '38aa3b87-a06d-4817-b275-7a316988d93b' }).ObjectIdentifier
    Set-AdfsApplicationPermission -TargetIdentifier $id -AddScope 'ugs'
    
  5. AD FS 서비스를 다시 시작합니다.

  6. 클라이언트를 다시 시작합니다. 사용자에게 WHFB(비즈니스용 Windows Hello)를 구성하라는 메시지가 표시됩니다.

다음 단계

AD FS 배포가 업그레이드되었으므로 유용한 몇 가지 문서는 다음과 같습니다.