配置 SCIM 以管理使用者和群組成員
您可以在 server.xml 檔中配置 scim-1.0 特性,以啟用使用者和群組成員管理。「跨網域身分管理系統 (SCIM)」會定義 REST API,以便建立、擷取、更新和刪除 (CRUD) 使用者與群組。若要呼叫,則是透過系統管理 REST WAB 來進行。本端呼叫為 HTTP over localhost,只能經由 Web API 來進行;無法使用任何 Java API 來進行本端呼叫。
程序
在 server.xml 檔中新增 scim-1.0 特性,就會啟用 SCIM 功能。但是若要完成配置,您還必須執行下列的配置步驟:
- 配置 SSL:保護 REST 服務,只能在 HTTPS 埠上存取。如需如何完成 SSL 配置的相關資訊,請參閱在 Liberty 中啟用 SSL 通訊。
- 配置聯合登錄:只有「聯合登錄」才支援 SCIM 功能。如果要使用 LDAP 來快速設定聯合登錄,請參閱在 Liberty 中配置 LDAP 使用者登錄。
- 配置管理者角色:只有管理者才能存取 REST 服務,因此需要為使用者配置管理者角色。如需將管理者角色對映至 Liberty 的相關資訊,請參閱對映 Liberty 的管理者角色。註: 為 SCIM 配置管理者角色時,無法使用「快速入門登錄」。
- 配置 HTTPS 埠(選用):必須配置 HTTP 端點。如需 httpEndpoint 特性元素配置的相關資訊,請參閱管理中心的 httpEndpoint 一節。
<server description="server1">
<!-- Enable features -->
<featureManager>
<feature>appSecurity-2.0</feature>
<feature>servlet-3.0</feature>
<feature>ldapRegistry-3.0</feature>
<feature>scim-1.0</feature>
<feature>ssl-1.0</feature>
</featureManager>
<httpEndpoint id="defaultHttpEndpoint" httpPort="9080" httpsPort="9090">
<tcpOptions soReuseAddr="true" />
</httpEndpoint>
<ldapRegistry id="LDAP1" realm="SampleLdapIDSRealm" host="9.127.1.90" port="1389" ignoreCase="true"
baseDN="o=ibm,c=us" ldapType="IBM Tivoli Directory Server" searchTimeout="8m" recursiveSearch="true"
bindDN="cn=xxxx" bindPassword="xxxxxx">
<ldapEntityType name="PersonAccount">
<rdnProperty name="uid" objectClass="inetOrgPerson"/>
<objectClass>inetOrgPerson</objectClass>
</ldapEntityType>
<ldapEntityType name="Group">
<objectClass>groupofnames</objectClass>
<objectClass>ibm-nestedGroup</objectClass>
<rdnProperty name="cn" objectClass="groupofnames"/>
</ldapEntityType>
<attributeConfiguration>
<attribute name="title" propertyName="honorificPrefix" syntax="String" entityType="PersonAccount">
</attribute>
<attribute name="initials" propertyName="middleName" syntax="String" entityType="PersonAccount">
</attribute>
<attribute name="st" propertyName="honorificSuffix" syntax="String" entityType="PersonAccount">
</attribute>
<attribute name="l" propertyName="homeStateOrProvinceName" syntax="String" entityType="PersonAccount">
</attribute>
<attribute name="street" propertyName="homeStreet" syntax="String" entityType="PersonAccount">
</attribute>
<attribute name="postalAddress" propertyName="homeCity" syntax="String" entityType="PersonAccount">
</attribute>
<attribute name="postalCode" propertyName="homePostalCode" syntax="String" entityType="PersonAccount">
</attribute>
<attribute name="postOfficeBox" propertyName="homeCountryName" syntax="String" entityType="PersonAccount">
</attribute>
<attribute name="departmentNumber" propertyName="photoURLThumbnail" syntax="String" entityType="PersonAccount">
</attribute>
<attribute name="description" propertyName="photoURL" syntax="String" entityType="PersonAccount">
</attribute>
</attributeConfiguration>
<groupProperties>
<memberAttribute name="member" dummyMember="uid=dummy" objectClass="groupOfNames" scope="direct"/>
<memberAttribute name="ibm-memberGroup" objectClass="ibm-nestedGroup" scope="direct"/>
</groupProperties>
</ldapRegistry>
<ssl id="defaultSSLConfig" keyStoreRef="defaultKeyStore" />
<keyStore id="defaultKeyStore" password="Liberty"/>
<administrator-role>
<user>wasadmin</user>
</administrator-role>
<federatedRepository>
<primaryRealm name="WIMRegistry">
<participatingBaseEntry name="o=ibm,c=us"/>
</primaryRealm>
</federatedRepository>
</server>