設定發佈與耗用伺服器陣列之間的伺服器對伺服器驗證

 

**適用版本:**SharePoint Foundation 2013, SharePoint Server 2013, SharePoint Server 2016

**上次修改主題的時間:**2017-09-06

**摘要:**了解如何在跨 SharePoint Server 2016 和 SharePoint 2013 發佈與耗用伺服陣列共用服務應用程式時,設定伺服器對伺服器驗證。

若要讓 Web 應用程式或應用程式服務代替使用者向其他伺服器陣列上的 Web 應用程式要求資源,您必須設定伺服器陣列之間的伺服器對伺服器驗證。使用伺服器對伺服器驗證的 SharePoint Server 處理程序的幾個範例如下:

  • 當使用者的個人網站位於 我的網站 Web 應用程式時,請遵照小組網站 Web 應用程式上的文件。小組網站 Web 應用程式會代表使用者進行 我的網站 Web 應用程式的要求。

  • 為位於小組網站 Web 應用程式上的網站建立或回覆網站摘要文章,但是透過 我的網站 Web 應用程式上使用者的 我的網站 新聞摘要執行。我的網站 Web 應用程式會代表使用者進行小組網站 Web 應用程式的要求,以寫入文章或回覆。

  • 用來重新填入摘要快取的「使用者設定檔服務」應用程式工作,必須從個人網站或小組網站讀取。如果「使用者設定檔服務」應用程式是在不同的伺服器陣列中執行,則「使用者設定檔服務」應用程式會將要求傳送至 我的網站 Web 應用程式或小組網站 Web 應用程式,以將使用者或網站摘要資料讀取至快取。

注意

向其他伺服器陣列上之應用程式服務要求資源的 Web 應用程式或應用程式服務,不需要伺服器對伺服器驗證。

開始之前

若要了解這篇文件中的程序,您應該熟悉下列文章中的基本概念:

SharePoint Server 的驗證概觀

在 SharePoint Server 中規劃伺服器對伺服器的驗證

設定發佈與耗用伺服器陣列之間的伺服器對伺服器驗證

下列程序說明如何設定發佈與耗用伺服器陣列之間的伺服器對伺服器驗證。

若要設定發佈與耗用伺服器陣列之間的伺服器對伺服器驗證

  1. 選擇對兩個伺服器陣列通用的領域名稱。

  2. 確認您是執行 PowerShell Cmdlet 之伺服器上系統管理員群組的成員。

    • SQL Server 執行個體上的 Securityadmin 固定伺服器角色。

    • 所有要更新之資料庫上的 db_owner 固定資料庫角色。

    系統管理員可以使用 Add-SPShellAdmin Cmdlet 授與使用 SharePoint Server Cmdlet 的權限。

    注意

    如果您不具備上述權限,請連絡安裝程式系統管理員或 SQL Server 系統管理員要求權限。如需 PowerShell 權限的其他資訊,請參閱 Add-SPShellAdmin

  3. 同時在發佈與耗用伺服器陣列的 SharePoint Server 環境中,啟動 SharePoint 管理命令介面。

  4. 若要設定發佈伺服器陣列的通用領域名稱,請在發佈伺服器陣列中伺服器上的 PowerShell 命令提示字元,輸入下列命令:

    Set-SPAuthenticationRealm -realm <RealmName>
    

    其中:

    RealmName 是您在步驟 1 中所選擇的名稱。

  5. 若要設定發佈伺服器陣列上 SharePoint Security Token Service (STS) 的名稱識別碼,以包含通用領域名稱,請在發佈伺服器陣列中伺服器上的 PowerShell 命令提示字元,輸入下列命令:

    $sts=Get-SPSecurityTokenServiceConfig
    $Realm=Get-SpAuthenticationRealm
    $nameId = "00000003-0000-0ff1-ce00-000000000000@$Realm"
    Write-Host "Setting STS NameId to $nameId"
    $sts.NameIdentifier = $nameId
    $sts.Update()
    
  6. 若要設定耗用伺服器陣列的通用領域名稱,請在耗用伺服器陣列中伺服器上的 PowerShell 命令提示字元,輸入下列命令:

    Set-SPAuthenticationRealm -realm <RealmName>
    

    其中:

    RealmName 是您在步驟 1 中所選擇的名稱。

  7. 若要設定發佈伺服器陣列上 SharePoint STS 的名稱識別碼,以包含通用領域名稱,請在耗用伺服器陣列中伺服器上的 PowerShell 命令提示字元,輸入下列命令:

    $sts=Get-SPSecurityTokenServiceConfig
    $Realm=Get-SpAuthenticationRealm
    $nameId = "00000003-0000-0ff1-ce00-000000000000@$Realm"
    Write-Host "Setting STS NameId to $nameId"
    $sts.NameIdentifier = $nameId
    $sts.Update()
    
  8. 若要設定發佈伺服器陣列與耗用伺服器陣列的伺服器對伺服器驗證,請在發佈伺服器陣列中伺服器上的 PowerShell 命令提示字元,輸入下列命令:

    New-SPTrustedSecurityTokenIssuer -MetadataEndpoint "https://<ConsumeHostName>/_layouts/<15or16>/metadata/json/1" -Name "<ConsumeFriendlyName>"
    

    其中:

    • ConsumeHostName是耗用伺服器陣列中已啟用 SSL 之 Web 應用程式的名稱和連接埠。

    • 15or16 是 SharePoint Server 版本的目錄。

    • ConsumeFriendlyName 是耗用伺服器陣列的易記名稱。

    這會建立與耗用伺服器陣列的伺服器對伺服器驗證信任。

  9. 若要設定耗用伺服器陣列與發佈伺服器陣列的伺服器對伺服器驗證,請在耗用伺服器陣列中伺服器上的 PowerShell 命令提示字元,輸入下列命令:

    New-SPTrustedSecurityTokenIssuer -MetadataEndpoint "https://<PublishHostName>/_layouts/<15or16>/metadata/json/1" -Name "<PublishFriendlyName>"
    

    其中:

    • PublishHostName是發佈伺服器陣列中已啟用 SSL 之 Web 應用程式的名稱和連接埠。

    • 15or16 是 SharePoint Server 版本的目錄。

    • PublishFriendlyName 是發佈伺服器陣列的易記名稱。

    這會建立與發佈伺服器陣列的伺服器對伺服器驗證信任。

See also

跨 SharePoint Server 伺服器陣列共用服務應用程式

Get-SPAuthenticationRealm
Set-SPAuthenticationRealm
New-SPTrustedSecurityTokenIssuer