使用者登錄聯合

usergroup 資訊分散在多項登錄中時,會採取使用者登錄聯合。比方說,資訊可能位於兩個不同的 LDAP 中、相同 LDAP 的兩個子樹狀結構中、一個檔案中,或者使用者屬於某個系統。甚至資訊可能位於自訂使用者資料儲存庫中。藉由聯合登錄,就可以採統一方式,利用持續儲存資訊,來搜尋和使用這些分散的使用者資訊。利用聯合登錄,您可以使用統一的視圖,在 Liberty 中鑑別和授權使用者。

註: 快速入門安全 (quickStartSecurity)不能與其他使用者登錄聯合,例如,LDAP、基本、SAF 和自訂登錄。

如何聯合使用者登錄?

依預設,會聯合 LDAP 登錄。如果 server.xml 中配置了多項 LDAP 登錄,則會自動聯合這些登錄,而不需另行配置。它們可以是兩項獨立的 LDAP,或是相同 LDAP 中的兩個子樹狀結構。
如果一或多項 LDAP 登錄配置了一或多項基本、SAF 或自訂登錄,也會聯合這些登錄,而不需另行配置。下列範例顯示與 LDAP 聯合的基本登錄:
<server description="Federation">
    <featureManager>
        <feature>appSecurity-2.0</feature>
        <feature>servlet-3.0</feature>
	 <feature>ldapRegistry-3.0</feature>
    </featureManager>

    <basicRegistry id="basic" realm="SampleBasicRealm">
        <user name="admin" password="password" />
        <user name="user1" password="password" />
            <user name="user2" password="password" />
        <group name="memberlessGroup" />
        <group name="adminGroup">
            <member name="admin"/>
        </group>
        <group name="users">
            <member name="user1"/>
            <member name="user2"/>
        </group>
    </basicRegistry>

    <ldapRegistry id="LDAP1" realm="SampleLdapIDSRealm" host="LDAPHOST1.ibm.com" port="389" ignoreCase="true"
	baseDN="o=ibm,c=us"
	ldapType="IBM Tivoli Directory Server"
	searchTimeout="8m"
	recursiveSearch="true">
    </ldapRegistry>
</server>
如果您想將一或兩項基本登錄,與 SAF 或自訂登錄聯合,您可以在 appSecurity-2.0 特性之外,另外包含 federatedRegistry-1.0,如下列範例所示:
    <feature>appSecurity-2.0</feature>
    <feature>federatedRegistry-1.0</feature>
下列範例顯示兩項基本登錄的聯合:
<server description="Federation">
    <featureManager>
        <feature>appSecurity-2.0</feature>
        <feature>federatedRegistry-1.0</feature>
    </featureManager>

    <basicRegistry id="basic1" realm="SampleBasicRealm1">
        <user name="admin" password="password" />
        <user name="user1" password="password" />
            <user name="user2" password="password" />
        <group name="memberlessGroup" />
        <group name="adminGroup">
            <member name="admin"/>
        </group>
        <group name="users">
            <member name="user1"/>
            <member name="user2"/>
        </group>
    </basicRegistry>

    <basicRegistry id="basic2" realm="SampleBasicRealm2">
        <user name="user3" password="password123" />
        <user name="user4" password="password123" />
        <group name="memberlessGroup2" />
        <group name="users2">
            <member name="user3"/>
            <member name="user4"/>
        </group>
    </basicRegistry>
</server>
可以將基本登錄新增至自訂的聯合儲存庫。如果要新增基本登錄,請定義 federatedRepository 元素中的 participatingBaseEntry 名稱欄位。對於基本登錄,其參與的基本項目是一個組織屬性,且會設為基本登錄的領域名稱。下列範例顯示兩個基本登錄的自訂聯合:
<federatedRepository>
    <primaryRealm name="PrimaryRealm">
        <participatingBaseEntry name="o=SampleBasicRealm1"/>
        <participatingBaseEntry name="o=SampleBasicRealm2"/>
    </primaryRealm>
</federatedRepository>
也可以將自訂登錄新增至自訂的聯合儲存庫。如果要新增自訂登錄,請定義 federatedRepository 元素中的 participatingBaseEntry 名稱欄位。對於自訂登錄,其參與的基本項目是一個組織屬性,且會設為自訂登錄的領域名稱。下列範例顯示自訂項目的聯合:
<federatedRepository>
    <primaryRealm name="PrimaryRealm">
        <participatingBaseEntry name="o=customRegistryRealm1"/>
    </primaryRealm>
</federatedRepository>

如果要將某項 SAF 登錄,與已啟用 SAF 權限的一或多項非 SAF 登錄聯合,您必須配置分散式身分過濾器,以便將任何非 SAF 使用者對映至 SAF 使用者 ID。下列範例說明與 LDAP 登錄聯合的 SAF 登錄,且它啟用了分散式身分對映。federatedReposity 元素中指定了 primaryRealm 名稱, 因此,只要 RACMAP 設定檔是定義成將 LDAP 使用者對映至 SAF 使用者 ID,就必須指定 REGISTRY(NAME('FEDREALM')如需相關資訊,請參閱在 z/OS 安全中配置分散式身分過濾器

<server description="Federated SAF and LDAP">
          <featureManager>
          <feature>appSecurity-2.0</feature>
          <feature>federatedRegistry-1.0</feature>
          <feature>zosSecurity-1.0</feature> 
          <feature>ldapRegistry-3.0</feature>
          </featureManager>
        <federatedRepository>
              <primaryRealm name="FEDREALM">
              </primaryRealm>
        </federatedRepository>

 <!-- SAF user registry -->    
 <safRegistry id="saf" realm="SAFREALM" /> 
 <safAuthorization id="saf" racRouteLog="ASIS" /> 
 <safCredentials unauthenticatedUser="WSGUEST"
                            profilePrefix="BBGZDFLT"
                            mapDistributedIdentities="true" />    
 <safRoleMapper profilePattern="%profilePrefix%.%resource%.%role%"
                            toUpperCase="false" />

  <ldapRegistry id="LDAP1" realm="LDAPREALM" 
      ldapType="IBM Tivoli Directory Server"
      host="LDAP1HOST.ibm.com" port="389"        
      baseDN="o=ibm,c=us"
      searchTimeout="8m"
      ignoreCase="true"        
      bindDN="uid=ldapadm,cn=users,o=ibm,c=us"        
      bindPassword="ldapadmpw"  
      sslEnabled="false">        
      <idsFilters
          userFilter="(&amp;(uid=%v)(objectclass=inetOrgPerson))"
          groupFilter="(&amp;(cn=%v)(objectclass=groupOfUniqueNames))"
          userIdMap="*:uid"
          groupIdMap="*:cn"
          groupMemberIdMap="groupOfUniqueNames:uniquemember">         
          </idsFilters> 
   </ldapRegistry>
</server>

指示主題類型的圖示 概念主題

檔名:cwlp_repository_federation.html