| |
| Sun Java System Access Manager 6 2005Q1 管理指南 | |
第 6 章
管理認證認證服務提供一項以網路為基礎的使用者介面給所有安裝在 Access Manager 部署中的立即可用認證模組。該介面提供動態和可自訂的工具,在使用者請求存取時顯示登入需求畫面 (基於呼叫的認證模組) 以匯集認證憑證。該介面使用 Sun Java System Application Framework (有時稱為 JATO) 建立,Java 2 Enterprise Edition (J2EE) 簡報框架用於協助開發者建立實用的網路應用程式。
使用者介面登入 URL輸入登入 URL 到網路瀏覽器的位置列可存取認證服務使用者介面。此 URL 為:
http://identity_server_host.domain_name:port/service_deploy_uri/UI/Login
使用者介面登入 URL 也可以與登入 URL 參數一同附加,以定義指定的認證方法或是成功/失敗的認證重新導向 URL。重新導向 URL 上的額外資訊可在認證類型中找到。
登入 URL 參數
URL 參數是附加到 URL 尾端的名稱/值對。該參數以問號 (?) 開頭並使用 name=value 的形式。一些參數可以合併到一個登入 URL 中,例如:
http://server_name.domain_name:port/amserver/UI/Login?module=LDAP&locale=ja&goto=http://www.sun.com
如果超過一個以上的參數存在,會以符號 (&) 分隔。不過組合必須遵守下列指導方針:
下節說明參數在附加到使用者介面登入 URL,以及鍵入網路瀏覽器的位置列時,可達到的多種認證功能。
goto 參數
goto=successful_authentication_URL 參數會覆寫認證配置服務的登入成功 URL 中的定義值。當達到成功認證時,它會連結到指定的 URL。當使用者登出時,goto=logout_URL 參數也可以用於連結到指定的 URL。例如,成功的認證 URL:
http://server_name.domain_name:port/amserver/UI/Login?goto=http://www.sun.com/homepage.html
範例的 goto 登出 URL:
http://server_name.domain_name:port/amserver/UI/Logout?goto=http://www.sun.com/logout.html
備註
Access Manager 尋找成功認證重新導向 URL 中有一項優先順序。因為重新導向 URL 及其順序是以認證方法為基礎,此順序 (及相關資訊) 在認證類型中有詳細說明。
gotoOnFail 參數
gotoOnFail=failed_authentication_URL 參數會覆寫認證配置服務的登入失敗 URL 中的定義值。如果使用者認證失敗,它將會連結到指定的 URL。舉例來說,gotoOnFail URL 可能為 http://server_name.domain_name:port/amserver/UI/Login?gotoOnFail=http://www.sun.com/auth_fail.html。
備註
Access Manager 尋找失敗認證重新導向 URL 中有一項優先順序。因為重新導向 URL 及其順序是以認證方法為基礎,此順序 (及相關資訊) 在認證類型中有詳細說明。
org 參數
org=orgName 參數可讓使用者認證為指定組織中的使用者。
因為這項參數,將顯示正確的登入頁 (根據其組織與系統語言設定)。如果未設定此參數,預設值為頂層組織。例如,org URL 可以是:
http://server_name.domain_name:port/amserver/UI/Login?org=sun
user 參數
user=userName 參數根據在使用者設定檔的使用者認證配置屬性中配置的模組強制認證。例如,一個使用者設定檔在其他使用者配置為使用 LDAP 模組認證的同時,可以配置為使用憑證模組認證。新增此參數會將使用者傳送到其配置的認證程序,而非為其組織配置的方法。例如:
http://server_name.domain_name:port/amserver/UI/Login?user=jsmith
role 參數
role=roleName 參數會將使用者傳送到為指定角色配置的認證程序。當使用者嘗試以參數認證時,若不是指定角色的成員,則會收到錯誤訊息。例如:
http://server_name.domain_name:port/amserver/UI/Login?role=manager.
locale 參數
Access Manager 具有為認證程序以及主控台本身顯示本地化畫面 (翻譯為英文之外的語言) 的功能。locale=localeName 參數可讓指定的語言環境優先於其他定義的語言環境。以下列位置、指定順序搜尋配置後,登入語言環境會由用戶端顯示:
由此等級順序導出的語言環境儲存於使用者的階段作業記號中,並且 Access Manager 只用它來載入本地化的認證模組。認證成功後,會使用使用者設定檔的 [使用者喜好的語言] 屬性中定義的語言環境。如果都沒有設定,將繼續保持認證所使用的語言環境。例如:
http://server_name.domain_name:port/amserver/UI/Login?locale=ja.
module 參數
module=moduleName 參數可以讓認證經由指定的認證模組。模組中的任何一項皆可被指定,然而必須先註冊到使用者歸屬的組織下,並選取為 [核心認證] 模組中組織認證模組的其中之一。例如:
http://server_name.domain_name:port/amserver/UI/Login?module=Unix.
service 參數
service=serviceName 參數可讓使用者經由服務的已配置認證方案認證。可配置不同的認證方案給使用 [認證配置] 服務的不同服務。例如,線上薪津應用程式可能需要使用更安全的憑證認證模組,而組織的員工目錄應用程式可能只需要 LDAP 認證模組。認證方案可以被配置、命名給這些服務的每一項。例如:
http://server_name.domain_name:port/amserver/UI/Login?service=sv1.
arg 參數
arg=newsession 參數用於結束使用者目前的階段作業並開始新的作業。認證服務將銷毀使用者現有的階段作業記號並在請求中執行新的登入。此選項通常用於 [匿名認證] 模組中。使用者先以匿名階段作業認證,然後點一下註冊或登入連結。例如:
http://server_name.domain_name:port/amserver/UI/Login?arg=newsession.
authlevel 參數
authlevel=value 參數會使用等於或大於指定的認證層級值的認證層級,告知認證服務呼叫模組。每個認證模組都使用固定的整數認證層級定義。例如:
http://server_name.domain_name:port/amserver/UI/Login?authlevel=1.
domain 參數
此參數可讓使用者登入定義為指定網域的組織。指定的網域必須符合在組織設定檔的網域名稱屬性中定義的值。例如:
http://server_name.domain_name:port/amserver/UI/Login?domain=sun.com.
iPSPCookie 參數
iPSPCookie=yes 參數可讓使用者以永久性的 cookie 登入。永久性的 cookie 在瀏覽器視窗關閉後仍然繼續存在。要使用此參數,使用者登入的組織必須在其核心認證模組中啟用永久性的 cookie。在關閉使用者認證和瀏覽器後,使用者可以用新的瀏覽器階段作業登入,不需重新認證就會被導向主控台。在核心服務中指定的永久性的 Cookie 最大時間屬性消逝前,該功能都有效。例如:
http://server_name.domain_name:port/amserver/UI/Login?org=example&iPSPCookie=yes
IDTokenN 參數
此參數可讓使用者藉由 URL 或 HTML 形式傳送認證憑證。利用 IDTokenN=value 參數,使用者無須存取認證服務使用者介面即可被認證。此程序稱為零頁登入。零頁登入只適用於使用單一登入頁的認證模組。IDToken0、IDToken1、 ... 、IDTokenN 的值對應認證模組登入頁上的欄位。例如,LDAP 認證模組可能使用 IDToken1 於 userID 資訊,使用 IDToken2 於密碼資訊。在這種情形下,LDAP 模組 IDTokenN URL 將是:
http://server_name.domain_name:port/amserver/UI/Login?module=LDAP&IDToken1 =userID&IDToken2=password
(如果 LDAP 是預設認證模組,module=LDAP 可以被省略。)
就匿名認證而言,登入 URL 參數會是:
http://server_name.domain_name:port/amserver/UI/Login?module=Anonymous&IDToken1=anonymousUserID
認證類型認證服務提供不同的方式讓認證套用。可以指定登入 URL 參數,或是透過認證程式介面來存取這些不同的認證方法。配置認證模組之前,必須先修改 [核心認證] 服務屬性 [組織認證模組],使之包括特定的認證模組名稱。
認證配置服務用於為以下任一認證類型定義認證模組:
為這些認證類型之一定義認證模組後,便可以將此模組配置為根據認證程序成敗提供重新導向 URL 以及處理後的 Java 類別規格。
認證類型決定存取的方式
這些方法的每一種,使用者都可以核准或是拒絕認證。一旦做出決定,每種方法都會依照此程序。步驟 1 到步驟 3 依照成功的認證,步驟 4 依照成功與失敗兩者的認證。
- Access Manager 確認 Directory Server 資料儲存中是否定義了認證的使用者並且設定檔是否為作用中。
核心認證模組中的使用者設定檔屬性可以定義為必需、動態、隨使用者別名變動或是忽略。依照成功的認證,Access Manager 確認 Directory Server 資料儲存中是否定義了認證的使用者,並且如果使用者設定檔值為必需,再確認設定檔在作用中。(這是預設情形。) 如果使用者設定檔為 Dynamically Configured,認證服務將會在 Directory Server 資料儲存中建立使用者設定檔。如果使用者設定檔設定為忽略,將不會完成使用者驗證。
- 認證處理後 SPI 的執行完成。
核心認證模組包含認證處理後類別屬性,其中可能納入認證處理後類別名稱為其值。AMPostAuthProcessInterface 是處理後介面。它可以執行於成功或失敗認證上或是在登出後。
- 下列屬性會新增或更新到階段作業記號中,並啟動使用者的階段作業。
Organization。這是使用者歸屬的組織之 DN。
Principal。這是使用者的 DN。
Principals。這是使用者已認證過的名稱清單。(此屬性可能有一項以上的值定義為以管道分隔的清單。)
UserId。這是由模組傳回的使用者 DN,或是在 LDAP 或是 Membership 模組以外的情形時,則為使用者名稱。(所有的 Principals 都必需對映到相同的使用者。UserID 是其對映的使用者 DN。)
UserToken。這是使用者名稱。(所有的 Principals 都必需對映到相同的使用者。UserToken 是其對映的使用者名稱。)
Host。這是用戶端的主機名稱或是 IP 位址。
authLevel。這是使用者已認證過的最高層級。
AuthType。這是使用者已認證過的認證模組以管道分隔的清單 (例如,module1|module2|module3)。
clientType。這是用戶端瀏覽器的裝置類型。
Locale。這是用戶端的語言環境。
CharSet。這是決定用於用戶端的字元集。
Role。僅適用於基於角色的認證,此為使用者歸屬的角色。
Service。僅適用於基於服務的認證,此為使用者歸屬的服務。
loginURL。這是用戶端的登入 URL。
- 在成功或是失敗的認證後,Access Manager 尋找重新導向使用者的位置資訊。
URL 重新導向可以是 Access Manager 頁或是 URL。重新導向是基於 Access Manager 根據認證方法尋找重新導向中的優先順序來排序,不管認證已經成功或是失敗。此順序詳述於下列認證方法章節的 URL 重新導向部分。
URL 重新導向
在認證配置服務中,您可以為成功或失敗的認證指定 URL 重新導向。URL 本身在此服務的 [登入成功 URL] 和 [登入失敗 URL] 屬性中定義。為了啟用 URL 重新導向,您必須將認證配置服務加入您的組織,使之可用於為角色、組織或使用者而配置。在加入認證配置服務時,請確定您加入的是認證模組,例如 LDAP - REQUIRED。如需更多資訊,請參閱認證配置。
基於組織的認證
此認證方法可讓使用者認證於一個組織或是子組織。這是用於 Access Manager 的預設認證方法。用於組織的認證方法是透過註冊核心認證模組 到組織,並定義組織認證配置屬性來設定的。
基於組織的認證登入 URL
透過定義 org 參數或是 domain 參數,可以在使用者介面登入 URL 中指定認證的組織。用於認證的請求組織從下列決定,優先順序為:
在呼叫正確的組織後,會從核心認證服務的組織認證配置屬性擷取使用者將認證的認證模組。用於指定和初始化基於組織的認證的登入 URL 為:
http://server_name.domain_name:port/amserver/UI/Login
http://server_name.domain_name:port/amserver/UI/Login?domain=domain_name
http://server_name.domain_name:port/amserver/UI/Login?org=org_name
如果沒有定義的參數,將從登入 URL 中的伺服器主機和網域決定組織。
基於組織的認證重新導向 URL
在成功或失敗的基於組織認證後,Access Manager 尋找重新導向使用者的位置資訊。以下為應用程式尋找此資訊的優先順序。
成功的基於組織的認證重新導向 URL
成功的基於組織的認證,其重新導向 URL 是以此優先順序檢查下列位置決定的:
- 認證模組設定的 URL。
- goto 登入 URL 參數設定的 URL。
- 用於使用者設定檔 (amUser.xml) 的 iplanet-am-user-success-url 屬性的 clientType 自訂檔案中設定的 URL。
- 用於使用者角色項目的 iplanet-am-auth-login-success-url 屬性的 clientType 自訂檔案中設定的 URL。
- 用於使用者組織項目的 iplanet-am-auth-login-success-url 屬性的 clientType 自訂檔案中設定的 URL。
- 作為全域預設值,用於 iplanet-am-auth-login-success-url 屬性的 clientType 自訂檔案中設定的 URL。
- 使用者設定檔 (amUser.xml) 的 iplanet-am-user-success-url 屬性中設定的 URL。
- 使用者角色項目的 iplanet-am-auth-login-success-url 屬性中設定的 URL。
- 使用者組織項目的 iplanet-am-auth-login-success-url 屬性中設定的 URL。
- 作為全域預設值,iplanet-am-auth-login-success-url 屬性中設定的 URL。
失敗的基於組織的認證重新導向 URL
失敗的基於組織的認證,其重新導向 URL 是以此順序檢查下列位置決定的:
- 認證模組設定的 URL。
- gotoOnFail 登入 URL 參數設定的 URL。
- 用於使用者項目 (amUser.xml) 的 iplanet-am-user-failure-url 屬性的 clientType 自訂檔案中設定的 URL。
- 用於使用者角色項目的 iplanet-am-auth-login-failure-url 屬性的 clientType 自訂檔案中設定的 URL。
- 用於使用者組織項目的 iplanet-am-auth-login-failure-url 屬性的 clientType 自訂檔案中設定的 URL。
- 用於 iplanet-am-auth-login-failure-url 屬性,作為全域預設值的 clientType 自訂檔案中設定的 URL。
- 為使用者項目 (amUser.xml) 中的 iplanet-am-user-failure-url 屬性所設定的 URL。
- 為使用者角色項目的 iplanet-am-auth-login-failure-url 屬性設定的 URL。
- 為使用者組織項目的 iplanet-am-auth-login-failure-url 屬性設定的 URL。
- 作為全域預設值,為 iplanet-am-auth-login-failure-url 屬性設定的 URL。
若要配置基於組織的認證
要為組織設定認證模組,先為組織加入 [核心認證] 服務。
若要配置組織的認證屬性:
- 瀏覽至要配置認證屬性的組織。
- 從 [檢視] 功能表選取 [服務]。
- 按一下服務清單中的 [核心特性] 箭頭。
核心認證屬性會顯示在 [資料] 窗格中。
- 按一下 [管理員認證者] 屬性旁邊的 [編輯]。此連結可讓您僅為管理員定義認證服務。如果需要管理員的認證模組與一般使用者的認證模組有所不同,則可以使用此屬性。預設認證模組為 LDAP。
定義認證服務後,按一下 [儲存] 以儲存變更,然後按一下 [關閉] 以返回至組織的核心認證屬性。
- 按一下 [組織認證配置] 屬性旁邊的 [編輯] 連結。此連結可讓您為組織內的所有使用者定義認證模組。預設認證模組為 LDAP。
- 定義認證服務後,按一下 [儲存] 以儲存變更,然後按一下 [關閉] 以返回至組織的核心認證屬性。
基於角色的認證
此認證方法可讓使用者認證到一個組織或是子組織中的角色 (靜態或篩選之一)。
若要成功認證,使用者必需屬於該角色,並且必需認證到為該角色配置的認證配置服務實例中定義的每個模組。對每個基於角色的認證之實例,可指定下列屬性:
衝突解決層級。這為認證配置服務實例 (為包含相同使用者的不同角色所定義) 設定優先層級。例如,如果 User1 指定給 Role1 和 Role2,可設定較高的衝突解決層級給 Role1,因此在使用者試圖認證時,Role1 將具有較高的成功或失敗重新導向以及認證後程序優先順序。
認證配置。此項定義為角色認證程序配置的認證模組。
登入成功 URL。此項定義在成功認證上重新導向使用者的 URL。
登入失敗 URL。此項定義在失敗認證上重新導向使用者的 URL。
認證處理後類別。此項定義認證後介面。
基於角色的認證登入 URL
透過定義角色參數,可以在使用者介面登入 URL 中指定基於角色的認證。在呼叫正確的角色後,會從為角色定義的認證配置服務實例擷取使用者將認證的認證模組。
用於指定和初始化基於角色的認證的登入 URL 為:
http://server_name.domain_name:port/amserver/UI/Login?role=role_name
http://server_name.domain_name:port/amserver/UI/Login?org=org_name&role=role_name
如果未配置 org 參數,會從登入 URL 本身中指定的伺服器主機和網域決定角色屬於的組織。
基於角色的認證重新導向 URL
在成功或失敗的基於角色認證後,Access Manager 尋找重新導向使用者的位置資訊。以下為應用程式尋找此資訊的優先順序。
成功的基於角色的認證重新導向 URL
成功的基於角色的認證,其重新導向 URL 是以此順序檢查下列位置決定的:
- 認證模組設定的 URL。
- goto 登入 URL 參數設定的 URL。
- 用於使用者設定檔 (amUser.xml) 的 iplanet-am-user-success-url 屬性的 clientType 自訂檔案中設定的 URL。
- 用於使用者已認證的角色的 iplanet-am-auth-login-success-url 屬性的 clientType 自訂檔案中設定的 URL。
- 用於已認證使用者的其他角色項目的 iplanet-am-auth-login-success-url 屬性的 clientType 自訂檔案中設定的 URL。(如果前一個重新導向 URL 失敗,此選項為備案。)
- 用於使用者組織項目的 iplanet-am-auth-login-success-url 屬性的 clientType 自訂檔案中設定的 URL。
- 作為全域預設值,用於 iplanet-am-auth-login-success-url 屬性的 clientType 自訂檔案中設定的 URL。
- 使用者設定檔 (amUser.xml) 的iplanet-am-user-success-url 屬性中設定的 URL。
- 使用者已驗證的角色的 iplanet-am-auth-login-success-url 屬性中設定的 URL。
- 已驗證的使用者的其他角色項目的 iplanet-am-auth-login-success-url 屬性中設定的 URL。(如果前一個重新導向 URL 失敗,此選項為備案。)
- 使用者組織項目的 iplanet-am-auth-login-success-url 屬性中設定的 URL。
- 作為全域預設值,iplanet-am-auth-login-success-url 屬性中設定的 URL。
失敗的基於角色的認證重新導向 URL
失敗的基於角色的認證,其重新導向 URL 是以此順序檢查下列位置決定的:
- 認證模組設定的 URL。
- goto 登入 URL 參數設定的 URL。
- 用於使用者設定檔 (amUser.xml) 的 iplanet-am-user-failure-url 屬性的 clientType 自訂檔案中設定的 URL。
- 用於使用者已認證的角色的 iplanet-am-auth-login-failure-url 屬性的 clientType 自訂檔案中設定的 URL。
- 用於已認證使用者的其他角色項目的 iplanet-am-auth-login-failure-url 屬性的 clientType 自訂檔案中設定的 URL。(如果前一個重新導向 URL 失敗,此選項為備案。)
- 用於使用者組織項目的 iplanet-am-auth-login-failure-url 屬性的 clientType 自訂檔案中設定的 URL。
- 用於 iplanet-am-auth-login-failure-url 屬性,作為全域預設值的 clientType 自訂檔案中設定的 URL。
- 使用者設定檔 (amUser.xml) 的 iplanet-am-user-failure-url 屬性中設定的 URL。
- 使用者已驗證的角色的 iplanet-am-auth-login-failure-url 屬性中設定的 URL。
- 已驗證的使用者的其他角色項目的 iplanet-am-auth-login-failure-url 屬性中設定的 URL。(如果前一個重新導向 URL 失敗,此選項為備案。)
- 使用者組織項目的 iplanet-am-auth-login-failure-url 屬性中設定的 URL。
- 作為全域預設值,iplanet-am-auth-login-failure-url屬性中設定的 URL。
若要配置基於角色的認證
在角色層級加入 [認證配置] 服務後,為角色設定認證模組。
- 瀏覽至要配置認證屬性的組織。
- 從 [檢視] 功能表選擇 [角色]。
- 選取要設定認證配置的角色,然後按一下 [特性] 箭頭。
角色的特性會顯示在 [資料] 窗格中。
- 從 [資料] 窗格中的 [檢視] 功能表選取 [服務]。
- 依照需要修改認證配置屬性。如需這些屬性的說明,請參閱第 33 章「認證配置服務屬性」,或按一下主控台右上角的 [說明] 連結。
- 按一下 [儲存]。
基於服務的認證
此認證方法可讓使用者認證到指定的服務,或是認證到註冊於一個組織或是子組織的應用程式。服務配置為認證配置服務中的服務實例並且與一個實例名稱相關。若要成功認證,使用者必需認證到每個為服務配置的認證配置服務實例中定義的模組。對每個基於服務的認證之實例,可指定下列屬性:
認證配置。此項定義為服務認證程序配置的認證模組。
登入成功 URL。此項定義在成功認證上重新導向使用者的 URL。
登入失敗 URL。此項定義在失敗認證上重新導向使用者的 URL。
認證處理後類別。此項定義認證後介面。
基於服務的認證登入 URL
透過定義服務參數,可以在使用者介面登入 URL 中指定基於服務的認證。在呼叫服務後,會從為服務定義的認證配置服務實例擷取使用者將認證的認證模組。
用於指定和初始化基於服務的認證的登入 URL 為:
http://server_name.domain_name:port/amserver/UI/Login?service=service_name
和
http://server_name.domain_name:port/amserver/UI/Login?org=org_name&service=service_name
如果沒有配置的 org 參數,將從登入 URL 中的伺服器主機和網域決定組織。
基於服務的認證重新導向 URL
在成功或失敗的基於服務認證後,Access Manager 尋找重新導向使用者的位置資訊。以下為應用程式尋找此資訊的優先順序。
成功的基於服務的認證重新導向 URL
成功的基於服務的認證,其重新導向 URL 是以此順序檢查下列位置決定的:
- 認證模組設定的 URL。
- goto 登入 URL 參數設定的 URL。
- 用於使用者設定檔 (amUser.xml) 的 iplanet-am-user-success-url 屬性的clientType 自訂檔案中設定的 URL。
- 用於使用者已認證的服務的 iplanet-am-auth-login-success-url 屬性的 clientType 自訂檔案中設定的 URL。
- 用於使用者角色項目的 iplanet-am-auth-login-success-url 屬性的 clientType 自訂檔案中設定的 URL。
- 用於使用者組織項目的 iplanet-am-auth-login-success-url 屬性的 clientType 自訂檔案中設定的 URL。
- 作為全域預設值,用於 iplanet-am-auth-login-success-url 屬性的 clientType 自訂檔案中設定的 URL。
- 使用者設定檔 (amUser.xml) 的 iplanet-am-user-success-url 屬性中設定的 URL。
- 使用者已驗證的服務的 iplanet-am-auth-login-success-url 屬性中設定的 URL。
- 使用者角色項目的 iplanet-am-auth-login-success-url 屬性中設定的 URL。
- 使用者組織項目的 iplanet-am-auth-login-success-url 屬性中設定的 URL。
- 作為全域預設值,iplanet-am-auth-login-success-url 屬性中設定的 URL。
失敗的基於服務的認證重新導向 URL
失敗的基於服務的認證,其重新導向 URL 是以此順序檢查下列位置決定的:
- 認證模組設定的 URL。
- goto 登入 URL 參數設定的 URL。
- 用於使用者設定檔 (amUser.xml) 的 iplanet-am-user-failure-url 屬性的 clientType 自訂檔案中設定的 URL。
- 用於使用者已認證的服務的 iplanet-am-auth-login-failure-url 屬性的 clientType 自訂檔案中設定的 URL。
- 用於使用者角色項目的 iplanet-am-auth-login-failure-url 屬性的 clientType 自訂檔案中設定的 URL。
- 用於使用者組織項目的 iplanet-am-auth-login-failure-url 屬性的 clientType 自訂檔案中設定的 URL。
- 作為全域預設值,用於 iplanet-am-auth-login-failure-url 屬性的 clientType 自訂檔案中設定的 URL。
- 使用者設定檔 (amUser.xml) 的 iplanet-am-user-failure-url 屬性中設定的 URL。
- 使用者已驗證的服務的 iplanet-am-auth-login-failure-url 屬性中設定的 URL。
- 使用者角色項目的 iplanet-am-auth-login-failure-url 屬性中設定的 URL。
- 使用者組織項目的 iplanet-am-auth-login-failure-url 屬性中設定的 URL。
- 作為全域預設值,iplanet-am-auth-login-failure-url 屬性中設定的 URL。
若要配置基於服務的認證
加入 [認證配置] 服務後,為服務設定認證模組。若要如此,請:
- 從識別管理模組中的 [檢視] 功能表選擇 [服務]。
螢幕上將顯示已加入的服務清單。如果未加入認證配置服務,請繼續執行以下步驟。如果已加入該服務,請移至步驟 4。
- 在 [瀏覽] 窗格中按一下 [加入]。
可用服務清單會顯示在 [資料] 窗格中。
- 選取 [認證配置] 核取方塊並按一下 [加入]。
[認證配置] 服務將顯示在 [瀏覽] 窗格中,從而告知管理員該服務已加入。
- 按一下 [認證配置特性] 箭頭。
[服務實例清單] 會顯示在 [資料] 窗格中。
- 按一下要配置認證模組的服務實例。
- 修改認證配置屬性,然後按一下 [儲存]。如需這些屬性的說明,請參閱第 33 章「認證配置服務屬性」,或按一下主控台右上角的 [說明] 連結。
基於使用者的認證
此認證方法可讓使用者認證於一個專為其配置的認證程序。此程序被配置為使用者設定檔中使用者認證配置屬性的值。若要成功認證,使用者必需認證到每個定義的模組。
基於使用者的認證登入 URL
透過定義使用者參數,可以在使用者介面登入 URL 中指定基於使用者的認證。在呼叫正確的使用者後,會從為使用者定義的使用者認證配置實例擷取使用者將認證的認證模組。
用於指定和初始化基於角色的認證的登入 URL 為:
http://server_name.domain_name:port/amserver/UI/Login?user=user_name
http://server_name.domain_name:port/amserver/UI/Login?org=org_name&user=user_name
如果沒有配置的 org 參數,會從登入 URL 本身中指定的伺服器主機和網域決定角色屬於的組織。
使用者別名清單屬性
在接收基於使用者的認證的請求時,認證服務會先驗證使用者是有效的使用者,然後為其擷取認證配置資料。在有一個以上有效使用者設定檔與使用者 URL 參數有關的情形時,所有的設定檔必需對映到指定的使用者。使用者設定檔中的使用者別名屬性 (iplanet-am-user-alias-list) 是能夠定義其他屬於使用者的設定檔的位置。如果對映失敗,則使用者會受到有效階段作業的拒絕。例外情形為,如果使用者其中一是頂層管理員,因此使用者對映驗證未完成,而使用者被賦予超級管理員權利。
基於使用者的認證重新導向 URL
在成功或失敗的基於使用者認證後,Access Manager 尋找重新導向使用者的位置資訊。以下為應用程式尋找此資訊的優先順序。
成功的基於使用者的認證重新導向 URL
成功的基於使用者的認證,其重新導向 URL 是以此優先順序檢查下列位置決定的:
- 認證模組設定的 URL。
- goto 登入 URL 參數設定的 URL。
- 用於使用者設定檔 (amUser.xml) 的 iplanet-am-user-success-url 屬性的 clientType 自訂檔案中設定的 URL。
- 用於使用者角色項目的 iplanet-am-auth-login-success-url 屬性的 clientType 自訂檔案中設定的 URL。
- 用於使用者組織項目的 iplanet-am-auth-login-success-url 屬性的 clientType 自訂檔案中設定的 URL。
- 作為全域預設值,用於 iplanet-am-auth-login-success-url 屬性的 clientType 自訂檔案中設定的 URL。
- 使用者設定檔 (amUser.xml) 的 iplanet-am-user-success-url 屬性中設定的 URL。
- 使用者角色項目的 iplanet-am-auth-login-success-url 屬性中設定的 URL。
- 使用者組織項目的 iplanet-am-auth-login-success-url 屬性中設定的 URL。
- 作為全域預設值,iplanet-am-auth-login-success-url屬性中設定的 URL。
失敗的基於使用者的認證重新導向 URL
失敗的基於使用者的認證,其重新導向 URL 是以此順序檢查下列位置決定的:
- 認證模組設定的 URL。
- gotoOnFail 登入 URL 參數設定的 URL。
- 用於使用者項目 (amUser.xml) 的 iplanet-am-user-failure-url 屬性的 clientType 自訂檔案中設定的 URL。
- 用於使用者角色項目的 iplanet-am-auth-login-failure-url 屬性的 clientType 自訂檔案中設定的 URL。
- 用於使用者組織項目的 iplanet-am-auth-login-failure-url 屬性的 clientType 自訂檔案中設定的 URL。
- 用於 iplanet-am-auth-login-failure-url 屬性,作為全域預設值的 clientType 自訂檔案中設定的 URL。
- 為使用者項目 (amUser.xml) 中的 iplanet-am-user-failure-url 屬性所設定的 URL。
- 為使用者角色項目的 iplanet-am-auth-login-failure-url 屬性設定的 URL。
- 為使用者組織項目的 iplanet-am-auth-login-failure-url 屬性設定的 URL。
- 作為全域預設值,為 iplanet-am-auth-login-failure-url 屬性設定的 URL。
若要配置基於使用者的認證
- 從識別管理模組中的 [檢視] 功能表選擇 [使用者]。
使用者清單會顯示在 [瀏覽] 窗格中。
- 選取您要修改的使用者,然後按一下 [特性] 箭頭。
[使用者設定檔] 會顯示在 [資料] 窗格中。
備註
如果您要建立新的使用者,系統不會自動為此使用者指定認證配置服務。請確保在建立使用者之前,您已選取 [使用者設定檔] 頁面頂端的 [認證配置服務] 選項。如果未選取此選項,使用者將無法繼承為角色定義的認證配置。
- 若要確保認證配置服務已指定給該使用者,請從 [檢視] 功能表中選取 [服務]。如果已指定,認證配置服務將作為已指定的服務列出。
- 從 [資料] 窗格中的 [檢視] 功能表選取 [使用者]。
- 按一下 [使用者認證配置] 屬性旁邊的 [編輯] 連結,為使用者定義認證模組。
- 按一下 [儲存]。
認證基於層級的認證
每個認證模組均可與其認證層級的整數值相關聯。透過按一下服務配置中認證模組的 [特性] 箭頭,並變更模組之 [認證層級] 屬性的相應值,則可指定認證層級。使用者在一個或多個認證模組中經過認證後,較高的認證層級為使用者定義較高的信任層級。
當使用者在模組中認證成功後,認證層級將標記在使用者的 SSO 記號上。如果使用者被要求在多個認證模組中認證,並且成功完成認證,則最高的認證層級值將標記在使用者的 SSO 記號上。
如果使用者嘗試存取某項服務,此服務可以透過檢查使用者 SSO 記號中的認證層級來決定是否允許此使用者存取。然後,它將重新導向使用者以標記的認證層級通過認證模組。
使用者還可以使用特定的認證層級存取認證模組。例如,某使用者使用以下語法執行登入:
http://hostname:port/deploy_URI/UI/Login?authlevel=auth_level_value
認證層級大於或等於 auth_level_value 的所有模組將顯示為認證功能表,以供使用者選擇。如果僅找到一個相符的模組,則會直接顯示此認證模組的登入頁面。
此認證方法可讓管理員指定可認證身份的模組的安全層級。每個認證模組都有個別的認證層級屬性,而此屬性的值可以被定義為任何有效的整數。藉由認證基於層級的認證,認證服務使用包含認證模組 (具有等於或大於 Login URL 參數中指定值的認證層級) 的功能表顯示模組登入頁。使用者可從現有的清單選取一個模組。一旦使用者選取模組後,剩餘的程序則根據基於模組的認證。
認證基於層級的認證登入 URL
透過定義 authlevel 參數,可以在使用者介面登入 URL 中指定認證基於層級的認證。在以模組的相關清單呼叫登入螢幕後,使用者必需選擇一項來認證。用於指定和初始化認證基於層級的認證的登入 URL 為:
http://server_name.domain_name:port/amserver/UI/Login?authlevel=authentication_level
和
http://server_name.domain_name:port/amserver/UI/Login?org=org_name&authlevel=authentication_level
如果沒有配置的 org 參數,會從登入 URL 本身中指定的伺服器主機和網域決定使用者屬於的組織。
認證基於層級的認證重新導向 URL
在成功或失敗的基於層級認證後,Access Manager 尋找重新導向使用者的位置資訊。以下為應用程式尋找此資訊的優先順序。
成功的認證基於層級的認證重新導向 URL
成功的認證基於層級的認證,其重新導向 URL 是以此優先順序檢查下列位置決定的:
- 認證模組設定的 URL。
- goto 登入 URL 參數設定的 URL。
- 用於使用者設定檔 (amUser.xml) 的 iplanet-am-user-success-url 屬性的 clientType 自訂檔案中設定的 URL。
- 用於使用者角色項目的 iplanet-am-auth-login-success-url 屬性的 clientType 自訂檔案中設定的 URL。
- 用於使用者組織項目的 iplanet-am-auth-login-success-url 屬性的 clientType 自訂檔案中設定的 URL。
- 作為全域預設值,用於 iplanet-am-auth-login-success-url 屬性的 clientType 自訂檔案中設定的 URL。
- 使用者設定檔 (amUser.xml) 的 iplanet-am-user-success-url 屬性中設定的 URL。
- 使用者角色項目的 iplanet-am-auth-login-success-url 屬性中設定的 URL。
- 使用者組織項目的 iplanet-am-auth-login-success-url 屬性中設定的 URL。
- 作為全域預設值,iplanet-am-auth-login-success-url 屬性中設定的 URL。
失敗的認證基於層級的認證重新導向 URL
失敗的認證基於服務的認證,其重新導向 URL 是以此順序檢查下列位置決定的:
- 認證模組設定的 URL。
- gotoOnFail 登入 URL 參數設定的 URL。
- 用於使用者項目 (amUser.xml) 的 iplanet-am-user-failure-url 屬性的 clientType 自訂檔案中設定的 URL。
- 用於使用者角色項目的 iplanet-am-auth-login-failure-url 屬性的 clientType 自訂檔案中設定的 URL。
- 用於使用者組織項目的 iplanet-am-auth-login-failure-url 屬性的 clientType 自訂檔案中設定的 URL。
- 作為全域預設值,用於 iplanet-am-auth-login-failure-url 屬性的 clientType 自訂檔案中設定的 URL。
- 為使用者項目 (amUser.xml) 中的 iplanet-am-user-failure-url屬性所設定的 URL。
- 為使用者角色項目的 iplanet-am-auth-login-failure-url 屬性設定的 URL。
- 為使用者組織項目的 iplanet-am-auth-login-failure-url 屬性設定的 URL。
- 作為全域預設值,為 iplanet-am-auth-login-failure-url 屬性設定的 URL。
基於模組的認證
使用者可以使用以下語法存取特定認證模組:
http://hostname:port/deploy_URI/UI/Login?module=module_name
存取認證模組之前,必須先修改 [核心認證] 服務屬性 [組織認證模組],使之包括此認證模組名稱。如果該屬性中未包括此認證模組名稱,使用者嘗試認證時,系統將顯示 [認證模組被拒絕] 頁面。
此認證方法可讓使用者指定他們要認證的模組。指定的模組必需註冊到使用者存取中的組織或子組織。這一項是在組織核心認證服務的組織認證模組屬性中所配置。在接收此項基於模組的認證請求時,認證服務會驗證模組如說明一樣正確配置,如果未定義模組,使用者會被拒絕存取。
備註
請參閱第 7 章的「認證選項」,以取得更多使用 Access Manager 主控台註冊認證模組的資訊。
基於模組的認證登入 URL
透過定義模組參數,可以在使用者介面登入 URL 中指定基於模組的認證。用於指定和初始化基於模組的認證的登入 URL 為:
http://server_name.domain_name:port/amserver/UI/Login?module=authentication_module_name
http://server_name.domain_name:port/amserver/UI/Login?org=org_name&module=authentication_module_name
如果沒有配置的 org 參數,會從登入 URL 本身中指定的伺服器主機和網域決定使用者屬於的組織。
基於模組的認證重新導向 URL
在成功或失敗的基於模組認證後,Access Manager 尋找重新導向使用者的位置資訊。以下為應用程式尋找此資訊的優先順序。
成功的基於模組的認證重新導向 URL
成功的基於模組的認證,其重新導向 URL 是以此優先順序檢查下列位置決定的:
- 認證模組設定的 URL。
- goto 登入 URL 參數設定的 URL。
- 用於使用者設定檔 (amUser.xml) 的 iplanet-am-user-success-url 屬性的 clientType 自訂檔案中設定的 URL。
- 用於使用者角色項目的 iplanet-am-auth-login-success-url 屬性的 clientType 自訂檔案中設定的 URL。
- 用於使用者組織項目的 iplanet-am-auth-login-success-url 屬性的 clientType 自訂檔案中設定的 URL。
- 作為全域預設值,用於 iplanet-am-auth-login-success-url 屬性的 clientType 自訂檔案中設定的 URL。
- 使用者設定檔 (amUser.xml) 的 iplanet-am-user-success-url 屬性中設定的 URL。
- 使用者角色項目的 iplanet-am-auth-login-success-url 屬性中設定的 URL。
- 使用者組織項目的 iplanet-am-auth-login-success-url 屬性中設定的 URL。
- 作為全域預設值,iplanet-am-auth-login-success-url 屬性中設定的 URL。
失敗的基於模組的認證重新導向 URL
失敗的基於模組的認證,其重新導向 URL 是以此順序檢查下列位置決定的:
- 認證模組設定的 URL。
- gotoOnFail 登入 URL 參數設定的 URL。
- 用於使用者項目 (amUser.xml) 的 iplanet-am-user-failure-url 屬性的 clientType 自訂檔案中設定的 URL。
- 用於使用者角色項目的 iplanet-am-auth-login-failure-url 屬性的 clientType 自訂檔案中設定的 URL。
- 用於使用者組織項目的 iplanet-am-auth-login-failure-url 屬性的 clientType 自訂檔案中設定的 URL。
- 用於 iplanet-am-auth-login-failure-url 屬性,作為全域預設值的 clientType 自訂檔案中設定的 URL。
- 為使用者項目 (amUser.xml) 中的 iplanet-am-user-failure-url 屬性所設定的 URL。
- 為使用者角色項目的 iplanet-am-auth-login-failure-url 屬性設定的 URL。
- 為使用者組織項目的 iplanet-am-auth-login-failure-url 屬性設定的 URL。
- 作為全域預設值,為 iplanet-am-auth-login-failure-url 屬性設定的 URL。
認證配置認證配置服務用於為以下任一認證類型定義認證模組:
為這些認證類型之一定義認證模組後,便可以將此模組配置為根據認證程序成敗提供重新導向 URL 以及處理後的 Java 類別規格。
配置認證模組之前,必須先修改 [核心認證] 服務屬性 [組織認證模組],使之包括特定的認證模組名稱。
認證配置使用者介面
認證配置服務可讓您定義一個或多個認證服務 (或模組),使用者必須先通過這些認證服務,然後才被允許存取主控台或 Access Manager 中任何受保護的資源。組織、角色、服務和基於使用者的認證都使用共用使用者介面來定義認證模組。(有關存取特定物件類型的 [認證配置] 介面的說明,將在後續章節中描述)。
- 按一下物件的 [認證配置] 屬性旁邊的 [編輯] 連結,以顯示 [模組清單] 視窗。
- 此視窗列出了已指定給該物件的認證模組。如果不存在任何模組,請按一下 [加入] 顯示 [加入模組] 視窗。
[加入模組] 視窗包含三個欄位要定義:
[模組名稱]。此下拉清單可讓您選取核心認證模組的組織認證模組屬性中啟用的認證模組 (包括可新增的自訂模組)。
[旗標]。此下拉式功能表允許您指定認證模組要求。可以為下列選項之一:
- REQUIRED - 要求認證模組必須成功。無論成功或失敗,都將繼續認證清單中的下一個認證模組。
- REQUISITE - 要求認證模組必須成功。如果成功,會繼續認證清單中的下一個認證模組。如果失敗,會將控制權傳回應用程式 (不會繼續認證清單中的下一個認證模組)。
- SUFFICIENT - 不要求認證模組一定成功。如果成功,會將控制權立即傳回應用程式 (不會繼續認證清單中的下一個認證模組)。如果失敗,會繼續認證清單中的下一個認證模組。
- OPTIONAL - 不要求認證模組一定成功。無論成功或失敗,都將繼續認證清單中的下一個認證模組。
這些旗標為定義了這些旗標的認證模組建立了執行標準。執行的階層結構中,REQUIRED 為最高層級,OPTION 為最低層級。
例如,如果管理員使用 REQUIRED 旗標定義 LDAP 模組,則使用者憑證必須通過 LDAP 認證要求,才能存取給定的資源。
如果您加入多重認證模組,並且每個模組的旗標設定為 REQUIRED,則使用者必須通過所有認證要求,才能取得存取權限。
如需關於旗標定義的更多資訊,請參考 JAAS (Java 認證與授權服務),位於:
http://java.sun.com/security/jaas/doc/module.html
[選項]。允許此模組的其他選項為鍵值=值對。多重選項由空格分隔。
圖 6-1 為使用者新增模組清單視窗
- 選取欄位後,按一下 [確定] 以返回 [模組清單] 視窗。您已定義的認證模組會在此視窗中列出。按一下 [儲存]。
您可以向此清單中加入任意多個認證模組。加入多個認證模組被稱為認證鏈接。如果您要鏈接認證模組,請注意模組的列出次序定義執行的階層結構之次序。如需有關認證鏈接的更多資訊,請參閱認證模組鏈接。
若要變更認證模組的次序,請:
- 若要從清單中移除任一認證模組,請選取該認證模組旁邊的核取方塊,然後按一下 [刪除]。
認證模組鏈接
可以配置一個以上的認證模組,因此使用者必需傳送認證憑證給其全體。這就稱為認證鏈結。Access Manager 中的認證鏈結使用整合於認證服務中的 JAAS 框架來達成。模組鏈結配置於認證配置服務底下。每個註冊的模組都會被指定下列四值之一:
一旦認證到模組後,由標幟在鏈結中定義成功後,控制會傳回驗證所有使用者 ID (用於認證和對映到單一使用者) 的認證服務 (從 JAAS 框架)。對映由配置使用者設定檔中使用者別名清單屬性來達成。如果所有的對映都是正確的,有效的階段作業記號會發佈到使用者,如果不是,使用者會被有效的階段作業記號拒絕。下列特性會表示其他使用者做為別名的單一認證使用者:
在啟用動態設定檔建立下,如果所有的使用者 ID 未對映到相同的使用者,並且使用者 ID 之一存在於本機 Directory Server 中,則其他使用者 ID 將會新增到現有使用者的使用者別名清單屬性。
組織的認證配置
要為組織設定認證模組,先為組織加入 [核心認證] 服務。
若要配置組織的認證屬性:
- 瀏覽至要配置認證屬性的組織。
- 從 [檢視] 功能表選取 [服務]。
- 按一下服務清單中的 [核心特性] 箭頭。
核心認證屬性會顯示在 [資料] 窗格中。
- 按一下 [管理員認證者] 屬性旁邊的 [編輯] 連結。此連結可讓您僅為管理員定義認證服務。如果需要管理員的認證模組與一般使用者的認證模組有所不同,則可以使用此屬性。預設認證模組為 LDAP。
定義認證服務後,按一下 [儲存] 以儲存變更,然後按一下 [關閉] 以返回至組織的核心認證屬性。
- 按一下 [組織認證配置] 屬性旁邊的 [編輯] 連結。此連結可讓您為組織內的所有使用者定義認證模組。預設認證模組為 LDAP。
- 定義認證服務後,按一下 [儲存] 以儲存變更,然後按一下 [關閉] 以返回至組織的核心認證屬性。
角色的認證配置
在角色層級加入 [認證配置] 服務後,為角色設定認證模組。
- 瀏覽至要配置認證屬性的組織。
- 從 [檢視] 功能表選擇 [角色]。
- 選取要設定認證配置的角色,然後按一下 [特性] 箭頭。
角色的特性會顯示在 [資料] 窗格中。
- 從 [資料] 窗格中的 [檢視] 功能表選取 [服務]。
- 依照需要修改認證配置屬性。如需這些屬性的說明,請參閱第 33 章「認證配置服務屬性」,或按一下主控台右上角的 [說明] 連結。
- 按一下 [儲存]。
服務的認證配置
加入 [認證配置] 服務後,為服務設定認證模組。若要如此,請:
- 從識別管理模組中的 [檢視] 功能表選擇 [服務]。
螢幕上將顯示已加入的服務清單。如果未加入認證配置服務,請繼續執行以下步驟。如果已加入該服務,請移至步驟 4。
- 在 [瀏覽] 窗格中按一下 [加入]。
可用服務清單會顯示在 [資料] 窗格中。
- 選取 [認證配置] 核取方塊並按一下 [加入]。
[認證配置] 服務將顯示在 [瀏覽] 窗格中,從而告知管理員該服務已加入。
- 按一下 [認證配置特性] 箭頭。
[服務實例清單] 會顯示在 [資料] 窗格中。
- 按一下要配置認證模組的服務實例。
- 修改認證配置屬性,然後按一下 [儲存]。如需這些屬性的說明,請參閱第 33 章「認證配置服務屬性」,或按一下主控台右上角的 [說明] 連結。
使用者的認證配置
- 從識別管理模組中的 [檢視] 功能表選擇 [使用者]。
使用者清單會顯示在 [瀏覽] 窗格中。
- 選取您要修改的使用者,然後按一下 [特性] 箭頭。
[使用者設定檔] 會顯示在 [資料] 窗格中。
備註
如果您要建立新的使用者,系統不會自動為此使用者指定認證配置服務。請確保在建立使用者之前,您已選取 [使用者設定檔] 頁面頂端的 [認證配置服務] 選項。如果未選取此選項,使用者將無法繼承為角色定義的認證配置。
- 若要確保認證配置服務已指定給該使用者,請從 [檢視] 功能表中選取 [服務]。如果已指定,認證配置服務將作為已指定的服務列出。
- 從 [資料] 窗格中的 [檢視] 功能表選取 [使用者]。
- 按一下 [使用者認證配置] 屬性旁邊的 [編輯] 連結,為使用者定義認證模組。
- 按一下 [儲存]。
帳戶鎖定認證服務提供一項功能,其中使用者將在 n 次失敗後被鎖定於認證外。這項功能預設為關閉,但是可以使用 Access Manager 主控台啟用。
核心認證服務包含啟用和自訂此功能的屬性,包括但不限於:
- 啟用帳戶鎖定的登入失敗鎖定模式。
- 登入失敗鎖定計數 其定義使用者在被鎖定前可嘗試認證的數目。此計數只對每個使用者 ID 有效;相同的使用者 ID 在賦予計數時必需失效,而後該使用者 ID 會被鎖定。
- 登入失敗鎖定間隔時間 定義在使用者被鎖定前,必需完成的登入失敗鎖定計數值之 (以分鐘計) 時數。
- 接收鎖定通知的電子郵件位址 指定使用者鎖定通知將被傳送的電子郵件地址。
- N 次失敗後警告使用者 指定在顯示使用者警告訊息之前,可以發生的認證失敗次數。這可讓管理員設定在使用者被警告即將被鎖定後,額外的登入嘗試次數。
- 登入失敗鎖定持續時間 定義使用者在被鎖定後,再次嘗試認證前需等待的時間 (以分鐘計)。
- 鎖定屬性名稱 定義使用者設定檔中哪一項 LDAP 屬性將被設定為實體鎖定的非作用中。
- 鎖定屬性值 定義哪一項鎖定屬性名稱中指定的 LDAP 屬性將被設定:非作用中或作用中。
電子郵件通知將被傳送到與任何帳戶鎖定有關的管理員。(帳戶鎖定活動也會被記錄。) 如需關於帳戶鎖定屬性的詳細資訊,請參閱第 20 章「核心認證屬性」。
備註
如需在 Microsoft® Windows 2000 作業系統上使用此功能的特殊說明,請參閱「Access Manager Developer’s Guide」的「AMConfig.properties 檔案」、附錄 A 中的「簡易郵件傳輸協定 (SMTP)」。
Access Manager 支援兩種帳戶鎖定類型:實體鎖定與記憶體鎖定,定義於下列章節中。
實體鎖定
這是 Access Manager 預設的鎖定運作方式。鎖定是藉由變更使用者設定檔中的 LDAP 屬性的狀態為非作用中來初始化。鎖定屬性名稱屬性定義用於鎖定作用的 LDAP 屬性。如需關於配置實體鎖定的詳細資訊,請參閱「Sun Java System Access Manager 管理指南」。
記憶體鎖定
記憶體鎖定是藉由變更登入失敗鎖定持續時間屬性為大於 0 的值來啟用。然後使用者帳號會照指定分鐘數被鎖定於記憶體中。經過該段時間後,將解除鎖定帳戶。以下是使用記憶體鎖定功能時,一些特殊的考量:
認證服務錯誤修復認證服務錯誤修復自動重新導向認證請求到次伺服器中,如果主伺服器因為硬體或軟體問題或伺服器暫時關機而失敗。
認證內容必須先在可使用認證服務的 Access Manager 實例上建立。如果此 Access Manager 實例無法使用,則可透過認證錯誤修復機制在 Access Manager 上建立認證內容。認證內容會依下列順序檢查伺服器可用性:
- 認證服務 URL 會傳到「AuthContext API」。例如:
AuthContext(orgName,url)
如果使用 API,僅使用 URL 參照的伺服器。即使伺服器上可以使用該認證服務,也不會發生錯誤修復。
- 認證內容可以檢查 AMConfig.properties 檔案的 com.iplanet.am.server* 屬性中定義的伺服器。
- 如果步驟 2 失敗,則認證內容會從可取得命名服務的伺服器查詢平台清單。在共用一個 Directory Server 實例安裝 Access Manager (通常是為了錯誤修復) 的多重實例時,會自動建立此平台。
例如,如果平台清單包含 Server1、Server2 和Server3 的 URL,則認證內容會在 Server1、Server2 和 Server3 間循環,直到成功認證其中一個為止。
平台清單有時不是從同一個伺服器取得,而是視「命名」服務可用性而異。另外,「命名」服務的錯誤修復可能先發生。多重命名服務 URL 於 com.iplanet.am.naming.url property (在 AMConfing.properties) 中指定。第一個可用的「命名」服務 URL 會用來辨識伺服器,包含將發生錯誤修復的伺服器清單 (位於其平台伺服器清單中)。
完全合格的網域名稱對映完全合格的網域名稱 (FQDN) 對映會啟用認證服務以便在使用者輸入錯誤的 URL 時採取修正行動 (例如指定部分的主機名稱或 IP 位址存取受保護的資源)。FQDN 對映是藉由修改 AMConfig.properties 檔案中的 com.sun.identity.server.fqdnMap 屬性來啟用。指定此屬性的格式為:
com.sun.identity.server.fqdnMap[invalid-name]=valid-name
invalid-name 值可能是使用者輸入的無效 FQDN 主機名稱,而 valid-name 是篩選將重新導向使用者的實際主機名稱。只要符合聲明的需求,任何對映數都可指定 (程式碼範例 1-1 中的圖說)。如果未設定此屬性,使用者將被傳送到在 com.iplanet.am.server.host=server_name 屬性 (也可在 AMConfig.properties 檔案中找到) 中配置的預設伺服器名稱。
可能用於 FQDN 對映
此屬性可以用於建立對一個以上主機名稱的對映,在常駐於伺服器上的應用程式可被一個以上的主機名稱存取時。此屬性也可以用於配置 Access Manager 不對某些 URL 採取修正行動。例如,如果使用 IP 位址存取應用程式的使用者不需要重新導向時,可藉由指定對映項目執行此功能,例如:
com.sun.identity.server.fqdnMap[IP address]=IP address
永久性的 Cookie永久性的 Cookie 在網路瀏覽器關閉後仍然繼續存在,可讓使用者不用重新認證即可以新的瀏覽器階段作業登入。Cookie 的名稱定義於 AMConfig.properties 中的 com.iplanet.am.pcookie.name 屬性;預設值為 DProPCookie。Cookie 值是 3DES 加密的字串,包含 userDN、組織名稱、認證模組名稱、最長階段作業時間、閒置時間和快取時間。若要啟用永久性的 cookie:
可以使用認證 SPI 方法開啟永久性 Cookie 模式:
AMLoginModule.setPersistentCookieOn()。
多重 LDAP 認證模組配置作為一種錯誤修復,或當 Access Manager 主控台僅提供一個值欄位時要配置屬性的多個值,管理員可於一個組織之下定義多重 LDAP 認證模組配置。儘管這些附加配置不會顯示在主控台中,但它們仍可在找不到用於請求使用者認證的初始搜尋時與主配置配合使用。例如,一個組織可以在兩種不同網域中透過 LDAP 伺服器為認證定義搜尋,或是在一個網域中配置多重使用者命名屬性。就後者而言,在主控台中只有一個文字欄位,如果使用主要搜尋準則找不到使用者,LDAP 模組將會使用次要範圍搜尋。依照下列步驟配置其他的 LDAP 配置。
若要新增其他的 LDAP 配置
- 撰寫一個 XML 檔案,其中包含完整屬性集和次要 (或第三) LDAP 認證配置需要的新值。
若要參照可用的屬性,可以檢視 etc/opt/SUNWam/config/xml 中的 amAuthLDAP.xml。此 XML 檔案建立於此步驟中,然而,不像 amAuthLDAP.xml,是基於 amadmin.dtd的結構。任何或是全部屬性都能定義給這個檔案。程式碼範例 1-2 是子配置檔案的範例,包含所有 LDAP 認證配置可用的屬性值。
程式碼範例 6-2 新增 LDAP 子配置的範例 XML 檔案
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
Copyright (c) 2002 Sun Microsystems, Inc. All rights reserved.
Use is subject to license terms.
-->
<!DOCTYPE Requests
PUBLIC "-//iPlanet//Sun ONE Identity Server 6.0 Admin CLI DTD//EN"
"jar://com/iplanet/am/admin/cli/amAdmin.dtd"
>
<!--
Before adding subConfiguration load the schema with
GlobalConfiguration defined and replace corresponding
serviceName and subConfigID in this sample file OR load
serviceConfigurationRequests.xml before loading this sample
-->
<Requests>
<OrganizationRequests DN="dc=iplanet,dc=com">
<AddSubConfiguration subConfigName = "ssc"
subConfigId = "serverconfig"
priority = "0" serviceName="iPlanetAMAuthLDAPService">
<AttributeValuePair>
<Attribute name="iplanet-am-auth-ldap-server"/>
<Value>newvalue</Value>
</AttributeValuePair>
<AttributeValuePair>
<Attribute name="iplanet-am-auth-ldap-server"/>
<Value>vbrao.red.iplanet.com:389</Value>
</AttributeValuePair>
<AttributeValuePair>
<Attribute name="iplanet-am-auth-ldap-base-dn"/>
<Value>dc=iplanet,dc=com</Value>
</AttributeValuePair>
<AttributeValuePair>
<Attribute name="planet-am-auth-ldap-bind-dn"/>
<Value>cn=amldapuser,ou=DSAME Users,dc=iplanet,dc=com</Value>
</AttributeValuePair>
<AttributeValuePair>
<Attribute name="iplanet-am-auth-ldap-bind-passwd"/>
<Value>plain text password</Value>
</AttributeValuePair>
<AttributeValuePair>
<Attribute name="iplanet-am-auth-ldap-user-naming-attribute"/>
<Value>uid</Value>
</AttributeValuePair>
<AttributeValuePair>
<Attribute name="iplanet-am-auth-ldap-user-search-attributes"/>
<Value>uid</Value>
</AttributeValuePair>
<AttributeValuePair>
<Attribute name="iplanet-am-auth-ldap-search-scope"/>
<Value>SUBTREE</Value>
</AttributeValuePair>
<AttributeValuePair>
<Attribute name="iplanet-am-auth-ldap-ssl-enabled"/>
<Value>false</Value>
</AttributeValuePair>
<AttributeValuePair>
<Attribute name="iplanet-am-auth-ldap-return-user-dn"/>
<Value>true</Value>
</AttributeValuePair>
<AttributeValuePair>
<Attribute name="iplanet-am-auth-ldap-auth-level"/>
<Value>0</Value>
</AttributeValuePair>
<AttributeValuePair>
<Attribute name="iplanet-am-auth-ldap-server-check"/>
<Value>15</Value>
</AttributeValuePair>
</AddSubConfiguration>
</OrganizationRequests>
</Requests>
- 複製純文字密碼作為步驟 1 建立的 XML 檔案中 iplanet-am-auth-ldap-bind-passwd 的值。
此屬性的值在程式碼範例 1-2 中以粗體顯示。
- 使用 amadmin 指令行工具載入 XML 檔案。
./amadmin -u amadmin -w administrator_password -v -t name_of_XML_file
請注意次要 LDAP 配置不會顯示並且不能使用 Access Manager 主控台修改。
提示
這是多重 LDAP 配置可用的範例。請參閱 /AcessManager-base/SUNWam/samples/admin/cli/bulk-ops/中的 serviceAddMultipleLDAPConfigurationRequests.xml 指令行範本。詳細說明請見 /AcessManager-base/SUNWam/samples/admin/cli/中的 Readme.html。
階段作業升級認證服務可允許根據相同使用者對單一組織所執行的次要成功認證,有效的階段作業記號的升級。如果具有有效階段作業的使用者試圖認證到由目前組織保護的資源,並且這項次要認證請求成功,階段作業會根據新認證使用新屬性更新。如果認證失敗,使用者目前的階段作業會不更新即傳回。如果具有有效階段作業的使用者試圖認證到由不同組織保護的資源,使用者將收到詢問其是否要認證到新組織的訊息。使用者在此時可以維持目前階段作業,或是嘗試認證到新組織。成功的認證將導致舊階段作業被銷毀,並建立新的階段作業。
在階段作業升級期間,如果登入頁逾時,將會重新導向到原始的成功 URL。逾時值的決定是基於:
iplanet.am.invalidMaxSessionTimeout 和 iplanet-am-max-session-time 的值應該大於頁逾時值,否則階段作業升級期間的有效階段作業資訊將會遺失,而且到前一個成功 URL 的 URL 重新導向將會失敗。
驗證外掛程式介面管理員可以撰寫適合其組織的使用者名稱或是密碼驗證邏輯,並外掛到認證服務中。(這項功能只有 LDAP 和 Membership 認證模組支援。) 在認證使用者或是變更密碼前,Access Manager 將會呼叫此外掛程式。如果驗證成功,認證將繼續;如果失敗,將拋出認證失敗頁。延伸 com.iplanet.am.sdk.AMUserPasswordValidation 類別的外掛程式是服務管理 SDK 的一部份。關於此 SDK 的資訊,可以參考 Access Manager Javadocs 中的 com.iplanet.am.sdk 套裝軟體。以下步驟說明如何撰寫和配置 Access Manager 的驗證外掛程式。
- 新的外掛程式類別將延伸 com.iplanet.am.sdk.AMUserPasswordValidation 類別並執行 validateUserID() 和 validatePassword() 方法。如果驗證失敗,應該會拋出 AMException。
- 編譯外掛程式類別並放置 .class 檔案在需要的位置。更新類別路徑,以便在運行時間期間可由 Access Manager 存取。
- 以頂層管理員身份登入 Access Manager 主控台。按一下 [服務管理] 標籤,然後到管理服務的屬性。在使用者 ID 和密碼驗證外掛程式類別欄位中輸入外掛程式類別的名稱 (包含套裝軟體名稱)。
- 登出並登入。
JAAS 共用狀態JAAS 共用狀態提供認證模組間使用者 ID 和密碼的共用。為每個認證模組定義的選項用於:
在失敗時,模組會提示需要的憑證。在認證失敗後,模組停止執行,或是登出共用狀態清除。
啟用 JAAS 共用狀態
若要配置 JAAS 共用狀態:
在失敗時,認證模組會提示需要的憑證,如同 JAAS 規格中建議的 tryFirstPass 選項運作方式。
JAAS 共用狀態儲存選項
若要配置 JAAS 共用狀態儲存選項:
在確認、中斷或登出後,將清除共用狀態。