다음을 통해 공유


Microsoft Entra ID 인증을 사용하여 Azure Virtual Desktop에 대한 Single Sign-On 구성

이 문서에서는 Microsoft Entra ID 인증을 사용하여 Azure Virtual Desktop에 대한 SSO(Single Sign-On)를 구성하는 프로세스를 안내합니다. Single Sign-On을 사용하도록 설정하면 사용자는 Microsoft Entra ID 토큰을 사용하여 Windows에 인증합니다. 이 토큰을 사용하면 세션 호스트에 연결할 때 Microsoft Entra ID와 페더레이션되는 암호 없는 인증 및 타사 ID 공급자를 사용하여 로그인 환경을 원활하게 만들 수 있습니다.

또한 Microsoft Entra ID 인증을 사용하는 Single Sign-On은 세션 내의 Microsoft Entra ID 기반 리소스에 대한 원활한 환경을 제공합니다. 세션 내에서 암호 없는 인증을 사용하는 방법에 대한 자세한 내용은 세션 내 암호 없는 인증을 참조하세요.

Microsoft Entra ID 인증을 사용하여 Single Sign-On을 사용하도록 설정하려면 다음 5가지 작업을 완료해야 합니다.

  1. RDP(원격 데스크톱 프로토콜)에 대해 Microsoft Entra 인증을 사용하도록 설정합니다.

  2. 대상 디바이스 그룹을 구성합니다.

  3. Active Directory Domain Services가 사용자 환경의 일부인 경우 Kerberos Server 개체를 만듭니다. 조건에 대한 자세한 내용은 해당 섹션에 포함되어 있습니다.

  4. 조건부 액세스 정책을 검토합니다.

  5. Single Sign-On을 사용하도록 호스트 풀을 구성합니다.

Single Sign-On 사용 전

Single Sign-On을 사용하도록 설정하기 전에 사용자 환경에서 사용하기 위해 다음 정보를 검토합니다.

세션이 잠겨 있을 때 연결 끊기

Single Sign-On을 사용하도록 설정하면 Windows에 대한 암호 없는 인증을 지원하는 Microsoft Entra ID 인증 토큰을 사용하여 Windows에 로그인합니다. 원격 세션의 Windows 잠금 화면은 Microsoft Entra ID 인증 토큰 또는 FIDO 키와 같은 암호 없는 인증 방법을 지원하지 않습니다. 이러한 인증 방법에 대한 지원 부족은 사용자가 원격 세션에서 화면의 잠금을 해제할 수 없다는 것을 의미합니다. 사용자 작업 또는 시스템 정책을 통해 원격 세션을 잠그려고 하면 세션의 연결이 끊기고 서비스가 연결이 끊어졌는지 설명하는 메시지를 사용자에게 보냅니다.

세션의 연결을 끊으면 비활성 기간 후 연결이 다시 시작되는 경우 Microsoft Entra ID가 해당 조건부 액세스 정책을 다시 평가합니다.

Single Sign-On을 사용하는 Active Directory 도메인 관리자 계정

AD DS(Active Directory Domain Services) 및 하이브리드 사용자 계정이 있는 환경에서 읽기 전용 도메인 컨트롤러의 기본 암호 복제 정책도메인 관리자관리자 보안 그룹의 구성원에 대한 암호 복제를 거부합니다 . 이 정책은 이러한 관리자 계정이 Microsoft Entra 하이브리드 조인 호스트에 로그인하지 못하도록 하고 자격 증명을 입력하라는 메시지를 계속 표시할 수 있습니다. 또한 관리자 계정이 Microsoft Entra 조인 호스트에서 Kerberos 인증을 사용하는 온-프레미스 리소스에 액세스하지 못하게 합니다. 도메인 관리자인 계정을 사용하여 원격 세션에 연결하지 않는 것이 좋습니다.

관리자 권한으로 세션 호스트를 변경해야 하는 경우 관리자가 아닌 계정을 사용하여 세션 호스트에 로그인한 다음 명령 프롬프트에서 관리자 권한으로 실행 옵션 또는 runas를 사용하여 관리자로 변경합니다.

필수 조건

Single Sign-On을 사용하도록 설정하려면 먼저 다음 필수 조건을 충족해야 합니다.

RDP에 Microsoft Entra 인증을 사용하도록 설정

먼저 사용자가 Azure Virtual Desktop 세션 호스트에 로그인할 수 있도록 RDP 액세스 토큰을 발급할 수 있는 Microsoft Entra 테넌트에서 Windows용 Microsoft Entra 인증을 허용해야 합니다. 다음 Microsoft Entra 애플리케이션에 대한 서비스 주체의 remoteDesktopSecurityConfiguration 개체에서 isRemoteDesktopProtocolEnabled 속성을 true로 설정합니다.

애플리케이션 이름 애플리케이션 ID
Microsoft 원격 데스크톱 a4a365df-50f1-4397-bc59-1a1564b8bb9c
Windows 클라우드 로그인 270efc09-cd0d-444b-a71f-39af4910ec45

Important

예정된 변경의 일환으로 2024년부터 Microsoft 원격 데스크톱에서 Windows 클라우드 로그인으로 전환하고 있습니다. 이제 두 애플리케이션을 모두 구성하면 변경 준비가 완료됩니다.

서비스 주체를 구성하려면 Microsoft Graph PowerShell SDK를 사용하여 서비스 주체에 새 remoteDesktopSecurityConfiguration 개체를 만들고 isRemoteDesktopProtocolEnabled 속성을 true로 설정합니다. Graph Explorer와 같은 도구와 함께 Microsoft Graph API를 사용할수도 있습니다.

  1. PowerShell 터미널 형식을 사용하여 Azure Portal에서 Azure Cloud Shell을 시작하거나 로컬 디바이스에서 PowerShell을 시작합니다.

    1. Cloud Shell을 사용하는 경우 Azure 컨텍스트가 사용하려는 구독으로 설정되어 있는지 확인합니다.

    2. PowerShell을 로컬로 사용하는 경우 먼저 Azure PowerShell로 로그인한 다음 Azure 컨텍스트가 사용하려는 구독으로 설정되어 있는지 확인합니다.

  1. 필수 구성 요소에서 Microsoft Graph PowerShell SDK 를 설치했는지 확인한 다음 인증애플리케이션 Microsoft Graph 모듈을 가져오고 다음 명령을 실행하여 Application.Read.AllApplication-RemoteDesktopConfig.ReadWrite.All 범위와 함께 Microsoft Graph에 연결합니다.

    Import-Module Microsoft.Graph.Authentication
    Import-Module Microsoft.Graph.Applications
    
    Connect-MgGraph -Scopes "Application.Read.All","Application-RemoteDesktopConfig.ReadWrite.All"
    
  2. 각 서비스 주체에 대한 개체 ID를 가져오고 다음 명령을 실행하여 변수에 저장합니다.

    $MSRDspId = (Get-MgServicePrincipal -Filter "AppId eq 'a4a365df-50f1-4397-bc59-1a1564b8bb9c'").Id
    $WCLspId = (Get-MgServicePrincipal -Filter "AppId eq '270efc09-cd0d-444b-a71f-39af4910ec45'").Id
    
  3. 다음 명령을 실행하여 isRemoteDesktopProtocolEnabled 속성을 true로 설정합니다. 이러한 명령의 출력은 없습니다.

    If ((Get-MgServicePrincipalRemoteDesktopSecurityConfiguration -ServicePrincipalId $MSRDspId) -ne $true) {
        Update-MgServicePrincipalRemoteDesktopSecurityConfiguration -ServicePrincipalId $MSRDspId -IsRemoteDesktopProtocolEnabled
    }
    
    If ((Get-MgServicePrincipalRemoteDesktopSecurityConfiguration -ServicePrincipalId $WCLspId) -ne $true) {
        Update-MgServicePrincipalRemoteDesktopSecurityConfiguration -ServicePrincipalId $WCLspId -IsRemoteDesktopProtocolEnabled
    }
    
  4. 다음 명령을 실행하여 isRemoteDesktopProtocolEnabled 속성이 true로 설정되었는지 확인합니다.

    Get-MgServicePrincipalRemoteDesktopSecurityConfiguration -ServicePrincipalId $MSRDspId
    Get-MgServicePrincipalRemoteDesktopSecurityConfiguration -ServicePrincipalId $WCLspId
    

    출력은 다음과 같아야 합니다.

    Id IsRemoteDesktopProtocolEnabled
    -- ------------------------------
    id True
    

대상 디바이스 그룹 구성

RDP에 대해 Microsoft Entra 인증을 사용하도록 설정한 후에는 대상 디바이스 그룹을 구성해야 합니다. Single Sign-On을 사용하도록 설정하면 기본적으로 사용자에게 Microsoft Entra ID에 인증하고 새 세션 호스트에 대한 연결을 시작할 때 원격 데스크톱 연결을 허용하라는 메시지가 표시됩니다. Microsoft Entra는 메시지를 다시 표시하기 전에 30일 동안 최대 15개의 호스트를 기억합니다. 원격 데스크톱 연결을 허용하는 대화 상자가 표시되면 를 선택하여 연결합니다.

이 대화 상자를 숨기고 신뢰할 수 있는 디바이스 목록을 구성하여 모든 세션 호스트에 대한 연결의 Single Sign-On을 제공할 수 있습니다. 세션 호스트가 포함된 Microsoft Entra ID에서 하나 이상의 그룹을 만든 다음, 이전 섹션에서 사용한 것과 동일한 Microsoft 원격 데스크톱Windows 클라우드 로그인 애플리케이션의 서비스 주체에서 해당 그룹에 대한 속성을 설정해야 합니다.

동적 그룹을 사용하고 모든 Azure Virtual Desktop 세션 호스트를 포함하도록 동적 멤버 관리 규칙을 구성하는 것이 좋습니다. 이 그룹의 디바이스 이름을 사용할 수 있지만 더 안전한 옵션을 위해 Microsoft Graph API를 사용하여 디바이스 확장 특성을 설정하고 사용할수 있습니다. 동적 그룹은 일반적으로 5~10분 이내에 업데이트되지만 대규모 테넌트는 최대 24시간이 걸릴 수 있습니다.

동적 그룹을 사용하려면 Microsoft Entra ID P1 라이선스 또는 Intune for Education 라이선스가 필요합니다. 자세한 내용은 동적 구성원 관리 규칙을 참조하세요.

서비스 주체를 구성하려면 Microsoft Graph PowerShell SDK를 사용하여 동적 그룹의 개체 ID와 표시 이름을 통해 서비스 주체에 새 targetDeviceGroup 개체를 만듭니다. Graph Explorer와 같은 도구와 함께 Microsoft Graph API를 사용할수도 있습니다.

  1. Microsoft Entra ID에 대화 상자를 숨기려는 세션 호스트가 포함된 동적 그룹을 만듭니다. 다음 단계를 위해 그룹의 개체 ID를 기록해 둡니다.

  2. 동일한 PowerShell 세션에서 다음 명령을 실행하여 targetDeviceGroup 개체를 만들고 <placeholders>를 고유한 값으로 바꿉니다.

    $tdg = New-Object -TypeName Microsoft.Graph.PowerShell.Models.MicrosoftGraphTargetDeviceGroup
    $tdg.Id = "<Group object ID>"
    $tdg.DisplayName = "<Group display name>"
    
  3. 다음 명령을 실행하여 targetDeviceGroup 개체에 그룹을 추가합니다.

    New-MgServicePrincipalRemoteDesktopSecurityConfigurationTargetDeviceGroup -ServicePrincipalId $MSRDspId -BodyParameter $tdg
    New-MgServicePrincipalRemoteDesktopSecurityConfigurationTargetDeviceGroup -ServicePrincipalId $WCLspId -BodyParameter $tdg
    

    출력은 다음과 유사합니다.

    Id                                   DisplayName
    --                                   -----------
    12345678-abcd-1234-abcd-1234567890ab Contoso-session-hosts
    

    targetDeviceGroup 개체에 추가하려는 각 그룹에 대해 최대 10개의 그룹에 대해 2단계와 3단계를 반복합니다.

  4. 나중에 targetDeviceGroup 개체에서 디바이스 그룹을 제거해야 하는 경우 다음 명령을 실행하여 <placeholders>를 고유한 값으로 바꿉니다.

    Remove-MgServicePrincipalRemoteDesktopSecurityConfigurationTargetDeviceGroup -ServicePrincipalId $MSRDspId -TargetDeviceGroupId "<Group object ID>"
    Remove-MgServicePrincipalRemoteDesktopSecurityConfigurationTargetDeviceGroup -ServicePrincipalId $WCLspId -TargetDeviceGroupId "<Group object ID>"
    

Kerberos 서버 개체 만들기

세션 호스트가 다음 조건을 충족하는 경우 Kerberos Server 개체를 만들어야 합니다.

  • 세션 호스트가 Microsoft Entra 하이브리드에 조인됩니다. 도메인 컨트롤러에 대한 인증을 완료하려면 Kerberos Server 개체가 있어야 합니다.
  • 세션 호스트가 Microsoft Entra에 조인되어 있고 환경에 Active Directory 도메인 컨트롤러가 포함되어 있습니다. 사용자가 웹 사이트에 대한 SMB 공유 및 Windows 통합 인증과 같은 온-프레미스 리소스에 액세스하려면 Kerberos Server 개체가 있어야 합니다.

Important

Kerberos 서버 개체를 만들기 전에 Microsoft Entra 하이브리드 조인 세션 호스트에서 Single Sign-On을 사용하도록 설정하면 다음 중 하나가 발생할 수 있습니다.

  • 특정 세션이 존재하지 않는다는 오류 메시지가 표시됩니다.
  • Single Sign-On을 건너뛰고 세션 호스트에 대한 표준 인증 대화 상자가 표시됩니다.

이러한 문제를 해결하려면 Kerberos Server 개체를 만든 다음 다시 연결합니다.

조건부 액세스 정책 검토

Single Sign-On을 사용하도록 설정하면 세션 호스트에 사용자를 인증하기 위해 새 Microsoft Entra ID 앱이 도입됩니다. Azure Virtual Desktop에 액세스할 때 적용되는 조건부 액세스 정책이 있는 경우 다단계 인증 설정에 대한 권장 사항을 검토하여 사용자가 원하는 환경을 갖출 수 있도록 합니다.

Single Sign-On을 사용하도록 호스트 풀 구성

호스트 풀에서 Single Sign-On을 사용하도록 설정하려면 Azure Portal 또는 PowerShell을 사용하여 수행할 수 있는 다음 RDP 속성을 구성해야 합니다. 호스트 풀에 대한 RDP(원격 데스크톱 프로토콜) 속성 사용자 지정에서 RDP 속성을 구성하는 단계를 확인할 수 있습니다.

  • Azure Portal에서 Microsoft Entra Single Sign-On연결에 Microsoft Entra 인증을 사용하여 Single Sign-On 제공으로 설정합니다.
  • PowerShell의 경우 enablerdsaadauth 속성을 1로 설정합니다.

다음 단계