Sun Java System Access Manager 7 2005Q4 管理指南

策略定義類型文件

建立與配置好策略之後,會將其以 XML 的形式儲存於 Directory Server。在 Directory Server 中,以 XML 編碼的資料會儲存在同一位置。雖然策略是使用 amAdmin.dtd (或主控台) 定義和配置,實際上是以根據 policy.dtd 以 XML 的形式儲存在 Directory Server。policy.dtd 包含從 amAdmin.dtd 中擷取的 policy 元素標籤 (不含策略建立標籤)。因此,當策略服務從 Directory Server 載入策略時,將根據 policy.dtd 剖析 XML。只有在使用指令行建立策略時,才會使用 amAdmin.dtd。本節將描述 policy.dtd 的結構。policy.dtd 位於下列位置:

AccessManager-base/SUNWam/dtd (Solairs)
AccessManager-base/identity/dtd (Linux)

備註 –

本章其他部分僅提供 Solaris 目錄資訊。請注意 Linux 的目錄結構不同。


Policy 元素

Policy 是根元素,其定義策略的權限或規則,及套用規則的對象或主旨。它也定義策略是否為參考 (委託的) 策略,及該策略是否有任何限制 (或條件)。可能包含下列一或多個子元素:RuleConditionSubjectReferralresponse provider。必要的 XML 屬性為 name,其指定策略的名稱。referralPolicy 屬性辨識策略是否為參照策略;若未定義,預設值為一般策略。選用的 XML 屬性包括 namedescription


備註 –

將策略標示為參照時, 策略評估期間將略過主旨與條件。相對的,將策略標示為一般時,策略評估期間將略過所有參考。


Rule 元素

Rule 元素定義策略特性並可接受三個子元素:ServiceNameResourceNameAttributeValuePair。可定義為其建立策略服務類型或應用程式,以及於其中執行的資源和動作。規則可被定義為不具任何動作;例如,參照策略規則不具任何動作。


備註 –

已定義策略不含已定義 ResourceName 元素是可接受的。


ServiceName 元素

ServiceName 元素定義套用策略的服務之名稱。此元素代表服務類型。不包含任何其他元素。此值與服務的 XML 檔案中定義之值完全相同 (以 sms.dtd 為根據)。ServiceName 元素的 XML 服務屬性為服務的名稱 (可接受字串值)。

ResourceName 元素

ResourceName 元素定義據以行動的物件。策略已經特別配置為保護這個物件。不包含任何其他元素。ResourceName 元素的 XML 服務屬性為物件的名稱。ResourceName 的範例可以是 http://www.sunone.com:8080/images (在 Web 伺服器上) 或 ldap://sunone.com:389/dc=example,dc=com (在目錄伺服器上)。更特定的資源可以是 salary://uid=jsmith,ou=people,dc=example,dc=com,其中將據以行動的物件是 John Smith 的薪資資訊。

AttributeValuePair 元素

AttributeValuePair 元素定義動作和動作的值。它被用來做為 Subject 元素Referral 元素Condition 元素的子元素。其同時包含 AttributeValue 元素,而且沒有 XML 服務屬性。

Attribute 元素

Attribute 元素定義動作的名稱。一個動作為在資源上執行的作業或事件。POST 或 GET 為 Web 伺服器資源上執行的動作,READ 或 SEARCH 為目錄伺服器上執行的動作。Attribute 元素必須與 Value 元素配對使用。Attribute 元素本身不包含其他任何元素。Attribute 元素的 XML 服務屬性為動作的名稱。

Value 元素

Value 元素定義動作值。Allow/deny 或 yes/no 為動作值範例。其他動作值可以是布林值、數字或字串。其值在定義於服務的 XML 檔案中 (以 sms.dtd 為根據)。Value 元素不包含其他任何元素,而且也不包含 XML 服務屬性。


備註 –

拒絕規則永遠優先於允許規則。例如,如果一個策略是拒絕,另一種是允許,則結果是拒絕 (假如同時滿足這兩種策略條件)。由於拒絕策略可能導致這兩種策略之間產生潛在的衝突,因此建議您使用拒絕策略時要非常謹慎。如果使用明確的拒絕規則,透過不同主旨 (如角色和/或群組成員身份) 為給定使用者指定的策略也可能會導致拒絕對資源存取。通常,策略定義程序應該僅使用允許規則。如果未套用其他策略則可能使用預設的拒絕。


Subject 元素

Subject 子元素辨識套用策略的主體集合;此簡介集合是根據群組中的成員、角色的擁有權或個別使用者進行選擇的。它接受 Subject 子元素。XML 屬性可定義為:

name。可定義物件集合的名稱。

description。可定義主旨的描述。

includeType。 目前不使用。

Subject 元素

Subject 子元素辨識套用策略的主體集合;此集合指出 Subject 元素所定義的集合中較特別的物件。成員可以根據角色、群組成員或只是一些個別使用者。其包含子元素AttributeValuePair 元素。必要的 XML 屬性為 type,其辨識可從其中取得定義特殊之主旨的一般物件集合。其他的 XML 屬性包括 name,其定義物件集合的名稱、includeType,其定義是否已定義物件集合,並決定策略是否適用於「非」主旨成員的使用者。


備註 –

定義多重主旨時,至少一項主旨必須套用到使用者,才能套用策略。若主旨定義的 includeType 設為 false,使用者不可以是策略套用的主旨之成員。


Referrals 元素

Referrals 子元素辨識策略參照集合。它接受 Referral 子元素。可對其定義的 XML 屬性為 name,其定義物件集合的名稱及 description ,其接受描述。

Referral 元素

Referral 子元素辨識特定策略參照。其接受子元素 AttributeValuePair 元素。對其而言必要的 XML 屬性是 type,其辨識可從其中取得定義特殊之參照的一般指定集合。它也可包含定義集合名稱的 name 屬性。

Conditions 元素

Conditions 子元素辨識策略限制集合 (時間範圍、認證層級等等)。它必須包含一或多個 Condition 子元素。可對其定義的 XML 屬性為 name,其定義物件集合的名稱及 description ,其接受描述。


備註 –

Conditions 元素為策略中的選擇性元素。


Condition 元素

Condition 子元素辨識特定策略限制 (時間範圍、認證層級等等)。其接受子元素 AttributeValuePair 元素。它的必要 XML 屬性為 type,其辨識可從其中取得定義特殊的條件之一般限制集合。它也可包含定義集合名稱的 name 屬性。