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가지 작업을 완료해야 합니다.
RDP(원격 데스크톱 프로토콜)에 대해 Microsoft Entra 인증을 사용하도록 설정합니다.
대상 디바이스 그룹을 구성합니다.
Active Directory Domain Services가 사용자 환경의 일부인 경우 Kerberos Server 개체를 만듭니다. 조건에 대한 자세한 내용은 해당 섹션에 포함되어 있습니다.
조건부 액세스 정책을 검토합니다.
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을 사용하도록 설정하려면 먼저 다음 필수 조건을 충족해야 합니다.
Microsoft Entra 테넌트 구성을 위해 다음 Microsoft Entra 기본 제공 역할중 하나가 할당되어야 합니다.
- 애플리케이션 관리자
- 클라우드 애플리케이션 관리자
- 전역 관리자
세션 호스트는 관련 누적 업데이트가 설치된 다음 운영 체제 중 하나를 실행해야 합니다.
- Windows 11용 2022년 10월 누적 업데이트(KB5018418) 이상이 설치된 Windows 11 Enterprise 단일 또는 다중 세션.
- Windows 10용 2022년 10월 누적 업데이트(KB5018410) 이상이 설치된 Windows 10 Enterprise 단일 또는 다중 세션.
- Microsoft 서버 운영 체제용 2022년 10월 누적 업데이트(KB5018421) 이상이 설치된 Windows Server 2022.
세션 호스트는 Microsoft Entra 조인 또는 Microsoft Entra 하이브리드 조인이어야 합니다. Microsoft Entra Domain Services 또는 Active Directory Domain Services에 조인된 세션 호스트는 지원되지 않습니다.
Microsoft Entra 하이브리드 조인 세션 호스트가 사용자 계정과 다른 Active Directory 도메인에 있는 경우 두 도메인 간에 양방향 트러스트가 있어야 합니다. 양방향 트러스트가 없으면 연결이 이전 인증 프로토콜로 대체됩니다.
로컬 디바이스 또는 Azure Cloud Shell에 Microsoft Graph PowerShell SDK 버전 2.9.0 이상을 설치합니다.
원격 세션에 연결할 수 있는 지원되는 원격 데스크톱 클라이언트. 지원되는 클라이언트는 다음과 같습니다.
- Windows 10 이상을 실행하는 로컬 PC의 Windows 데스크톱 클라이언트. 로컬 PC를 Microsoft Entra ID 또는 Active Directory 도메인에 조인할 필요가 없습니다.
- 웹 클라이언트.
- macOS 클라이언트버전 10.8.2 이상.
- iOS 클라이언트(버전 10.5.1 이상).
- Android 클라이언트(버전 10.0.16 이상).
Single Sign-On을 사용할 때 Active Directory 도메인 관리자 계정이 연결되도록 구성하려면 도메인 관리자 보안 그룹의 구성원인 계정이 필요합니다.
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를 사용할수도 있습니다.
PowerShell 터미널 형식을 사용하여 Azure Portal에서 Azure Cloud Shell을 시작하거나 로컬 디바이스에서 PowerShell을 시작합니다.
Cloud Shell을 사용하는 경우 Azure 컨텍스트가 사용하려는 구독으로 설정되어 있는지 확인합니다.
PowerShell을 로컬로 사용하는 경우 먼저 Azure PowerShell로 로그인한 다음 Azure 컨텍스트가 사용하려는 구독으로 설정되어 있는지 확인합니다.
필수 구성 요소에서 Microsoft Graph PowerShell SDK 를 설치했는지 확인한 다음 인증 및 애플리케이션 Microsoft Graph 모듈을 가져오고 다음 명령을 실행하여
Application.Read.All
및Application-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"
각 서비스 주체에 대한 개체 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
다음 명령을 실행하여
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 }
다음 명령을 실행하여
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를 사용할수도 있습니다.
Microsoft Entra ID에 대화 상자를 숨기려는 세션 호스트가 포함된 동적 그룹을 만듭니다. 다음 단계를 위해 그룹의 개체 ID를 기록해 둡니다.
동일한 PowerShell 세션에서 다음 명령을 실행하여
targetDeviceGroup
개체를 만들고<placeholders>
를 고유한 값으로 바꿉니다.$tdg = New-Object -TypeName Microsoft.Graph.PowerShell.Models.MicrosoftGraphTargetDeviceGroup $tdg.Id = "<Group object ID>" $tdg.DisplayName = "<Group display name>"
다음 명령을 실행하여
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단계를 반복합니다.나중에
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로 설정합니다.
다음 단계
- 세션 내 암호 없는 인증을 확인하여 암호 없는 인증을 사용하도록 설정하는 방법을 알아봅니다.
- Microsoft Entra Kerberos에 대한 자세한 내용은 심층 분석: Microsoft Entra Kerberos 작동 방식을 참조하세요.
- Windows Desktop 클라이언트에서 Azure Virtual Desktop에 액세스하는 경우 Windows Desktop 클라이언트와 연결을 참조하세요.
- 웹 클라이언트에서 Azure Virtual Desktop에 액세스하는 경우 웹 클라이언트와 연결을 참조하세요.
- 문제가 발생하면 Microsoft Entra 조인 VM에 대한 연결 문제 해결로 이동합니다.
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기