| By Asim Saddal | Article Rating: |
|
| September 12, 2009 09:33 AM EDT | Reads: |
2,225 |
The purpose of this document is to describe the technical integration of the WebSphere Datapower WebGUI login process with the LDAP server using Role Based Management (RBM). RBM provides a flexible and integrated means to control whether an authenticated user has the necessary privileges to access resources through access policies.
Requirements
1- WebSphere Datapower firmware must be at 3.7.x
2- Usernames and groups must be defined in the LDAP server
|
Groups |
Member users |
Group access to Datapower Domains |
|
cn=administrators,ou=groups,dc=ibm,dc=com |
cn=adminuser,ou=people,dc=ibm,dc=com |
Full |
|
cn=architects,ou=groups,dc=ibm,dc=com |
cn=archuser,ou=people,dc=ibm,dc=com |
SandboxDomain (Full) Default (Read-Only) |
|
cn=operations,ou=groups,dc=ibm,dc=com |
cn=opsuser,ou=people,dc=ibm,dc=com |
DeveloperDomain (Full) Default (Read-Only) |
Fig:2
WebSphere Datapower Configurations with LDAP Server
WebSphere Datapower Configurations with LDAP Server
To configure the WebSphere Datapower with LDAP server using RBM, perform the following steps:
1- Login in to the default domain using the admin account.
2- Expand “Administration” and click on “RBM Settings”
Fig:3
3- Click on the “Authentication” tab menu and type the following information:
User Authentication Method: ldap
Authentication Server Host: <LDAP hostname>
Authentication Server Port: 389
LDAP Version: v3
Search LDAP for DN: on
LDAP Bind DN: cn=root,dc=ibm,dc=com
LDAP Bind Password: <password>
Local Login As Fallback: specific-users
Fallback User: admin
Fig:4
LDAP Search Parameters: click “+” and type the following
Name: aldapsearch
LDAP Base DN: ou=people,dc=ibm,dc=com
LDAP Filter Prefix: cn=
Keep the other values at default and press “Apply”
Fig:5
Note: The LDAP search parameters used to perform an LDAP Search in order to retrieve the user's DN.
4- Click on the “Credentials” tab menu and type the following information:
Mapping Credentials Method: xmlfile
Search LDAP for Group Name: on
Credentials Server Host: <LDAP hostname>
Credentials Server Port: 389
LDAP Bind DN: cn=root,dc=ibm,dc=com
LDAP Bind Password: <password>
Fig:6
LDAP Search Parameters: click “+” and type the following
Name: ldapsearch
LDAP Base DN: ou=groups,dc=ibm,dc=com
LDAP Filter Prefix: (&(member=
LDAP Filter Suffix: )(|(cn=administrators)(cn=architects)(cn=operations)))
Keep the other values at default and press “Apply”
Fig:7
Note: The filter means that I am looking for all groups which have a member = <authenticated user's dn> and the group name dn.
Mapping RBM Policy URL: click “+” and type the following
i- Select the “RBMInfo.xml” file from the store and then click Next.
Fig:8
ii- Click Next twice and delete all the entries from the “User Identities” screen and then press Next.
iii- On the “Access Profile Mappings” screen, add the following. Press Next
|
cn=administrators,ou=groups,dc=ibm,dc=com |
adm-grp |
|
adm-grp |
*/*/*?Access=r+w+a+d+x |
|
cn=architects,ou=groups,dc=ibm,dc=com |
arch-grp |
|
arch-grp |
*/SandboxDomain/*?Access=r+w+a+d+x */default/*?Access=r+w+a+d+x |
|
cn=operations,ou=groups,dc=ibm,dc=com |
ops-grp |
|
ops-grp |
*/DevelopersDomain/*?Access=r+w+a+d+x */default/*?Access=r+w+a+d+x |
Fig:9
iv- Select “local:///” from the dropdown and name the file “RBMLDAP-ibm.xml” . Click on Next then click on Commit.
5- Click on the “Apply”.
6- Save configuration.
Verification
In order to test the group policy implementation, login to the Datapower WebGUI using the all three users:
1. Login with “adminuser”, all the domain are visible
Fig:10
2. Login with “archuser”, only “SandboxDomain” and “default” domains are visible
Fig:11
3. Login with “opsuser”, only “DeveloperDomain” and “default” domains are visible
Fig:12
Conclusion
In general, Role Based Management (RBM) controls the relationships between authenticated users and resources. By using the RBM, this relationship can be mapped at the group level for the LDAP users and groups. However, there is a little restriction that WebSphere Datapower doesn’t support users being in multiple groups.
Resources
Resources
1. WebSphere Datapower SOA Appliances – Product support
2. Administration Guide 3.7.3
Appendix A - LDAP users & groups import
Appendix A - LDAP users & groups import
|
dn: dc=ibm,dc=com dc: ibm description: My wonderful company objectClass: dcObject objectClass: organization o: IBM Inc. dn: ou=people, dc=ibm,dc=com ou: people description: All people in organisation objectClass: organizationalUnit dn: cn=adminuser,ou=people, dc=ibm,dc=com sn: adminuser userPassword:: password ou: Datapower Admin Resource carLicense: HISCAR 123 mail: adminuser@ibm.com objectClass: inetOrgPerson uid: admin homePhone: 555-111-2222 cn: adminuser description: swell guy dn: cn=archuser,ou=people, dc=ibm,dc=com sn: archuser userPassword:: password ou: Datapower Architect Resource carLicense: HISCAR 123 mail: archuser@ibm.com objectClass: inetOrgPerson uid: arch homePhone: 555-111-2222 cn: archuser description: swell guy dn: cn=opsuser,ou=people, dc=ibm,dc=com sn: opsuser userPassword:: password ou: Datapower Operation Resource carLicense: HISCAR 123 mail: opsuser@ibm.com objectClass: inetOrgPerson uid: ops homePhone: 555-111-2222 cn: opsuser description: swell guy dn: ou=groups, dc=ibm,dc=com ou: groups objectClass: organizationalUnit description: generic groups branch dn: cn=administrators,ou=groups, dc=ibm,dc=com objectClass: groupOfNames description: Administrator group member: cn=adminuser,ou=people,dc=ibm,dc=com cn: administrators dn: cn=architects,ou=groups, dc=ibm,dc=com objectClass: groupOfNames description: Operation group member: cn=archuser,ou=people,dc=ibm,dc=com cn: architects dn: cn=operations,ou=groups, dc=ibm,dc=com description: Operation group objectClass: groupOfNames member: cn=opsuser,ou=people,dc=ibm,dc=com cn: operations |
|
<aaa:AAAInfo xmlns:dpfunc="http://www.datapower.com/extensions/functions" xmlns:aaa="http://www.datapower.com/AAAInfo"> <aaa:FormatVersion>1</aaa:FormatVersion><aaa:Filename>local:///RBMLDAP-ibm.xml</aaa:Filename> <aaa:Summary>This is an example of the file format.</aaa:Summary> <!-- Determine credential from output of the extract-identity phase. --> <!-- Specify credential (if any) to use when there is no authenticated identity. --> <!-- Map credentials to different credentials. --> <aaa:MapCredentials> <aaa:InputCredential>cn=administrators,ou=groups,dc=ibm,dc=com</aaa:InputCredential> <aaa:OutputCredential>adm-grp</aaa:OutputCredential> </aaa:MapCredentials> <aaa:MapCredentials> <aaa:InputCredential>adm-grp</aaa:InputCredential> <aaa:OutputCredential>*/*/*?Access=x+d+a+w+r</aaa:OutputCredential> </aaa:MapCredentials> <aaa:MapCredentials> <aaa:InputCredential>cn=architects,ou=groups,dc=ibm,dc=com</aaa:InputCredential> <aaa:OutputCredential>arch-grp</aaa:OutputCredential> </aaa:MapCredentials> <aaa:MapCredentials> <aaa:InputCredential>arch-grp</aaa:InputCredential> <aaa:OutputCredential>*/SandboxDomain/*?Access=x+d+a+w+r */default/*?Access=r</aaa:OutputCredential> </aaa:MapCredentials> <aaa:MapCredentials> <aaa:InputCredential>cn=operations,ou=groups,dc=ibm,dc=com</aaa:InputCredential> <aaa:OutputCredential>ops-grp</aaa:OutputCredential> </aaa:MapCredentials> <aaa:MapCredentials> <aaa:InputCredential>ops-grp</aaa:InputCredential> <aaa:OutputCredential>*/DeveloperDomain/*?Access=x+d+a+w+r*/default/*?Access=r</aaa:OutputCredential> </aaa:MapCredentials> <!-- Determine resource from output of the extract-resource phase. --> <!-- Authorize access to resource for credentials. --> </aaa:AAAInfo> |
Published September 12, 2009 Reads 2,225
Copyright © 2009 Ulitzer, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
Related Stories
More Stories By Asim Saddal
Asim Saddal works in the Middleware (WebSphere Application Server, WebSphere Datapower, WebSphere Process Server, WebSphere VE) practice of IBM Software Services for WebSphere.














Ulitzer content is offered under Creative Commons "Attribution Non-Commercial No Derivatives" License.
For any reuse or distribution, you must make clear to others the license terms of this work.
The best way to do this is with a link to this web page.
Any of the above conditions can be waived if you get written permission from Ulitzer, Inc., the copyright holder.
Nothing in this license impairs or restricts the author's moral rights.