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:
Pada otoritas sertifikat, jalankan mmc.exe dari menu Mulai untuk meluncurkan Microsoft Management Console.
Pilih File...>Tambah/Hapus Snap-in...>Template Sertifikat>Tambah >>>OK untuk menampilkan daftar template sertifikat.
Perluas Templat Sertifikat,klik kanan Agen Pendaftaran Exchange (Permintaan Offline) dan pilih Templat Duplikat.
Pilih tab Umum, lalu masukkan "Agen Pendaftaran ADFS" ke bidang Nama tampilan Templat. Ini akan secara otomatis mengatur nama template ke "ADFSEnrollmentAgent".
Pilih tab Keamanan, lalu pilih Tambahkan....
Selanjutnya, pilih Jenis Objek..., lalu Akun Layanan, lalu OK.
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$"
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.
Untuk memperbarui templat sertifikat agen pendaftaran yang sudah ada:
- Pada otoritas sertifikat, jalankan mmc.exe dari menu Mulai untuk meluncurkan Microsoft Management Console.
- Pilih File...>Tambah/Hapus Snap-in...>Template Sertifikat>Tambah >>>OK untuk menampilkan daftar template sertifikat.
- 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.
- Pilih tab Keamanan, lalu pilih Tambahkan....
- Selanjutnya, pilih Jenis Objek..., lalu Akun Layanan, lalu OK.
- 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$"
- 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:
Pada otoritas sertifikat, jalankan mmc.exe dari menu Mulai untuk meluncurkan Microsoft Management Console.
Pilih Berkas...>Pasang/Snap-in Jarak Jauh...>Templat Sertifikat>Tambah>OK untuk menampilkan daftar templat sertifikat.
Perluas Templat Sertifikat, klik kanan Masuk Smartcard dan pilih Templat Duplikat.
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.
Pilih tab Nama subjek lalu pilih Pasokan dalam permintaan. Saat Anda melihat pesan peringatan, pilih OK.
Pilih tab Persyaratan Penerbitan.
Pilih Jumlah tanda tangan yang diotorisasi ini dan masukkan nilai 1.
Untuk kebijakan Aplikasi, pilih Agen Permintaan Sertifikat.
Pilih tab Keamanan, lalu pilih Tambahkan....
Pilih Tipe Objek..., Akun Layanan,dan OK.
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$"
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.
Aktifkan templat sertifikat baru:
Untuk mengaktifkan templat sertifikat baru:
Pada otoritas sertifikat, jalankan mmc.exe dari menu Mulai untuk meluncurkan Microsoft Management Console.
Pilih File...>Tambah/Hapus Snap-in...>Otoritas Sertifikasi>Tambah >>>Selesaikan > dan OK untuk melihat Otoritas Sertifikasi.
Perluas Otoritas Sertifikasi di panel sebelah kiri dan buka Templat Sertifikat.
Klik kanan di panel tengah yang memperlihatkan daftar templat sertifikat, pilih Baru, lalu pilihTemplat Sertifikat untuk Diterbitkan.
Pilih Agen Pendaftaran ADFS danADFS SSO, lalu pilih OK. Anda akan melihat kedua templat di panel tengah.
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
.
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.
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
danhttps://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
danhttps://rdweb.wvd.microsoft.com
masing-masing.
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
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: