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

第 8 章 管理策略

本章描述 Sun Java™ System Access Manager 的策略管理功能。Access Manager 的「策略管理」功能使頂層管理員或頂層策略管理員可檢視、建立、刪除和修改用於所有範圍的特定服務的策略。它也為範圍或子範圍管理員或策略管理員提供一種方式,以檢視、刪除和修改範圍層級的策略。

本章包含下列小節:

簡介

策略定義指定擁有組織受保護資源存取權限的規則。公司擁有需要保護、管理和監視的資源、應用程式和服務。策略透過定義使用者對特定資源行動的時機和方法,控制存取權限以及這些資源的用途。策略定義特定主體的資源。


備註 –

主體可以是個人、企業、角色或群組;或是任何可以具有識別的個體。如需更多資訊,請參閱 Java™ 2 Platform Standard Edition Javadoc


單一策略可以定義二進位或非二進位決策。二進位決策為 yes/notrue/falseallow/deny。非二進位決策代表屬性值。例如,郵件服務可能包含一個 mailboxQuota 屬性,每位使用者擁有最大儲存值集。一般來說,策略是配置為定義主體可以在什麼情況下對哪一個資源進行什麼動作。

策略管理功能

策略管理功能提供建立及管理策略的策略服務。策略服務允許管理員定義、修改、取得、取消及刪除權限,以保護 Access Manager 部署內的資源。通常,策略服務包括資料庫、允許建立、管理及評估策略的介面之程式庫、及策略執行程式或策略代理程式。依預設,Access Manager 將 Sun Java Enterprise System Directory Server 用於資料存放區,為策略評估和策略服務自訂提供 Java 和 C API (如需更多資訊,請參閱「Sun Java System Access Manager 7 2005Q4 Developer’s Guide」)。它也讓管理員可使用 Access Manager 主控台來管理策略。Access Manager 提供一個啟用策略的服務,即「URL 策略代理程式」服務,它使用可下載的策略代理程式來強制執行策略。

URL 策略代理程式服務

在安裝時,Access Manager 提供的「URL 策略代理程式」服務可定義策略來保護 HTTP URL。此服務可讓管理員透過策略執行程式或策略代理程式建立與管理策略。

策略代理程式

策略代理程式是儲存企業資源的伺服器之策略執行點 (PEP)。策略代理程式與安裝在不同的 Web 伺服器上,且於使用者發出對受保護的 Web 伺服器上的網路資源的請求時,做為一個額外的認證步驟。此認證在執行資源的任何使用者認證請求之外。此代理程式保護 Web 伺服器,並且資源也會受到認證外掛程式的保護。

例如,受遠端安裝的 Access Manager 保護之人力資源 Web 伺服器可能已安裝一個代理程式。此代理程式可以防止沒有適當策略的人員檢視機密薪資資訊或其他敏感資料。策略是由 Access Manager 管理員所定義、儲存在 Access Manager 部署中,且由策略代理程式用於允許或拒絕使用者存取遠端 Web 伺服器的內容。

最新的 Access Manager 策略代理程式可以從 Sun Microsystems 下載中心下載。

有關安裝與管理策略代理程式的詳細資訊,請參閱「Sun Java System Access Manager Policy Agent 2.2 User’s Guide」


備註 –

策略是以一般順序進行評估,但在評估時,如果一個動作值評估為 deny,就不會評估後續策略,除非策略配置服務中已啟用 [繼續評估拒絕決定] 屬性。


Access Manager 策略代理程式只會強制執行 Web URL (http://...https://...) 的決策。然而,可使用 Java 和 C 策略評估 API 編寫代理程式,以在其他資源上強制執行策略。

此外,策略配置服務中的 [資源比較程式] 屬性可能也需要從預設配置變更為:

serviceType=Name_of_LDAPService |class=com.sun.identity.policy.plugins.SuffixResourceName|wildcard=*

|delimiter=,|caseSensitive=false

或者,也可以提供如 LDAPResourceName 等實作來實作 com.sun.identity.policy.interfaces.ResourceName,並正確配置 [資源比較程式]。

策略代理程式程序

當網路瀏覽器請求一個駐留在受策略代理程式保護的伺服器之 URL 時,保護網路資源的程序即開始。伺服器的已安裝策略代理程式會截取請求,並檢查現有的認證憑證 (階段作業記號)。

如果代理程式截獲請求並驗證現有階段作業記號,將遵循下列程序。

  1. 如果階段作業記號為有效,允許或拒絕使用者存取。如果記號為無效,使用者僅限於認證服務,如下列步驟所述。

    假設代理程式截獲一個沒有現存階段作業記號的請求,代理程式將重新導向使用者到登入頁,不論該資源是否已經使用不同的認證方法保護。

  2. 一旦正確的認證了使用者的憑證,代理程式會核發一個請求給命名服務,以將使用的 URL 定義為連接至 Access Manager 的內部服務。

  3. 若資源符合在代理程式配置的不予執行清單,則允許存取。

  4. [命名服務] 會傳回策略服務、階段作業服務和記錄服務的定址器。

  5. 代理程式會傳送請求給 [策略服務],以取得適用於使用者的策略決策。

  6. 基於存取資源的策略決策,決定使用者是否可以存取。如果策略決策建議不同的認證層級或認證機制,代理程式將重新導向請求到認證服務,直到驗證所有準則為止。

策略類型

使用 Access Manager 配置的策略有兩種:

一般策略

在 Access Manager 中,定義存取權限的策略是指一般策略。一般策略由規則主旨條件回應提供者組成。

規則

規則包含一個資源、一或多個動作及一個值。每個動作可以有一或數個值。


備註 –

部份服務可接受只定義動作但沒有資源。


主旨

主旨定義策略影響的使用者或使用者集合 (例如:擁有特定角色的群組或人員)。指定主旨到策略。主旨的一般原則是,只有當使用者為策略中至少一個主旨的成員時,策略才適用。預設主旨為:

AM 識別主旨

您在 [範圍主旨] 標籤下建立和管理的識別可新增為主旨的一個值。

Access Manager 角色

任何 LDAP 角色皆可新增為此主旨的一個值。LDAP 角色是使用 Directory Server 角色功能定義的任何角色。這些角色具有 Directory Server 角色定義寄存的物件類別。可以在策略配置服務中修改 LDAP 角色搜尋篩選器,以縮小範圍和改善效能。

經認證的使用者

具備有效 SSOToken 的使用者都是此主旨的成員。所有認證的使用者將成為此主旨的成員,即使這些使用者被認證到與定義策略之組織不同的組織。如果資源所有者想要將存取權限授與其他組織的使用者所管理的資源,這個功能很有用。

LDAP 群組

LDAP 群組的任何成員皆可新增為此主旨的一個值。

LDAP 角色

任何 LDAP 角色皆可新增為此主旨的一個值。LDAP 角色是使用 Directory Server 角色功能定義的任何角色。這些角色具有 Directory Server 角色定義寄存的物件類別。可以在策略配置服務中修改 LDAP 角色搜尋篩選器,以縮小範圍和改善效能。

LDAP 使用者

任何 LDAP 使用皆可新增為此主旨的一個值。

組織

組織的任何成員都是此主旨的成員。

Web 服務用戶端

有效值為本機 JKS 鍵值儲存區中可信任憑證的 DN (與可信任 WSC 的憑證相對應)。此主旨取決於 Liberty Web 服務架構,並且僅應該由 Liberty 服務提供者用來授權 WSC。如果包含在 SSOToken 中的任何主體之 DN 與此主旨的任意所選值相符,則由 SSOToken 識別的 Web 服務用戶端 (WSC) 為此主旨的成員。

確定建立鍵值儲存區後再將此主旨加入策略。以下位置可以找到設定鍵值儲存區的資訊:

AccessManager-base /SUNWam/samples/saml/xmlsig/keytool.html

Access Manager 角色與 LDAP 角色的比較

Access Manager 角色是使用 Access Manager 建立的,這些角色具有 Access Manager 指派的物件類別。LDAP 角色是使用 Directory Server 角色功能定義的任何角色。這些角色具有 Directory Server 角色定義寄存的物件類別。所有 Access Manager 角色皆可用來做為 Directory Server 角色。不過,不是所有的 Directory Server 角色都一定會是 Access Manager 角色。藉由配置策略配置服務,您可從現有目錄取用 LDAP 角色。Access Manager 角色僅可透過託管 Access Manager 策略服務存取。可以在策略配置服務中修改 LDAP 角色搜尋篩選器,以縮小範圍和改善效能。

巢式角色

在策略定義中,巢式角色可以正確評估為 LDAP 角色。

條件

此條件允許您定義對策略的限制。例如,如果您在為薪金應用程式定義策略,可以定義僅在特定幾小時限制此動作存取應用程式的條件。或者,如果請求來自給定 IP 位址集或企業內部網路,可能希望定義僅允許此動作存取的條件。

此條件可能還用於在同一網域的不同 URL 中配置不同的策略。例如,http://org.example.com/hr/*jsp 只可由 org.example.net 在 9 a.m. 至 5 p.m. 之間存取,而 http://org.example.com/finance/*.jsp 可由 org.example2.net 在 5 a.m. 至 11 p.m. 之間存取。這可藉由使用 [IP 條件] 和 [時間條件] 來達成。將規則資源指定為 http://org.example.com/hr/*.jsp,此策略會套用於 http://org.example.com/hr 下的所有 JSP (包括子目錄中的 JSP)。


備註 –

參考、規則、資源、主旨、條件、動作及值分別對應於 policy.dtd 中之元素 ReferralRuleResourceNameSubjectConditionAttributeValue


您可新增的預設條件有:

認證層級

若使用者的認證層級大於或等於條件中設定的認證層級,則會套用策略。

此屬性指示認證的可信度。

認證層級條件可用來指定該範圍的已註冊認證層級以外的層級。要將策略套用到其他範圍認證的使用者時,這會很有用。

對於「LE 認證」,若使用者的認證層級低於或等於條件中設定的認證層級,則會套用策略。認證層級條件可用來指定該範圍的已註冊認證層級以外的層級。要將策略套用到其他範圍認證的使用者時,這會很有用。

認證方案

從下拉式功能表中選擇條件的認證方案。這些認證方案是在範圍的核心認證服務中定義的認證模組。

IP 位址

根據 IP 位址的範圍設定條件。您可以定義的欄位為:

  • 起始/終止 IP 位址 — 指定 IP 位址的範圍。

  • DNS 名稱 — 指定 DNS 名稱。此欄位可以為完整的主機名稱或以下之一格式的字串:

    domainname

    *.domainname

階段作業

根據使用者階段作業資料設定條件。您可以修改的欄位為:

  • 最長階段作業時間 — 指定自階段作業初始開始時可套用策略的最長持續時間。

  • 終止階段作業 — 選取時,如果階段作業時間超過 [最長階段作業時間] 欄位中定義所允許的最長時間,使用者階段作業將被終止。

    您可使用此條件來保護機密資源,限制認證後能使用資源的時間。

階段作業特性

根據設定於使用者 Access Manager 階段作業中的特性值來決定策略是否適用於請求。於策略評估期間,僅當使用者階段作業具有條件中定義的特性值時,條件才傳回 true。對於條件中以多重值定義於的特性,需記號具有至少一個條件中為特性列出的值。例如,您可使用此條件,根據外部儲存庫中的屬性套用策略。認證後外掛程式可根據外部屬性設定階段作業特性。

時間

根據時間限制設定條件。這些欄位包括:

  • 起始/終止日期 — 指定日期的範圍。

  • 時間 — 指定一天內的時間範圍。

  • 日 — 指定天數範圍。

  • 時區 — 指定時區 (標準或自訂)。自訂時區僅可為 Java 識別的時區 ID (例如,PST)。如果未指定值,則預設值為 Access Manager JVM 中設定的時區。

回應提供者

回應提供者為提供策略型回應屬性的外掛程式。回應提供者屬性會和策略決策一起傳送給 PEP。Access Manager 包括一個實作,即 IDResponseProvider。此版本的 Access Manager 不支援自訂回應提供者。代理程式 PEP 通常會將這些回應以標頭的形式傳遞給應用程式。應用程式通常使用這些屬性將應用程式頁面個人化,例如入口網站頁面。

策略建議

如果無法根據條件的決定來套用策略,條件可能會產生建議訊息,指出無法將策略套用至請求的原因。這些建議訊息會在策略決策中傳播至 [策略執行點]。[策略執行點] 可以擷取此建議,並嘗試採取適當的行動,例如將使用者重新導向回認證機制,以便進行更高層級認證。採取建議的適當行動後,接著,使用者可能會收到更高層級認證的提示,只要能夠使用策略,使用者可能可以存取資源。

以下類別有更多資訊:

com.sun.identity.policy.ConditionDecision.getAdvices()

如果條件不符,只有 AuthLevelCondiitonAuthSchemeCondition 會提供建議。

AuthLevelCondition 建議與以下鍵值相關聯:

com.sun.identity.policy.plugin.AuthLevelCondition.AUTH_LEVEL_CONDITION_ADVICE

AuthSchemeCondition 建議與以下鍵值相關聯:

com.sun.identity.policy.plugin.AuthLevelCondition.AUTH_SCHEME_CONDITION_ADVICE

自訂條件也會產生建議。但是,Access Manager 策略代理程式僅回應認證層級認證和認證方案建議。可以寫入自訂代理程式來瞭解及回應其他建議,而現有 Access Manager 代理程式可以延伸來瞭解及回應其他建議。如需更多資訊,請參閱「Sun Java System Access Manager Policy Agent 2.2 User’s Guide」

參照策略

管理員可能需要將一個範圍的策略定義委託給另一個範圍。(或者,可以將資源的策略決策委託給其他策略產品。)參照策略控制此策略委託,以建立與評估策略。它是由一或多項規則及一或多個參考所組成。

規則

規則定義其策略定義與評估正在被參照的資源。

參照

參照定義策略評估正在參照的組織。依預設,有兩種類型的參照:同級範圍與子範圍。其分別委派至相同層次上的範圍與子層次上的範圍。如需更多資訊,請參閱建立同級範圍與子範圍的策略


備註 –

被參照的範圍可以僅為那些已參照了該範圍的資源 (或子資源) 定義或評估策略。然而,此限制不會套用至頂層範圍。


策略定義類型文件

建立與配置好策略之後,會將其以 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 屬性。

新增啟用策略的服務

只有當服務模式的 <Policy> 元素配置為 sms.dtd 時,才可以為指定服務的資源定義策略。

依預設,Access Manager 提供 URL 策略代理程式服務 ( iPlanetAMWebAgentService)。此服務於下列目錄中的 XML 檔案中定義:

/etc/opt/SUNWam/config/xml/

不過您可以增加其他策略服務到 Access Manager。一旦建立了策略服務,就可以透過 amadmin 指令行公用程式將其新增至 Access Manager。

Procedure新增啟用策略的服務

步驟
  1. 在 XML 檔案中以 sms.dtd 為根據開發新的策略服務。Access Manager 提供兩種策略服務 XML 檔案,您會想要使用以下兩種檔案作為新策略服務檔案的基礎:

    amWebAgent.xml - 這是預設 URL 策略代理程式服務的 XML 檔案。它位於 /etc/opt/SUNWam/config/xml/ 中。

    SampleWebService.xml- 此範例策略服務檔位於 AccessManager-base/samples/policy

  2. 將 XML 檔案儲存到您即將從其中載入新策略服務的目錄。例如:


    /config/xml/newPolicyService.xml
  3. 使用 amadmin 指令行公用程式載入新的策略服務。例如:


    AccessManager-base/SUNWam/bin/amadmin
        --runasdn “uid=amAdmin,ou=People,default_org,
    root_suffix
        --password password
        --schema /config/xml/newPolicyService.xml
  4. 載入新的策略服務後,您可以透過 Access Manager 主控台,或透過 amadmin 載入新策略,來定義策略定義的規則。

建立策略

您可透過策略 API 與 Access Manager 主控台建立、修改和刪除策略,並透過 amadmin 指令行工具建立和刪除策略。您也可以使用 amadmin 公用程式在 XML 中取得和列出策略。本節重點在透過 amadmin 指令行公用程式與透過 Access Manager 主控台建立策略。如需更多資訊,請參閱「Sun Java System Access Manager 7 2005Q4 Developer’s Guide」

策略通常是以 XML 檔案建立,並透過 amadmin 指令行公用程式新增至 Access Manager,然後透過 Access Manager 主控台管理 (但可透過主控台建立策略)。這是因為不能直接使用 amadmin 修改策略。若要修改策略,必須先從 Access Manager 刪除策略,然後使用 amadmin 加入修改後的策略。

通常策略是在範圍 (或子範圍) 層級建立,可在範圍的整個樹狀結構中使用。

Procedure使用 amadmin 建立策略

步驟
  1. 根據 amadmin.dtd 建立策略 XML 檔。此檔案位於下列目錄:

    AccessManager-base /SUNWam/dtd

  2. 策略 XML 檔案開發完成後,您可使用下列指令加以載入:


    AccessManager-base/SUNWam/bin/amadmin
    --runasdn "uid=amAdmin,ou=People,default_org,
    root_suffix"
    --password password
    --data policy.xml
    

    若要同時加入多重策略,請將這些策略放在一個 XML 檔案中,這一點與在每個 XML 檔案中放一個策略相反。如果使用多重 XML 檔案連續快速載入策略,則內部策略索引可能會損毀,而且某些策略可能不參與策略評估。

    透過 amadmin 建立策略時請確定:當建立認證方案條件時認證模組是以範圍註冊;當建立範圍、LDAP 群組、LDAP 角色和 LDAP 使用者時對應的 LDAP 物件範圍、群組、角色和使用者存在;當建立 IdentityServerRoles 主旨時 Access Manager 角色存在;當建立子範圍或同級範圍參照時相關範圍存在。

    請注意,在 SubrealmReferralPeerRealmReferral 的 Value 元素之內容中,Realm 主旨、IdentityServerRoles 主旨、LDAPGroups 主旨、LDAPRoles 主旨和 LDAPUsers 主旨必須為完整的 DN。

Procedure以 Access Manager 主控台建立一般策略

步驟
  1. 選擇您要為其建立策略的範圍。

  2. 按一下 [策略] 標籤。

  3. 按一下 [策略] 清單中的 [新建策略]。

  4. 新增策略的名稱與描述。

  5. 若您要策略為作用中,請選取 [作用中] 屬性中的 [Yes]。

  6. 並且此時,無需定義一般策略的所有欄位。您可以建立策略,隨後再加入規則、主旨、條件和回應等。如需更多資訊,請參閱管理策略

  7. 按一下 [建立]。

Procedure以 Access Manager 主控台建立參照策略

步驟
  1. 選擇您要建立策略的範圍。

  2. 按一下 [策略] 標籤下的 [新建參照]。

  3. 新增策略的名稱與描述。

  4. 若您要策略為作用中,請選取 [作用中] 屬性中的 [Yes]。

  5. 此時,無需定義參照策略的所有欄位。您可以建立策略,隨後再加入規則和參照等。如需更多資訊,請參閱管理策略

  6. 按一下 [建立]。

建立同級範圍與子範圍的策略

要為同級組織或子範圍建立策略,必須先在父系範圍 (或另一個同級範圍) 中建立參照策略。參照策略的規則定義中必須包含正由子範圍管理的資源前綴。在父系範圍 (或另一個同級範圍) 中建立參照策略後,可在子範圍 (或另一個同級範圍) 建立一般策略。

在此範例中,o=isp 是父系範圍,o=example.com 是子範圍,管理 http://www.example.com 的資源和子資源。

Procedure建立子範圍的策略

步驟
  1. o=isp 建立參照策略。如需參照策略的相關資訊,請參閱程序修改參照策略

    參照策略必須定義 http://www.example.com 做為規則中的資源,且必須包含以 example.com 做為參照中的值之 SubRealmReferral

  2. 瀏覽至子範圍 example.com

  3. 目前,isp 將資源參考為 example.com,可以為資源 http://www.example.com 或任何以 http://www.example.com 開頭的資源建立一般策略。

    若要定義由 example.com 管理的其他資源之策略,必須在 o=isp 建立額外的參照策略。

管理策略

建立一般策略或參照策略並加入 Access Manager 後,您即可透過 Access Manager 主控台管理策略,方法是修改規則、主旨、條件與參照。

修改一般策略

透過 [策略] 標籤,您可修改用來定義存取權限的一般策略。您可定義和配置數個規則、主旨、條件和資源主較程式。此節列出和說明其步驟。

Procedure新增或修改一般策略的規則

步驟
  1. 若您已建立策略,按一下您要新增規則的策略名稱。若還沒建立,請參閱以 Access Manager 主控台建立一般策略

  2. 於 [規則] 功能表下,按一下 [新建]。

  3. 為規則選取下列預設服務類型之一。啟用策略的服務越多,您可以參閱的清單就越大:

    探索服務

    定義探索服務查詢的授權動作,並修改 Web 服務用戶端對特定資源的協定呼叫。

    Liberty 個人設定檔服務

    定義 Liberty 個人設定檔服務查詢的授權動作,並修改 Web 服務用戶端對特定資源的協定呼叫。

    URL 策略代理程式

    為策略執行提供 URL 策略代理程式服務。此服務可讓管理員透過策略執行程式或策略代理程式建立與管理策略。

  4. 按 [下一步]。

  5. 輸入規則的名稱與資源名稱。

    目前,策略代理程式僅支援 http://https:// 資源,而不支援以 IP 位址取代主機名稱。

    主機、連接埠和資源名稱皆支援萬用字元。例如:


    http*://*:*/*.html

    對 URL 策略代理程式服務而言,若未輸入連接埠埠號,則 http:// 的預設埠號為 80、https:// 的預設埠號為 443。

  6. 為此規則選取動作。若您是使用 URL 策略代理程式服務,可以選擇:

    • GET

    • POST

  7. 選取動作值。

    • 允許 — 允許您存取與規則中所定義資源相符的資源。

    • 拒絕 — 不允許您存取與規則中所定義資源相符的資源。

    • [拒絕] 規則永遠優先於 [允許] 規則。例如,如果指定的資源有兩種策略,一種是拒絕存取,另一種是允許存取,則結果是拒絕存取 (假如同時滿足這兩種策略條件)。由於拒絕策略可能導致這兩種策略之間產生潛在的衝突,因此建議您使用拒絕策略時要非常謹慎。策略定義程序應該僅使用允許規則。若資源未套用任何策略,會自動拒絕存取。

      如果使用明確的拒絕規則,即使有一個或多個策略允許存取,透過不同主旨如角色和或群組成員身份為給定使用者指定的策略也可能會導致拒絕對資源存取。例如,如果存在一個適用於員工角色之資源的拒絕策略,還存在另一個適用於管理員角色之相同資源的允許策略,系統將會拒絕指定給使用者 (員工角色和管理員角色 的策略決策。

      解決此問題的一種方法為使用條件外掛程式設計策略。在上述情況中,「角色條件」(將拒絕策略套用於認證為員工角色之使用者,並將允許策略套用至認證為經理角色之使用者) 協助區分這兩種策略。另一種方法為使用 authentication level 條件,其中經理角色是在較高認證層級進行認證。

  8. 按一下 [完成]。

Procedure新增或修改一般策略的主旨

步驟
  1. 若您已建立策略,按一下您要新增主旨的策略名稱。若您尚未建立策略,請參閱以 Access Manager 主控台建立一般策略

  2. 於 [主旨] 清單下,按一下 [新建]。

  3. 選取其中一個預設主旨類型。如需要主旨類型的說明,請參閱主旨

  4. 按 [下一步]。

  5. 輸入此主旨的名稱。

  6. 選取或取消選取 [專用] 欄位。

    如果未選取此欄位 (預設),則此策略將套用於屬於主旨成員的識別。如果選取此欄位,則此策略將套用於不屬於主旨成員的識別。

    若策略中有數個主旨,策略將套用至至少為其中一個主旨之成員的識別。

  7. 執行搜尋,以便顯示要加入至此主旨的識別。此步驟不適用於 [已認證的使用者] 主旨或 [Web 服務用戶端] 主旨。

    預設 (*) 搜尋式樣將顯示所有項目。

  8. 選取要為此主旨加入的個別身份,或按一下 [全部加入] 以立即加入所有身份。按一下 [新增],以將識別移至選取的清單。此步驟不適用於 [已認證的使用者] 主旨。

  9. 按一下 [完成]。

  10. 若要從策略中移除某主旨,請選取此主旨並按一下 [刪除]。按一下主旨名稱可以編輯任何主旨定義。

Procedure將條件新增至一般策略

步驟
  1. 若您已建立策略,按一下您要新增規則的策略名稱。若您尚未建立策略,請參閱以 Access Manager 主控台建立一般策略

  2. 於 [條件] 清單下,按一下 [新建]。

  3. 選取條件類型並按 [下一步]。

  4. 定義條件類型的欄位。如需條件類型的說明,請參閱條件

  5. 按一下 [完成]。

Procedure將回應提供者新增至一般策略

步驟
  1. 若您已建立策略,按一下您要新增回應提供者的策略名稱。若您尚未建立策略,請參閱以 Access Manager 主控台建立一般策略

  2. 於 [回應提供者] 清單下,按一下 [新建]。

  3. 輸入回應提供者的名稱。

  4. 定義下列值:

    StaticAttribute

    含名字與值的回應屬性,定義於 IDResponseProvider 實例中並儲存於策略中。

    DynamicAttribute

    此處所選擇的回應屬性首先需要定義於對應之範圍的「策略配置服務」中。定義的屬性名稱應與那些存在於配置資料庫中的屬性相同。如需有關如何定義屬性的詳細資料,請參閱「Access Manager 線上說明」中的策略配置屬性定義。

  5. 按一下 [完成]。

  6. 若要從策略中移除回應提供者,請選取主旨,然後按一下 [刪除]。按一下名稱可以編輯任何回應提供者定義。

修改參照策略

您可將範圍的策略定義和決策委派其他使用參照策略的範圍。自訂參照可用以從任何策略目標點取得策略決策。建立參照策略後,可新增或修改關聯的規則、參照和資源提供者。

Procedure新增或修改參照策略的規則

步驟
  1. 若您已建立策略,按一下您要新增規則的策略名稱。若還沒建立,請參閱以 Access Manager 主控台建立參照策略

  2. 於 [規則] 清單下,按一下 [新建]。

  3. 為規則選取下列預設服務類型之一。啟用策略的服務越多,您可以參閱的清單就越大:

    探索服務

    定義探索服務查詢的授權動作,並修改 Web 服務用戶端對特定資源的協定呼叫。

    Liberty 個人設定檔服務

    定義 Liberty 個人設定檔服務查詢的授權動作,並修改 Web 服務用戶端對特定資源的協定呼叫。

    URL 策略代理程式

    為策略執行提供 URL 策略代理程式服務。此服務可讓管理員透過策略執行程式或策略代理程式建立與管理策略。

  4. 按 [下一步]。

  5. 輸入規則的名稱與資源名稱。

    目前,策略代理程式僅支援 http://https:// 資源,而不支援以 IP 位址取代主機名稱。

    資源名稱、連接埠號和協定可以使用萬用字元。例如:


    http://*:*/*.html

    對 URL 策略代理程式服務而言,若未輸入連接埠埠號,則 http:// 的預設埠號為 80、https:// 的預設埠號為 443。

    若要允許管理安裝於特定機器上所有伺服器的資源,您可將資源定義為 http://host*:*. 。另外,您可定義以下資源以授與管理員存取特定組織中所有服務的特定組織權限。


    http://*.subdomain.domain.topleveldomain
    
  6. 按一下 [完成]。

Procedure新增或修改策略的參照

步驟
  1. 若您已建立策略,按一下您要新增回應提供者的策略名稱。若您尚未建立策略,請參閱以 Access Manager 主控台建立參照策略

  2. 於 [規則] 清單下,按一下 [新建]。

  3. 選取 [服務] 類型。

  4. 定義 [規則] 欄位中的資源。這些欄位包括:

    參照— 顯示目前的參照類型。

    名稱— 輸入參照的名稱。

    資源名稱— 輸入資源的名稱。

    篩選器— 指定將要顯示在 [值] 欄位中的組織名稱之篩選器。依預設,其將顯示所有組織名稱。

    — 選取參照的組織名稱。

  5. 按一下 [完成]。

    若要從策略中移除某個參照,請選取此參照,然後按一下 [刪除]。

    可以透過按一下參照名稱旁邊的 [編輯] 連結,編輯任何參照定義。

Procedure將回應提供者新增至參照策略

步驟
  1. 若您已建立策略,按一下您要新增回應提供者的策略名稱。若您尚未建立策略,請參閱以 Access Manager 主控台建立一般策略

  2. 於 [回應提供者] 清單下,按一下 [新建]。

  3. 輸入回應提供者的名稱。

  4. 定義下列值:

    StaticAttribute

    含名字與值的回應屬性,定義於 IDResponseProvider 實例中並儲存於策略中。

    DynamicAttribute

    僅含所選取名稱的回應屬性,選取於策略中的 IDResponseProvider。根據策略評估期間的使用者識別請求,可從 IDRepostitories 讀取該值。

  5. 按一下 [完成]。

  6. 若要從策略中移除回應提供者,請選取主旨,然後按一下 [刪除]。按一下名稱可以編輯任何回應提供者定義。

策略配置服務

策略配置服務用來為每個組織透過 Access Manager 主控台配置每個策略相關屬性。您也可定義資源名稱實作和 Directory Server 資料存放區,以和 Access Manager 策略架構一起使用。[策略配置服務] 中指定的 Directory Server 用於 LDAP 使用者、LDAP 群組、LDAP 角色和組織策略主旨的成員身份評估。

主旨結果存在時間

若要改善策略評估表現,成員身份評估將快取一段時間 (以策略配置服務中 [主旨結果存在時間] 屬性中定義的時間為基準)。將一直使用這些快取成員身份決策,直到 [主旨結果存在時間] 屬性定義之時間結束。在這之後,成員身份評估會用於反映目錄中使用者的目前狀態。

動態屬性

這些為允許的動態屬性名稱,其顯示於清單中,並可選取以定義策略回應提供者動態屬性。定義的名稱需要與資料儲存庫中定義的屬性名稱相同。

amldapuser 定義

amldapuser 是在安裝中建立的使用者,預設由 [策略配置] 服務中指定的 Directory Server 使用。若有必要,範圍的管理員或策略管理員可變更此值。

加入策略配置服務

建立範圍時,會自動設定範圍的 [策略配置] 服務屬性。然而,若有必要您可加以修改。

基於資源的認證

有些組織需要有進階認證方案,使用者可根據特定模組、根據試圖存取的資源進行認證。基於資源的認證是 Access Manager 的一項功能,使用者必須通過用以保護資訊的特定認證模組的認證,而非預設認證模組。此功能僅適用於首次使用者認證。


備註 –

這是與階段作業升級中描述的基於資源認證不同的功能。該特定功能並不具有任何限制。


限制

基於資源的認證有下列限制:

Procedure配置基於資源的認證

Access Manager 和策略代理程式都安裝好之後,就可以配置基於資源的認證。要這樣做,必須先將 Access Manager 指向 Gateway servlet。

步驟
  1. 開啟 AMAgent.properties

    AMAgent.properties 可以在 (於 Solaris 環境中) /etc/opt//SUNWam/agents/config/ 中找到。

  2. 註釋下面的行:

    #com.sun.am.policy.am.loginURL = http://Access Manager_server_host.domain_name:port/amserver/UI/Login.

  3. 新增下列行到檔案中:

    com.sun.am.policy.am.loginURL = http://AccessManager_host.domain_name:port/amserver/gateway


    備註 –

    閘道 servlet 使用策略評估 API 開發,並可用來撰寫自訂機制以完成基於資源的認證。「Sun Java System Access Manager 7 2005Q4 Developer’s Guide」中的第 6 章「Using the Policy APIs」的第 6 章「Using the Policy APIs」


  4. 重新啟動代理程式。