透過 SPNEGO 鑑別使用 Kerberos 主體進行授權

相對於使用簡式對映,或是建立自己的 JAAS 自訂登入模組,您可以改用完整 Kerberos 主體名稱來進行授權。

關於這項作業

這些步驟應盡量少遵循,並且只應由下列使用者執行:明確選擇不使用簡式對映(這是預設配置),或是選擇不新增 JAAS 自訂登入模組,來將完整 Kerberos 主體名稱對映至 Liberty 伺服器使用者登錄中的使用者。這項作業可讓您使用完整的 Kerberos 主體名稱來進行授權。

程序

  1. trimKerberosRealmNameFromPrincipal 屬性設為 false,以便將 SPNEGO 鑑別配置成不修整完整 Kerberos 主體名稱中的 Kerberos 網域範圍名稱。
  2. Liberty 伺服器配置成使用獨立式 LDAP 或聯合儲存庫。

    如需如何配置 LDAP 的相關資訊,請參閱使用 Liberty 來配置 LDAP 使用者登錄

    1. 請確定 Active Directory 使用者存在於 LDAP 使用者登錄中,且這個使用者具有相關聯的單一 userPrincipalName 屬性。
    2. 更新 server.xml 檔中的 LDAP 過濾器,以搜尋 userPrincipalName,如下列範例所示:
      <activedLdapFilterProperties id="myactivedfilters"
           userFilter="(&(userPrincipalName=%v))"
           groupFilter="(&(cn=%v))"
           userIdMap="*:userPrincipalName"
           groupIdMap="*:cn"
           groupMemberIdMap="ibm-allGroups:member">
      </activedLdapFilterProperties>
  3. 為對應的應用程式配置應用程式連結,以使用完整 Kerberos 主體名稱作為使用者名稱及適當配置的 access-id。 例如:
    <application type="war" id="myApp" name="myApp" location="${server.config.dir}/apps/myApp.war">
         <application-bnd>
              <security-role name="Employee">
                   <user name="kevin@MYDOMAIN.EXAMPLE.COM" access-id="CN=kevin,CN=Users,DC=MYDOMAIN,DC=EXAMPLE,DC=COM"/>
                   ...
              </security-role>
              ...
         </application-bnd>
    </application>

指示主題類型的圖示 作業主題

檔名:twlp_using_kerb_principal_name_auth.html