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.

  1. Menggunakan alat manajemen AD FS, buka Layanan > Deskripsi klaim.

    1. Pilih Tambahkan deskripsi klaim.

    2. 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

    3. Pilih OK.

  2. Menggunakan alat AD FS Management, pilih Relasi Kepercayaan >Kepercayaan Pihak Pengandal.

    1. Pilih Tambahkan kepercayaan pihak pengandal.

    2. Selamat Datang: pilih Mulai.

    3. Pilih Sumber Data: Pilih secara manual memasukkan data tentang pihak pengandal, lalu pilih berikutnya.

    4. Tetapkan nama tampilan: masukkan nama, lalu pilih berikutnya. Contoh: https://portal.contoso.com/

    5. Pilih Profil: Pilih profil AD FS 2.0, lalu pilih berikutnya.

    6. Konfigurasikan sertifikat: pilih berikutnya.

    7. 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:

    8. 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.

    9. Pilih aturan otorisasi penerbitan: Pilih memungkinkan semua pengguna untuk mengakses pihak pengandal ini, lalu pilih berikutnya.

    10. Siap untuk menambahkan kepercayaan: pilih berikutnya.

    11. Pilih tutup.

  3. 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=&lt;URL encoded RPID&gt;&RelayState=&lt;URL encoded RelayState&gt;. Seluruh string ini sekali lagi dikodekan dan ditambahkan ke wadah lain format <https://adfs.contoso.com/adfs/ls/idpinitiatedsignon.aspx?RelayState=&lt;URL> encoded RPID/RelayState&gt;.

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 mendapatkan ReturnUrl%3D%2Fcontent%2Fsub-content%2F.

  • Kodekan nilai https://portal.contoso.com/ untuk mendapatkan https%3A%2F%2Fportal.contoso.com%2F.

  • Kodekan nilai RPID=https%3A%2F%2Fportal.contoso.com%2F&RelayState=ReturnUrl%3D%2Fcontent%2Fsub-content%2F untuk mendapatkan RPID%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).