Applies ToSharePoint Foundation 2013 SharePoint Server 2013

Gejala

Pertimbangkan skenario berikut:

  • Anda menggunakan autentikasi klaim Windows (melalui Windows Challenge/response [NTLM] atau Kerberos) di aplikasi web Microsoft SharePoint Server 2013.

  • Anda memutuskan untuk beralih ke klaim penyedia tepercaya dengan menggunakan penyedia berbasis Application Markup Language (SAML) yang aman seperti Active Directory Federation Services (AD FS).

  • Anda meninjau langkah-langkah dalam migrasi klaim autentikasi Windows untuk autentikasi klaim berbasis SAML dalam topik SharePoint Server 2013 di situs web Microsoft Developer Network (MSDN).

  • Anda menjalankan perintah berikut:

    Konversi-SPWebApplication-id $wa-untuk klaim-TRUSTED-DEFAULT-dari klaim-WINDOWS-TrustedProvider $tp-SourceSkipList $csv-RetainPermissions

Dalam skenario ini, Anda menerima pesan kesalahan berikut:

Autentikasi klaim berbasis SAML tidak kompatibel.

Penyebab

Masalah ini terjadi karena penerbit token identitas tepercaya tidak dibuat menggunakan konfigurasi default. Konfigurasi default harus digunakan untuk perintah konversi-SPWebApplication agar berfungsi dengan benar. Perintah konversi -SPWebApplication memerlukan konfigurasi khusus untuk penyedia tepercaya agar kompatibel dengan konversi dari Windows yang mengklaim ke SAML atau sebaliknya. Khususnya, penerbit token identitas tepercaya harus dibuat menggunakan parameter Usedefaultconfiguration dan IdentifierClaimIs . Anda dapat memeriksa apakah penerbit token identitas tepercaya Anda dibuat dengan menggunakan parameter Usedefaultconfiguration dengan menjalankan skrip Windows PowerShell berikut ini.Catatan: Skrip ini mengasumsikan bahwa Anda hanya memiliki satu penyedia identitas tepercaya yang dibuat di dalam Farm saat ini.

$tp = Get-SPTrustedIdentityTokenIssuer$tp.claimtypes 

Tipe klaim yang harus dihasilkan skrip ini adalah sebagai berikut:

  • http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname

  • http://schemas.microsoft.com/ws/2008/06/identity/claims/primarysid

  • http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid

  • http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress

  • http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn

#Get the Identity claim:$tp = Get-SPTrustedIdentityTokenIssuer$tp.IdentityClaimTypeInformation 

Klaim identitas harus salah satu hal berikut:

  • WindowAccountName

  • EmailAddress

  • UPN

Contoh output untuk $tp. Identitasclaimtypeinformation: DisplayName: email InputClaimType: http://schemas.xmlsoap.org/WS/2005/05/Identity/Claims/EmailAddressmappedclaimtype: http://schemas.xmlsoap.org/WS/2005/05/Identity/Claims/EmailAddress#IsIdentityClaim : True harus ada penyedia klaim kustom dengan nama yang sama seperti penerbit token, dan harus tipe Sptrustedbackedbyactivedirectoryclaimprovider. Jalankan ini untuk melihat apakah penyedia klaim ada dan kompatibel:

 $tp = Get-SPTrustedIdentityTokenIssuer$name = $tp.name$cp = Get-SPClaimProvider $nameif($cp.typename -match "SPTrustedBackedByActiveDirectoryClaimProvider"){write-host "Claim provider is present and has TypeName of " $cp.typename " it should be valid"}else{write-host "Claim provider is not present. Trusted Identity Token Issuer" $tp.name " is not compatible with convert-spwebapplication"}

Pemecahan Masalah

Untuk mengatasi masalah ini, Hapus dan buat ulang penerbit token identitas tepercaya. Untuk melakukannya, ikuti langkah-langkah berikut:

  1. Jalankan skrip berikut ini:

    $tp = Get-SPTrustedIdentityTokenIssuer$tp | fl$tp.name$tp.IdentityClaimTypeInformation

    Buat salinan output skrip ini untuk referensi mendatang. Khususnya, kita memerlukan nilai untuk properti Name sehingga penerbit token baru dapat dibuat dengan menggunakan nama yang sama, dan kita memerlukan klaim identitas sehingga penyedia klaim baru dapat dibuat dengan menggunakan klaim identitas yang sama. Selama nama yang sama digunakan untuk penerbit token dan klaim yang sama digunakan sebagai klaim identitas, semua pengguna akan mempertahankan izinnya di dalam aplikasi web setelah penerbit token dibuat kembali.

  2. Hapus penyedia identitas tepercaya saat ini dari penyedia autentikasi untuk aplikasi web apa pun yang saat ini menggunakannya.

  3. Hapus penerbit token dengan menjalankan perintah berikut:

    Remove-SPTrustedIdentityTokenIssuer -Identity "TheNameOfYourTokenIssuer"
  4. Membuat ulang penerbit Token. Untuk melakukannya, ikuti langkah-langkah dalam topik menerapkan autentikasi berbasis SAML di SharePoint Server 2013 di situs web Microsoft TechNet untuk informasi selengkapnya.Penting Saat Anda menjalankan perintah baru-Sptrustedidentitytokenemiten , Anda harus menggunakan parameter usedefaultconfiguration dan IdentifierClaimIs . Parameter Usedefaultconfiguration hanyalah Sakelar. Nilai yang mungkin untuk parameter IdentifierClaimIs adalah sebagai berikut:

    • NAMA AKUN

    • Alamat

    • USER-PRINCIPAL-NAME

    Contoh skrip:

    $ap = New-SPTrustedIdentityTokenIssuer -Name $tokenIdentityProviderName -Description $TrustedIdentityTokenIssuerDescription -realm $siteRealm -ImportTrustCertificate $adfsCert-SignInUrl $signInUrl -UseDefaultConfiguration -IdentifierClaimIs EMAIL -RegisteredIssuerName $siteRealm
  5. Di administrasi pusat, tambahkan penerbit token identitas tepercaya Anda kembali ke penyedia autentikasi untuk aplikasi web yang ingin Anda konversi. Aplikasi web harus memiliki autentikasi Windows dan penyedia identitas target tepercaya yang dipilih.

Informasi Selengkapnya

Tips tambahan untuk konversi yang berhasil: jika nilai EMAIL digunakan untuk klaim pengidentifikasi (yaitu, untuk parameter IdentifierClaimIs ), hanya pengguna yang alamat emailnya yang dihuni dalam direktori aktif akan dikonversi. Semua akun pengguna yang tercantum dalam file. CSV yang ditentukan dalam parameter Sourceskiplist tidak akan DIKONVERSI menjadi SAML. Untuk konversi dari Windows yang mengklaim SAML, nama akun pengguna dapat dicantumkan dengan atau tanpa notasi klaim. Misalnya, baik "contoso\user1" atau "i:0 #. w | contoso\user1" dapat diterima. Anda harus menambahkan ke file. CSV apa pun akun pengguna yang tidak ingin dikonversi. Ini harus menyertakan akun layanan dan akun administrator.

Perlu bantuan lainnya?

Ingin opsi lainnya?

Jelajahi manfaat langganan, telusuri kursus pelatihan, pelajari cara mengamankan perangkat Anda, dan banyak lagi.

Komunitas membantu Anda bertanya dan menjawab pertanyaan, memberikan umpan balik, dan mendengar dari para ahli yang memiliki pengetahuan yang luas.