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

Important

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

이 문서에서는 WID(Windows 내부 데이터베이스)를 사용하여 AD FS(Active Directory Federation Services)의 팜 동작 수준을 업그레이드하는 방법을 알아봅니다. Windows Server 2016부터 FBL(팜 동작 수준)이 AD FS에 도입되었습니다. 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 이상이어야 합니다. do기본 업그레이드에 대한 자세한 내용은 컨트롤러를 최신 버전의 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. 출력을 검토한 Ater에서 팜 동작 수준을 업그레이드하려면 다음 명령을 실행합니다. 계속하려면 메시지가 표시됩니다.

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

    Get-AdfsFarmInformation
    

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

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

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

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

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

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

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

    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을 관리istrator로 시작하고 다음 명령을 실행합니다.

    $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. 클라이언트를 다시 시작합니다. 사용자에게 비즈니스용 Windows Hello 구성하라는 메시지가 표시됩니다.

다음 단계

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