在 SharePoint Server 中交換伺服器陣列之間的信任憑證
**適用版本:**SharePoint Foundation 2013, SharePoint Server 2013, SharePoint Server 2016
**上次修改主題的時間:**2017-09-14
**摘要:**了解如何在 SharePoint Server 2016 和 SharePoint 2013 中的發佈伺服器陣列及使用伺服器陣列之間交換信任憑證。
在 SharePoint Server 中,伺服器陣列可以連線並使用在其他 SharePoint Server 伺服器陣列上發佈的服務應用程式。為此,伺服器陣列必須交換信任憑證。
這兩個伺服器陣列必須都參與此交換,服務應用程式共用才能運作。
如需如何跨伺服器陣列共用服務應用程式的詳細資訊,請參閱<跨 SharePoint Server 伺服器陣列共用服務應用程式>。
您必須使用 Microsoft PowerShell 命令以在伺服器陣列之間匯出並複製憑證。匯出並複製憑證後,您可以使用 PowerShell 命令或管理中心在伺服器陣列內管理信任。
此處的指示假設下列條件成立:
用於下列程序的伺服器正在執行 PowerShell。
在程序的所有步驟中,管理員在每個伺服器陣列中都將選取並使用相同的伺服器。
如果開啟了使用者帳戶控制 (UAC),則必須使用提升的權限執行 PowerShell 命令。
本文內容:
匯出並複製憑證
使用 Windows Powershell 管理信任憑證
使用管理中心管理信任憑證
開始這項作業之前,請參閱<跨 SharePoint Server 伺服器陣列共用服務應用程式>中有關先決條件的資訊。
匯出並複製憑證
使用伺服器陣列的管理員必須提供兩個信任憑證給發佈伺服器陣列:根憑證與 Security Token Service (STS) 憑證。發佈伺服器陣列的管理員必須提供根憑證給使用伺服器陣列。
您只能使用 Windows PowerShell 3.0 匯出並複製憑證,或稍後進行。
從使用伺服器陣列中匯出根憑證
在使用伺服器陣列中執行 SharePoint Server 的伺服器上,確認您具備下列成員資格:
SQL Server 執行個體上的 securityadmin固定伺服器角色。
所有要更新之資料庫上的 db_owner 固定資料庫角色。
正在執行 PowerShell Cmdlet 之所在伺服器上的系統管理員群組。
請以高於上述基本要求新增必要的成員資格。
系統管理員可以使用 Add-SPShellAdmin Cmdlet 授與使用 SharePoint Server Cmdlet 的權限。
注意
如果您不具備上述權限,請連絡安裝程式系統管理員或 SQL Server 系統管理員要求權限。如需 PowerShell 權限的其他資訊,請參閱 Add-SPShellAdmin。
啟動 SharePoint 管理命令介面。
在 PowerShell 命令提示字元處,輸入下列命令:
$rootCert = (Get-SPCertificateAuthority).RootCertificate $rootCert.Export("Cert") | Set-Content <C:\ConsumingFarmRoot.cer> -Encoding byte
其中,<C:\ConsumingFarmRoot.cer> 是根憑證的路徑。
從使用伺服器陣列中匯出 STS 憑證
確認您具備下列成員資格:
SQL Server 執行個體上的 securityadmin 固定伺服器角色。
所有要更新之資料庫上的 db_owner 固定資料庫角色。
正在執行 PowerShell Cmdlet 之所在伺服器上的系統管理員群組。
請以高於上述基本要求新增必要的成員資格。
系統管理員可以使用 Add-SPShellAdmin Cmdlet 授與使用 SharePoint Server Cmdlet 的權限。
注意
如果您不具備上述權限,請連絡安裝程式系統管理員或 SQL Server 系統管理員要求權限。如需 PowerShell 權限的其他資訊,請參閱 Add-SPShellAdmin。
啟動 SharePoint 管理命令介面。
在 PowerShell 命令提示字元處,輸入下列命令:
$stsCert = (Get-SPSecurityTokenServiceConfig).LocalLoginProvider.SigningCertificate $stsCert.Export("Cert") | Set-Content <C:\ConsumingFarmSTS.cer> -Encoding byte
其中,<C:\ConsumingFarmSTS.cer> 是 STS 憑證的路徑。
從發佈伺服器陣列中匯出根憑證
在發佈伺服器陣列中執行 SharePoint Server 的伺服器上,確認您具備下列成員資格:
SQL Server 執行個體上的 securityadmin固定伺服器角色。
所有要更新之資料庫上的 db_owner 固定資料庫角色。
正在執行 PowerShell Cmdlet 之所在伺服器上的系統管理員群組。
請以高於上述基本要求新增必要的成員資格。
系統管理員可以使用 Add-SPShellAdmin Cmdlet 授與使用 SharePoint Server Cmdlet 的權限。
注意
如果您不具備上述權限,請連絡安裝程式系統管理員或 SQL Server 系統管理員要求權限。如需 PowerShell 權限的其他資訊,請參閱 Add-SPShellAdmin。
啟動 SharePoint 管理命令介面。
在 PowerShell 命令提示字元處,輸入下列命令:
$rootCert = (Get-SPCertificateAuthority).RootCertificate $rootCert.Export("Cert") | Set-Content <C:\PublishingFarmRoot.cer> -Encoding byte
其中,<C:\PublishingFarmRoot.cer> 是根憑證的路徑。
複製憑證
將根憑證與 STS 憑證從使用伺服器陣列中的伺服器複製至發佈伺服器陣列中的伺服器。
將根憑證從發佈伺服器陣列中的伺服器複製至使用伺服器陣列中的伺服器。
使用 PowerShell 管理信任憑證
在伺服器陣列中管理信任憑證涉及到建立信任。本節說明如何使用 PowerShell 命令,在使用伺服器陣列及發佈伺服器陣列上建立信任。
在使用伺服器陣列上建立信任
若要在使用伺服器陣列上建立信任,您必須匯入從發佈伺服器陣列複製的根憑證,然後建立受信任的根授權單位。
在使用伺服器陣列上匯入根憑證並建立受信任的根授權單位
確認您具備下列成員資格:
SQL Server 執行個體上的 securityadmin 固定伺服器角色。
所有要更新之資料庫上的 db_owner 固定資料庫角色。
正在執行 PowerShell Cmdlet 之所在伺服器上的系統管理員群組。
請以高於上述基本要求新增必要的成員資格。
系統管理員可以使用 Add-SPShellAdmin Cmdlet 授與使用 SharePoint Server Cmdlet 的權限。
注意
如果您不具備上述權限,請連絡安裝程式系統管理員或 SQL Server 系統管理員要求權限。如需 PowerShell 權限的其他資訊,請參閱 Add-SPShellAdmin。
啟動 SharePoint 管理命令介面。
在 PowerShell 命令提示字元處,輸入下列命令:
$trustCert = Get-PfxCertificate <C:\PublishingFarmRoot.cer> New-SPTrustedRootAuthority <PublishingFarm> -Certificate $trustCert
其中:
<C:\PublishingFarmRoot.cer> 是您從發佈伺服器陣列複製到使用伺服器陣列的根憑證的路徑。
<PublishingFarm> 是識別發佈伺服器陣列的唯一名稱。每個受信任的根授權單位都必須有唯一的名稱。
建立發佈伺服器陣列上的信任
若要在發佈伺服器陣列上建立信任,必須匯入從使用伺服器陣列複製的根憑證並建立受信任的根授權單位。然後必須匯入從使用伺服器陣列複製的 STS 憑證並建立受信任的服務 Token 發行者。
在發佈伺服器陣列上匯入根憑證並建立受信任的根授權單位
確認您具備下列成員資格:
SQL Server 執行個體上的 securityadmin 固定伺服器角色。
所有要更新之資料庫上的 db_owner 固定資料庫角色。
正在執行 PowerShell Cmdlet 之所在伺服器上的系統管理員群組。
請以高於上述基本要求新增必要的成員資格。
系統管理員可以使用 Add-SPShellAdmin Cmdlet 授與使用 SharePoint Server Cmdlet 的權限。
注意
如果您不具備上述權限,請連絡安裝程式系統管理員或 SQL Server 系統管理員要求權限。如需 PowerShell 權限的其他資訊,請參閱 Add-SPShellAdmin。
啟動 SharePoint 管理命令介面。
在 PowerShell 命令提示字元處,輸入下列命令:
$trustCert = Get-PfxCertificate <C:\ConsumingFarmRoot.cer> New-SPTrustedRootAuthority <ConsumingFarm> -Certificate $trustCert
其中:
<C:\ConsumingFarmRoot.cer> 為從使用伺服器陣列複製到發佈伺服器陣列之根憑證的名稱及位置。
<ConsumingFarm> 是識別使用伺服器陣列的唯一名稱。每個受信任根授權單位都必須有唯一名稱。
在發佈伺服器陣列上匯入 STS 憑證並建立受信任的服務 Token 發行者
確認您具備下列成員資格:
SQL Server 執行個體上的 securityadmin 固定伺服器角色。
所有要更新之資料庫上的 db_owner 固定資料庫角色。
正在執行 PowerShell Cmdlet 之所在伺服器上的系統管理員群組。
請以高於上述基本要求新增必要的成員資格。
系統管理員可以使用 Add-SPShellAdmin Cmdlet 授與使用 SharePoint Server Cmdlet 的權限。
注意
如果您不具備上述權限,請連絡安裝程式系統管理員或 SQL Server 系統管理員要求權限。如需 PowerShell 權限的其他資訊,請參閱 Add-SPShellAdmin。
啟動 SharePoint 管理命令介面。
在 PowerShell 命令提示字元處,輸入下列命令:
$stsCert = Get-PfxCertificate <c:\ConsumingFarmSTS.cer> New-SPTrustedServiceTokenIssuer <ConsumingFarm> -Certificate $stsCert
其中:
<C:\ConsumingFarmSTS.cer> 是從使用伺服器陣列複製到發佈伺服器陣列之 STS 憑證的路徑。
<ConsumingFarm> 是識別使用伺服器陣列的唯一名稱。每個受信任的服務 Token 發行者都必須有唯一名稱。
其中:
如需這些 PowerShell Cmdlet 的詳細資訊,請參閱下列文章:
如需如何使用指令碼來自動化部分此程序的詳細資訊,請參閱<交換伺服器陣列之間的信任憑證>。
使用管理中心管理信任憑證
只有將相關憑證匯出並複製到某個伺服器陣列之後,才可以在該伺服器陣列上管理信任。
使用管理中心建立信任
確認執行此程序的使用者帳戶為 SharePoint 伺服器陣列管理員群組的成員。
在 SharePoint 管理中心網站上,按一下 [安全性]。
在 [安全性] 頁面上,按一下 [一般安全性] 區段中的 [管理信任]。
在 [信任關係] 頁面的功能區上,按一下 [新增]。
在 [建立信任關係] 頁面上:
提供描述信任關係的用途名稱。
瀏覽至信任關係的根授權單位並且將其選取。根授權單位必須使用 Microsoft PowerShell 從另一個伺服器陣列匯出的根授權單位,例如<匯出並複製憑證>中所述。
如果您執行的是發佈伺服器陣列的工作,請選取 [提供信任關係] 核取方塊。輸入 Token 發行者的描述性名稱,然後瀏覽至從使用伺服器陣列複製的 STS 憑證並且將其選取,例如<匯出並複製憑證>中所述。
按一下 [確定]。
建立信任關係後,按一下 [信任],然後再按一下 [編輯],您就可以修改 Token 發行者描述或所使用的憑證。按一下 [信任],然後再按一下 [刪除],即可刪除信任。
See also
在 SharePoint Server 中規劃使用者驗證方法
建立 Web 應用程式 (SharePoint 2013)
在 SharePoint 2013 中使用 AD FS 設定 SAML 式宣告驗證