在 SharePoint Server 中交換伺服器陣列之間的信任憑證
適用於:2013 Subscription Edition SharePoint in Microsoft 365
在 SharePoint Server 中,伺服器陣列可以連線並使用在其他 SharePoint Server 伺服器陣列上發佈的服務應用程式。 為此,伺服器陣列必須交換信任憑證。
這兩個伺服器陣列必須都參與此交換,服務應用程式共用才能運作。
如需如何跨伺服器陣列共用服務應用程式的詳細資訊,請參閱<跨 SharePoint Server 伺服器陣列共用服務應用程式>。
您必須使用 Microsoft PowerShell 命令以在伺服器陣列之間匯出並複製憑證。 匯出並複製憑證後,您可以使用 PowerShell 命令或管理中心在伺服器陣列內管理信任。
此處的指示假設下列條件成立:
- 用於下列程序的伺服器正在執行 PowerShell。
- 在程序的所有步驟中,管理員在每個伺服器陣列中都將選取並使用相同的伺服器。
- 如果開啟了使用者帳戶控制 (UAC),則必須使用提升的權限執行 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 管理命令介面中,執行下列命令:
$CFrootCert = (Get-SPCertificateAuthority).RootCertificate [System.IO.File]::WriteAllBytes('C:\ConsumingFarmRoot.cer', $CFrootCert.Export("Cert"))
其中
C:\ConsumingFarmRoot.cer
是跟證書的路徑。
從使用伺服器陣列中匯出 STS 憑證
確認您具備下列成員身分:
- SQL Server 執行個體上的 securityadmin 固定伺服器角色。
- 所有要更新之資料庫上的 db_owner 固定資料庫角色。
- 正在執行 PowerShell Cmdlet 之所在伺服器上的系統管理員群組。
- 請以高於上述基本要求新增必要的成員資格。
系統管理員可以使用 Add-SPShellAdmin Cmdlet 授與使用 SharePoint Server Cmdlet 的權限。
注意事項
[!附註] 如果您不具備上述權限,請連絡安裝程式系統管理員或 SQL Server 系統管理員要求權限。 如需 PowerShell 權限的其他資訊,請參閱 Add-SPShellAdmin。
在 SharePoint 管理命令介面中,執行下列命令:
$stsCert = (Get-SPSecurityTokenServiceConfig).LocalLoginProvider.SigningCertificate [System.IO.File]::WriteAllBytes('C:\ConsumingFarmSTS.cer', $stsCert.Export("Cert"))
其中
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 管理命令介面中,執行下列命令:
$PFrootCert = (Get-SPCertificateAuthority).RootCertificate [System.IO.File]::WriteAllBytes('C:\PublishingFarmRoot.cer', $PFrootCert.Export("Cert"))
其中
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 管理命令介面中,執行下列命令:
$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 管理命令介面中,執行下列命令:
$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 管理命令介面中,執行下列命令:
$stsCert = Get-PfxCertificate "<c:\ConsumingFarmSTS.cer>" New-SPTrustedServiceTokenIssuer "<ConsumingFarm>" -Certificate $stsCert
其中:
- <C:\ConsumingFarmSTS.cer> 是從使用伺服器陣列複製到發佈伺服器陣列之 STS 憑證的路徑。
- <ConsumingFarm> 是識別使用伺服器陣列的唯一名稱。 每個受信任的服務 Token 發行者都必須有唯一名稱。
如需這些 PowerShell Cmdlet 的詳細資訊,請參閱下列文章:
- Get-SPCertificateAuthority
- Get-SPSecurityTokenServiceConfig
- New-SPTrustedRootAuthority
- New-SPTrustedServiceTokenIssuer
- Get-PfxCertificate
如需如何使用指令碼來自動化部分此程序的詳細資訊,請參閱<交換伺服器陣列之間的信任憑證>。
使用管理中心管理信任憑證
只有將相關憑證匯出並複製到某個伺服器陣列之後,才可以在該伺服器陣列上管理信任。
使用管理中心建立信任
確認執行此程序的使用者帳戶為 SharePoint 伺服器陣列管理員群組的成員。
在 SharePoint 管理中心網站上,按一下 [安全性]。
在 [安全性] 頁面上,按一下 [一般安全性] 區段中的 [管理信任]。
在 [信任關係] 頁面的功能區上,按一下 [新增]。
在 [建立信任關係] 頁面上,執行下列步驟:
提供描述信任關係的用途名稱。
瀏覽至信任關係的根授權單位並且將其選取。 根授權單位必須使用 Microsoft PowerShell 從另一個伺服器陣列匯出的根授權單位,例如<匯出並複製憑證>中所述。
If you are performing this task on the publishing farm, select the check box for Provide Trust Relationship. Type in a descriptive name for the token issuer and browse to and select the STS certificate that was copied from the consuming farm, as described in Exporting and copying certificates.
按一下 [確定]。
After a trust relationship is established, you can modify the Token Issuer description or the certificates that are used by clicking the trust, and then clicking Edit. You can delete a trust by clicking it, and then clicking Delete.
另請參閱
概念
在 SharePoint Server 中規劃使用者驗證方法