Konfigurowanie logowania jednokrotnego dla usługi Azure Virtual Desktop przy użyciu identyfikatora Microsoft Entra ID

Logowanie jednokrotne (SSO) dla usługi Azure Virtual Desktop przy użyciu identyfikatora Entra firmy Microsoft zapewnia bezproblemowe logowanie użytkowników łączących się z hostami sesji. Po włączeniu logowania jednokrotnego użytkownicy uwierzytelniają się w systemie Windows przy użyciu tokenu identyfikatora Entra firmy Microsoft. Ten token umożliwia korzystanie z uwierzytelniania bez hasła i dostawców tożsamości innych firm, którzy sfederują się z identyfikatorem Entra firmy Microsoft podczas nawiązywania połączenia z hostem sesji, dzięki czemu środowisko logowania będzie bezproblemowe.

Logowanie jednokrotne przy użyciu identyfikatora Entra firmy Microsoft zapewnia również bezproblemowe środowisko dla zasobów opartych na identyfikatorach Firmy Microsoft w ramach sesji. Aby uzyskać więcej informacji na temat korzystania z uwierzytelniania bez hasła w ramach sesji, zobacz Uwierzytelnianie bez hasła w sesji.

Aby włączyć logowanie jednokrotne przy użyciu uwierzytelniania microsoft Entra ID, należy wykonać pięć zadań:

  1. Włącz uwierzytelnianie entra firmy Microsoft dla protokołu RDP (Remote Desktop Protocol).

  2. Ukryj okno dialogowe monitu o wyrażenie zgody.

  3. Utwórz obiekt serwera Kerberos, jeśli domena usługi Active Directory Services jest częścią twojego środowiska. Więcej informacji na temat kryteriów znajduje się w jej sekcji.

  4. Przejrzyj zasady dostępu warunkowego.

  5. Skonfiguruj pulę hostów, aby włączyć logowanie jednokrotne.

Przed włączeniem logowania jednokrotnego

Przed włączeniem logowania jednokrotnego zapoznaj się z poniższymi informacjami dotyczącymi korzystania z niego w środowisku.

Zachowanie blokady sesji

Po włączeniu logowania jednokrotnego przy użyciu identyfikatora Entra firmy Microsoft i zablokowaniu sesji zdalnej przez użytkownika lub przez zasady można wybrać, czy sesja jest rozłączona, czy jest wyświetlany ekran zdalnego blokowania. Domyślne zachowanie polega na rozłączeniu sesji po jej zablokowaniu.

Gdy zachowanie blokady sesji zostanie ustawione na rozłączenie, zostanie wyświetlone okno dialogowe z informacją o rozłączeniu użytkowników. Użytkownicy mogą wybrać opcję Połącz ponownie w oknie dialogowym, gdy będą gotowi ponownie nawiązać połączenie. Takie zachowanie jest wykonywane ze względów bezpieczeństwa i zapewnia pełną obsługę uwierzytelniania bez hasła. Rozłączanie sesji zapewnia następujące korzyści:

  • Spójne środowisko logowania za pośrednictwem identyfikatora Entra firmy Microsoft w razie potrzeby.

  • Środowisko logowania jednokrotnego i ponowne nawiązywanie połączenia bez monitu uwierzytelniania, gdy jest dozwolone przez zasady dostępu warunkowego.

  • Obsługuje uwierzytelnianie bez hasła, takie jak hasła i urządzenia FIDO2, w przeciwieństwie do zdalnego ekranu blokady.

  • Zasady dostępu warunkowego, w tym uwierzytelnianie wieloskładnikowe i częstotliwość logowania, są ponownie oceniane, gdy użytkownik ponownie łączy się ze swoją sesją.

  • Może wymagać uwierzytelniania wieloskładnikowego, aby powrócić do sesji i uniemożliwić użytkownikom odblokowywanie przy użyciu prostej nazwy użytkownika i hasła.

Jeśli chcesz skonfigurować zachowanie blokady sesji, aby wyświetlić ekran zdalnej blokady zamiast rozłączenia sesji, zobacz Konfigurowanie zachowania blokady sesji.

Konta administratora domeny usługi Active Directory z logowaniem jednokrotnym

W środowiskach z usługami domena usługi Active Directory Services (AD DS) i kontami użytkowników hybrydowych domyślne zasady replikacji haseł na kontrolerach domeny tylko do odczytu odmawiają replikacji haseł dla członków grup zabezpieczeń Administratorzy domeny i Administratorzy. Te zasady uniemożliwiają zalogowanie się tych kont administratorów do hostów dołączonych hybrydo do firmy Microsoft i może nadal monitować ich o wprowadzenie poświadczeń. Zapobiega to również dostępowi kont administratorów do zasobów lokalnych korzystających z uwierzytelniania Kerberos z hostów dołączonych do firmy Microsoft. Nie zalecamy nawiązywania połączenia z sesją zdalną przy użyciu konta, które jest administratorem domeny ze względów bezpieczeństwa.

Jeśli musisz wprowadzić zmiany na hoście sesji jako administrator, zaloguj się do hosta sesji przy użyciu konta innego niż administrator, a następnie użyj opcji Uruchom jako administrator lub narzędzia Uruchom jako z poziomu wiersza polecenia, aby przejść do administratora.

Wymagania wstępne

Przed włączeniem logowania jednokrotnego należy spełnić następujące wymagania wstępne:

Włączanie uwierzytelniania w usłudze Microsoft Entra dla protokołu RDP

Najpierw należy zezwolić na uwierzytelnianie microsoft Entra dla systemu Windows w dzierżawie firmy Microsoft Entra, co umożliwia wystawianie tokenów dostępu RDP, co umożliwia użytkownikom logowanie się do hostów sesji usługi Azure Virtual Desktop. isRemoteDesktopProtocolEnabled Właściwość ma wartość true w obiekcie jednostki remoteDesktopSecurityConfiguration usługi dla następujących aplikacji firmy Microsoft Entra:

Nazwa aplikacji Application ID
Pulpit zdalny firmy Microsoft a4a365df-50f1-4397-bc59-1a1564b8bb9c
Logowanie do chmury systemu Windows 270efc09-cd0d-444b-a71f-39af4910ec45

Ważne

W ramach nadchodzącej zmiany przechodzimy od Pulpit zdalny Microsoft do logowania w chmurze systemu Windows, począwszy od 2024 roku. Skonfigurowanie obu aplikacji zapewnia teraz gotowość do zmiany.

Aby skonfigurować jednostkę usługi, użyj zestawu SDK programu PowerShell programu Microsoft Graph, aby utworzyć nowy obiekt remoteDesktopSecurityConfiguration w jednostce usługi i ustawić właściwość isRemoteDesktopProtocolEnabled na truewartość . Możesz również użyć interfejsu API programu Microsoft Graph z narzędziem, takim jak Eksplorator programu Graph.

  1. Otwórz usługę Azure Cloud Shell w witrynie Azure Portal z typem terminalu programu PowerShell lub uruchom program PowerShell na urządzeniu lokalnym.

  1. Upewnij się, że zestaw MICROSOFT Graph PowerShell SDK został zainstalowany z poziomu wymagań wstępnych, a następnie zaimportuj moduły Authentication and Applications Microsoft Graph i połącz się z programem Microsoft Graph z Application.Read.All zakresami iApplication-RemoteDesktopConfig.ReadWrite.All, uruchamiając następujące polecenia:

    Import-Module Microsoft.Graph.Authentication
    Import-Module Microsoft.Graph.Applications
    
    Connect-MgGraph -Scopes "Application.Read.All","Application-RemoteDesktopConfig.ReadWrite.All"
    
  2. Pobierz identyfikator obiektu dla każdej jednostki usługi i zapisz je w zmiennych, uruchamiając następujące polecenia:

    $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. Ustaw właściwość isRemoteDesktopProtocolEnabled na , true uruchamiając następujące polecenia. Z tych poleceń nie ma danych wyjściowych.

    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. Upewnij się, że właściwość isRemoteDesktopProtocolEnabled jest ustawiona na true , uruchamiając następujące polecenia:

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

    Dane wyjściowe powinny być następujące:

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

Domyślnie po włączeniu logowania jednokrotnego użytkownicy zobaczą okno dialogowe zezwalające na połączenie pulpitu zdalnego podczas nawiązywania połączenia z nowym hostem sesji. Firma Microsoft Entra zapamiętuje maksymalnie 15 hostów przez 30 dni przed ponownym wyświetleniem monitu. Jeśli użytkownicy zobaczą ten dialog, aby zezwolić na połączenie pulpitu zdalnego, mogą wybrać opcję Tak , aby nawiązać połączenie.

To okno dialogowe można ukryć, konfigurując listę zaufanych urządzeń. Aby skonfigurować listę urządzeń, utwórz co najmniej jedną grupę w identyfikatorze Entra firmy Microsoft zawierającym hosty sesji, a następnie dodaj identyfikatory grup do właściwości w jednostkach usługi logowania jednokrotnego, Pulpit zdalny Microsoft i Identyfikatory logowania w chmurze systemu Windows.

Napiwek

Zalecamy użycie grupy dynamicznej i skonfigurowanie reguł członkostwa dynamicznego w celu uwzględnienia wszystkich hostów sesji usługi Azure Virtual Desktop. Nazwy urządzeń w tej grupie można używać, ale w celu uzyskania bezpieczniejszej opcji można ustawić atrybuty rozszerzenia urządzenia i używać ich przy użyciu interfejsu API programu Microsoft Graph. Chociaż grupy dynamiczne są zwykle aktualizowane w ciągu 5–10 minut, duże dzierżawy mogą potrwać do 24 godzin.

Grupy dynamiczne wymagają licencji Microsoft Entra ID P1 lub licencji usługi Intune for Education. Aby uzyskać więcej informacji, zobacz Dynamiczne reguły członkostwa dla grup.

Aby skonfigurować jednostkę usługi, użyj zestawu MICROSOFT Graph PowerShell SDK , aby utworzyć nowy obiekt targetDeviceGroup w jednostce usługi z identyfikatorem obiektu grupy dynamicznej i nazwą wyświetlaną. Możesz również użyć interfejsu API programu Microsoft Graph z narzędziem, takim jak Eksplorator programu Graph.

  1. Utwórz grupę dynamiczną w identyfikatorze Entra firmy Microsoft zawierającym hosty sesji, dla których chcesz ukryć okno dialogowe. Zanotuj identyfikator obiektu grupy dla następnego kroku.

  2. W tej samej sesji programu PowerShell utwórz targetDeviceGroup obiekt, uruchamiając następujące polecenia, zastępując element <placeholders> własnymi wartościami:

    $tdg = New-Object -TypeName Microsoft.Graph.PowerShell.Models.MicrosoftGraphTargetDeviceGroup
    $tdg.Id = "<Group object ID>"
    $tdg.DisplayName = "<Group display name>"
    
  3. Dodaj grupę targetDeviceGroup do obiektu, uruchamiając następujące polecenia:

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

    Dane wyjściowe powinny być podobne do następującego przykładu:

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

    Powtórz kroki 2 i 3 dla każdej grupy, którą chcesz dodać do targetDeviceGroup obiektu, maksymalnie 10 grup.

  4. Jeśli później musisz usunąć grupę urządzeń z targetDeviceGroup obiektu, uruchom następujące polecenia, zastępując element <placeholders> własnymi wartościami:

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

Tworzenie obiektu serwera Kerberos

Jeśli hosty sesji spełniają następujące kryteria, należy utworzyć obiekt serwera Kerberos:

  • Host sesji jest dołączony hybrydą firmy Microsoft Entra. Aby ukończyć uwierzytelnianie na kontrolerze domeny, musisz mieć obiekt serwera Kerberos.

  • Host sesji jest przyłączony do firmy Microsoft, a Środowisko zawiera kontrolery domeny usługi Active Directory. Aby użytkownicy mogli uzyskiwać dostęp do zasobów lokalnych, takich jak udziały SMB i uwierzytelnianie zintegrowane z systemem Windows z witrynami internetowymi, musi mieć obiekt Kerberos Server.

Ważne

Jeśli włączysz logowanie jednokrotne na hostach sesji dołączonych hybrydowo do firmy Microsoft Entra bez tworzenia obiektu serwera Kerberos, może wystąpić jedna z następujących czynności:

  • Zostanie wyświetlony komunikat o błędzie z informacją, że określona sesja nie istnieje.
  • Logowanie jednokrotne zostanie pominięte i zostanie wyświetlone standardowe okno dialogowe uwierzytelniania dla hosta sesji.

Aby rozwiązać te problemy, utwórz obiekt serwera Kerberos, a następnie połącz się ponownie.

Przeglądanie zasad dostępu warunkowego

Po włączeniu logowania jednokrotnego nowa aplikacja Microsoft Entra ID zostanie wprowadzona do uwierzytelniania użytkowników na hoście sesji. Jeśli masz zasady dostępu warunkowego stosowane podczas uzyskiwania dostępu do usługi Azure Virtual Desktop, zapoznaj się z zaleceniami dotyczącymi konfigurowania uwierzytelniania wieloskładnikowego, aby upewnić się, że użytkownicy mają odpowiednie środowisko.

Konfigurowanie puli hostów w celu włączenia logowania jednokrotnego

Aby włączyć logowanie jednokrotne w puli hostów, należy skonfigurować następującą właściwość protokołu RDP, którą można wykonać przy użyciu witryny Azure Portal lub programu PowerShell. Kroki konfigurowania właściwości protokołu RDP można znaleźć w temacie Dostosowywanie właściwości protokołu RDP (Remote Desktop Protocol) dla puli hostów.

  • W witrynie Azure Portal ustaw pozycję Microsoft Entra single sign-on na Connections (Połączenia) użyje uwierzytelniania microsoft Entra w celu zapewnienia logowania jednokrotnego.

  • W przypadku programu PowerShell ustaw właściwość enablerdsaadauth na 1.

Następne kroki