Top Banner
The VOMS Attribute Authority and its relation with Shibboleth Presenter: Vincenzo Ciaschini 8 th TF-EMC2 Meeting Firenze, March 2007
35

The VOMS Attribute Authority and its relation with Shibboleth Presenter: Vincenzo Ciaschini 8 th TF-EMC2 Meeting Firenze, March 2007.

Dec 16, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: The VOMS Attribute Authority and its relation with Shibboleth Presenter: Vincenzo Ciaschini 8 th TF-EMC2 Meeting Firenze, March 2007.

The VOMS Attribute Authority and its relation with Shibboleth

Presenter: Vincenzo Ciaschini8th TF-EMC2 MeetingFirenze, March 2007

Page 2: The VOMS Attribute Authority and its relation with Shibboleth Presenter: Vincenzo Ciaschini 8 th TF-EMC2 Meeting Firenze, March 2007.

What is VOMS

VOMS is… An Attribute Authority. A VO Management System. A source of trust for authorization.

VOMS is not… A policy system. An AuthN/AuthZ framework.

Page 3: The VOMS Attribute Authority and its relation with Shibboleth Presenter: Vincenzo Ciaschini 8 th TF-EMC2 Meeting Firenze, March 2007.

VOMS: The problem

In a grid environment, VOs tend to be extremely large and change frequently. Hundreds or even thousands of users.

Sites need to know the users because of the need to prepare local accounts and eventually apply authorization policies.

It is not scalable to manage them by hand

Page 4: The VOMS Attribute Authority and its relation with Shibboleth Presenter: Vincenzo Ciaschini 8 th TF-EMC2 Meeting Firenze, March 2007.

VOMS: The solution

Organize users into groups and grant them roles.Allows for full RBAC authorization.

Also, adds other general-purpose attributes.

Page 5: The VOMS Attribute Authority and its relation with Shibboleth Presenter: Vincenzo Ciaschini 8 th TF-EMC2 Meeting Firenze, March 2007.

Who uses VOMS?

Egee10 VOs, 2 servers

InfnGrid15 VOs, 2 servers

OSG29 VOs, ? servers

Page 6: The VOMS Attribute Authority and its relation with Shibboleth Presenter: Vincenzo Ciaschini 8 th TF-EMC2 Meeting Firenze, March 2007.

VOMS Architecture

VOMS DB

VOMS-ADMINSecure

Secure

Page 7: The VOMS Attribute Authority and its relation with Shibboleth Presenter: Vincenzo Ciaschini 8 th TF-EMC2 Meeting Firenze, March 2007.

What is VOMS-Admin?

A web application that manages the contents of the VOMS database

Used by VO Administrators mainly to add/remove users to the VO, put them in VOMS groups, assign VOMS roles to them

Provides a WSDL interface to its functions Has a command line client Has a web-based user interface

Page 8: The VOMS Attribute Authority and its relation with Shibboleth Presenter: Vincenzo Ciaschini 8 th TF-EMC2 Meeting Firenze, March 2007.

VOMS-Admin architecture

Page 9: The VOMS Attribute Authority and its relation with Shibboleth Presenter: Vincenzo Ciaschini 8 th TF-EMC2 Meeting Firenze, March 2007.

What is VOMSd

VOMSd is the component which listens for user requests and creates Attribute Certificates.All communication is secured and mutually

authenticated.Allows high customization of ACs.

Which roles to present, validity length, targeting, etc…

Page 10: The VOMS Attribute Authority and its relation with Shibboleth Presenter: Vincenzo Ciaschini 8 th TF-EMC2 Meeting Firenze, March 2007.

VOMSd ArchitectureVOMSd

DB

BACKEND

DB

INTERFACE

I/O

INTERFACE

InternalLogic

Page 11: The VOMS Attribute Authority and its relation with Shibboleth Presenter: Vincenzo Ciaschini 8 th TF-EMC2 Meeting Firenze, March 2007.

VOMS data format

Attributes (groups, roles, general purpose) returned by VOMS are inserted into an RFC-3281 compliant Attribute Certificate. The exact profile is described here:

https://forge.gridforum.org/sf/go/doc13797?nav=1 ACs are the natural choice in a X.509 world.

The grid is a X.509 world.

The provided clients insert the AC in a non-critical extension of the user proxy. Immediate compatibility with non-VOMS aware software.

Page 12: The VOMS Attribute Authority and its relation with Shibboleth Presenter: Vincenzo Ciaschini 8 th TF-EMC2 Meeting Firenze, March 2007.

What is a proxy?

A proxy is a short-lived certificate that has as issuer a user certificate.Standardized in RFC 3820.Commonly used throughout the grid for

authentication and authorization purposes.

Page 13: The VOMS Attribute Authority and its relation with Shibboleth Presenter: Vincenzo Ciaschini 8 th TF-EMC2 Meeting Firenze, March 2007.

VOMS clients

The clients provided are command-line based.But APIs are available in C,C++ and JAVA.

You could write your own client.

Page 14: The VOMS Attribute Authority and its relation with Shibboleth Presenter: Vincenzo Ciaschini 8 th TF-EMC2 Meeting Firenze, March 2007.

Example of data:

[marotta@datatag6 marotta]$ /data/marotta/installs/17series/bin/voms-proxy-info --allsubject : /C=IT/O=INFN/OU=Personal Certificate/L=CNAF/CN=Vincenzo Ciaschini/CN=proxyissuer : /C=IT/O=INFN/OU=Personal Certificate/L=CNAF/CN=Vincenzo Ciaschiniidentity : /C=IT/O=INFN/OU=Personal Certificate/L=CNAF/CN=Vincenzo Ciaschinitype : proxystrength : 512 bitspath : /tmp/x509up_u502timeleft : 11:59:58=== VO valerio extension information ===VO : valeriosubject : /C=IT/O=INFN/OU=Personal Certificate/L=CNAF/CN=Vincenzo Ciaschiniissuer : /C=IT/O=INFN/OU=Host/L=CNAF/CN=datatag6.cnaf.infn.itattribute : /valerio/Role=NULL/Capability=NULLattribute : /valerio/asdasd/Role=NULL/Capability=NULLattribute : /valerio/qwerty/Role=NULL/Capability=NULLattribute : attributeOne = 111 (valerio)attribute : attributeTwo = 222 (valerio)timeleft : 11:59:58

Proxy’s Subject

Page 15: The VOMS Attribute Authority and its relation with Shibboleth Presenter: Vincenzo Ciaschini 8 th TF-EMC2 Meeting Firenze, March 2007.

Example of data:

[marotta@datatag6 marotta]$ /data/marotta/installs/17series/bin/voms-proxy-info --allsubject : /C=IT/O=INFN/OU=Personal Certificate/L=CNAF/CN=Vincenzo Ciaschini/CN=proxyissuer : /C=IT/O=INFN/OU=Personal Certificate/L=CNAF/CN=Vincenzo Ciaschiniidentity : /C=IT/O=INFN/OU=Personal Certificate/L=CNAF/CN=Vincenzo Ciaschinitype : proxystrength : 512 bitspath : /tmp/x509up_u502timeleft : 11:59:58=== VO valerio extension information ===VO : valeriosubject : /C=IT/O=INFN/OU=Personal Certificate/L=CNAF/CN=Vincenzo Ciaschiniissuer : /C=IT/O=INFN/OU=Host/L=CNAF/CN=datatag6.cnaf.infn.itattribute : /valerio/Role=NULL/Capability=NULLattribute : /valerio/asdasd/Role=NULL/Capability=NULLattribute : /valerio/qwerty/Role=NULL/Capability=NULLattribute : attributeOne = 111 (valerio)attribute : attributeTwo = 222 (valerio)timeleft : 11:59:58

Proxy’s issuer

Page 16: The VOMS Attribute Authority and its relation with Shibboleth Presenter: Vincenzo Ciaschini 8 th TF-EMC2 Meeting Firenze, March 2007.

Example of data:

[marotta@datatag6 marotta]$ /data/marotta/installs/17series/bin/voms-proxy-info --allsubject : /C=IT/O=INFN/OU=Personal Certificate/L=CNAF/CN=Vincenzo Ciaschini/CN=proxyissuer : /C=IT/O=INFN/OU=Personal Certificate/L=CNAF/CN=Vincenzo Ciaschiniidentity : /C=IT/O=INFN/OU=Personal Certificate/L=CNAF/CN=Vincenzo Ciaschinitype : proxystrength : 512 bitspath : /tmp/x509up_u502timeleft : 11:59:58=== VO valerio extension information ===VO : valeriosubject : /C=IT/O=INFN/OU=Personal Certificate/L=CNAF/CN=Vincenzo Ciaschiniissuer : /C=IT/O=INFN/OU=Host/L=CNAF/CN=datatag6.cnaf.infn.itattribute : /valerio/Role=NULL/Capability=NULLattribute : /valerio/asdasd/Role=NULL/Capability=NULLattribute : /valerio/qwerty/Role=NULL/Capability=NULLattribute : attributeOne = 111 (valerio)attribute : attributeTwo = 222 (valerio)timeleft : 11:59:58

Certificate’s subject

Page 17: The VOMS Attribute Authority and its relation with Shibboleth Presenter: Vincenzo Ciaschini 8 th TF-EMC2 Meeting Firenze, March 2007.

Example of data:

[marotta@datatag6 marotta]$ /data/marotta/installs/17series/bin/voms-proxy-info --allsubject : /C=IT/O=INFN/OU=Personal Certificate/L=CNAF/CN=Vincenzo Ciaschini/CN=proxyissuer : /C=IT/O=INFN/OU=Personal Certificate/L=CNAF/CN=Vincenzo Ciaschiniidentity : /C=IT/O=INFN/OU=Personal Certificate/L=CNAF/CN=Vincenzo Ciaschinitype : proxystrength : 512 bitspath : /tmp/x509up_u502timeleft : 11:59:58=== VO valerio extension information ===VO : valeriosubject : /C=IT/O=INFN/OU=Personal Certificate/L=CNAF/CN=Vincenzo Ciaschiniissuer : /C=IT/O=INFN/OU=Host/L=CNAF/CN=datatag6.cnaf.infn.itattribute : /valerio/Role=NULL/Capability=NULLattribute : /valerio/asdasd/Role=NULL/Capability=NULLattribute : /valerio/qwerty/Role=NULL/Capability=NULLattribute : attributeOne = 111 (valerio)attribute : attributeTwo = 222 (valerio)timeleft : 11:59:58

Type of proxy

Page 18: The VOMS Attribute Authority and its relation with Shibboleth Presenter: Vincenzo Ciaschini 8 th TF-EMC2 Meeting Firenze, March 2007.

Example of data:

[marotta@datatag6 marotta]$ /data/marotta/installs/17series/bin/voms-proxy-info --allsubject : /C=IT/O=INFN/OU=Personal Certificate/L=CNAF/CN=Vincenzo Ciaschini/CN=proxyissuer : /C=IT/O=INFN/OU=Personal Certificate/L=CNAF/CN=Vincenzo Ciaschiniidentity : /C=IT/O=INFN/OU=Personal Certificate/L=CNAF/CN=Vincenzo Ciaschinitype : proxystrength : 512 bitspath : /tmp/x509up_u502timeleft : 11:59:58=== VO valerio extension information ===VO : valeriosubject : /C=IT/O=INFN/OU=Personal Certificate/L=CNAF/CN=Vincenzo Ciaschiniissuer : /C=IT/O=INFN/OU=Host/L=CNAF/CN=datatag6.cnaf.infn.itattribute : /valerio/Role=NULL/Capability=NULLattribute : /valerio/asdasd/Role=NULL/Capability=NULLattribute : /valerio/qwerty/Role=NULL/Capability=NULLattribute : attributeOne = 111 (valerio)attribute : attributeTwo = 222 (valerio)timeleft : 11:59:58

Proxy’s key strength

Page 19: The VOMS Attribute Authority and its relation with Shibboleth Presenter: Vincenzo Ciaschini 8 th TF-EMC2 Meeting Firenze, March 2007.

Example of data:

[marotta@datatag6 marotta]$ /data/marotta/installs/17series/bin/voms-proxy-info --allsubject : /C=IT/O=INFN/OU=Personal Certificate/L=CNAF/CN=Vincenzo Ciaschini/CN=proxyissuer : /C=IT/O=INFN/OU=Personal Certificate/L=CNAF/CN=Vincenzo Ciaschiniidentity : /C=IT/O=INFN/OU=Personal Certificate/L=CNAF/CN=Vincenzo Ciaschinitype : proxystrength : 512 bitspath : /tmp/x509up_u502timeleft : 11:59:58=== VO valerio extension information ===VO : valeriosubject : /C=IT/O=INFN/OU=Personal Certificate/L=CNAF/CN=Vincenzo Ciaschiniissuer : /C=IT/O=INFN/OU=Host/L=CNAF/CN=datatag6.cnaf.infn.itattribute : /valerio/Role=NULL/Capability=NULLattribute : /valerio/asdasd/Role=NULL/Capability=NULLattribute : /valerio/qwerty/Role=NULL/Capability=NULLattribute : attributeOne = 111 (valerio)attribute : attributeTwo = 222 (valerio)timeleft : 11:59:58

Proxy’s Location

Page 20: The VOMS Attribute Authority and its relation with Shibboleth Presenter: Vincenzo Ciaschini 8 th TF-EMC2 Meeting Firenze, March 2007.

Example of data:

[marotta@datatag6 marotta]$ /data/marotta/installs/17series/bin/voms-proxy-info --allsubject : /C=IT/O=INFN/OU=Personal Certificate/L=CNAF/CN=Vincenzo Ciaschini/CN=proxyissuer : /C=IT/O=INFN/OU=Personal Certificate/L=CNAF/CN=Vincenzo Ciaschiniidentity : /C=IT/O=INFN/OU=Personal Certificate/L=CNAF/CN=Vincenzo Ciaschinitype : proxystrength : 512 bitspath : /tmp/x509up_u502timeleft : 11:59:58=== VO valerio extension information ===VO : valeriosubject : /C=IT/O=INFN/OU=Personal Certificate/L=CNAF/CN=Vincenzo Ciaschiniissuer : /C=IT/O=INFN/OU=Host/L=CNAF/CN=datatag6.cnaf.infn.itattribute : /valerio/Role=NULL/Capability=NULLattribute : /valerio/asdasd/Role=NULL/Capability=NULLattribute : /valerio/qwerty/Role=NULL/Capability=NULLattribute : attributeOne = 111 (valerio)attribute : attributeTwo = 222 (valerio)timeleft : 11:59:58

Proxy’s validity

Page 21: The VOMS Attribute Authority and its relation with Shibboleth Presenter: Vincenzo Ciaschini 8 th TF-EMC2 Meeting Firenze, March 2007.

Example of data:

[marotta@datatag6 marotta]$ /data/marotta/installs/17series/bin/voms-proxy-info --allsubject : /C=IT/O=INFN/OU=Personal Certificate/L=CNAF/CN=Vincenzo Ciaschini/CN=proxyissuer : /C=IT/O=INFN/OU=Personal Certificate/L=CNAF/CN=Vincenzo Ciaschiniidentity : /C=IT/O=INFN/OU=Personal Certificate/L=CNAF/CN=Vincenzo Ciaschinitype : proxystrength : 512 bitspath : /tmp/x509up_u502timeleft : 11:59:58=== VO valerio extension information ===VO : valeriosubject : /C=IT/O=INFN/OU=Personal Certificate/L=CNAF/CN=Vincenzo Ciaschiniissuer : /C=IT/O=INFN/OU=Host/L=CNAF/CN=datatag6.cnaf.infn.itattribute : /valerio/Role=NULL/Capability=NULLattribute : /valerio/asdasd/Role=NULL/Capability=NULLattribute : /valerio/qwerty/Role=NULL/Capability=NULLattribute : attributeOne = 111 (valerio)attribute : attributeTwo = 222 (valerio)timeleft : 11:59:58

VO Name

Page 22: The VOMS Attribute Authority and its relation with Shibboleth Presenter: Vincenzo Ciaschini 8 th TF-EMC2 Meeting Firenze, March 2007.

Example of data:

[marotta@datatag6 marotta]$ /data/marotta/installs/17series/bin/voms-proxy-info --allsubject : /C=IT/O=INFN/OU=Personal Certificate/L=CNAF/CN=Vincenzo Ciaschini/CN=proxyissuer : /C=IT/O=INFN/OU=Personal Certificate/L=CNAF/CN=Vincenzo Ciaschiniidentity : /C=IT/O=INFN/OU=Personal Certificate/L=CNAF/CN=Vincenzo Ciaschinitype : proxystrength : 512 bitspath : /tmp/x509up_u502timeleft : 11:59:58=== VO valerio extension information ===VO : valeriosubject : /C=IT/O=INFN/OU=Personal Certificate/L=CNAF/CN=Vincenzo Ciaschiniissuer : /C=IT/O=INFN/OU=Host/L=CNAF/CN=datatag6.cnaf.infn.itattribute : /valerio/Role=NULL/Capability=NULLattribute : /valerio/asdasd/Role=NULL/Capability=NULLattribute : /valerio/qwerty/Role=NULL/Capability=NULLattribute : attributeOne = 111 (valerio)attribute : attributeTwo = 222 (valerio)timeleft : 11:59:58

Owner’s Data

Page 23: The VOMS Attribute Authority and its relation with Shibboleth Presenter: Vincenzo Ciaschini 8 th TF-EMC2 Meeting Firenze, March 2007.

Example of data:

[marotta@datatag6 marotta]$ /data/marotta/installs/17series/bin/voms-proxy-info --allsubject : /C=IT/O=INFN/OU=Personal Certificate/L=CNAF/CN=Vincenzo Ciaschini/CN=proxyissuer : /C=IT/O=INFN/OU=Personal Certificate/L=CNAF/CN=Vincenzo Ciaschiniidentity : /C=IT/O=INFN/OU=Personal Certificate/L=CNAF/CN=Vincenzo Ciaschinitype : proxystrength : 512 bitspath : /tmp/x509up_u502timeleft : 11:59:58=== VO valerio extension information ===VO : valeriosubject : /C=IT/O=INFN/OU=Personal Certificate/L=CNAF/CN=Vincenzo Ciaschiniissuer : /C=IT/O=INFN/OU=Host/L=CNAF/CN=datatag6.cnaf.infn.itattribute : /valerio/Role=NULL/Capability=NULLattribute : /valerio/asdasd/Role=NULL/Capability=NULLattribute : /valerio/qwerty/Role=NULL/Capability=NULLattribute : attributeOne = 111 (valerio)attribute : attributeTwo = 222 (valerio)timeleft : 11:59:58

Owner’s Group membership

Page 24: The VOMS Attribute Authority and its relation with Shibboleth Presenter: Vincenzo Ciaschini 8 th TF-EMC2 Meeting Firenze, March 2007.

Example of data:

[marotta@datatag6 marotta]$ /data/marotta/installs/17series/bin/voms-proxy-info --allsubject : /C=IT/O=INFN/OU=Personal Certificate/L=CNAF/CN=Vincenzo Ciaschini/CN=proxyissuer : /C=IT/O=INFN/OU=Personal Certificate/L=CNAF/CN=Vincenzo Ciaschiniidentity : /C=IT/O=INFN/OU=Personal Certificate/L=CNAF/CN=Vincenzo Ciaschinitype : proxystrength : 512 bitspath : /tmp/x509up_u502timeleft : 11:59:58=== VO valerio extension information ===VO : valeriosubject : /C=IT/O=INFN/OU=Personal Certificate/L=CNAF/CN=Vincenzo Ciaschiniissuer : /C=IT/O=INFN/OU=Host/L=CNAF/CN=datatag6.cnaf.infn.itattribute : /valerio/Role=NULL/Capability=NULLattribute : /valerio/asdasd/Role=NULL/Capability=NULLattribute : /valerio/qwerty/Role=NULL/Capability=NULLattribute : attributeOne = 111 (valerio)attribute : attributeTwo = 222 (valerio)timeleft : 11:59:58

General-Purpose attributes

Page 25: The VOMS Attribute Authority and its relation with Shibboleth Presenter: Vincenzo Ciaschini 8 th TF-EMC2 Meeting Firenze, March 2007.

Example of data:

[marotta@datatag6 marotta]$ /data/marotta/installs/17series/bin/voms-proxy-info --allsubject : /C=IT/O=INFN/OU=Personal Certificate/L=CNAF/CN=Vincenzo Ciaschini/CN=proxyissuer : /C=IT/O=INFN/OU=Personal Certificate/L=CNAF/CN=Vincenzo Ciaschiniidentity : /C=IT/O=INFN/OU=Personal Certificate/L=CNAF/CN=Vincenzo Ciaschinitype : proxystrength : 512 bitspath : /tmp/x509up_u502timeleft : 11:59:58=== VO valerio extension information ===VO : valeriosubject : /C=IT/O=INFN/OU=Personal Certificate/L=CNAF/CN=Vincenzo Ciaschiniissuer : /C=IT/O=INFN/OU=Host/L=CNAF/CN=datatag6.cnaf.infn.itattribute : /valerio/Role=NULL/Capability=NULLattribute : /valerio/asdasd/Role=NULL/Capability=NULLattribute : /valerio/qwerty/Role=NULL/Capability=NULLattribute : attributeOne = 111 (valerio)attribute : attributeTwo = 222 (valerio)timeleft : 11:59:58

AC validity

Page 26: The VOMS Attribute Authority and its relation with Shibboleth Presenter: Vincenzo Ciaschini 8 th TF-EMC2 Meeting Firenze, March 2007.

Voms & Shibboleth

Page 27: The VOMS Attribute Authority and its relation with Shibboleth Presenter: Vincenzo Ciaschini 8 th TF-EMC2 Meeting Firenze, March 2007.

Shibboleth Structure

IdP SP

WAYF

Page 28: The VOMS Attribute Authority and its relation with Shibboleth Presenter: Vincenzo Ciaschini 8 th TF-EMC2 Meeting Firenze, March 2007.

Shibboleth: Protocol DescriptionUser Service Provider Wayf Identity Provider

Page 29: The VOMS Attribute Authority and its relation with Shibboleth Presenter: Vincenzo Ciaschini 8 th TF-EMC2 Meeting Firenze, March 2007.

A common misconception:

VOMS Shibboleth= ShibbolethIdP

Page 30: The VOMS Attribute Authority and its relation with Shibboleth Presenter: Vincenzo Ciaschini 8 th TF-EMC2 Meeting Firenze, March 2007.

Similarities

VOMS and a Shibboleth IdP both…Maintain lists of user identities.Add attributes to user identities.Offer a way to distribute such attributes.

Page 31: The VOMS Attribute Authority and its relation with Shibboleth Presenter: Vincenzo Ciaschini 8 th TF-EMC2 Meeting Firenze, March 2007.

Differences

Shibboleth IdP VOMS

Has good support for federations Has basic support for federations

Does not support X.509 Supports X.509

Supports SAML SAML support in development

Allows third parties to get information on users Does not allow third parties to get information on users.

Pull model Push model

Mostly geared to website authorization Mostly geared to grid authorization

Delegation of credentials not well supported Delegation of credentials well supported

Page 32: The VOMS Attribute Authority and its relation with Shibboleth Presenter: Vincenzo Ciaschini 8 th TF-EMC2 Meeting Firenze, March 2007.

Shibboleth and Grids: The problem

“The Shibboleth System is NOT usable in non-Browser scenarios (without a lot of hard thinking)”

“Introduction to Shibboleth – Phases of Deployment” Steve Carmody, 2006 Shibboleth Camp

Unfortunately, grid access and usage relies heavily on non-browser access. Implies that some translation mechanism is

necessary for shib users to access a grid.

Page 33: The VOMS Attribute Authority and its relation with Shibboleth Presenter: Vincenzo Ciaschini 8 th TF-EMC2 Meeting Firenze, March 2007.

An example submission

Broker

Execution

Storage

Job

Data

Job

Job

Job

Data

Page 34: The VOMS Attribute Authority and its relation with Shibboleth Presenter: Vincenzo Ciaschini 8 th TF-EMC2 Meeting Firenze, March 2007.

Shibboleth and Grids: The Solution

Insert Shib attributes directly in a VOMS proxy and use said proxy for grid access. Implemented by VASHCollaboration by SWITCH and INFN within

EGEE.Details in my colleague’s presentation.

Page 35: The VOMS Attribute Authority and its relation with Shibboleth Presenter: Vincenzo Ciaschini 8 th TF-EMC2 Meeting Firenze, March 2007.

The VOMS team

Vincenzo [email protected]

Valerio [email protected]

Andrea [email protected]