Sun Java System Access Manager 7.1 管理指南

Windows Desktop SSO

「Windows Desktop SSO 認證」模組是以 Kerberos 為基礎的認證外掛程式模組,用於 Windows 2000™。它可讓通過 Kerberos 分發中心 (Kerberos Distribution Center, KDC) 認證的使用者,毋需再次提交登入條件便可通過 Access Manager 的認證 (單次登入)。

使用者透過 SPNEGO (Simple and Protected GSS-API Negotiation Mechanism,簡單和受保護的 GSS-API 協商機制) 通訊協定向 Access Manager 提供 Kerberos 記號。為了經由此認證模組來執行基於 Kerberos 的單次登入 Access Manager,在用戶端的使用者必須支援 SPNEGO 通訊協定,才能自我認證。通常,任何支援此通訊協定的使用者皆應可使用這個模組以進行 Access Manager 認證。視用戶端記號的可用性而定,此模組會提供 SPENGO 記號或 Kerberos 記號 (不論那一個,通訊協定都相同)。於 Windows 2000 (或更新版本) 上執行的 Microsoft Internet Explorer (5.01 或更新版本) 目前支援此通訊協定。此外,Solaris (9 和 10) 上的 Mozilla 1.4 具有 SPNEGO 支援,但僅會傳回 KERBEROS 記號,因為 Solaris 不支援 SPNEGO。


備註 –

您必須使用 JDK 1.4 或更新版本,才能利用 Kerberos V5 認證模組的新功能和 Java GSS API,在此 SPNEGO 模組中執行基於 Kerberos 的 SSO。


Internet Explorer 的已知限制

若在 WindowsDesktopSSO 認證時使用的是 Microsoft Internet Explorer 6.x,且瀏覽器不具使用者的 kerberos/SPNEGO 記號 (符合 WindowsDesktopSSO 模組中配置的 (KDC) 範圍) 之存取權,則在瀏覽器向 WindowsDesktopSSO 模組的認證失敗後,瀏覽器對其他模組的運作也會不正確。導致此問題的直接原因在於當 Internet Explorer 向 WindowsDesktopSSO 模組認證失敗後,即使出現回呼的提示,瀏覽器也無法將回呼 (屬於其他模組) 傳遞至 Access Manager,除非瀏覽器重新啟動。由於使用者憑證為空,因此 WindowsDesktopSSO 之後的所有模組都將失敗。

請參閱下列文件以取得相關資訊:

http://support.microsoft.com/default.aspx?scid=kb;en-us;308074

http://www.wedgetail.com/jcsi/sso/doc/guide/troubleshooting.html#ieNTLM


備註 –

截至此 Access Manager 發行版本,Microsoft 已修正這個限制。如需更多資訊,請參閱下列文件︰

http://www.microsoft.com/technet/security/bulletin/ms06-042.mspx


配置 Windows Desktop SSO

啟用 Windows Desktop SSO 認證是一個具有兩個步驟的程序:

  1. 在 Windows 2000 網域控制器中建立一個使用者

  2. 設定 Internet Explorer。

Procedure要在 Windows 2000 網域控制器中建立一個使用者

  1. 在網域控制器中,為 Access Manager 認證模組建立使用者帳號。

    1. 從 [開始] 功能表移至 [程式集] > [管理工具]。

    2. 選取 [使用者與電腦]。

    3. 移至 [電腦] > [新增] > [電腦],並增加用戶端電腦的名稱。如果您使用 Windows XP,則會在配置網域控制站帳號時自動執行這個步驟。

    4. 移至 [使用者] > [新增] > [使用者],並以 Access Manager 主機名稱做為使用者 ID (登入名稱) 建立新使用者。Access Manager 主機名稱不應包含網域名稱。

  2. 將使用者帳號與服務提供者名稱產生關聯,並將 keytab 檔案匯出至安裝 Access Manager 的系統。若要進行上述動作,請執行下列指令:


    ktpass -princ host/hostname.domainname@DCDOMAIN -pass password -mapuser userName -out 
    hostname.host.keytab
    ktpass -princ HTTP/hostname.domainname@DCDOMAIN -pass 
    password -mapuser userName -out hostname.HTTP.keytab

    備註 –

    ktpass 公用程式不作為 Windows 2000 伺服器的一部分安裝。您必須從安裝光碟將它安裝到 c:\program files\support 工具目錄。


    ktpass 指令接受下列參數:

    hostname。執行 Access Manager 的主機名稱 (不含網域名稱)。

    domainname。Access Manager 網域名稱。

    DCDOMAIN。網域控制器的網域名稱。此名稱可能與 Access Manager 的網域名稱不同。

    password。使用者帳號的密碼。請確定密碼正確,因為 ktpass 不會驗證密碼。

    userName。使用者帳號 ID。它應該與 hostname 相同。


    備註 –

    請確保兩個 keytab 檔案均已做好安全措施。


    服務範本值應類似於以下範例:

    服務主體: HTTP/machine1.EXAMPLE.COM@ISQA.EXAMPLE.COM

    Keytab 檔案名稱:/tmp/machine1.HTTP.keytab

    Kerberos 範圍: ISQA.EXAMPLE.COM

    Kerberos 伺服器名稱︰machine2.EXAMPLE.com

    使用網域名稱傳回委託人:false

    認證層級︰22


    備註 –

    如果您使用 Windows 2003 或 Windows 2003 Service Pack,請使用下列 ktpass 指令語法︰


    ktpass /out filename /mapuser username /princ HTTP/hostname.domainname 
         /crypto encryptiontype /rndpass /ptype principaltype /target domainname
    

    例如:


    ktpass /out demo.HTTP.keytab /mapuser http 
    /princ HTTP/demo.identity.sun.com@IDENTITY.SUN.COM /crypto RC4-HMAC-NT 
    /rndpass /ptype KRB5_NT_PRINCIPAL /target IDENTITY.SUN.COM

    如需語法定義,請參閱 http://technet2.microsoft.com/WindowsServer/en/library/64042138-9a5a-4981-84e9-d576a8db0d051033.mspx?mfr=true 網站。


  3. 重新啟動伺服器。

Procedure設定 Internet Explorer

上述步驟適用於 Microsoft Internet Explorer™ 6 及更高版本。若您是使用較早的版本,請確定 Access Manager 在瀏覽器的網際網路區域內,並啟用本機 Windows 認證。

  1. 在 [工具] 功能表中,移至 [網際網路選項] > [進階/安全性] > [安全性]。

  2. 選取 [整合 Windows 認證] 選項。

  3. 移至 [安全性] > [本機網際網路]。

    1. 選取 [自訂層級]。在 [使用者驗證/登入] 面板中,選取 [只在企業內部網路區域自動登入] 選項。

    2. 前往 [網站] 並選取所有選項。

    3. 按一下 [進階] ,並將 Access Manager 加入至本機區域 (若尚未加入的話)。