宣告規則的角色

Active Directory 同盟服務 (AD FS) 中同盟服務的整體功能是發出包含一組宣告的權杖。 AD FS 要接受並發行哪些宣告的決定是由宣告規則負責控管。

什麼是宣告規則?

宣告規則表示商務邏輯的執行個體,將會收取一或多個傳入宣告,對其套用條件 (若 x 則 y),然後根據條件參數產生一或多個傳出宣告。 如需傳入和傳出宣告的詳細資訊,請參閱宣告的角色

當您需要實作商務邏輯來控制宣告行經宣告管線的流程時,您會使用宣告規則。 雖然宣告管線是流程宣告端對端程序的更邏輯概念,宣告規則是實際系統管理元素,可讓您用來自訂宣告行經宣告發行程序的流程。

如需宣告管線的詳細資訊,請參閱宣告引擎的角色

宣告規則可提供下列優點:

  • 提供系統管理員一個機制,用於套用來自宣告提供者信任宣告的執行階段商務邏輯

  • 提供系統管理員一個機制,用於定義哪些宣告會發行給信賴憑證者

  • 為想要允許或拒絕特定使用者存取的系統管理員提供豐富且詳細的宣告型授權功能

宣告規則的處理方式

宣告規則是使用宣告引擎透過宣告管線處理。 宣告引擎是同盟服務的邏輯元件,其會檢查使用者所提供的連入宣告集,而且將接著根據每個規則中的邏輯產生宣告的輸出集。

宣告規則引擎以及與指定的同盟信任關聯的宣告規則集會一同判斷連入宣告在由同盟服務發出為連出宣告之前是否應該依原樣傳遞、經過篩選以符合特定條件的準則,或轉換為全新的宣告集。

如需此程式的詳細資訊,請參閱宣告引擎的角色

什麼是宣告規則範本?

AD FS 包含一組預先定義的宣告規則範本,其設計用來協助您針對您的特定商務需求輕鬆選取和建立最適當的宣告規則。 宣告規則範本僅用於宣告規則建立程序期間。

在 AD FS 管理嵌入式管理單元中,只能使用宣告規則範本建立規則。 使用嵌入式管理單元來選取宣告規則範本、輸入規則邏輯的必要資料,並將它儲存至設定資料庫之後,(從該點之後) 會在 UI 中將它稱為宣告規則。

宣告規則範本的運作方式

乍看之下,宣告規則範本看起來只是嵌入式管理單元提供的輸入表單,用來收集連入宣告上的資料和程序特定邏輯。 不過,在更詳盡的層級中,宣告規則範本會儲存必要的宣告規則語言架構,組成必要的基礎邏輯,讓您快速建立規則而不需要知道熟知語言。

使用者介面 (UI) 中提供的每個範本表示依據最常需要的系統管理工作而預先填入的宣告規則語言語法。 有一個規則範本,不過這是例外狀況。 此範本稱為自訂規則範本。 使用此範本不需預先填入任何語法。 而是必須使用宣告規則語言語法,在宣告規則範本表單的本文中直接撰寫宣告規則語言語法。

如需如何使用宣告規則語言語法的詳細資訊,請參閱 AD FS 部署指南中的宣告規則語言角色

提示

您可以檢視與規則相關聯的宣告規則語言,方法是隨時按一下宣告規則的屬性上的 [檢視規則語言] 按鈕。

如何建立宣告規則

宣告規則是針對同盟服務內的每一個同盟的信任關聯性分別建立,不會跨多個信任共用。 您可以從宣告規則範本建立規則、使用宣告規則語言從頭開始撰寫規則,或使用 Windows PowerShell 自訂規則。

這所有選項共存以提供您為指定案例選擇適當方法的彈性。 如需如何建立宣告規則的詳細資訊,請參閱 AD FSDeployment 指南中的設定宣告規則

使用宣告規則範本

宣告規則範本僅用於宣告規則建立程序期間。 您可以使用下列任何範本來建立宣告規則:

  • 傳遞或篩選連入宣告

  • 轉換傳入宣告

  • 以宣告形式傳送 LDAP 屬性

  • 以宣告的形式傳送群組成員資格

  • 使用自訂規則傳送宣告

  • 根據連入宣告允許或拒絕使用者

  • 允許所有使用者

如需描述這些宣告規則範本的詳細資訊,請參閱決定要使用的宣告規則範本類型

使用宣告規則語言

針對已超出標準宣告規則範本範圍的商務規則,您可以使用自訂規則範本,透過宣告規則語言來表示一系列的複雜邏輯條件。 如需使用自訂規則的詳細資訊,請參閱何時使用自訂宣告規則

使用 Windows PowerShell

您也可以使用 ADFSClaimRuleSet Cmdlet 物件搭配 Windows PowerShell,以建立或管理 AD FS 中的規則。 如需如何使用 Windows PowerShell 搭配這個 Cmdlet 的詳細資訊,請參閱使用 Windows PowerShell 進行 AD FS 系統管理

什麼是宣告規則集?

如下圖所示,宣告規則集是針對給定的同盟信任的一或多個規則的群組,其定義宣告規則引擎將處理宣告的方式。 當同盟服務收到連入宣告時,宣告規則引擎就會套用適當的宣告規則集所指定的邏輯。 它是規則集中每個規則的最終總和,將決定將對整體中指定的信任發出宣告的方式。

AD FS roles

宣告規則的處理方式,是由宣告引擎依時間先後順序按照指定的規則集處理。 這個順序很重要,因為一個規則的輸出可以做為集合中下一個規則的輸入。

什麼是宣告規則集類型?

宣告規則集類型是同盟信任的一個邏輯區段,以分類方式來識別與信任相關聯的宣告規則集是否將用於宣告發行、授權或接受。 視使用的信任類型而定,每個同盟信任可以有一個或多個與其相關聯的宣告規則集類型。

下表描述各種類型的宣告規則集,並說明其與宣告提供者信任或信賴憑證者信任的關係。

宣告規則集類型 描述 用於
接受轉換規則集 您在特定的宣告提供者上使用的一組宣告規則,用來指定接受來自宣告提供者組織的連入宣告,以及將傳送到信賴憑證者信任的連出宣告。

將用來作為此規則集的來源的連入宣告,將會是發行轉換規則集 (如宣告提供者組織中所指定) 輸出的宣告。

根據預設,宣告提供者信任節點包含名為 Active Directory 的宣告提供者信任,用來表示接受轉換規則集的來源屬性存放區。 此信任物件用來表示從您的同盟服務到網路上的 Active Directory 資料庫的連接。 這個預設信任是經過 Active Directory 驗證的使用者宣告的處理序,並且無法刪除。

宣告提供者信任
發行轉換規則集 您在信賴憑證者信任上使用的一組宣告規則,用以指定將發行給信賴憑證者的宣告。

將用來作為此規則集的來源的連入宣告,最初是接受轉換規則輸出的宣告。

信賴憑證者信任
發行授權規則集 您在信賴憑證者信任上使用的一組宣告規則,用以指定將允許接收信賴憑證者權杖的使用者。

這些規則會決定使用者是否可以接收信賴憑證者的宣告,並且因此可存取信賴憑證者。

除非您指定發行授權規則,否則預設所有使用者都會被都拒絕存取。

信賴憑證者信任
委派授權規則集 您在信賴憑證者信任上使用的一組宣告規則,用以指定將允許作為對信賴憑證者的其他使用者的委派。

這些規則會決定是否允許要求者模擬使用者,同時識別在傳送到信賴憑證者的權杖中的要求者。

除非您指定委派授權規則,否則使用者預設無法做為委派。

信賴憑證者信任
模擬授權規則集 您使用 Windows PowerShell 設定的一組宣告規則,用來決定使用者是否可以對信賴憑證者完全模擬另一位使用者。

這些規則會決定是否允許要求者模擬使用者,但不識別在傳送到信賴憑證者的權杖中的要求者。

以這種方式模擬另一位使用者是非常強大的功能,因為信賴憑證者並不知道使用者正被模擬。

信賴憑證者信任

如需選取組織中要使用的適當宣告規則的詳細資訊,請參閱決定要使用的宣告規則範本類型