Mengonfigurasi akses menyeluruh untuk Azure Virtual Desktop menggunakan Layanan Federasi Direktori Aktif

Artikel ini akan memandu Anda melalui proses konfigurasi single sign-on (SSO) Active Directory Federation Service (AD FS) untuk Azure Virtual Desktop.

Catatan

Azure Virtual Desktop (klasik) tidak mendukung fitur ini.

Prasyarat

Sebelum mengonfigurasi akses menyeluruh AD FS, Anda harus menjalankan penyiapan berikut ini di lingkungan Anda:

  • Host sesi yang menjalankan versi Windows 10 atau Windows 11 yang didukung.

  • Anda harus menggunakan peran Active Directory Certificate Services (CA). Semua server yang menjalankan peran harus bergabung dengan domain, memiliki pembaruan Windows terbaru yang diinstal, dan dikonfigurasi sebagai otoritas sertifikat perusahaan.

  • Anda harus menggunakan peran Layanan Federasi Direktori Aktif (AD FS). Semua server yang menjalankan peran ini harus bergabung dengan domain, memiliki pembaruan Windows terbaru yang terinstal, dan menjalankan Windows Server 2016 atau yang lebih baru. Lihat tutorial federasi kami untuk mulai menyiapkan peran ini.

  • Sebaiknya siapkan peranProksi Aplikasi Web untuk mengamankan koneksi lingkungan Anda ke server AD FS. Semua server yang menjalankan peran ini harus menginstal pembaruan Windows terbaru, dan menjalankan Windows Server 2016 atau yang lebih baru. Lihat panduan Proksi Aplikasi Web ini untuk mulai menyiapkan peran ini.

  • Anda harus menyebarkan Microsoft Entra Koneksi untuk menyinkronkan pengguna ke ID Microsoft Entra. Microsoft Entra Koneksi harus dikonfigurasi dalam mode federasi.

  • Siapkan lingkungan PowerShell Anda untuk Azure Virtual Desktop di server AD FS.

Catatan

Solusi ini tidak didukung dengan Microsoft Entra Domain Services. Anda harus menggunakan pengendali domain Active Directory Domain Services.

Klien yang Didukung

Klien Azure Virtual Desktop berikut mendukung fitur ini:

Mengonfigurasi otoritas sertifikat untuk menerbitkan sertifikat

Anda harus membuat templat sertifikat berikut ini dengan benar sehingga AD FS bisa menggunakan SSO:

  • Pertama, Anda harus membuat templat sertifikatExchange Enrollment Agent (Permintaan Offline). AD FS menggunakan templat sertifikat Agen Pendaftaran Exchange untuk meminta sertifikat atas nama pengguna.
  • Anda juga harus membuat templat sertifikat Masuk Smartcard, yang akan digunakan AD FS untuk membuat sertifikat masuk.

Setelah Anda membuat templat sertifikat ini, Anda harus mengaktifkan templat pada otoritas sertifikat sehingga AD FS dapat memintanya.

Catatan

Solusi ini menghasilkan sertifikat jangka pendek baru untuk setiap pengguna yang masuk yang dapat mengisi database Otoritas Sertifikat dari waktu ke waktu jika Anda memiliki banyak pengguna. Anda dapat menghindari hal ini denganmenyiapkan CA untuk pemrosesan sertifikat yang tidak tetap. Jika Anda melakukan ini, pada template sertifikat masuk smartcard duplikat, pastikan Anda hanya mengaktifkan Jangan menyimpan sertifikat dan permintaan dalam database CA. Jangan aktifkan Jangan sertakan informasi pencabutan dalam sertifikat yang dikeluarkan atau konfigurasi tidak akan berfungsi.

Membuat templat sertifikat agen pendaftaran

Bergantung pada lingkungan Anda, Anda mungkin sudah mengonfigurasi templat sertifikat agen pendaftaran untuk tujuan lain seperti Windows Hello untuk Bisnis, sertifikat Logon atau sertifikat VPN. Jika demikian, Anda harus memodifikasinya untuk mendukung SSO. Jika tidak, Anda dapat membuat templat baru.

Untuk menentukan apakah Anda sudah menggunakan templat sertifikat agen pendaftaran, jalankan perintah PowerShell berikut ini di server AD FS dan lihat apakah nilai dikembalikan. Jika kosong, buat templat sertifikat agen pendaftaran baru. Jika tidak, ingat nama dan perbarui templat sertifikat agen pendaftaran yang ada.

Import-Module adfs
(Get-AdfsCertificateAuthority).EnrollmentAgentCertificateTemplateName

Untuk membuat templat sertifikat agen pendaftaran baru:

  1. Pada otoritas sertifikat, jalankan mmc.exe dari menu Mulai untuk meluncurkan Microsoft Management Console.

  2. Pilih File...>Tambah/Hapus Snap-in...>Template Sertifikat>Tambah >>>OK untuk menampilkan daftar template sertifikat.

  3. Perluas Templat Sertifikat,klik kanan Agen Pendaftaran Exchange (Permintaan Offline) dan pilih Templat Duplikat.

  4. Pilih tab Umum, lalu masukkan "Agen Pendaftaran ADFS" ke bidang Nama tampilan Templat. Ini akan secara otomatis mengatur nama template ke "ADFSEnrollmentAgent".

  5. Pilih tab Keamanan, lalu pilih Tambahkan....

  6. Selanjutnya, pilih Jenis Objek..., lalu Akun Layanan, lalu OK.

  7. Masukkan nama akun layanan untuk AD FS dan pilih OK.

    • Dalam penyiapan AD FS yang terisolasi, akun layanan akan diberi nama "adfssvc$"
    • Jika Anda menyiapkan Layanan Federasi Direktori Aktif menggunakan Microsoft Entra Koneksi, akun layanan akan diberi nama "aadcsvc$"
  8. Setelah akun layanan ditambahkan dan terlihat di tab Keamanan, pilih di panel Nama grup atau pengguna, pilih Izinkan untuk "Daftar" dan "DaftarOtomatis" di panel Izin untuk akun layanan AD FS, lalu pilih OK untuk disimpan.

    A screenshot showing the security tab of the Enrollment Agent certificate template after it is properly configured.

Untuk memperbarui templat sertifikat agen pendaftaran yang sudah ada:

  1. Pada otoritas sertifikat, jalankan mmc.exe dari menu Mulai untuk meluncurkan Microsoft Management Console.
  2. Pilih File...>Tambah/Hapus Snap-in...>Template Sertifikat>Tambah >>>OK untuk menampilkan daftar template sertifikat.
  3. Perluas Templat Sertifikat,klik ganda templat yang sesuai dengan templat yang dikonfigurasi di server AD FS. Pada tab Umum, nama templat harus cocok dengan nama yang Anda temukan di atas.
  4. Pilih tab Keamanan, lalu pilih Tambahkan....
  5. Selanjutnya, pilih Jenis Objek..., lalu Akun Layanan, lalu OK.
  6. Masukkan nama akun layanan untuk AD FS dan pilih OK.
    • Dalam penyiapan AD FS yang terisolasi, akun layanan akan diberi nama "adfssvc$"
    • Jika Anda menyiapkan Layanan Federasi Direktori Aktif menggunakan Microsoft Entra Koneksi, akun layanan akan diberi nama "aadcsvc$"
  7. Setelah akun layanan ditambahkan dan terlihat di tab Keamanan, pilih di panel Nama grup atau pengguna, pilih Izinkan untuk "Daftar" dan "DaftarOtomatis" di panel Izin untuk akun layanan AD FS, lalu pilih OK untuk disimpan.

Membuat templat sertifikat Log Masuk Smartcard

Untuk membuat templat sertifikat Log Masuk Smartcard:

  1. Pada otoritas sertifikat, jalankan mmc.exe dari menu Mulai untuk meluncurkan Microsoft Management Console.

  2. Pilih Berkas...>Pasang/Snap-in Jarak Jauh...>Templat Sertifikat>Tambah>OK untuk menampilkan daftar templat sertifikat.

  3. Perluas Templat Sertifikat, klik kanan Masuk Smartcard dan pilih Templat Duplikat.

  4. Pilih tabUmum, lalu masukkan "ADFS SSO" ke dalam bidang Nama tampilan Templat. Ini akan secara otomatis mengatur nama templat ke "ADFSSSO".

    Catatan

    Karena sertifikat ini diminta sesuai permintaan, kami sarankan untuk mempersingkat masa berlaku menjadi 8 jam dan periode perpanjangan menjadi 1 jam.

  5. Pilih tab Nama subjek lalu pilih Pasokan dalam permintaan. Saat Anda melihat pesan peringatan, pilih OK.

    A screenshot showing the subject name tab of the SSO certificate template and what it should look like when properly configured.

  6. Pilih tab Persyaratan Penerbitan.

  7. Pilih Jumlah tanda tangan yang diotorisasi ini dan masukkan nilai 1.

    A screenshot showing the issuance requirements tab of the SSO certificate template and what it should look like when properly configured.

  8. Untuk kebijakan Aplikasi, pilih Agen Permintaan Sertifikat.

  9. Pilih tab Keamanan, lalu pilih Tambahkan....

  10. Pilih Tipe Objek..., Akun Layanan,dan OK.

  11. Masukkan nama akun layanan untuk AD FS seperti yang Anda lakukan di bagian Buat templat sertifikat agen pendaftaran.

    • Dalam penyiapan AD FS yang terisolasi, akun layanan akan diberi nama "adfssvc$"
    • Jika Anda menyiapkan Layanan Federasi Direktori Aktif menggunakan Microsoft Entra Koneksi, akun layanan akan diberi nama "aadcsvc$"
  12. Setelah akun layanan ditambahkan dan terlihat di tab Keamanan, pilih di panel Nama grup atau pengguna, pilih Izinkan untuk "Daftar" dan "Daftar Otomatis", lalu pilih OK untuk disimpan.

A screenshot showing the security tab of the SSO certificate template after it is properly configured.

Aktifkan templat sertifikat baru:

Untuk mengaktifkan templat sertifikat baru:

  1. Pada otoritas sertifikat, jalankan mmc.exe dari menu Mulai untuk meluncurkan Microsoft Management Console.

  2. Pilih File...>Tambah/Hapus Snap-in...>Otoritas Sertifikasi>Tambah >>>Selesaikan > dan OK untuk melihat Otoritas Sertifikasi.

  3. Perluas Otoritas Sertifikasi di panel sebelah kiri dan buka Templat Sertifikat.

  4. Klik kanan di panel tengah yang memperlihatkan daftar templat sertifikat, pilih Baru, lalu pilihTemplat Sertifikat untuk Diterbitkan.

  5. Pilih Agen Pendaftaran ADFS danADFS SSO, lalu pilih OK. Anda akan melihat kedua templat di panel tengah.

    A screenshot showing list of certificate templates that can be issued, including the new ADFS Enrollment Agent and ADFS SSO.

    Catatan

    Jika Anda sudah memiliki templat sertifikat agen pendaftaran yang dikonfigurasi, Anda hanya perlu menambahkan templat ADFS SSO.

Mengonfigurasi Server AD FS

Anda harus mengonfigurasi server Layanan Federasi Direktori Aktif (AD FS) untuk menggunakan templat sertifikat baru dan mengatur kepercayaan pihak yang mengandalkan untuk mendukung SSO.

Kepercayaan pihak yang mengandalkan antara server AD FS Anda dan layanan Azure Virtual Desktop memungkinkan permintaan sertifikat masuk tunggal diteruskan dengan benar ke lingkungan domain Anda.

Saat mengonfigurasi akses menyuluruh AD FS, Anda harus memilih kunci atau sertifikat bersama:

  • Jika Anda memiliki satu server AD FS, Anda dapat memilih kunci atau sertifikat bersama.
  • Jika Anda memiliki beberapa server Active Directory Federation Services, Anda harus memilih sertifikat.

Kunci atau sertifikat bersama yang digunakan untuk menghasilkan token untuk masuk ke Windows harus disimpan dengan aman di Azure Key Vault. Anda dapat menyimpan rahasia di Vault Kunci yang ada atau menggunakan yang baru. Dalam kedua kasus, Anda harus memastikan untuk menetapkan kebijakan akses yang tepat sehingga layanan Azure Virtual Desktop dapat mengaksesnya.

Saat menggunakan sertifikat, Anda dapat menggunakan sertifikat tujuan umum apa pun dan tidak ada persyaratan pada nama subjek atau Nama Alternatif Subjek (SAN). Meskipun tidak diperlukan, disarankan untuk membuat sertifikat yang dikeluarkan oleh Otoritas Sertifikat yang valid. Sertifikat ini dapat dibuat langsung di Azure Key Vault dan perlu memiliki kunci pribadi yang dapat diekspor. Kunci publik dapat diekspor dan digunakan untuk mengonfigurasi server AD FS menggunakan skrip di bawah ini. Perhatikan bahwa sertifikat ini berbeda dengan sertifikat AD FS SSL yang harus memiliki nama subjek yang tepat dan Otoritas Sertifikat yang valid.

Skrip PowerShell ConfigureWVDSSO.ps1 tersedia di Galeri PowerShell akan mengonfigurasi server AD FS Anda untuk kepercayaan pihak yang mengandalkan dan menginstal sertifikat jika diperlukan.

Skrip ini hanya memiliki satu parameter yang diperlukan, ADFSAuthority, yang merupakan URL yang menyelesaikan AD FS Anda dan menggunakan "/adfs" sebagai akhirannya. Contohnya, https://adfs.contoso.com/adfs.

  1. Pada AD FS VMs, jalankan cmdlet PowerShell berikut ini untuk mengonfigurasi AD FS untuk menggunakan templat sertifikat dari bagian sebelumnya:

    Set-AdfsCertificateAuthority -EnrollmentAgentCertificateTemplate "ADFSEnrollmentAgent" -LogonCertificateTemplate "ADFSSSO" -EnrollmentAgent
    

    Catatan

    Jika Anda sudah memiliki EnrollmentAgentCertificateTemplate dikonfigurasi, pastikan Anda menggunakan nama templat yang ada daripada ADFSEnrollmentAgent.

  2. Jalankan skrip ConfigureWVDSSO.ps1.

    Catatan

    Anda memerlukan $config nilai variabel untuk menyelesaikan bagian berikutnya dari instruksi, jadi jangan tutup jendela PowerShell yang Anda gunakan untuk menyelesaikan instruksi sebelumnya. Anda dapat tetap menggunakan jendela PowerShell yang sama atau membiarkannya terbuka saat meluncurkan sesi PowerShell baru.

    • Jika Anda menggunakan kunci bersama di Key Vault, jalankan cmdlet PowerShell berikut di server AD FS dengan ADFSServiceUrl diganti dengan URL lengkap untuk menjangkau layanan AD FS Anda:

      Install-Script ConfigureWVDSSO
      $config = ConfigureWVDSSO.ps1 -ADFSAuthority "<ADFSServiceUrl>" [-WvdWebAppAppIDUri "<WVD Web App URI>"] [-RdWebURL "<RDWeb URL>"]
      

      Catatan

      Anda memerlukan properti WvdWebAppAppIDUri dan RdWebURL untuk mengonfigurasi lingkungan di sovereign cloud seperti Azure Government. Di Azure Commercial Cloud, properti ini secara otomatis diatur ke https://www.wvd.microsoft.com dan https://rdweb.wvd.microsoft.com masing-masing.

    • Jika Anda menggunakan sertifikat di Key Vault, jalankan cmdlet PowerShell berikut di server AD FS dengan ADFSServiceUrl diganti dengan URL lengkap untuk menjangkau layanan AD FS Anda:

      Install-Script ConfigureWVDSSO
      $config = ConfigureWVDSSO.ps1 -ADFSAuthority "<ADFSServiceUrl>" -UseCert -CertPath "<Path to the pfx file>" -CertPassword <Password to the pfx file> [-WvdWebAppAppIDUri "<WVD Web App URI>"] [-RdWebURL "<RDWeb URL>"]
      

      Catatan

      Anda memerlukan properti WvdWebAppAppIDUri dan RdWebURL untuk mengonfigurasi lingkungan di sovereign cloud seperti Azure Government. Di Azure Commercial Cloud, properti ini secara otomatis diatur ke https://www.wvd.microsoft.com dan https://rdweb.wvd.microsoft.com masing-masing.

  3. Atur kebijakan akses pada Azure Key Vault dengan menjalankan cmdlet PowerShell berikut ini:

    Set-AzKeyVaultAccessPolicy -VaultName "<Key Vault Name>" -ServicePrincipalName 9cdead84-a844-4324-93f2-b2e6bb768d07 -PermissionsToSecrets get -PermissionsToKeys sign
    
  4. Simpan kunci atau sertifikat bersama di Azure Key Vault dengan Tag yang berisi daftar koma yang dipisahkan dari ID langganan yang diizinkan untuk menggunakan rahasia tersebut.

    • Jika Anda menggunakan kunci bersama di Vault Kunci, jalankan cmdlet PowerShell berikut untuk menyimpan kunci bersama dan atur tag:

      $hp = Get-AzWvdHostPool -Name "<Host Pool Name>" -ResourceGroupName "<Host Pool Resource Group Name>" 
      $secret = Set-AzKeyVaultSecret -VaultName "<Key Vault Name>" -Name "adfsssosecret" -SecretValue (ConvertTo-SecureString -String $config.SSOClientSecret  -AsPlainText -Force) -Tag @{ 'AllowedWVDSubscriptions' = $hp.Id.Split('/')[2]}
      
    • Jika sertifikat Anda sudah berada di Key Vault, jalankan cmdlet PowerShell berikut ini untuk mengatur tag:

      $hp = Get-AzWvdHostPool -Name "<Host Pool Name>" -ResourceGroupName "<Host Pool Resource Group Name>"
      $secret = Update-AzKeyVaultCertificate -VaultName "<Key Vault Name>" -Name "<Certificate Name>" -Tag @{ 'AllowedWVDSubscriptions' = $hp.Id.Split('/')[2]} -PassThru
      
    • Jika Anda memiliki sertifikat lokal, jalankan cmdlet PowerShell berikut ini untuk mengimpor sertifikat di Key Vault dan atur tag:

      $hp = Get-AzWvdHostPool -Name "<Host Pool Name>" -ResourceGroupName "<Host Pool Resource Group Name>" 
      $secret = Import-AzKeyVaultCertificate -VaultName "<Key Vault Name>" -Name "adfsssosecret" -Tag @{ 'AllowedWVDSubscriptions' = $hp.Id.Split('/')[2]} -FilePath "<Path to pfx>" -Password (ConvertTo-SecureString -String "<pfx password>"  -AsPlainText -Force)
      

Catatan

Anda dapat secara opsional mengonfigurasi seberapa sering pengguna dimintai kredensial dengan mengubah pengaturan akses menyeluruh AD FS. Secara default, pengguna akan diminta setiap 8 jam pada perangkat yang tidak terdaftar.

Mengonfigurasi kumpulan host Azure Virtual Desktop Anda

Saatnya mengonfigurasi parameter AD FS SSO di kumpulan host Azure Virtual Desktop Anda. Untuk melakukan ini, siapkan lingkungan PowerShell Anda untuk Azure Virtual Desktop jika Anda belum melakukannya dan tersambung ke akun Anda.

Setelah itu, perbarui informasi SSO untuk kumpulan host Anda dengan menjalankan salah satu dari dua cmdlet berikut di jendela PowerShell yang sama pada AD FS VM:

  • Jika Anda menggunakan kunci bersama di Key Vault, jalankan cmdlet PowerShell berikut ini:

    Update-AzWvdHostPool -Name "<Host Pool Name>" -ResourceGroupName "<Host Pool Resource Group Name>" -SsoadfsAuthority "<ADFSServiceUrl>" -SsoClientId "<WVD Web App URI>" -SsoSecretType SharedKeyInKeyVault -SsoClientSecretKeyVaultPath $secret.Id
    

    Catatan

    Anda perlu mengatur properti SsoClientId agar sesuai dengan cloud Azure tempat Anda menerapkan SSO. Di Azure Commercial Cloud, properti ini harus diatur ke https://www.wvd.microsoft.com. Namun, pengaturan yang diperlukan untuk properti ini akan berbeda untuk cloud lain, seperti cloud Azure Government.

  • Jika Anda menggunakan sertifikat di Key Vault, jalankan cmdlet PowerShell berikut ini:

    Update-AzWvdHostPool -Name "<Host Pool Name>" -ResourceGroupName "<Host Pool Resource Group Name>" -SsoadfsAuthority "<ADFSServiceUrl>" -SsoClientId "<WVD Web App URI>" -SsoSecretType CertificateInKeyVault -SsoClientSecretKeyVaultPath $secret.Id
    

    Catatan

    Anda perlu mengatur properti SsoClientId agar sesuai dengan cloud Azure tempat Anda menerapkan SSO. Di Azure Commercial Cloud, properti ini harus diatur ke https://www.wvd.microsoft.com. Namun, pengaturan yang diperlukan untuk properti ini akan berbeda untuk cloud lain, seperti cloud Azure Government.

Mengonfigurasi kumpulan host tambahan

Ketika Anda perlu mengonfigurasi kumpulan host tambahan, Anda dapat mengambil pengaturan yang Anda gunakan untuk mengonfigurasi kumpulan host yang ada untuk mengatur yang baru.

Untuk mengambil pengaturan dari kumpulan host yang ada, buka jendela PowerShell dan jalankan cmdlet ini:

Get-AzWvdHostPool -Name "<Host Pool Name>" -ResourceGroupName "<Host Pool Resource Group Name>" | fl *

Anda dapat mengikuti langkah-langkah untuk Mengonfigurasi kumpulan host Azure Virtual Desktop Anda menggunakan SsoClientIdyang sama, SsoClientSecretKeyVaultPath,SsoSecretType,dan SsoadfsAuthority.

Menghapus SSO

Untuk menonaktifkan SSO di kumpulan host, jalankan cmdlet berikut:

Update-AzWvdHostPool -Name "<Host Pool Name>" -ResourceGroupName "<Host Pool Resource Group Name>" -SsoadfsAuthority ''

Jika Anda juga ingin menonaktifkan SSO di server AD FS, jalankan cmdlet ini:

Install-Script UnConfigureWVDSSO
UnConfigureWVDSSO.ps1 -WvdWebAppAppIDUri "<WVD Web App URI>" -WvdClientAppApplicationID "a85cf173-4192-42f8-81fa-777a763e6e2c"

Catatan

Properti WvdWebAppAppIDUri harus cocok dengan cloud Azure yang Anda terapkan. Di Azure Commercial Cloud, properti ini adalah https://www.wvd.microsoft.com. Ini akan berbeda untuk cloud lain seperti cloud Azure Government.

Langkah berikutnya

Setelah mengonfigurasi akses menyeluruh, Anda dapat masuk ke klien Azure Virtual Desktop yang didukung untuk mengujinya sebagai bagian dari sesi pengguna. Jika Anda ingin mempelajari cara menyambungkan ke sesi menggunakan info masuk baru Anda, lihat artikel berikut ini: