轉換 SPWebApplication 指令無法從 Windows 的宣告,來在 SharePoint 伺服器 2013 SAML 轉換

請注意--重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,且可能由 Microsoft Community 利用 Community Translation Framework技術或人工進行事後編修。翻譯過程並無專業譯者參與。Microsoft 同時提供使用者人為翻譯、機器翻譯及社群編修後的機器翻譯三種版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,所有翻譯文章都可能不盡完美,內容都可能出現詞彙、語意或文法上的錯誤。就翻譯內容之不正確或錯誤,或客戶因使用翻譯內容所產生的任何損害,微軟不負擔任何責任。Microsoft將依合理的商業努力不斷地更新機器翻譯軟體和工具,以期能為使用者提供更好的服務。

按一下這裡查看此文章的英文版本:3042604
徵狀
請考慮下列情況:
  • 您可以使用 Windows 宣告驗證 (透過 「 Windows 挑戰/回應 [NTLM] 或 Kerberos) Microsoft SharePoint 伺服器 2013 web 應用程式中。
  • 您決定要使用安全的應用程式標記語言 SAML 基礎提供者,例如 Active Directory 聯盟服務 (AD FS) 切換到 [受信任的提供者的宣告。
  • 您可以檢閱中的步驟 移轉 Windows 宣告在 SharePoint 伺服器 2013 SAML 為基礎的宣告驗證的驗證 在 Microsoft 開發人員網路 (MSDN) 網站上的主題。
  • 您執行下列命令:

    轉換 SPWebApplication-id $wa-若要宣告信任預設的-從宣告 WINDOWS TrustedProvider $tp-SourceSkipList $csv-RetainPermissions

在這個案例中,您會收到下列錯誤訊息:

基礎的 SAML 宣告驗證不相容。

發生的原因
之所以發生這個問題,是因為無法建立受信任的識別語彙基元發行者使用預設的組態。預設的組態必須用於轉換 SPWebApplication命令,才能正常運作。

轉換 SPWebApplication命令會需要特定的組態,受信任提供者讓它能夠從 Windows 宣告或 SAML 轉換相容。

具體來說,必須建立信任識別語彙基元發行者使用的UseDefaultConfigurationIdentifierClaimIs參數。

您可以檢查是否使用UseDefaultConfiguration參數,藉由執行下列的 Windows PowerShell 指令碼來建立您信任的識別語彙基元發行者。

注意這些指令碼會假設您有只能有一個受信任的身份識別提供者會建立在目前的伺服陣列。

$tp = Get-SPTrustedIdentityTokenIssuer$tp.claimtypes 

這個指令碼應該輸出宣告類型如下所示:
  • 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/電子郵件位址
  • http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn


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



識別宣告必須是下列其中一項:
  • WindowAccountName
  • 電子郵件位址
  • UPN

基於 $tp 範例輸出IdentityClaimTypeInformation:
顯示名稱: 電子郵件
InputClaimType: http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
MappedClaimType: http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress#IsIdentityClaim : 則為 true


應該具有相同的名稱語彙基元發行者,為自訂宣告提供者,它必須是型別SPTrustedBackedByActiveDirectoryClaimProvider
執行此程序宣告的提供者存在且相容:

 $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"}

解決方案
若要解決這個問題,請刪除並重新建立信任的識別語彙基元發行者。若要執行這項操作,請依照下列步驟執行:
  1. 執行下列指令碼:

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

    製作一份供日後參考這段指令碼的輸出。特別的是,我們需要值的 [名稱] 屬性,使您可以建立新的語彙基元發出者使用相同的名稱,我們需要識別宣告,以便使用相同的識別宣告也可以建立新的 「 宣告 」 提供者。只要語彙基元發出者使用相同的名稱,同一個宣告做為識別宣告,所有使用者將會在重新建立語彙基元發出者之後都維護 web 應用程式中的與其權限。

  2. 任何目前正在使用它的 web 應用程式移除驗證提供者目前的信任身分識別提供者。
  3. 刪除語彙基元發行者,藉由執行下列命令:

    Remove-SPTrustedIdentityTokenIssuer -Identity "TheNameOfYourTokenIssuer"

  4. 重新建立語彙基元發行者。如果要執行這項操作,請依照下列中的步驟 在 SharePoint 伺服器 2013年實作 SAML 為基礎的驗證 如需詳細資訊的 Microsoft TechNet 網站上的主題。

    重要 當您執行 新 SPTrustedIdentityTokenIssuer 命令,您必須使用 UseDefaultConfigurationIdentifierClaimIs 參數。的 UseDefaultConfiguration 參數是切換開關。請盡量值 IdentifierClaimIs 參數如下所示:
    • 帳戶名稱
    • 電子郵件
    • 使用者主要名稱


    範例指令碼:

    $ap = New-SPTrustedIdentityTokenIssuer -Name $tokenIdentityProviderName -Description $TrustedIdentityTokenIssuerDescription -realm $siteRealm -ImportTrustCertificate $adfsCert-SignInUrl $signInUrl -UseDefaultConfiguration -IdentifierClaimIs EMAIL -RegisteredIssuerName $siteRealm
  5. 在 [管理中心您新信任識別語彙基元發出者將重新加入您想要轉換的 web 應用程式的驗證提供者。Web 應用程式必須具有 兩者 Windows 驗證和受信任的身份識別提供者所選取的目標。
其他相關資訊
轉換會成功的 Additionaltips:

如果使用電子郵件值的識別項宣告 (也就是IdentifierClaimIs參數),只有在 Active Directory 中填入其電子郵件地址的使用者將被轉換。

以 SAML 時,將不轉換任何SourceSkipList參數中所定義的.csv 檔案中所列的使用者帳戶。從 Windows 的宣告,來 SAML 轉換,具有或沒有宣告標記法可以列出的使用者帳戶名稱。例如,不論是哪一"contoso\user1"或"i:0 #。 w|contoso\user1"是可以接受的。任何您不想轉換的使用者帳戶,您應該加入至該.csv 檔案中。這些應該包含服務帳戶和系統管理員帳戶。

警告:本文為自動翻譯

內容

文章識別碼:3042604 - 最後檢閱時間:12/02/2015 12:58:00 - 修訂: 2.0

Microsoft SharePoint Foundation 2013, Microsoft SharePoint Server 2013

  • kbexpertiseinter kbprb kbsurveynew kbmt KB3042604 KbMtzh
意見反應