Auckland GUMS Server
From BeSTGRID
Server is used for centralized user management on grid gateways and gridftp servers. There are two ways it can be used:
- generate grid-mapfile and put it on hosts
- have gateway host contact it directly via PRIMA callout
We use the second approach because it allows the user to map to different accounts based on his virtual organization. The grid-mapfile can have only single mapping. On the other hand PRIMA may be difficult to install on non-standard systems (see compiling PRIMA for AIX for example).
Host: https://gums.ceres.auckland.ac.nz:8443/gums/ Requires grid certificate in the browser to log in. Easy way to convert grid-certificate into browser-consumable form:
# usercert.pem and userkey.pem are globus certificate and key. cert.p12 - file name for certificate in pkcs12 format that can be imported in # the browser. openssl pkcs12 -export -in usercert.pem -inkey userkey.pem -out cert.p12
Only nggums admins can change user policies. To add user DN to administrator list execute the following command on nggums host as root:
/opt/vdt/tomcat/v55/webapps/gums/WEB-INF/scripts/gums-add-mysql-admin "/C=NZ/O=BeSTGRID/OU=The University of Auckland/CN=Yuriy Halytskyy"
it may not work, given our database modifications, so it is better to add admin directly via SQL query:
INSERT INTO USER VALUES (NULL,'admins','/C=NZ/O=BeSTGRID/OU=The University of Auckland/CN=Andrey Kharuk',NULL,'a.kharuk@auckland.ac.nz'); INSERT INTO USER VALUES (NULL,'admins','/C=NZ/O=BeSTGRID/OU=The University of Auckland/CN=Yuriy Halytskyy',NULL,'a.kharuk@auckland.ac.nz');
To verify user mapping under particular virtual organization run the following on NG2 machine:
/opt/vdt/prima/bin/gums_map_args /opt/vdt/prima/etc/opensaml/ \ /etc/grid-security/certificates/ '/C=NZ/O=BeSTGRID/OU=The University of Auckland/CN=ng2hpc.ceres.auckland.ac.nz' \ /etc/grid-security/hostcert.pem /etc/grid-security/hostkey.pem \ https://gums.ceres.auckland.ac.nz:8443/gums/services/GUMSAuthorizationServicePort \ "/C=NZ/O=BeSTGRID/OU=The University of Auckland/CN=Yuriy Halytskyy" "/C=AU/O=APACGrid/OU=ARCS/CN=vomrs.arcs.org.au" "/ARCS/BeSTGRID"
Where the last 3 arguments are:
- User CN
- VOMRS server DN
- /C=AU/O=APACGrid/OU=ARCS/CN=vomrs.arcs.org.au for new ARCS server
- User VO
For resilience it is important to store configuration in the database. Go to "Persistense Factories" and tick "store configuration" flag.
Contents |
[edit] Usage Scenarios
[edit] Account Per User
Useful for users with strict security requirements. It does not make any sense to create a virtual organization for single user, but we can map an account using gums manual groups.
Example for /CN=Random User/ and grid-random account
- create *grid-random* account on the cluster and ng2. Connect its home directory via nfs.
- create *Account Mapper* for account *grid-random*
- create new *User Group* for /CN=Random User/
- type = manual
- name = *someUserGroupName*
- create new *Group To Account Mapper* to associate *someUserGroupName* with *grid-random* account mapper
- add /CN=Random User/ *Manual User Group Members*.
- edit *Host To Group Mappings* to include our group to account mapper.
- make sure this mapper goes in front of all more generic mappers.
Much easier way to achieve this:
- add *Manual Account Mappings* and map directly
- edit *Host To Group Mappings* to include our group to account mapper.
I discovered this method later so we don't use it yet...
GUMS 1.1 manual user groups are only mapped to standard non-VOMS related proxy. As of GUMS 1.3 it is possible for manual user group to accept VOMS proxy, when properly configured (.\* for FQAN attribute). This is important because new Grix does not let users create standard proxies, so single account scenario can only be accomplished with GUMS 1.3
[edit] Account Per VO
For generic BeSTGRID users (mapped to grid-bestgrid), ARCS administrators (members of /ARCS/NGadmin group) and supported projects.
Example for /ARCS/BeSTGRID VO and grid-bestgrid account
- create *Account Mapper* for account *grid-bestgrid* unless it exists
- add new *User Group* for /ARCS/BeSTGRID VO
- type = voms
- VOMS Server = ... (select appropriate. We use ARCS for all right now).
- Remainer URL = ... ( for ARCS it is /ARCS/services/VOMSAdmin
- VO/Group = /ARCS/BeSTGRID
- create new *Group To Account Mapper* to associate our new user group with account mapper
- Edit *Host to Group* Mappings to add group to account mapper to the host
- make sure it goes after all individual mappings
- go to *Update VO Members* and click on update
- verify with *Generate Grid-Mapfile*
