本文為機器翻譯文章。如需檢視英文版,請選取 [原文] 核取方塊。您也可以將滑鼠指標移到文字上,即可在快顯視窗顯示英文原文。
譯文
原文

在 SharePoint Server 2013 中實作 SAML 型驗證

SharePoint 2013
 

適用版本:SharePoint Server 2013

上次修改主題的時間:2016-12-16

摘要:了解如何在 SharePoint 2013 中實作 SAML 型驗證。

實作 Microsoft SharePoint 2013 宣告型 Web 應用程式的安全性聲明標記語言 (SAML) 安全性 Token。

本文內容:

SharePoint 支援您使用常見瀏覽器的協助工具功能,來管理部署及存取網站。如需詳細資訊,請參閱<SharePoint 2013 的協助工具>。

在 SAML 宣告模式中,SharePoint 2013 會接受來自信任的外部 Security Token Provider (STS) (通常稱為「宣告提供者信任」) 的 SAML 權杖。系統會將嘗試登入的使用者導向至可驗證使用者並產生 SAML 權杖的外部宣告提供者 (例如,Windows Live ID 宣告提供者)。SharePoint 2013 會接受並處理此權杖,方法是擴充宣告並建立使用者的宣告身分識別物件。

若要了解 SAML 型驗證中所使用的概念和術語,請參閱規劃 SAML 權杖型驗證

本節說明如何設定 Active Directory Federation Services (AD FS) 作為 SharePoint 2013 Web 應用程式的身分識別提供者 Security Token Service (IP-STS)。在此組態中,AD FS 發出包含宣告的 SAML 安全性權杖,讓用戶端電腦可以存取使用宣告式驗證的 Web 應用程式。

如需如何設定 SAML 型宣告驗證與 AD FS 的其他資訊,請參閱在 SharePoint 2013 中使用 AD FS 設定 SAML 式宣告驗證

本節討論如何設定新的或現有 Windows 驗證 Web 應用程式以支援 SAML。

每種驗證類型都具有相關聯的領域。例如:urn:<customercode>:sp<webapptype> :<authusers>

例如,員工使用者的 Contoso 小組 Web 應用程式的值可能與下列類似:

urn:contoso:spteam:emp

設定新的或現有 Web 應用程式以支援 SAML 宣告時,需要進行四個步驟:

  1. 建立領域供員工存取。

  2. 新增信任的憑證。

  3. 建立信任的提供者。

  4. 建立它們與 Web 應用程式的關聯。

為新領域建立下列宣告規則:

  • 電子郵件

  • UPN

  • PrimarySID

  • GroupsSID

如果使用其他宣告來設定 AD FS STS 網域,則會忽略它。

  1. 檢查您是否符合下列基本需求:

  2. 複製下列變數宣告,並將它們貼到文字編輯器 (例如 [記事本])。請設定您組織特有的輸入值。您將在步驟 3 中使用這些值。請儲存檔案,並將它命名為 Add-ADFSCerts.ps1

    ## Settings you need to change for your organization before the script is run ## 
    # ADFS and root certificate names
    $adfsCertName = "<Input ADFS Cert Name>"
    $MACertName = "< Input Machine Authority >"
    $MIACertName  = "< Input Certificate Authority >"
    $RootCertName = "< Input Root name >"
    
    
  3. 複製下列程式碼,並將它貼到步驟 2 之變數宣告下方的 Audiences.ps1。

    # This script configures SharePoint 2013 with ADFS certificates and claim type maps and creates a Trusted Identity Token Issuer that enables SAML claims support in SharePoint web applications.
    
    # The directory that contains this script
        $ScriptDir = Split-Path -parent $MyInvocation.MyCommand.Path
    
        # ADFS and root certificate names
    $adfsCertName = "<Input ADFS Cert Name>"
    $MACertName = "< Input Machine Authority >"
    $MIACertName  = "< Input Certificate Authority >"
    $RootCertName = "< Input Root name >"
    
    
        # The local file path, which points to the certificate used to sign token requests (exported from the AD FS server)
        $certFilePath = $ScriptDir + "\Certificates\"
    
        # Build the certificates.
        $adfsCertPath = $certFilePath + $adfsCertName + ".cer"
        $MACertName = $certFilePath + $MACertName + ".cer"
        $MIACertPath = $certFilePath + $MIACertName + ".cer"
        $RootCertPath = $certFilePath + $BCTRCertName + ".cer"
    
    
        # Import certificates to the SharePoint Trusted Root Authority. #
        $adfsCert = $null
    
    
        if($adfsCert -eq $null)
        {
            Write-Host "installing " $adfsCert
            $adfsCert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2($adfsCertPath)
    # Install the certificate that was exported from the ADFS server.
            New-SPTrustedRootAuthority -Name $adfsCertName -Certificate $adfsCert
            New-SPTrustedRootAuthority -Name $MACertName -Certificate $MACertName
            New-SPTrustedRootAuthority -Name $MIACertName -Certificate $MIACertPath
            New-SPTrustedRootAuthority -Name $BCTRCertName -Certificate $RootCertPath
        }
    
    
    注意事項 附註:
    您可以使用不同的檔案名稱,但是必須將檔案儲存為副檔名為 .ps1 的 ANSI 編碼文字檔。
  4. 在 [開始] 功能表上,按一下 [所有程式] > [Microsoft SharePoint 2013 產品] > [SharePoint 2013 管理命令介面]。

  5. 將命令提示字元切換至您儲存檔案的目錄。

  6. 在 Windows PowerShell 命令提示字元處,輸入下列命令。

    ./Add-ADFSCerts.ps1
    
  1. 檢查您是否符合下列基本需求:

  2. 複製下列變數宣告,並將它們貼到文字編輯器 (例如 [記事本])。請設定您組織特有的輸入值。您將在步驟 3 中使用這些值。請儲存檔案,並將它命名為 TrustedProviderConfiguration-Regular.ps1

    ## Settings you need to change for your organization before the script is run ## 
    # ADFS and root certificate names
    $adfsCertName = "<Input ADFS Certificate Name>"
    $MACertName = "< Input Machine Authority >"
    $MIACertName  = "< Input Certificate Authority >"
    $RootCertName = "< Input Root name >"
    
    
  3. 複製下列程式碼,並將它貼到步驟 2 之變數宣告下方的 Audiences.ps1。

    # This script configures SharePoint 2013 with ADFS certificates and claim type maps and creates a Trusted Identity Token Issuer that enables SAML claims support in SharePoint web applications. These providers use the UPN or EMail claim rule for the identity claim.
    
    # The production ADFS redirect URL
    $signInUrl = "https://sts.msft.net/adfs/ls/"
    
    
        # The URL and realm for the partner web application
        $webAppUri = "https://ppedrtest.mmsxl.com/"
        $siteRealm = "urn:039d:spdr:emp"
    
        # The directory that contains this script
        $ScriptDir = Split-Path -parent $MyInvocation.MyCommand.Path
    
        # The claim type schema used as the user identity, which uses the email address as the UPN
        $IdClaimType = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"
    
    
    
        $adfsCert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2($adfsCertPath)
    
          # The ADFS and root certificate names
    $adfsCertName = "<Insert ADFS Certification Name>
    
        # The local file path, which points to the certificate used to sign token requests (exported from the AD FS server)
        $certFilePath = $ScriptDir + "\Certificates\"
    
        # Build the certificates.
        $adfsCertPath = $certFilePath + $adfsCertName + ".cer"
    
    
         $adfsCert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2($adfsCertPath)
    
        #------------------------------------------------------------------------------------------------------------------#
    
        # Create or rebuild TrustedIdentityTokenIssuer. #
        $tokenIdentityProviderName = "RegularUsers"
        $TrustedIdentityTokenIssuerDescription = "SAML Provider for SharePoint"
        foreach($issuer in Get-SPTrustedIdentityTokenIssuer)
        {
            if($issuer.Name -eq $tokenIdentityProviderName)
            {
                # Remove TrustedIdentityTokenIssuer (usually, to modify the ADFS property maps) if it already exists?
                Read-Host "Identity Token Issuer already exists. Remove and reinstall it? Press CTRL+C to cancel."
                Remove-SPTrustedIdentityTokenIssuer -Identity $tokenIdentityProviderName
            }
        }
    
    
    
    
        #Read-Host "Create a new SharePoint Trusted Identity Token Issuer?"
        # Create the SharePoint Trusted Identity Token Issuer.
        Write-Host "Creating SPTrustedIdentityTokenIssuer named " $tokenIdentityProviderName
    
        $ap = New-SPTrustedIdentityTokenIssuer `
             -Name $tokenIdentityProviderName `
             -Description $TrustedIdentityTokenIssuerDescription `
             -realm $siteRealm `
             -ImportTrustCertificate $adfsCert `
             -SignInUrl $signInUrl `
             -UseDefaultConfiguration `
             -IdentifierClaimIs USER-PRINCIPAL-NAME `
             -RegisteredIssuerName $siteRealm
    
    
    
        # Add the partner site realm to the trusted provider.
        $uri = new-object System.Uri($webAppUri)
        $ap  = Get-SPTrustedIdentityTokenIssuer $tokenIdentityProviderName
        $ap.ProviderRealms.Add($uri,$siteRealm)
        $ap.Update()
    
    
    
    
    
    
    注意事項 附註:
    您可以使用不同的檔案名稱,但是必須將檔案儲存為副檔名為 .ps1 的 ANSI 編碼文字檔。
  4. 在 [開始] 功能表上,按一下 [所有程式]。

  5. 按一下 [Microsoft SharePoint 2013 產品]。

  6. 按一下 [SharePoint 2013 管理命令介面]。

  7. 將命令提示字元切換至您儲存檔案的目錄。

  8. 在 Windows PowerShell 命令提示字元處,輸入下列命令。

    ./TrustedProviderConfiguration-Regular.ps1
    

若要啟用 SharePoint 2013 的追蹤,您可以使用下列方式:

  • 啟用追蹤中 Windows Identity Foundation (WIF)。如需如何啟用追蹤資訊,請參閱WIF 追蹤

  • 在 SharePoint 2013 中設定診斷記錄。如需如何設定診斷記錄的詳細資訊,請參閱在 SharePoint 2013 中設定診斷記錄

本節說明如何讓使用者設定檔同步處理搭配使用宣告式驗證與信任身份識別提供者的步驟。

當您設定目錄同步處理連線時,可以指定將用來存取已匯入設定檔的驗證提供者類型。如果是信任的宣告提供者,您也可以選取伺服器陣列中設定的特定信任提供者。

若要將已匯入設定檔對應至已驗證使用者的足夠資訊提供給使用者設定檔應用程式,則必須將已匯入屬性設定為對應的已驗證使用者身分識別宣告。宣告永遠不變。在信任的身分識別提供者中設定它之後,就無法再進行變更。若要正確地對應使用者,則必須向使用者設定檔系統通知下列屬性:可匯入以用作身分識別宣告的屬性。重要的是識別使用者設定檔系統的身分識別宣告,以具有足夠的資訊可符合具有對應設定檔項目的身分識別宣告。「宣告使用者識別碼」屬性是用來建立對應。

下圖識別對應至「郵件」內送屬性 (Attribute) 的「宣告使用者識別碼」屬性 (Property)。這是此實作中所指定的任何宣告。可以使用任何宣告。該宣告必須是呈現為來自信任身分識別提供者之身分識別宣告的屬性。

此圖說明對應至郵件內送屬性 (Attribute) 的「宣告使用者識別碼」屬性 (Property)

下一次設定檔匯入會讓使用者與對應的設定檔項目相關聯。

如需使用者設定檔同步處理的其他資訊,請參閱 SharePoint Server 2013 的設定檔同步處理概觀

本節說明如何 SAML 宣告使用SharePoint 2013的對象功能。依預設,才有提供 AD DS 與數個輕量型目錄存取通訊協定 (LDAP) 來源和 from a Lightweight Directory Interchange Format (LDIF) 檔案同步處理支援。如需詳細資訊,請參閱使用 Lightweight Directory Interchange Format (LDIF) 檔案 (SharePoint Server 2010) 的設定檔同步處理。問題是帳戶名稱的大部分的 SAML 宣告使用者會類似如下i:05:t |角色與 AD FS | fred@contoso.com

若要利用對象,您需要手動或透過自訂程式碼來建立使用者的設定檔。請使用正確的宣告屬性 (例如,i:05:t|AD FS with roles|fred@contoso.com 作為帳戶名稱) 建立設定檔,然後將想要用於對象中的資料填入其他欄位。

建立設定檔之後,即可建立對象。除非您實作自訂程式碼,否則無法使用對象的使用者型對象 (例如群組中的成員資格)。使用屬性型對象會更有效率。

https://technet.microsoft.com/zh-tw/library/gg188041.aspx
顯示: