匯出 (0) 列印
全部展開

規則群組與規則

發佈時間: 2011年4月

更新日期: 2011年5月

適用於: Windows Azure

在 Windows Azure AppFabric 存取控制服務 (ACS) 中,規則群組是一個具名的宣告規則集,會將身分識別宣告從身分識別提供者傳到您的信賴憑證者應用程式。在 ACS 中,規則群組與信賴憑證者應用程式產生關聯。一個規則群組可供一個以上的信賴憑證者應用程式使用,而一個信賴憑證者應用程式可以參照一個以上的規則群組。

當 ACS 從身分識別提供者接受權杖要求或權杖時,它會執行所有與該信賴憑證者應用程式有關的規則群組,以處理權杖中的宣告。所有規則群組都會同時執行;每個規則群組中的所有規則也一樣 (與順序無關)。如果執行完成之後,規則導致簽發任何新的宣告,則會再執行一次與信賴憑證者應用程式相關的規則群組。當執行程序完成後沒有簽發新的宣告,或執行完十次以後 (以先完成者為準),規則與規則群組執行程序就會停止。

您可以使用 ACS 管理入口網站手動建立及編輯規則群組與規則,或使用 ACS 理服務以程式設計方式來進行。

使用 ACS 管理入口網站進行設定

建立規則群組

當您在 ACS 管理入口網站新增及設定新信賴憑證者應用程式的屬性時,也可以建立與此信賴憑證者應用程式相關的規則群組,因為預設會勾選在 ACS 管理入口網站的 [新增信賴憑證者應用程式] 頁面上的 [建立新規則群組]] 選項。強烈建議保持選取此選項,為您的新信賴憑證者應用程式的建立預設規則群組。(如需相關資訊,請參閱信賴憑證者應用程式中的<規則群組>。)您也可以使用 ACS 管理入口網站的 [規則群組] 區段。然後,當您使用 [新增信賴憑證者應用程式] 頁面來新增信賴憑證者應用程式時,您可以使它們和一或多個現有的規則群組產生關聯。

產生規則

在建立規則群組之後,您可以使用 ACS 管理入口網站的 [編輯規則群組] 頁面來自動產生規則。如果您決定自動產生規則,系統會提示您選取想要的身分識別提供者,以產生他們適用的規則。當規則群組連結到一或多個信賴憑證者應用程式時,預設會選取這些信賴憑證者應用程式使用的身分識別提供者。

note附註
若為 WS-同盟身分識別提供者,系統會建立每個宣告類型的規則 (在身分識別提供者的 WF 同盟中繼資料中會提供宣告類型),而此規則會傳遞宣告類型與值。若為其他身分識別提供者,傳遞規則是根據一個預先定義的宣告類型清單產生。

檢視、新增及編輯規則

ACS 管理入口網站的 [編輯規則群組] 頁面會以一個表格顯示所有規則,其中的欄位包括規則的 [輸出宣告][宣告簽發者] (可以是身分識別提供者或 ACS) 及 [說明]

如果您按一下表格中某個給定規則,則會被重新導向 [編輯宣告規則] 頁面,在該頁面可以編輯規則。若要手動新增規則,可以按一下 [新增]

宣告規則

宣告規則說明 ACS 如何將輸入宣告轉換為輸出宣告的邏輯。規則包含在規則群組內,與信賴憑證者應用程式相關,而且每當 ACS 針對應用程式簽發權杖時,都會執行一次。如果規則群組沒有包含規則,則不會簽發權杖給信賴憑證者應用程式。一般來說,您想要簽發給信賴憑證者應用程式的每個宣告類型都需要一個規則。只建立或使用一個規則來傳遞所有宣告類型與值是可行的。但是,每個宣告類型各使用一個規則可以增加安全性,並且更能有效控制傳送到應用程式的資料。

在 ACS 中,可以設定一個規則將從身分識別提供者或用戶端收到的宣告傳遞到信賴憑證者應用程式,無須變更宣告的類型、簽發者或值。這修規則稱為傳遞規則。例如,由 Windows Live ID 簽發的權杖包含一個「nameidentifier」的宣告類型。為了將這個宣告絲毫不改的傳遞到信賴憑證者應用程式,您必須設定一個傳遞規則,以處理來自宣告簽發者「Windows Live ID」的輸入宣告類型「nameidentifier」,並建立一個相同的輸出宣告 (宣告類型與值都沒有改變)。

ACS 規則引擎也可讓您根據宣告簽發者、輸入需告類型與值,將輸入宣告轉換成完全不同輸出宣告。換句話說,ACS 規則引擎可讓您新增、移除或變更權杖包含的宣告,將輸入權杖轉換成完全不同的輸出權杖。這種宣告轉換讓 ACS 得以根據宣告輸入值實作基本授權。如需如何使用規則實作權杖轉換的相關資訊與步驟,請參閱作法:使用規則實作權杖轉換邏輯

當您使用 ACS 管理入口網站新增新的或編輯現有的宣告規則時,必須設定下列設定:

規則條件 (if)

這個區段包含規則必須為真才能簽發輸出宣告的條件。這些條件包括:

  • 宣告簽發者 - 指簽發輸入宣告的實體。它可以是設定的身分識別提供者 (例如 Windows Live ID) 或 ACS。如果輸入宣告來自服務身分識別,或輸入宣告來自另一個宣告規則,則 ACS 是簽發者。如需相關資訊,請參閱服務身分識別

  • 輸入宣告類型 - 指從宣告簽發者收到的輸入宣告類型。例如,「nameidentifier」的完整宣告類型是 http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier。此欄位的選項包括:

    • 任何 - 如果從簽發者收到任何宣告類型,則傳回 True。

    • 選擇類型 - 如果輸入宣告類型符合在下拉式功能表中選取的類型,則傳回 True。此功能表會填入所選宣告簽發者可用的宣告類型。

    • 輸入類型 - 如果輸入宣告類型符合在欄位中輸入的精確值,則傳回 True。

      Important重要事項
      此欄位會區分大小寫。

  • 輸入宣告值 - 指收到之輸入宣告的值。例如,「nameidentifier」宣告類型會使用電子郵件位址作為其值,而此欄位可用於檢查是否有特定的電子郵件位址。此欄位的選項包括:

    • 任何 - 如果從簽發者收到任何宣告值,則傳回 True。

    • 輸入值 - 如果輸入宣告類型符合在欄位中輸入的精確值,則傳回 True。此選項需要選取或在 [輸入宣告類型] 欄位中輸入特定的輸入宣告類型。

      Important重要事項
      此欄位會區分大小寫。

規則動作 (then)

此區段指定如果規則中 If 區段的條件為真,由 ACS 簽發的輸出宣告。輸出宣告選項包括:

  • 輸出宣告類型 - 由 ACS 簽發的宣告類型。此欄位的選項包括:

    • 傳遞輸入宣告類型 - 簽發與輸入宣告類型相同的輸出宣告。

    • 選擇類型 - 簽發指定類型的輸出宣告。下拉式功能表包含一份常用宣告類型清單。

    • 輸入類型 - 簽發所輸入類型的宣告。如果輸出宣告是要出現在 SAML 權杖中,則此值必須是 URI (例如 http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier)。

      Important重要事項
      此欄位會區分大小寫。

  • 輸出宣告值 - 指由 ACS 簽發之輸出宣告的值。此欄位的選項包括:

    • 傳遞輸入宣告值 - 簽發其值與輸入宣告值相同的輸出宣告。

    • 輸入值 - 簽發使用此欄位輸入值的宣告。此選項需要選取或在 [輸出宣告類型] 欄位中輸入特定的輸入宣告類型。

      Important重要事項
      此欄位會區分大小寫。

規則資訊

您也可使用本區段來建立規則的說明。

note附註
在 ACS 中,不會針對產生的規則自動建立規則說明。

另請參閱

顯示:
© 2014 Microsoft