Sun Java System Directory Server Enterprise Edition 6.0 管理指南

透過 GSSAPI 的 SASL 認證 (僅適用於 SPARC)

透過 SASL 的通用安全服務 API (GSSAPI) 可讓您使用第三方安全性系統 (如 Kerberos V5) 進行用戶端認證。GSSAPI 程式庫僅適用於 Solaris 作業系統 SPARC® 平台。Sun 建議您在 Sun Enterprise Authentication MechanismTM 1.0.1 伺服器上安裝 Kerberos V5 實作。

此伺服器會使用 GSSAPI 驗證使用者的身份識別。接著,SASL 機制會套用 GSSAPI 對映規則,以取得此連線期間對所有作業而言皆為連結 DN 的 DN。

Procedure配置 Kerberos 系統

請根據製造商的指示配置 Kerberos 軟體。若您使用 Sun Enterprise Authentication Mechanism 1.0.1 伺服器,請執行此程序。

無法使用 DSCC 執行此作業。請依照此程序中的說明使用指令行。

  1. 配置 /etc/krb5 中的檔案。

  2. 建立用以儲存使用者與服務的 Kerberos 資料庫。

  3. 在資料庫中,建立 LDAP 服務的主體。


    $ ldap/server-FQDN@realm
    

    其中 server-FQDN 是您目錄伺服器完全合格的網域名稱。

  4. 啟動 Kerberos 常駐程式程序。


    備註 –

    DNS 必須配置於主機電腦上。


    如需這些步驟的詳細指示,請參閱軟體文件。另請參閱使用 GSSAPI 與 SASL 配置 Kerberos 認證的範例

Procedure配置 GSSAPI 機制

下列程序說明如何配置目錄伺服器以在 Solaris 作業系統上使用 GSSAPI。

無法使用 DSCC 執行此作業。請依照此程序中的說明使用指令行。

  1. GSSAPI 身份識別對映中所述,建立 GSSAPI 的預設身份識別對映與所有自訂對映。

  2. 建立用以儲存服務金鑰的 keytab。

    您的 LDAP 服務金鑰會儲存在 keytab 中。

    1. 請確定只有目錄伺服器使用者可讀取 keytab。

    2. 將檔案名稱變更為預設值 /etc/krb5/krb5.keytab 以外的名稱。

    3. 設定環境變數 KRB5_KTNAME,以確保所使用的是新的 keytab,而非預設 keytab。

  3. 若修改了 SASL 配置項目或任何 GSSAPI 身份識別對映項目,請重新啟動目錄伺服器。

    請注意,DNS 必須配置於主機電腦上。

GSSAPI 身份識別對映

SASL 機制的身份識別對映,會嘗試比對 SASL 身份識別的憑證與目錄中的使用者項目。如果在對映中找不到對應 SASL 身份識別的 DN,認證即會失敗。

SASL 身份識別是一個名為 Principal 的字串,用以表示各機制之特定格式下的使用者。在 Kerberos 中使用 GSSAPI 時,主體將是 uid [/instance][@ realm] 格式的身份識別。uid 可包含一個可選擇的 instance 識別碼,再加上通常為網域名稱的可選擇 realm。例如,下列字串皆為有效的使用者主體:


bjensen
bjensen/Sales
bjensen@EXAMPLE.COM
bjensen/Sales@EXAMPLE.COM

目錄中最初並未定義 GSSAPI 對映。根據您的用戶端定義所使用之主體的方式,定義預設對映以及所需要的任何自訂對映。

Procedure定義 GSSAPI 的身份識別對映

無法使用 DSCC 執行此作業。請依照此程序中的說明使用指令行。

  1. cn=GSSAPI,cn=identity mapping, cn=config 下建立新的對映項目。

    如需身份識別對映項目中的屬性定義,請參閱「Sun Java System Directory Server Enterprise Edition 6.0 Reference」instance-path/ldif/identityMapping_Examples.ldif 中含有 GSSAPI 的對映範例。

    此檔案中的預設 GSSAPI 對映,會假設主體中僅包含一個使用者 ID。此對映可判斷位在目錄之固定分支中的使用者:


    dn: cn=default,cn=GSSAPI,cn=identity mapping,cn=config
    objectclass: dsIdentityMapping
    objectclass: nsContainer
    objectclass: top
    cn: default
    dsMappedDN: uid=\${Principal},ou=people,dc=example,dc=com

    此檔案中的另一個範例說明如何在使用者 ID 位於含有已知範圍的主體中時,判斷使用者 ID。


    dn: cn=same_realm,cn=GSSAPI,cn=identity mapping,cn=config
    objectclass: dsIdentityMapping
    objectclass: dsPatternMatching
    objectclass: nsContainer
    objectclass: top
    cn: same_realm
    dsMatching-pattern: \${Principal}
    dsMatching-regexp: (.*)@EXAMPLE.COM
    dsMappedDN: uid=\$1,ou=people,dc=EXAMPLE,dc=COM
  2. 重新啟動目錄伺服器,使您的新對映生效。