Mengonfigurasi sebuah penyedia SAML 2.0 untuk portal dengan AD FS
Catatan
Mulai 12 Oktober 2022, portal Power Apps menjadi Power Pages. Informasi selengkapnya: Microsoft Power Pages kini tersedia secara umum (blog)
Kami akan segera memigrasikan dan menggabungkan dokumentasi portal Power Apps dengan dokumentasi Power Pages.
Penting
Langkah-langkah untuk konfigurasi Active Directory Federation Services (AD FS) dapat bervariasi tergantung pada versi server AD FS Anda.
Membuat kepercayaan pihak pengandal AD FS
Catatan
Lihat Mengonfigurasi AD FS dengan menggunakan PowerShell, untuk informasi tentang cara untuk melakukan langkah-langkah ini dalam script PowerShell.
Menggunakan alat manajemen AD FS, buka Layanan > Deskripsi klaim.
Pilih Tambahkan deskripsi klaim.
Tentukan klaim:
Nama tampilan:pengidentifikasi terus-menerus
Pengidentifikasi Klaim:urn:oasis:names:tc:SAML:2.0:nameid-format:persistent
Aktifkan kotak centang untuk: menerbitkan Deskripsi klaim ini dalam metadata Federasi sebagai jenis klaim yang dapat diterima Layanan Federasi ini
Aktifkan kotak centang untuk: menerbitkan Deskripsi klaim ini dalam metadata Federasi sebagai jenis klaim yang dapat dikirim Layanan Federasi ini
Pilih OK.
Menggunakan alat AD FS Management, pilih Relasi Kepercayaan >Kepercayaan Pihak Pengandal.
Pilih Tambahkan kepercayaan pihak pengandal.
Selamat Datang: pilih Mulai.
Pilih Sumber Data: Pilih secara manual memasukkan data tentang pihak pengandal, lalu pilih berikutnya.
Tetapkan nama tampilan: masukkan nama, lalu pilih berikutnya. Contoh: https://portal.contoso.com/
Pilih Profil: Pilih profil AD FS 2.0, lalu pilih berikutnya.
Konfigurasikan sertifikat: pilih berikutnya.
Konfigurasikan URL: pilih kotak centang Aktifkan dukungan untuk protokol 2.0 SAML WebSSO. Pihak pengandal URL Layanan SAML 2.0 SSO: masukkan https://portal.contoso.com/signin-saml2
Harap diketahui bahwa AD FS memerlukan portal berjalan pada HTTPS.Catatan
Titik akhir yang dihasilkan memiliki pengaturan berikut:
- Jenis titik akhir:titik akhir konsumsi pernyataan SAML
- Ikatan:POST
- Indeks: t/a (0)
- URL: https://portal.contoso.com/signin-saml2
Konfigurasikan Identitas: Masukkan
https://portal.contoso.com/
, pilih Tambah, lalu pilih Berikutnya. Jika berlaku, Anda dapat menambahkan identitas lainnya untuk setiap tambahan portal pihak pengandal. Pengguna dapat mengautentikasi di setiap atau semua identitas yang tersedia.Pilih aturan otorisasi penerbitan: Pilih memungkinkan semua pengguna untuk mengakses pihak pengandal ini, lalu pilih berikutnya.
Siap untuk menambahkan kepercayaan: pilih berikutnya.
Pilih tutup.
Tambahkan klaim ID nama pada kepercayaan pihak pengandal:
UbahWindows nama account menjadi klaim ID nama (mengubah klaim masuk):
Jenis klaim Masuk:Windows nama account Windows
Jenis klaim keluar: ID nama
Format ID nama Keluar: pengidentifikasi terus-menerus
Melewati semua nilai klaim
Mengkonfigurasi penyedia SAML 2.0
Setelah menyiapkan kepercayaan pihak yang mengandalkan Layanan Federasi Direktori Aktif, Anda dapat mengikuti langkah-langkah dalam Mengonfigurasi penyedia SAML 2.0 untuk portal.
Masuk dengan penyedia identitas yang–diinisiasi
AD FS mendukung profil akses terusan (SSO)–yang dimulai penyedia identitas dari spesifikasi SAML 2.0. Agar portal (penyedia layanan) merespons dengan baik untuk permintaan SAML yang dimulai oleh penyedia identitas, parameter RelayState harus dikodekan dengan benar.
Nilai string dasar untuk dikodekan ke dalam parameter SAML RelayState harus dalam format ReturnUrl=/content/sub-content/
, di mana /content/sub-content/
adalah path ke halaman web yang ingin Anda buka di Portal (penyedia layanan). Jalur dapat digantikan oleh halaman web manapun yang berlaku pada portal. Nilai string dikodekan dan ditempatkan ke dalam sebuah wadah string format RPID=<URL encoded RPID>&RelayState=<URL encoded RelayState>
. Seluruh string ini sekali lagi dikodekan dan ditambahkan ke wadah lain format <https://adfs.contoso.com/adfs/ls/idpinitiatedsignon.aspx?RelayState=<URL> encoded RPID/RelayState>
.
Sebagai contoh, dengan jalur penyedia layanan /content/sub-content/
dan ID pihak pengandal https://portal.contoso.com/
, bangun URL dengan langkah-langkah berikut:
Kodekan nilai
ReturnUrl=/content/sub-content/
untuk mendapatkanReturnUrl%3D%2Fcontent%2Fsub-content%2F
.Kodekan nilai
https://portal.contoso.com/
untuk mendapatkanhttps%3A%2F%2Fportal.contoso.com%2F
.Kodekan nilai
RPID=https%3A%2F%2Fportal.contoso.com%2F&RelayState=ReturnUrl%3D%2Fcontent%2Fsub-content%2F
untuk mendapatkanRPID%3Dhttps%253A%252F%252Fportal.contoso.com%252F%26RelayState%3DReturnUrl%253D%252Fcontent%252Fsub-content%252F
.Tambahkan jalur SSOpenyedia identitas AD FS yang diinisiasi–untuk mendapatkan URL terakhir
https://adfs.contoso.com/adfs/ls/idpinitiatedsignon.aspx?RelayState=RPID%3Dhttps%253A%252F%252Fportal.contoso.com%252F%26RelayState%3DReturnUrl%253D%252Fcontent%252Fsub-content%252F
Anda dapat menggunakan skrip PowerShell berikut untuk membangun URL. Simpan skrip ke file bernama Get-IdPInitiatedUrl.ps1.
<#
.SYNOPSIS
Constructs an IdP-initiated SSO URL to access a portal page on the service provider.
.PARAMETER path
The path to the portal page.
.PARAMETER rpid
The relying party identifier.
.PARAMETER adfsPath
The AD FS IdP initiated SSO page.
.EXAMPLE
PS C:\\> .\\Get-IdPInitiatedUrl.ps1 -path "/content/sub-content/" -rpid "https://portal.contoso.com/" -adfsPath "https://adfs.contoso.com/adfs/ls/idpinitiatedsignon.aspx"
#>
param
(
[parameter(mandatory=$true,position=0)]
$path,
[parameter(mandatory=$true,position=1)]
$rpid,
[parameter(position=2)]
$adfsPath = https://adfs.contoso.com/adfs/ls/idpinitiatedsignon.aspx
)
$state = ReturnUrl=$path
$encodedPath = [uri]::EscapeDataString($state)
$encodedRpid = [uri]::EscapeDataString($rpid)
$encodedPathRpid = [uri]::EscapeDataString("RPID=$encodedRpid&RelayState=$encodedPath")
$idpInitiatedUrl = {0}?RelayState={1} -f $adfsPath, $encodedPathRpid
Write-Output $idpInitiatedUrl
Mengkonfigurasi AD FS dengan menggunakan PowerShell
Proses menambahkan kepercayaan pihak mengandalkan AD FS juga dapat dilakukan dengan menjalankan skrip PowerShell berikut pada server AD FS. Simpan skrip ke file bernama Add-AdxPortalRelyingPartyTrustForSaml.ps1. Setelah menjalankan script, lanjutkan dengan mengkonfigurasi pengaturan situs portal.
<#
.SYNOPSIS
Adds a SAML 2.0 relying party trust entry for a website.
.PARAMETER domain
The domain name of the portal.
.EXAMPLE
PS C:\\> .\\Add-AdxPortalRelyingPartyTrustForSaml.ps1 -domain portal.contoso.com
#>
param
(
[parameter(Mandatory=$true,Position=0)]
$domain,
[parameter(Position=1)]
$callbackPath = /signin-saml2
)
$VerbosePreference = Continue
$ErrorActionPreference = Stop
Import-Module adfs
Function Add-CrmRelyingPartyTrust
{
param (
[parameter(Mandatory=$true,Position=0)]
$name
)
$identifier = https://{0}/ -f $name
$samlEndpoint = New-ADFSSamlEndpoint -Binding POST -Protocol SAMLAssertionConsumer -Uri (https://{0}{1} -f $name, $callbackPath)
$identityProviderValue = Get-ADFSProperties | % { $_.Identifier.AbsoluteUri }
$issuanceTransformRules = @'
@RuleTemplate = MapClaims
@RuleName = Transform [!INCLUDE[pn-ms-windows-short](../../../includes/pn-ms-windows-short.md)] Account Name to Name ID claim
c:[Type == "https://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname"]
=> issue(Type = "https://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier", Issuer = c.Issuer, OriginalIssuer = c.OriginalIssuer, Value = c.Value, ValueType = c.ValueType, Properties["https://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/format"] = "urn:oasis:names:tc:SAML:2.0:nameid-format:persistent");
@RuleTemplate = LdapClaims
@RuleName = Send LDAP Claims
c:[Type == "https://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"]
=> issue(store = "[!INCLUDE[pn-active-directory](../../../includes/pn-active-directory.md)]", types = ("https://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname", "https://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname", "https://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"), query = ";givenName,sn,mail;{{0}}", param = c.Value);
'@ -f $identityProviderValue
$issuanceAuthorizationRules = @'
@RuleTemplate = AllowAllAuthzRule
=> issue(Type = https://schemas.microsoft.com/authorization/claims/permit, Value = true);
'@
Add-ADFSRelyingPartyTrust -Name $name -Identifier $identifier -SamlEndpoint $samlEndpoint -IssuanceTransformRules $issuanceTransformRules -IssuanceAuthorizationRules $issuanceAuthorizationRules
}
# add the 'Identity Provider' claim description if it is missing
[!INCLUDE[cc-pages-ga-banner](../../../includes/cc-pages-ga-banner.md)]
if (-not (Get-ADFSClaimDescription | ? { $_.Name -eq Persistent Identifier })) {
Add-ADFSClaimDescription -name "Persistent Identifier" -ClaimType "urn:oasis:names:tc:SAML:2.0:nameid-format:persistent" -IsOffered:$true -IsAccepted:$true
}
# add the portal relying party trust
[!INCLUDE[cc-pages-ga-banner](../../../includes/cc-pages-ga-banner.md)]
Add-CrmRelyingPartyTrust $domain
Mengonfigurasi penyedia SAML 2.0
Setelah mengonfigurasi kepercayaan pihak yang mengandalkan AD FS, Anda dapat mengikuti langkah-langkah dalam Mengonfigurasi penyedia SAML 2.0 untuk portal.
Baca juga
Mengonfigurasi penyedia SAML 2.0 untuk portal dengan Microsoft Azure Active Directory
Pertanyaan Umum untuk menggunakan SAML 2.0 di portal
Mengonfigurasi penyedia SAML 2.0 untuk portal
Catatan
Apa bahasa dokumentasi yang Anda inginkan? Lakukan survei singkat. (perlu diketahui bahwa survei ini dalam bahasa Inggris)
Survei akan berlangsung kurang lebih selama tujuh menit. Tidak ada data pribadi yang dikumpulkan (pernyataan privasi).