다음을 통해 공유


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 기반 리소스에 대한 원활한 환경을 제공합니다. 세션 내에서 암호 없는 인증을 사용하는 방법에 대한 자세한 내용은 세션 내 암호 없는 인증을 참조하세요.

! 참고 외부 ID(미리 보기)에 Azure Virtual Desktop 리소스를 제공하려는 경우 사용자 및 해당 호스트 풀에 대한 Single Sign-On을 구성하는 것이 필수 구성 요소입니다. 자세한 내용 및 기타 요구 사항은 외부 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을 사용하도록 설정하기 전에 사용자 환경에서 사용하기 위해 다음 정보를 검토합니다.

세션 잠금 동작

Microsoft Entra ID를 사용하여 Single Sign-On을 사용하도록 설정하고 사용자 또는 정책에 따라 원격 세션이 잠겨 있는 경우 세션의 연결이 끊어지거나 원격 잠금 화면이 표시되는지 선택할 수 있습니다. 기본 동작은 잠금 시 세션의 연결을 끊는 것입니다.

세션 잠금 동작이 연결 끊기로 설정되면 사용자에게 연결이 끊어졌다는 것을 알리는 대화 상자가 표시됩니다. 사용자는 다시 연결할 준비가 되면 대화 상자에서 다시 연결 옵션을 선택할 수 있습니다. 이 동작은 보안상의 이유로 수행되며 암호 없는 인증을 완전히 지원하기 위해 수행됩니다. 세션 연결을 끊을 경우 다음과 같은 이점이 제공됩니다.

  • 필요한 경우 Microsoft Entra ID를 통한 일관된 로그인 환경입니다.

  • 조건부 액세스 정책에서 허용되는 경우 인증 프롬프트 없이 Single Sign-On 환경 및 다시 연결

  • 원격 잠금 화면과 달리 암호 없는 인증(예: 암호 없음) 및 FIDO2 디바이스를 지원합니다.

  • 다단계 인증 및 로그인 빈도를 포함한 조건부 액세스 정책은 사용자가 세션에 다시 연결할 때 다시 평가됩니다.

  • 세션으로 돌아가서 사용자가 간단한 사용자 이름 및 암호로 잠금을 해제하지 못하도록 하려면 다단계 인증이 필요할 수 있습니다.

세션 연결을 끊는 대신 원격 잠금 화면을 표시하도록 세션 잠금 동작을 구성하려면 세션 잠금 동작 구성을 참조하세요.

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

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

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

필수 구성 요소

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

RDP에 Microsoft Entra 인증 사용

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

  • Windows 클라우드 로그인: 270efc09-cd0d-444b-a71f-39af4910ec45

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

  1. PowerShell 터미널 유형으로 Azure Portal Azure Cloud Shell 열거나 로컬 디바이스에서 PowerShell을 실행합니다.

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

    Import-Module Microsoft.Graph.Authentication
    Import-Module Microsoft.Graph.Applications
    
    Connect-MgGraph -Scopes "Application.Read.All","Application-RemoteDesktopConfig.ReadWrite.All"
    
  2. 다음 명령을 실행하여 Windows 클라우드 로그인 서비스 주체에 대한 개체 ID를 가져와 변수에 저장합니다.

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

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

    Get-MgServicePrincipalRemoteDesktopSecurityConfiguration -ServicePrincipalId $WCLspId
    

    두 명령에 대한 출력은 다음과 여야 합니다.

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

Single Sign-On을 사용하도록 설정하면 기본적으로 사용자에게 새 세션 호스트에 연결할 때 원격 데스크톱 연결을 허용하는 대화 상자가 표시됩니다. Microsoft Entra 30일 동안 최대 15개의 호스트를 기억한 후 다시 메시지를 표시합니다. 원격 데스크톱 연결을 허용하는 이 대화 상자가 표시되는 경우 예를 선택하여 연결할 수 있습니다.

신뢰할 수 있는 디바이스 목록을 구성하여 이 대화 상자를 숨길 수 있습니다. 디바이스 목록을 구성하려면 세션 호스트가 포함된 Microsoft Entra ID에 하나 이상의 그룹을 만든 다음 SSO 서비스 주체 Windows Cloud 로그인의 속성에 그룹 ID를 추가합니다.

동적 그룹을 사용하고 모든 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 $WCLspId -BodyParameter $tdg
    

    출력은 다음 예제와 유사해야 합니다.

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

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

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

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

Kerberos 서버 개체 만들기

세션 호스트가 다음 조건을 충족하는 경우 Kerberos 서버 개체를 만들어야 합니다. 자세한 내용은 Microsoft Entra ID를 사용하여 온-프레미스 리소스에 암호 없는 보안 키 로그인 사용, 특히 Kerberos Server 개체 만들기 섹션을 참조하세요.

  • 세션 호스트가 하이브리드 조인을 Microsoft Entra. 도메인 컨트롤러에 대한 인증을 완료하려면 Kerberos 서버 개체가 있어야 합니다.

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

중요

Kerberos 서버 개체를 만들지 않고 Microsoft Entra 하이브리드 조인 세션 호스트에서 Single Sign-On을 사용하도록 설정하는 경우 원격 세션에 연결하려고 할 때 다음 중 하나가 발생할 수 있습니다.

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

이러한 문제를 resolve Kerberos 서버 개체를 만든 다음 다시 연결합니다.

조건부 액세스 정책 검토

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을 Connections 설정하면 Microsoft Entra 인증을 사용하여 Single Sign-On을 제공합니다.

  • PowerShell의 경우 enablerdsaadauth 속성을 1로 설정합니다.

다음 단계