SlideShare a Scribd company logo
1 of 101
Download to read offline
Combining the strengths of UMIST and
The Victoria University of Manchester
4 short pieces on:
Virtual Organisations and VOMS
Mike Jones
Combining the strengths of UMIST and
The Victoria University of Manchester
Overview
Combining the strengths of UMIST and
The Victoria University of Manchester
An introduction
• exactly what are we trying to solve with VOMS?
– movement from the individual authorisation
– to virtual organisation based authorisation
– let the virtual organisations manage themselves
– ease the burden on the resource owners
Combining the strengths of UMIST and
The Victoria University of Manchester
Contents
• historical introduction
– authentication and authorisation
– the emergence of the Virtual Organisation
– following suit in practice – what are grids doing about VOs
• VOMS overview
– introduction
– tools for the user, the VO, and the system administrator
• VOMS in production
– adoption by the UK NGS, GridPP and the LCG
• topics on federated identities
Combining the strengths of UMIST and
The Victoria University of Manchester
A Brief History of Grid Authorisation
Combining the strengths of UMIST and
The Victoria University of Manchester
Access to resource: what? 
• objective
– to enable all those deemed worthy   to find and use services on the internet
• what services?
– compute
– storage
– metadata
• data about available data and compute resources, ...
– peripherals
• telescopes, lab equipment, printers ...
– services
Combining the strengths of UMIST and
The Victoria University of Manchester
Access to resource: how? 
• compute/storage
– assertion by daemon (password, fingerprint, asymmetric key­pair) 
– Access control lists  based upon session's UID:GID
• compute is controlled by attributes of executable file
• data access depends on attributes of stored file and executable used to read it
• administration is expressed within the same system
• services
– translation somehow into the above
– depends upon UID:GID of who is running the service
• peripherals 
– translation away from the above
Combining the strengths of UMIST and
The Victoria University of Manchester
Authentication and Authorisation
How does the system decide who's allowed to do what?
get information
process information
act upon information
Combining the strengths of UMIST and
The Victoria University of Manchester
Authentication & Authorisation
• authentication
– all about establishing authenticity
– everything else are attributes
• attributes 
– information about a thing
• authorisation
– giving a thing the authority to do something
– often split up into:
• decision point – a translation of abstract attributes ­> native attributes
• enforcement point – a run time evaluation native attributes
often endlessly debated!
Combining the strengths of UMIST and
The Victoria University of Manchester
Authentication & Authorisation
• authentication
– you're the person on this coin aren't you?
• attributes 
– “has likeness on a coin”
– “wears a helmet”
– “has funny ears”
– is called “”
• authorisation
– is authorised to rule & rules.
– is equipped for battle & burns down temples.
example1: I have a coin.
Combining the strengths of UMIST and
The Victoria University of Manchester
Authentication & Authorisation
• authentication
– An expert identifies that it is an authentic scroll
• attributes 
– It is from the Mediterranean region and says: “This hereby certifies that 
Nebuchadnezzar is ruler of all Babylon between 605 and 562 BC!” 
• authorisation
– To a Babylonian: this might mean that Nebuchadnezzar, being their king, is 
authorised to burn down temples.  And the Babylonian might give him a torch to 
do so.
– To an Israelite: these attributes give Nebuchadnezzar no such authority.*
example2: I'm given an ancient scroll.
*Illustrating validity of assertion
Combining the strengths of UMIST and
The Victoria University of Manchester
Authentication & Authorisation
• BEWARE!  that's not the conventional view
• authN and authZ are interpreted quite differently by different communities:
– the federated identity community: 
• there's no effective separation between authentication and authorisation it's 
all authorisation ... All authentic tokens are attribute assertions which are 
used for authentication.
– the PKI community (and most of the Grid community): 
• the deriving of a name based on attributes associated with a context.  But are 
“names” unique and do they map 1­1 with individuals?
• so it's confusing and the experts still argue about it.
we'll ignore this rift for the moment and concentrate on current grid practices...
eh?
Combining the strengths of UMIST and
The Victoria University of Manchester
Authentication according to Globus
• X.509 certificates
– PKI based authentication assertions
• certificate authorities (CAs)
– a breadcrumb trail back to the CA, a trusted source of authority (SOA)
– installed as CA files on the resources and clients for mutual authentication
– CAs usually also provide certificate revocation lists (CRLs)
• GSI extensions to the X.509 certificate format (RFC3820)
– delegation (of identity!)
– single sign­on
Combining the strengths of UMIST and
The Victoria University of Manchester
Authentication according to Globus
• X.509 certificates
– like the coin in the first example
• certificate authorities
– like The Mint
• GSI extensions to the X.509 certificate format (RFC3820)
– like getting small change – not really
– more like taking a rubbing or a cast of the coin.
• Globus identifies the person with a distinguished name attribute
like the coin analogy
Combining the strengths of UMIST and
The Victoria University of Manchester
Authorisation according to Globus
• local policy is stored in a grid­mapfile
– this stipulates that the user credential's distinguished name (DN), in quotes, in 
particular representation, may assume any local identity of the comma separated 
values on the same line.
– only one match is made to the  first distinguished name found 
“/C=UK/O=eScience/OU=Manchester/L=MC/CN=michael jones” user1,user2
“/C=UK/O=eScience/OU=Manchester/L=HEP/CN=alessandra forti” user3
“/C=UK/O=eScience/OU=Manchester/L=HEP/CN=sergey dolgobrodov” user4
...
• policy enforcement is the call to fork+su+exec
– this is done by the gatekeeper and the gridftp server
– further policy enforcements are made by the underlying system
Combining the strengths of UMIST and
The Victoria University of Manchester
Authorisation according to Globus
• local policy is stored in a grid­mapfile
– the scroll*, (authenticity pre­verified)
• policy enforcement was the call to fork+su+exec
– help him to carry out his edicts 
– or deny him the privilege
like in the ancient scroll analogy
*Same idea for VOMS but VOMS is dynamic
Combining the strengths of UMIST and
The Victoria University of Manchester
How other grid middleware does it
• UNICORE
– policy decision based upon the resource having the user's X.509 certificate 
locally stored (in the UNICORE User DataBase UUDB)
– enforcement by the Target System Interface, fork su and exec
– delegation by trusted schedulers re­signing job objects (and some GSI support)
• GridSite
– policy decision based upon .gacl files and
– policy enforcement
• for the file distribution GridSite enforces the policy
• for the execution environment a modified suexec
Combining the strengths of UMIST and
The Victoria University of Manchester
Other authorisation middleware
• Akenti
– delegated policy based decision engine (JAVA)
– good model for systems with multiple online stake­holders
• PERMIS
– RBAC (role based authentication) decision engine (JAVA)
– support for hierarchical authorisation decisions
– support for plain language policy creation
– support for SAML* requests
• Shibboleth*
– browser based implementation of the SAML protocols
– sits between authentication and authorisation
– huge community uptake
*More a bit later
Combining the strengths of UMIST and
The Victoria University of Manchester
Enter the Virtual Organisation
Combining the strengths of UMIST and
The Victoria University of Manchester
What is a VO
• many definitions, the common points are that VOs:
– are groups of individuals and/or institutions and/or resources
– span multiple administrative domains
– in themselves form a new administrative domain
– should/can't be dynamic!!
• Other non­grid perspectives also suggest they should be
– transient by nature
– able to be set­up and dismantled efficiently
– a cooperation of functionally and/or culturally diverse entities
Combining the strengths of UMIST and
The Victoria University of Manchester
Where does the concept fit into our grids
• dynamics/transient nature of our work:
– grids' resources have difficulty maintaining large changing lists of users
– grids' userbases have difficulty registering to the huge numbers of resources
• mapfile management is not scalable
• need to automate the authorisation process for our grids
Combining the strengths of UMIST and
The Victoria University of Manchester
Extending the functionality for Globus
• LDAP
– to effectively have online grid­mapfiles
• pool accounts
– to allow leases of accounts on particular machines
• authorisation call­outs
– since GT3.2 preWS there has been the ability to call out for authorisation
– in practice there are not many examples of this in use
The EDG approach
Combining the strengths of UMIST and
The Victoria University of Manchester
Extending the functionality for Globus
• CAS stores details about the user and resources and capabilities 
• uses GSI proxy certificate with the CAS's identity
– CAS proxy certificate is treated essentially like a user certificate
– VO hidden from resource. 
• community's CAS makes a policy decision to issue a proxy
• one account per community
– like account sharing and was frowned upon my many systems people
– some requirement evolved that the authentication must be with an individual 
the old CAS (community authorisation server) approach
Combining the strengths of UMIST and
The Victoria University of Manchester
Extending the functionality for Globus
• Same community control over users, resources and capabilities
• a new type of GSI proxy certificate extension
– CAS assertion (SAML* assertion)
– assertions contain AuthorizationDecisionStatements bound to a name e.g.
• decision=“Permit” file:read file:write to /C=UK/CN=michael jones
• community's CAS makes a policy decision to issue an assertion
• server makes the policy decision and may also enforce it
– need not map the credential to a UID:GID
the new CAS approach
Combining the strengths of UMIST and
The Victoria University of Manchester
Extending the functionality for Globus
• VOMS stores details about a VO's structure and where its users lie within it
• a new type of GSI proxy certificate extension
– VOMS assertion (RFC3281)
– assertions contains group membership and role attributes bound to a name e.g.
• /C=UK/CN=michael jones is a member of ngs.ac.uk and is an administrator
• callout is made to a policy decision point (PDP)
– PDP translates the VOMS attributes into native attributes 
the VOMS approach
Combining the strengths of UMIST and
The Victoria University of Manchester
CAS and VOMS
• described above is just a replacement for the grid­mapfile
• using CAS or VOMS is designed to relieve the pressures on the site administrator
• choosing between CAS and VOMS
– code maturity and general adoption
– VO management – do you need/want the VO to control access to the resources 
Combining the strengths of UMIST and
The Victoria University of Manchester
VOMS
Combining the strengths of UMIST and
The Victoria University of Manchester
So what is this VOMS thing?
• one or more databases of users, groups and roles
• a set of Web Services to query and administer the these databases
• a portal to interface to these Web Services
• a GSI service for obtaining “Attribute Certificates”
• a bundle of client and administration tools
Combining the strengths of UMIST and
The Victoria University of Manchester
What does VOMS buy me?
• the ability to create a database to represent a VO's user community
• the ability to administer it! add subgroups, roles
• delegate administration
• the ability to get attributes assertions (in AC format) to push
• the ability for relevant (authorized) parties to obtain lists of the VO's users
Combining the strengths of UMIST and
The Victoria University of Manchester
What happens now that we have a VOMS?
• with just those additions we don't really gain anything over the LDAP system
• need the VO's to become recognised on the grid servers
– setting up trust – effectively a VO registers on behalf of it's users 
• need the grid services to be able to obtain and use VOMS information
– query VOMS servers
– consume VOMS attribute certificates
Combining the strengths of UMIST and
The Victoria University of Manchester
Attribute Certificates
Combining the strengths of UMIST and
The Victoria University of Manchester
So what exactly is an Attribute Certificate?
• RFC 3281: “An Internet Attribute Certificate Profile for Authorisation”
• DER encoded (just like your grid certificates (which are PEM wrapped DER files))
• containing
– version
– holder
– issuer 
– serial number 
– validity period 
– attributes 
– extensions
– signature
Combining the strengths of UMIST and
The Victoria University of Manchester
... and what's a VOMS one?
• built upon RFC3281, and is being reviewed in OGF
• holder: 
– certificate issuer and certificate serial number
• serial number:
– code << sequence number (virtually unique)
• attributes:
– VOMS OID + VOMS Server URI + one or more of:
• /VO/subgroups/./././Role=Global Role/Capability=Deprecated Capability
• extensions*:
– critical: target URIs (optional)
– issuer certificates (optional)
– attribute issuer unique ID *See latest spec. for not­yet­in­use exts.
Combining the strengths of UMIST and
The Victoria University of Manchester
Delivering the Attribute Certificate
• one or more VOMS certificates can be placed inside a VOMS extension within an 
X509/GSI certificate's extensions
– this is a non­critical extension (for backward compatibility)
– available to be extracted from the SSL context
• can be theoretically supplied other ways
– pulled perhaps
– cached perhaps
Combining the strengths of UMIST and
The Victoria University of Manchester
How can we actually make use of VOMS ACs?
• servers need to understand GSI for authentication
• we'd like to use the “push model”
– need to be able to extract ACs from SSL
• need to check AC is authentic
• need to check that AC is valid
• need to make authorisation decision
• need to realise that decision
Combining the strengths of UMIST and
The Victoria University of Manchester
The resources
Combining the strengths of UMIST and
The Victoria University of Manchester
What's out there to help the resources?
• the gLite way:
– LCAS (Local Centre Authorisation Service)
– LCMAPS (Local Credential MAPping Service)
• the Open Science Grid way:
– PRIMA (PRivilege Management and Authorization)
– GUMS (Grid User Management System)
– SAZ (Site Authorisation Service)
Combining the strengths of UMIST and
The Victoria University of Manchester
The OSG way
Combining the strengths of UMIST and
The Victoria University of Manchester
The gLite Way
Combining the strengths of UMIST and
The Victoria University of Manchester
VO Administration and VOMS
Combining the strengths of UMIST and
The Victoria University of Manchester
Building the VO
• configure the tomcat server (add a new servlet to represent the VO)
• configure and start the vomsd (GSI service)
• configure and build database using SQL
• voms­admin­configure
– install | remove | update | upgrade
Combining the strengths of UMIST and
The Victoria University of Manchester
Building the VO database
• Admin specifies:
– database name, VO­name, username, password, host, port, admin mail address
• voms­admin­configure builds a DB with a complex structure:
– users:  Distinguished Name + Certificate Authority
– groups table:  references to the users
– role table:  reference to users
– ACLs and actions
– credential sequence number
– VO information (host, port, code)
– logging
– tables to hold lots of other stuff java globs...
Combining the strengths of UMIST and
The Victoria University of Manchester
Building the VO daemon
• Admin specifies:
– Database name, username, password, host, port, (code)
• voms­admin­configure configures a demon usually listening on port ~15000 
– configured to trust system's (grid) certificate authorities
– configured with access to the DB
• code is a way to ensure uniqueness of S/N of attributes if many servers serve ACs
Combining the strengths of UMIST and
The Victoria University of Manchester
Building the VO tomcat servlet
• Admin specifies:
– Database name, username, password, host, port, (code)
• voms­admin­configure configures a demon usually listening on port ~15000 
– configured to trust system's (grid) certificate authorities
– configured to understand GSI
– configured with access to the DB
Combining the strengths of UMIST and
The Victoria University of Manchester
Building the VO
• Altering the VO in the VOMS
• Can be done using SQL ot the voms command tools
• BUT having built the VO instance it's really up to the VO to manage itself
Combining the strengths of UMIST and
The Victoria University of Manchester
VOMS and the Users
Combining the strengths of UMIST and
The Victoria University of Manchester
Administering the VO from within the VO
• authorisation to administer the VO based upon the ACL table and https context
Combining the strengths of UMIST and
The Victoria University of Manchester
Administering the VO from within the VO
Combining the strengths of UMIST and
The Victoria University of Manchester
Administering the VO from within the VO
Combining the strengths of UMIST and
The Victoria University of Manchester
Administering the VO from within the VO
Combining the strengths of UMIST and
The Victoria University of Manchester
Administering the VO from within the VO
Combining the strengths of UMIST and
The Victoria University of Manchester
Administering the VO from within the VO
Combining the strengths of UMIST and
The Victoria University of Manchester
Administering the VO from within the VO
Combining the strengths of UMIST and
The Victoria University of Manchester
Administering the VO from within the VO
Combining the strengths of UMIST and
The Victoria University of Manchester
Administering the VO from within the VO
Combining the strengths of UMIST and
The Victoria University of Manchester
Administering the VO from within the VO
Combining the strengths of UMIST and
The Victoria University of Manchester
Administering the VO from within the VO
Combining the strengths of UMIST and
The Victoria University of Manchester
Applying to join the VO
Combining the strengths of UMIST and
The Victoria University of Manchester
Interaction by the VO admin
Combining the strengths of UMIST and
The Victoria University of Manchester
VOMS and the Users
Combining the strengths of UMIST and
The Victoria University of Manchester
user's view of the VO
Combining the strengths of UMIST and
The Victoria University of Manchester
Getting Attribute certificates
• /etc/grid­security/vomsdir/*
• /etc/grid­security/vomses/vo.name­voms.server
• voms­proxy­init
– replacement for grid­proxy­init
– Uses GSI
– calls out to the voms server
• voms­proxy­info
– replacement for grid­proxy­info
Combining the strengths of UMIST and
The Victoria University of Manchester
VO configuration aid for the user and the resource provider
Combining the strengths of UMIST and
The Victoria University of Manchester
Using Attribute certificates
• VOMS proxy certificates are drop­in replacements for the GSI proxy certificates.
• VOMS part invisible/opaque to everything except services that understand them.
Combining the strengths of UMIST and
The Victoria University of Manchester
Accepting Attribute certificates
• Difficult at the moment unless you're using gLite middleware.
• LCAS configuration files
• LCMAPS configuration files
Combining the strengths of UMIST and
The Victoria University of Manchester
VOMS and the developer
Combining the strengths of UMIST and
The Victoria University of Manchester
VOMS API
• There is a c/c++ API
– the installation of VOMS is heavyweight unless you plan to install the whole 
gLite/Globus environment
• The current VOMS draft specification is not too bad
– The current implementations don't quite follow the specification as it is being 
written in retrospect
– But openssl tools and the sevanah bug list is a good place to start when things go 
wrong!
Combining the strengths of UMIST and
The Victoria University of Manchester
Break? 
If we didnt have one already!
Combining the strengths of UMIST and
The Victoria University of Manchester
Deployment Overview
What we've done in the UK
Combining the strengths of UMIST and
The Victoria University of Manchester
Problem Space
• in Globus based grids users are listed within files on the grid resources.
– Users rely upon the resource to pre­register users' authority.
– Pre­registration is basic and does not allow a user any granularity of authz. 
• authorisation: from the individual to the group
– grid­mapfiles
• the baseline authorisation method for Globus based grids
– LDAP directories
• used to populate grid­mapfiles
– VOMS (web­service) directory lookup
• interim solution to allow groups to migrate to VOMS
– VOMS Attribute Certificates 
• to enable users to assert their group membership
Combining the strengths of UMIST and
The Victoria University of Manchester
Manchester to host VOMSes
• GridPP @ Manchester (High Energy Physics group) 
– a level of grid­security expertise in the HEP community
– Gridsite middleware and gridPP website secure hosting
– LDAP server hosting
– co­location with GridPP Tier 2 site 
• NGS @ Manchester (Manchester Computing and ESNW)
– NGS core data node
– UK grid support role
– a number of relevant grid­security projects
– co­location with eScience Centre
• collaborative effort between GridPP and NGS
– (a collaboratory to host VOMS servers within?) 
Combining the strengths of UMIST and
The Victoria University of Manchester
Hardware & Configuration
Combining the strengths of UMIST and
The Victoria University of Manchester
VOMS servers specs
• hardware – shuttle­boxes
– CPU: 3.2 GHz Intel Pentium
– cache size: 1024 KB
– memory: 1 GB
– disk space: 160 GB
• software
– OS: Scientific Linux 3
– kernel 2.4
– gLite 3.0 VOMS server with MySQL DB backend
– VOMS admin interface  1.2.16
Combining the strengths of UMIST and
The Victoria University of Manchester
front server on 
eth0:0
voms01.gpp.hep.man.ac.uk
alias on eth0:1 
voms.gridpp.ac.uk
backup server 
on eth0:0
voms02.gpp.hep.man.ac.uk
alias on eth0:1 
voms.gridpp.ac.uk
public test 
server 
voms03.gpp.hep.man.ac.uk
no alias
VOMS Server Machines – GridPP
Combining the strengths of UMIST and
The Victoria University of Manchester
Deployment
Combining the strengths of UMIST and
The Victoria University of Manchester
Kickstart
• use Scientific Linux kickstart mechanisms to bootstrap the OS  
• use cfengine to manage VOMS secrets
• manually obtain VO & VO membership details from any previous backed­up data
– create dummy VO (hard­wired from configuration)
– insert the VO data into VOMS using mySQL tools 
• use mySQL dumps of the database periodically to back up VO membership
How we install VOMS
Combining the strengths of UMIST and
The Victoria University of Manchester
Further kickstart development (testing with NGS VOMS)
• designed to install OS and VOMS from scratch and configure VOMS service
• part 1 security bootstrap
– create local administrator users
– install certificates and keys for the server
– install CA certificates and revocation lists
• part 2 install VOMS and babysitting software from remote verified sources
– VOMS and configuration files
– monitor scripts
• monitor VOMS server health
• assume VOMS server identity if necessary
• notification
• database backups
Automatic VOMS service set­up for two machines and fail­over
Combining the strengths of UMIST and
The Victoria University of Manchester
GridPP and NGS philosophies
• both GridPP and NGS have to deal with small groups of users. VOMS allows 2 ways 
to deal with this situation:
1) a unique  Top VO which may or may not have subgroups.
• single administration if there are no subgroups 
• delegated administration if there are subgroups
2) many independent VOs
• administration is each VO responsibility
• NGS is first implementing a single large VO with subgroups
– primarily expressing the membership to NGS 
• GridPP has employed the independent VO approach 
– following the already existing structures within the HEP community.     
Combining the strengths of UMIST and
The Victoria University of Manchester
GridPP (through VOMS) currently supports:
• 11 VOs
– local: manmace, ralpp
– regional Tier2: ltwo
– national:  babar, cedar, gridcc, gridpp, minos, pheno, supernemo, t2k
• 59  user
• VOMS roles
– VO­Admin: manages users
– lcgadmin: VO software managers
– production: VO production managers 
– user: common VO user
Combining the strengths of UMIST and
The Victoria University of Manchester
Migration Plans
Combining the strengths of UMIST and
The Victoria University of Manchester
How LCG is moving towards VOMS
• LCG CE and RB support a combination of grid­mapfile and lcas/lcmaps this allows a 
smoother transition.
– during transition
• LDAP servers kept alive with the old users
• VOMS used as an LDAP server for the new users
– in the meantime
• new users register in VOMS
• old re­register in VOMS 
– when all users are in VOMS LDAP gets dropped and CE uses only lcas/lcmaps 
Combining the strengths of UMIST and
The Victoria University of Manchester
From LDAP to VOMS diagram
Combining the strengths of UMIST and
The Victoria University of Manchester
Pre­VOMS Architecture  
VO 
Server
VO 
Server
VO 
Server
Resource
Client
Combining the strengths of UMIST and
The Victoria University of Manchester
VOMS based Architecture  
VOMS
VOMS
VOMS
Resource
Client
Combining the strengths of UMIST and
The Victoria University of Manchester
Towards VOMS for the NGS 
• creation of a VOMS server
• population of VO Membership data
• integration with existing user life­cycle poses some interesting challenges
– user quotas
• currently extra fields in the LDAP Directory 
– SRB registration
• integration with the NGS registration process
– currently a web form.
– VOMS offers an admin interface for registration.
– VOMS also offers several APIs for integrating existing registration systems.
• basic authorisation based upon VOMS web­service and grid­mapfiles
• Globus authorisation call­out to e.g. LCAS­LCMAPS
Combining the strengths of UMIST and
The Victoria University of Manchester
Usability & Supportability
Combining the strengths of UMIST and
The Victoria University of Manchester
VOMS: Issues
• VOMS is not prefect yet!
– voms­ldap­sync (a script to populate a VOMS) 
• Guesses users' missing authentication data but not very well.
– list of bugs in savanna
• AC certificate format problems etc.
– stability
• hanging of previous versions of VOMS­admin (gLite 1.5 and 1.4)
– how to map X.509 and VOMS to UID and GID?
(it's not all plan9!)
Combining the strengths of UMIST and
The Victoria University of Manchester
Savannah – VOMS bugs submitted over the last 2 months
October 2006, http://savannah.cern.ch
  
Combining the strengths of UMIST and
The Victoria University of Manchester
VOMS: server side wish­list  
• more explicit error messages
• easier configuration
• email notification to more than one VO administrator
• regular internal & well developed mechanism for backing up the database.
• more explicit error messages
• LCG roll­out to make the roles LCG­admin & production optional
Combining the strengths of UMIST and
The Victoria University of Manchester
Ease of use for users
• adding users  is straightforward
• VOMS registration WEB page are accessible to everyone as long as they have a 
certificate released from a recognised CA
– the user fills the form
– the system sends a confirmation email with a link to click on 
• pretty much like a mailing list
– the VO manager is forwarded the requests and just have to click on a tick box is 
he wants to approve.
– the user is added to all the systems that have that VO enabled
– the user can now use voms­proxy­init ­voms my­vo to access the VO resources 
Combining the strengths of UMIST and
The Victoria University of Manchester
Ease of use for users
Combining the strengths of UMIST and
The Victoria University of Manchester
Federated Identity
Combining the strengths of UMIST and
The Victoria University of Manchester
Shibboleth
• many grids are looking for less complex, ways to authenticate its users
• Shibboleth is being adopted as a top down authentication infrastructure
– http://shibboleth.internet2.edu/
• reference examples of grids­shibboleth integration:
– SWITCH AAI   http://www.switch.ch/aai/
– GridShib   http://gridshib.globus.org/
– ShibGrid   http://www.oerc.ox.ac.uk/activities/projects/index.xml?ID=ShibGrid
– SHEBANGS   http://www.mc.manchester.ac.uk/research/projects/shebangs
• of which SWITCH and SHEBANGS have VOMS components 
Combining the strengths of UMIST and
The Victoria University of Manchester
SHEBANGS
Basic Architecture: 
Combining the strengths of UMIST and
The Victoria University of Manchester
SHEBANGS Credential Translation Service
• It is:
– Shibboleth Service Provider – Offering a Credential Translation Service
– grid “Identity Provider” – Certificate Authority
– “Virtual Organisation Membership” service – VOMS Attribute Authority
– MyProxy Client
• It requires:
– Shibboleth/SAML implementation
– CA tools – (written in perl VOMS::Lite)
– VOMS tools – (written in perl part of VOMS::Lite)
– MyProxy implementation – (written in perl part of VOMS::Lite)
= Shibboleth protected CGI script
Combining the strengths of UMIST and
The Victoria University of Manchester
SHEBANGS Walkthrough
• https://wallace.mvc.mcc.ac.uk/scgi­bin/CTS
Combining the strengths of UMIST and
The Victoria University of Manchester
Walkthrough
• https://wallace.mvc.mcc.ac.uk/scgi­bin/CTS
Combining the strengths of UMIST and
The Victoria University of Manchester
Walkthrough
• https://wallace.mvc.mcc.ac.uk/scgi­bin/CTS
Combining the strengths of UMIST and
The Victoria University of Manchester
Walkthrough
• https://wallace.mvc.mcc.ac.uk/scgi­bin/CTS
Combining the strengths of UMIST and
The Victoria University of Manchester
Walkthrough
• https://wallace.mvc.mcc.ac.uk/scgi­bin/CTS 
• https://wallace.mvc.mcc.ac.uk/MockPortal/ 
• https://wallace.mvc.mcc.ac.uk/MockPortal2/  
•
• Feel free to try these, but you'll need to register with an IdP in the federation e.g. 
– The openIdP
Combining the strengths of UMIST and
The Victoria University of Manchester
Acknowledgements 
• Sergey Dolgobrodov and Alessandra Forti: 
– details of VOMS in GridPP
• Michael Parkin
– VO definitions
• Robert Frank
– details and maintenance of NGS VOMS

More Related Content

Featured

Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 

Featured (20)

Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 

4 short pieces on: Virtual Organisations and VOMS

  • 1. Combining the strengths of UMIST and The Victoria University of Manchester 4 short pieces on: Virtual Organisations and VOMS Mike Jones
  • 2. Combining the strengths of UMIST and The Victoria University of Manchester Overview
  • 3. Combining the strengths of UMIST and The Victoria University of Manchester An introduction • exactly what are we trying to solve with VOMS? – movement from the individual authorisation – to virtual organisation based authorisation – let the virtual organisations manage themselves – ease the burden on the resource owners
  • 4. Combining the strengths of UMIST and The Victoria University of Manchester Contents • historical introduction – authentication and authorisation – the emergence of the Virtual Organisation – following suit in practice – what are grids doing about VOs • VOMS overview – introduction – tools for the user, the VO, and the system administrator • VOMS in production – adoption by the UK NGS, GridPP and the LCG • topics on federated identities
  • 5. Combining the strengths of UMIST and The Victoria University of Manchester A Brief History of Grid Authorisation
  • 6. Combining the strengths of UMIST and The Victoria University of Manchester Access to resource: what?  • objective – to enable all those deemed worthy   to find and use services on the internet • what services? – compute – storage – metadata • data about available data and compute resources, ... – peripherals • telescopes, lab equipment, printers ... – services
  • 7. Combining the strengths of UMIST and The Victoria University of Manchester Access to resource: how?  • compute/storage – assertion by daemon (password, fingerprint, asymmetric key­pair)  – Access control lists  based upon session's UID:GID • compute is controlled by attributes of executable file • data access depends on attributes of stored file and executable used to read it • administration is expressed within the same system • services – translation somehow into the above – depends upon UID:GID of who is running the service • peripherals  – translation away from the above
  • 8. Combining the strengths of UMIST and The Victoria University of Manchester Authentication and Authorisation How does the system decide who's allowed to do what? get information process information act upon information
  • 9. Combining the strengths of UMIST and The Victoria University of Manchester Authentication & Authorisation • authentication – all about establishing authenticity – everything else are attributes • attributes  – information about a thing • authorisation – giving a thing the authority to do something – often split up into: • decision point – a translation of abstract attributes ­> native attributes • enforcement point – a run time evaluation native attributes often endlessly debated!
  • 10. Combining the strengths of UMIST and The Victoria University of Manchester Authentication & Authorisation • authentication – you're the person on this coin aren't you? • attributes  – “has likeness on a coin” – “wears a helmet” – “has funny ears” – is called “” • authorisation – is authorised to rule & rules. – is equipped for battle & burns down temples. example1: I have a coin.
  • 11. Combining the strengths of UMIST and The Victoria University of Manchester Authentication & Authorisation • authentication – An expert identifies that it is an authentic scroll • attributes  – It is from the Mediterranean region and says: “This hereby certifies that  Nebuchadnezzar is ruler of all Babylon between 605 and 562 BC!”  • authorisation – To a Babylonian: this might mean that Nebuchadnezzar, being their king, is  authorised to burn down temples.  And the Babylonian might give him a torch to  do so. – To an Israelite: these attributes give Nebuchadnezzar no such authority.* example2: I'm given an ancient scroll. *Illustrating validity of assertion
  • 12. Combining the strengths of UMIST and The Victoria University of Manchester Authentication & Authorisation • BEWARE!  that's not the conventional view • authN and authZ are interpreted quite differently by different communities: – the federated identity community:  • there's no effective separation between authentication and authorisation it's  all authorisation ... All authentic tokens are attribute assertions which are  used for authentication. – the PKI community (and most of the Grid community):  • the deriving of a name based on attributes associated with a context.  But are  “names” unique and do they map 1­1 with individuals? • so it's confusing and the experts still argue about it. we'll ignore this rift for the moment and concentrate on current grid practices... eh?
  • 13. Combining the strengths of UMIST and The Victoria University of Manchester Authentication according to Globus • X.509 certificates – PKI based authentication assertions • certificate authorities (CAs) – a breadcrumb trail back to the CA, a trusted source of authority (SOA) – installed as CA files on the resources and clients for mutual authentication – CAs usually also provide certificate revocation lists (CRLs) • GSI extensions to the X.509 certificate format (RFC3820) – delegation (of identity!) – single sign­on
  • 14. Combining the strengths of UMIST and The Victoria University of Manchester Authentication according to Globus • X.509 certificates – like the coin in the first example • certificate authorities – like The Mint • GSI extensions to the X.509 certificate format (RFC3820) – like getting small change – not really – more like taking a rubbing or a cast of the coin. • Globus identifies the person with a distinguished name attribute like the coin analogy
  • 15. Combining the strengths of UMIST and The Victoria University of Manchester Authorisation according to Globus • local policy is stored in a grid­mapfile – this stipulates that the user credential's distinguished name (DN), in quotes, in  particular representation, may assume any local identity of the comma separated  values on the same line. – only one match is made to the  first distinguished name found  “/C=UK/O=eScience/OU=Manchester/L=MC/CN=michael jones” user1,user2 “/C=UK/O=eScience/OU=Manchester/L=HEP/CN=alessandra forti” user3 “/C=UK/O=eScience/OU=Manchester/L=HEP/CN=sergey dolgobrodov” user4 ... • policy enforcement is the call to fork+su+exec – this is done by the gatekeeper and the gridftp server – further policy enforcements are made by the underlying system
  • 16. Combining the strengths of UMIST and The Victoria University of Manchester Authorisation according to Globus • local policy is stored in a grid­mapfile – the scroll*, (authenticity pre­verified) • policy enforcement was the call to fork+su+exec – help him to carry out his edicts  – or deny him the privilege like in the ancient scroll analogy *Same idea for VOMS but VOMS is dynamic
  • 17. Combining the strengths of UMIST and The Victoria University of Manchester How other grid middleware does it • UNICORE – policy decision based upon the resource having the user's X.509 certificate  locally stored (in the UNICORE User DataBase UUDB) – enforcement by the Target System Interface, fork su and exec – delegation by trusted schedulers re­signing job objects (and some GSI support) • GridSite – policy decision based upon .gacl files and – policy enforcement • for the file distribution GridSite enforces the policy • for the execution environment a modified suexec
  • 18. Combining the strengths of UMIST and The Victoria University of Manchester Other authorisation middleware • Akenti – delegated policy based decision engine (JAVA) – good model for systems with multiple online stake­holders • PERMIS – RBAC (role based authentication) decision engine (JAVA) – support for hierarchical authorisation decisions – support for plain language policy creation – support for SAML* requests • Shibboleth* – browser based implementation of the SAML protocols – sits between authentication and authorisation – huge community uptake *More a bit later
  • 19. Combining the strengths of UMIST and The Victoria University of Manchester Enter the Virtual Organisation
  • 20. Combining the strengths of UMIST and The Victoria University of Manchester What is a VO • many definitions, the common points are that VOs: – are groups of individuals and/or institutions and/or resources – span multiple administrative domains – in themselves form a new administrative domain – should/can't be dynamic!! • Other non­grid perspectives also suggest they should be – transient by nature – able to be set­up and dismantled efficiently – a cooperation of functionally and/or culturally diverse entities
  • 21. Combining the strengths of UMIST and The Victoria University of Manchester Where does the concept fit into our grids • dynamics/transient nature of our work: – grids' resources have difficulty maintaining large changing lists of users – grids' userbases have difficulty registering to the huge numbers of resources • mapfile management is not scalable • need to automate the authorisation process for our grids
  • 22. Combining the strengths of UMIST and The Victoria University of Manchester Extending the functionality for Globus • LDAP – to effectively have online grid­mapfiles • pool accounts – to allow leases of accounts on particular machines • authorisation call­outs – since GT3.2 preWS there has been the ability to call out for authorisation – in practice there are not many examples of this in use The EDG approach
  • 23. Combining the strengths of UMIST and The Victoria University of Manchester Extending the functionality for Globus • CAS stores details about the user and resources and capabilities  • uses GSI proxy certificate with the CAS's identity – CAS proxy certificate is treated essentially like a user certificate – VO hidden from resource.  • community's CAS makes a policy decision to issue a proxy • one account per community – like account sharing and was frowned upon my many systems people – some requirement evolved that the authentication must be with an individual  the old CAS (community authorisation server) approach
  • 24. Combining the strengths of UMIST and The Victoria University of Manchester Extending the functionality for Globus • Same community control over users, resources and capabilities • a new type of GSI proxy certificate extension – CAS assertion (SAML* assertion) – assertions contain AuthorizationDecisionStatements bound to a name e.g. • decision=“Permit” file:read file:write to /C=UK/CN=michael jones • community's CAS makes a policy decision to issue an assertion • server makes the policy decision and may also enforce it – need not map the credential to a UID:GID the new CAS approach
  • 25. Combining the strengths of UMIST and The Victoria University of Manchester Extending the functionality for Globus • VOMS stores details about a VO's structure and where its users lie within it • a new type of GSI proxy certificate extension – VOMS assertion (RFC3281) – assertions contains group membership and role attributes bound to a name e.g. • /C=UK/CN=michael jones is a member of ngs.ac.uk and is an administrator • callout is made to a policy decision point (PDP) – PDP translates the VOMS attributes into native attributes  the VOMS approach
  • 26. Combining the strengths of UMIST and The Victoria University of Manchester CAS and VOMS • described above is just a replacement for the grid­mapfile • using CAS or VOMS is designed to relieve the pressures on the site administrator • choosing between CAS and VOMS – code maturity and general adoption – VO management – do you need/want the VO to control access to the resources 
  • 27. Combining the strengths of UMIST and The Victoria University of Manchester VOMS
  • 28. Combining the strengths of UMIST and The Victoria University of Manchester So what is this VOMS thing? • one or more databases of users, groups and roles • a set of Web Services to query and administer the these databases • a portal to interface to these Web Services • a GSI service for obtaining “Attribute Certificates” • a bundle of client and administration tools
  • 29. Combining the strengths of UMIST and The Victoria University of Manchester What does VOMS buy me? • the ability to create a database to represent a VO's user community • the ability to administer it! add subgroups, roles • delegate administration • the ability to get attributes assertions (in AC format) to push • the ability for relevant (authorized) parties to obtain lists of the VO's users
  • 30. Combining the strengths of UMIST and The Victoria University of Manchester What happens now that we have a VOMS? • with just those additions we don't really gain anything over the LDAP system • need the VO's to become recognised on the grid servers – setting up trust – effectively a VO registers on behalf of it's users  • need the grid services to be able to obtain and use VOMS information – query VOMS servers – consume VOMS attribute certificates
  • 31. Combining the strengths of UMIST and The Victoria University of Manchester Attribute Certificates
  • 32. Combining the strengths of UMIST and The Victoria University of Manchester So what exactly is an Attribute Certificate? • RFC 3281: “An Internet Attribute Certificate Profile for Authorisation” • DER encoded (just like your grid certificates (which are PEM wrapped DER files)) • containing – version – holder – issuer  – serial number  – validity period  – attributes  – extensions – signature
  • 33. Combining the strengths of UMIST and The Victoria University of Manchester ... and what's a VOMS one? • built upon RFC3281, and is being reviewed in OGF • holder:  – certificate issuer and certificate serial number • serial number: – code << sequence number (virtually unique) • attributes: – VOMS OID + VOMS Server URI + one or more of: • /VO/subgroups/./././Role=Global Role/Capability=Deprecated Capability • extensions*: – critical: target URIs (optional) – issuer certificates (optional) – attribute issuer unique ID *See latest spec. for not­yet­in­use exts.
  • 34. Combining the strengths of UMIST and The Victoria University of Manchester Delivering the Attribute Certificate • one or more VOMS certificates can be placed inside a VOMS extension within an  X509/GSI certificate's extensions – this is a non­critical extension (for backward compatibility) – available to be extracted from the SSL context • can be theoretically supplied other ways – pulled perhaps – cached perhaps
  • 35. Combining the strengths of UMIST and The Victoria University of Manchester How can we actually make use of VOMS ACs? • servers need to understand GSI for authentication • we'd like to use the “push model” – need to be able to extract ACs from SSL • need to check AC is authentic • need to check that AC is valid • need to make authorisation decision • need to realise that decision
  • 36. Combining the strengths of UMIST and The Victoria University of Manchester The resources
  • 37. Combining the strengths of UMIST and The Victoria University of Manchester What's out there to help the resources? • the gLite way: – LCAS (Local Centre Authorisation Service) – LCMAPS (Local Credential MAPping Service) • the Open Science Grid way: – PRIMA (PRivilege Management and Authorization) – GUMS (Grid User Management System) – SAZ (Site Authorisation Service)
  • 38. Combining the strengths of UMIST and The Victoria University of Manchester The OSG way
  • 39. Combining the strengths of UMIST and The Victoria University of Manchester The gLite Way
  • 40. Combining the strengths of UMIST and The Victoria University of Manchester VO Administration and VOMS
  • 41. Combining the strengths of UMIST and The Victoria University of Manchester Building the VO • configure the tomcat server (add a new servlet to represent the VO) • configure and start the vomsd (GSI service) • configure and build database using SQL • voms­admin­configure – install | remove | update | upgrade
  • 42. Combining the strengths of UMIST and The Victoria University of Manchester Building the VO database • Admin specifies: – database name, VO­name, username, password, host, port, admin mail address • voms­admin­configure builds a DB with a complex structure: – users:  Distinguished Name + Certificate Authority – groups table:  references to the users – role table:  reference to users – ACLs and actions – credential sequence number – VO information (host, port, code) – logging – tables to hold lots of other stuff java globs...
  • 43. Combining the strengths of UMIST and The Victoria University of Manchester Building the VO daemon • Admin specifies: – Database name, username, password, host, port, (code) • voms­admin­configure configures a demon usually listening on port ~15000  – configured to trust system's (grid) certificate authorities – configured with access to the DB • code is a way to ensure uniqueness of S/N of attributes if many servers serve ACs
  • 44. Combining the strengths of UMIST and The Victoria University of Manchester Building the VO tomcat servlet • Admin specifies: – Database name, username, password, host, port, (code) • voms­admin­configure configures a demon usually listening on port ~15000  – configured to trust system's (grid) certificate authorities – configured to understand GSI – configured with access to the DB
  • 45. Combining the strengths of UMIST and The Victoria University of Manchester Building the VO • Altering the VO in the VOMS • Can be done using SQL ot the voms command tools • BUT having built the VO instance it's really up to the VO to manage itself
  • 46. Combining the strengths of UMIST and The Victoria University of Manchester VOMS and the Users
  • 47. Combining the strengths of UMIST and The Victoria University of Manchester Administering the VO from within the VO • authorisation to administer the VO based upon the ACL table and https context
  • 48. Combining the strengths of UMIST and The Victoria University of Manchester Administering the VO from within the VO
  • 49. Combining the strengths of UMIST and The Victoria University of Manchester Administering the VO from within the VO
  • 50. Combining the strengths of UMIST and The Victoria University of Manchester Administering the VO from within the VO
  • 51. Combining the strengths of UMIST and The Victoria University of Manchester Administering the VO from within the VO
  • 52. Combining the strengths of UMIST and The Victoria University of Manchester Administering the VO from within the VO
  • 53. Combining the strengths of UMIST and The Victoria University of Manchester Administering the VO from within the VO
  • 54. Combining the strengths of UMIST and The Victoria University of Manchester Administering the VO from within the VO
  • 55. Combining the strengths of UMIST and The Victoria University of Manchester Administering the VO from within the VO
  • 56. Combining the strengths of UMIST and The Victoria University of Manchester Administering the VO from within the VO
  • 57. Combining the strengths of UMIST and The Victoria University of Manchester Administering the VO from within the VO
  • 58. Combining the strengths of UMIST and The Victoria University of Manchester Applying to join the VO
  • 59. Combining the strengths of UMIST and The Victoria University of Manchester Interaction by the VO admin
  • 60. Combining the strengths of UMIST and The Victoria University of Manchester VOMS and the Users
  • 61. Combining the strengths of UMIST and The Victoria University of Manchester user's view of the VO
  • 62. Combining the strengths of UMIST and The Victoria University of Manchester Getting Attribute certificates • /etc/grid­security/vomsdir/* • /etc/grid­security/vomses/vo.name­voms.server • voms­proxy­init – replacement for grid­proxy­init – Uses GSI – calls out to the voms server • voms­proxy­info – replacement for grid­proxy­info
  • 63. Combining the strengths of UMIST and The Victoria University of Manchester VO configuration aid for the user and the resource provider
  • 64. Combining the strengths of UMIST and The Victoria University of Manchester Using Attribute certificates • VOMS proxy certificates are drop­in replacements for the GSI proxy certificates. • VOMS part invisible/opaque to everything except services that understand them.
  • 65. Combining the strengths of UMIST and The Victoria University of Manchester Accepting Attribute certificates • Difficult at the moment unless you're using gLite middleware. • LCAS configuration files • LCMAPS configuration files
  • 66. Combining the strengths of UMIST and The Victoria University of Manchester VOMS and the developer
  • 67. Combining the strengths of UMIST and The Victoria University of Manchester VOMS API • There is a c/c++ API – the installation of VOMS is heavyweight unless you plan to install the whole  gLite/Globus environment • The current VOMS draft specification is not too bad – The current implementations don't quite follow the specification as it is being  written in retrospect – But openssl tools and the sevanah bug list is a good place to start when things go  wrong!
  • 68. Combining the strengths of UMIST and The Victoria University of Manchester Break?  If we didnt have one already!
  • 69. Combining the strengths of UMIST and The Victoria University of Manchester Deployment Overview What we've done in the UK
  • 70. Combining the strengths of UMIST and The Victoria University of Manchester Problem Space • in Globus based grids users are listed within files on the grid resources. – Users rely upon the resource to pre­register users' authority. – Pre­registration is basic and does not allow a user any granularity of authz.  • authorisation: from the individual to the group – grid­mapfiles • the baseline authorisation method for Globus based grids – LDAP directories • used to populate grid­mapfiles – VOMS (web­service) directory lookup • interim solution to allow groups to migrate to VOMS – VOMS Attribute Certificates  • to enable users to assert their group membership
  • 71. Combining the strengths of UMIST and The Victoria University of Manchester Manchester to host VOMSes • GridPP @ Manchester (High Energy Physics group)  – a level of grid­security expertise in the HEP community – Gridsite middleware and gridPP website secure hosting – LDAP server hosting – co­location with GridPP Tier 2 site  • NGS @ Manchester (Manchester Computing and ESNW) – NGS core data node – UK grid support role – a number of relevant grid­security projects – co­location with eScience Centre • collaborative effort between GridPP and NGS – (a collaboratory to host VOMS servers within?) 
  • 72. Combining the strengths of UMIST and The Victoria University of Manchester Hardware & Configuration
  • 73. Combining the strengths of UMIST and The Victoria University of Manchester VOMS servers specs • hardware – shuttle­boxes – CPU: 3.2 GHz Intel Pentium – cache size: 1024 KB – memory: 1 GB – disk space: 160 GB • software – OS: Scientific Linux 3 – kernel 2.4 – gLite 3.0 VOMS server with MySQL DB backend – VOMS admin interface  1.2.16
  • 74. Combining the strengths of UMIST and The Victoria University of Manchester front server on  eth0:0 voms01.gpp.hep.man.ac.uk alias on eth0:1  voms.gridpp.ac.uk backup server  on eth0:0 voms02.gpp.hep.man.ac.uk alias on eth0:1  voms.gridpp.ac.uk public test  server  voms03.gpp.hep.man.ac.uk no alias VOMS Server Machines – GridPP
  • 75. Combining the strengths of UMIST and The Victoria University of Manchester Deployment
  • 76. Combining the strengths of UMIST and The Victoria University of Manchester Kickstart • use Scientific Linux kickstart mechanisms to bootstrap the OS   • use cfengine to manage VOMS secrets • manually obtain VO & VO membership details from any previous backed­up data – create dummy VO (hard­wired from configuration) – insert the VO data into VOMS using mySQL tools  • use mySQL dumps of the database periodically to back up VO membership How we install VOMS
  • 77. Combining the strengths of UMIST and The Victoria University of Manchester Further kickstart development (testing with NGS VOMS) • designed to install OS and VOMS from scratch and configure VOMS service • part 1 security bootstrap – create local administrator users – install certificates and keys for the server – install CA certificates and revocation lists • part 2 install VOMS and babysitting software from remote verified sources – VOMS and configuration files – monitor scripts • monitor VOMS server health • assume VOMS server identity if necessary • notification • database backups Automatic VOMS service set­up for two machines and fail­over
  • 78. Combining the strengths of UMIST and The Victoria University of Manchester GridPP and NGS philosophies • both GridPP and NGS have to deal with small groups of users. VOMS allows 2 ways  to deal with this situation: 1) a unique  Top VO which may or may not have subgroups. • single administration if there are no subgroups  • delegated administration if there are subgroups 2) many independent VOs • administration is each VO responsibility • NGS is first implementing a single large VO with subgroups – primarily expressing the membership to NGS  • GridPP has employed the independent VO approach  – following the already existing structures within the HEP community.     
  • 79. Combining the strengths of UMIST and The Victoria University of Manchester GridPP (through VOMS) currently supports: • 11 VOs – local: manmace, ralpp – regional Tier2: ltwo – national:  babar, cedar, gridcc, gridpp, minos, pheno, supernemo, t2k • 59  user • VOMS roles – VO­Admin: manages users – lcgadmin: VO software managers – production: VO production managers  – user: common VO user
  • 80. Combining the strengths of UMIST and The Victoria University of Manchester Migration Plans
  • 81. Combining the strengths of UMIST and The Victoria University of Manchester How LCG is moving towards VOMS • LCG CE and RB support a combination of grid­mapfile and lcas/lcmaps this allows a  smoother transition. – during transition • LDAP servers kept alive with the old users • VOMS used as an LDAP server for the new users – in the meantime • new users register in VOMS • old re­register in VOMS  – when all users are in VOMS LDAP gets dropped and CE uses only lcas/lcmaps 
  • 82. Combining the strengths of UMIST and The Victoria University of Manchester From LDAP to VOMS diagram
  • 83. Combining the strengths of UMIST and The Victoria University of Manchester Pre­VOMS Architecture   VO  Server VO  Server VO  Server Resource Client
  • 84. Combining the strengths of UMIST and The Victoria University of Manchester VOMS based Architecture   VOMS VOMS VOMS Resource Client
  • 85. Combining the strengths of UMIST and The Victoria University of Manchester Towards VOMS for the NGS  • creation of a VOMS server • population of VO Membership data • integration with existing user life­cycle poses some interesting challenges – user quotas • currently extra fields in the LDAP Directory  – SRB registration • integration with the NGS registration process – currently a web form. – VOMS offers an admin interface for registration. – VOMS also offers several APIs for integrating existing registration systems. • basic authorisation based upon VOMS web­service and grid­mapfiles • Globus authorisation call­out to e.g. LCAS­LCMAPS
  • 86. Combining the strengths of UMIST and The Victoria University of Manchester Usability & Supportability
  • 87. Combining the strengths of UMIST and The Victoria University of Manchester VOMS: Issues • VOMS is not prefect yet! – voms­ldap­sync (a script to populate a VOMS)  • Guesses users' missing authentication data but not very well. – list of bugs in savanna • AC certificate format problems etc. – stability • hanging of previous versions of VOMS­admin (gLite 1.5 and 1.4) – how to map X.509 and VOMS to UID and GID? (it's not all plan9!)
  • 88. Combining the strengths of UMIST and The Victoria University of Manchester Savannah – VOMS bugs submitted over the last 2 months October 2006, http://savannah.cern.ch   
  • 89. Combining the strengths of UMIST and The Victoria University of Manchester VOMS: server side wish­list   • more explicit error messages • easier configuration • email notification to more than one VO administrator • regular internal & well developed mechanism for backing up the database. • more explicit error messages • LCG roll­out to make the roles LCG­admin & production optional
  • 90. Combining the strengths of UMIST and The Victoria University of Manchester Ease of use for users • adding users  is straightforward • VOMS registration WEB page are accessible to everyone as long as they have a  certificate released from a recognised CA – the user fills the form – the system sends a confirmation email with a link to click on  • pretty much like a mailing list – the VO manager is forwarded the requests and just have to click on a tick box is  he wants to approve. – the user is added to all the systems that have that VO enabled – the user can now use voms­proxy­init ­voms my­vo to access the VO resources 
  • 91. Combining the strengths of UMIST and The Victoria University of Manchester Ease of use for users
  • 92. Combining the strengths of UMIST and The Victoria University of Manchester Federated Identity
  • 93. Combining the strengths of UMIST and The Victoria University of Manchester Shibboleth • many grids are looking for less complex, ways to authenticate its users • Shibboleth is being adopted as a top down authentication infrastructure – http://shibboleth.internet2.edu/ • reference examples of grids­shibboleth integration: – SWITCH AAI   http://www.switch.ch/aai/ – GridShib   http://gridshib.globus.org/ – ShibGrid   http://www.oerc.ox.ac.uk/activities/projects/index.xml?ID=ShibGrid – SHEBANGS   http://www.mc.manchester.ac.uk/research/projects/shebangs • of which SWITCH and SHEBANGS have VOMS components 
  • 94. Combining the strengths of UMIST and The Victoria University of Manchester SHEBANGS Basic Architecture: 
  • 95. Combining the strengths of UMIST and The Victoria University of Manchester SHEBANGS Credential Translation Service • It is: – Shibboleth Service Provider – Offering a Credential Translation Service – grid “Identity Provider” – Certificate Authority – “Virtual Organisation Membership” service – VOMS Attribute Authority – MyProxy Client • It requires: – Shibboleth/SAML implementation – CA tools – (written in perl VOMS::Lite) – VOMS tools – (written in perl part of VOMS::Lite) – MyProxy implementation – (written in perl part of VOMS::Lite) = Shibboleth protected CGI script
  • 96. Combining the strengths of UMIST and The Victoria University of Manchester SHEBANGS Walkthrough • https://wallace.mvc.mcc.ac.uk/scgi­bin/CTS
  • 97. Combining the strengths of UMIST and The Victoria University of Manchester Walkthrough • https://wallace.mvc.mcc.ac.uk/scgi­bin/CTS
  • 98. Combining the strengths of UMIST and The Victoria University of Manchester Walkthrough • https://wallace.mvc.mcc.ac.uk/scgi­bin/CTS
  • 99. Combining the strengths of UMIST and The Victoria University of Manchester Walkthrough • https://wallace.mvc.mcc.ac.uk/scgi­bin/CTS
  • 100. Combining the strengths of UMIST and The Victoria University of Manchester Walkthrough • https://wallace.mvc.mcc.ac.uk/scgi­bin/CTS  • https://wallace.mvc.mcc.ac.uk/MockPortal/  • https://wallace.mvc.mcc.ac.uk/MockPortal2/   • • Feel free to try these, but you'll need to register with an IdP in the federation e.g.  – The openIdP
  • 101. Combining the strengths of UMIST and The Victoria University of Manchester Acknowledgements  • Sergey Dolgobrodov and Alessandra Forti:  – details of VOMS in GridPP • Michael Parkin – VO definitions • Robert Frank – details and maintenance of NGS VOMS