Attributes released by the Raven IdP: Difference between revisions

From RavenWiki
Jump to navigationJump to search
(→‎University SPs: UCS-->UIS)
(→‎Registered SPs: Add SAML2 names)
Line 22: Line 22:


<tr align="left" valign="top">
<tr align="left" valign="top">
<td>urn:mace:dir:attribute-def:eduPersonPrincipalName</td>
<td>'''SAML1:''' urn:mace:dir:attribute-def:eduPersonPrincipalName<br>'''SAML2:''' urn:oid:1.3.6.1.4.1.5923.1.1.1.6</td>
<td>eppn</td>
<td>eppn</td>
<td>A single persistent, unique user identifier which is consistent across all services. For a Raven user has the form <tt>''<crsid>''@cam.ac.uk</tt>. It is NOT an email address.</td>
<td>A single persistent, unique user identifier which is consistent across all services. For a Raven user has the form <tt>''<crsid>''@cam.ac.uk</tt>. It is NOT an email address.</td>
Line 28: Line 28:


<tr align="left" valign="top">
<tr align="left" valign="top">
<td>urn:mace:dir:attribute-def:eduPersonScopedAffiliation</td>
<td>'''SAML1:''' urn:mace:dir:attribute-def:eduPersonScopedAffiliation<br>urn:oid:1.3.6.1.4.1.5923.1.1.1.9<br>'''SAML2:''' urn:oid:1.3.6.1.4.1.5923.1.1.1.9</td>
<td>affiliation</td>
<td>affiliation</td>
<td>One or more values indicating the authenticated user's relationship with the organisation operating the IdP. For a Raven user has the value <tt>member@cam.ac.uk</tt> for anyone who appears in lookup, and the value <tt>member@eresources.lib.ac.uk</tt> for anyone entitled to access the bulk of University Library-licensed electronic resources. New values may be added over time - applications relying on this attribute should ignore unrecognised values.</td>
<td>One or more values indicating the authenticated user's relationship with the organisation operating the IdP. For a Raven user has the value <tt>member@cam.ac.uk</tt> for anyone who appears in lookup, and the value <tt>member@eresources.lib.ac.uk</tt> for anyone entitled to access the bulk of University Library-licensed electronic resources. New values may be added over time - applications relying on this attribute should ignore unrecognised values.</td>
Line 34: Line 34:


<tr align="left" valign="top">
<tr align="left" valign="top">
<td>urn:mace:dir:attribute-def:eduPersonEntitlement</td>
<td>'''SAML1:''' urn:mace:dir:attribute-def:eduPersonEntitlement<br>'''SAML2:''' urn:oid:1.3.6.1.4.1.5923.1.1.1.7</td>
<td>entitlement</td>
<td>entitlement</td>
<td>One or more values indicating particular entitlements. Currently includes <tt>urn:mace:dir:entitlement:common-lib-terms</tt> on behalf of anyone entitled to access the general University Library electronic resource collection. New values may be added over time - applications relying on this attribute should ignore unrecognised values.</td>
<td>One or more values indicating particular entitlements. Currently includes <tt>urn:mace:dir:entitlement:common-lib-terms</tt> on behalf of anyone entitled to access the general University Library electronic resource collection. New values may be added over time - applications relying on this attribute should ignore unrecognised values.</td>
Line 40: Line 40:


<tr align="left" valign="top">
<tr align="left" valign="top">
<td>urn:mace:dir:attribute-def:eduPersonTargetedID</td>
<td>'''SAML1 as SAML1ScopedString:''' urn:mace:dir:attribute-def:eduPersonTargetedID<br>'''SAML1 as SAML1XMLObject:''' urn:oid:1.3.6.1.4.1.5923.1.1.1.10<br>'''SAML2 as SAML2XMLObject:''' urn:oid:1.3.6.1.4.1.5923.1.1.1.10</td>
<td>targeted-id</td>
<td>targeted-id</td>
<td>A single persistent, unique user identifier which is consistent for all accesses to a particular SP by a particular user but which will be different for different users and for different services. The recommended attribute map returns this in the old, deprecated scoped format <tt>''<opaque string>''@cam.ac.uk</tt>. See https://spaces.internet2.edu/display/SHIB2/NativeSPTargetedID for discussion on this, and why it might be better to synthesise something in the persistent-id format (see below).</td>
<td>A single persistent, unique user identifier which is consistent for all accesses to a particular SP by a particular user but which will be different for different users and for different services. The recommended attribute map returns this in the old, deprecated scoped format <tt>''<opaque string>''@cam.ac.uk</tt>. See https://spaces.internet2.edu/display/SHIB2/NativeSPTargetedID for discussion on this, and why it might be better to synthesise something in the persistent-id format (see below).</td>

Revision as of 09:47, 20 October 2016

Following authentication, the IdP on Raven will release various attributes about the authenticated user. Most of these come from or are derived from lookup. An example attribute map is available for use by SPs within the University - this document assumes that this file is in use and that users are authenticating to the Raven IdP - other maps and other IdPs will behave differently. In particular, IdPs elsewhere in the UK federation are unlikely to release by default anything other than urn:mace:dir:attribute-def:eduPersonScopedAffiliation and urn:mace:dir:attribute-def:eduPersonTargetedID (and perhaps not even that).

Each of these attributes has a formal 'name' (which appears in the protocol messages on the wire) and this is mapped, by the attribute-map.xml file, into a more useful 'id' which in turn is used to make attribute values available to web sites. How this happens depends on platform. For Apache, the 'id's are used as the names of environment variables (with all occurrences of '-' converted to '_' and with multiple values seperated by ';'). On IIS, the 'id's are used as the names of server variables.

Exactly what is released will differ depend on how the SP is registered with Raven. SP registration takes place by providing 'Metadata', which may appear either in the UK federation metadata file or in the local 'Ucam federation' one.

Registered, but with technical errors

No attributes are released. This is a common failure mode and suggests that Raven is finding metadata about the SP but that this doesn't match reality.

Registered SPs

Raven will release the following to any SP for which it has registration data:

Name Id Description
SAML1: urn:mace:dir:attribute-def:eduPersonPrincipalName
SAML2: urn:oid:1.3.6.1.4.1.5923.1.1.1.6
eppn A single persistent, unique user identifier which is consistent across all services. For a Raven user has the form <crsid>@cam.ac.uk. It is NOT an email address.
SAML1: urn:mace:dir:attribute-def:eduPersonScopedAffiliation
urn:oid:1.3.6.1.4.1.5923.1.1.1.9
SAML2: urn:oid:1.3.6.1.4.1.5923.1.1.1.9
affiliation One or more values indicating the authenticated user's relationship with the organisation operating the IdP. For a Raven user has the value member@cam.ac.uk for anyone who appears in lookup, and the value member@eresources.lib.ac.uk for anyone entitled to access the bulk of University Library-licensed electronic resources. New values may be added over time - applications relying on this attribute should ignore unrecognised values.
SAML1: urn:mace:dir:attribute-def:eduPersonEntitlement
SAML2: urn:oid:1.3.6.1.4.1.5923.1.1.1.7
entitlement One or more values indicating particular entitlements. Currently includes urn:mace:dir:entitlement:common-lib-terms on behalf of anyone entitled to access the general University Library electronic resource collection. New values may be added over time - applications relying on this attribute should ignore unrecognised values.
SAML1 as SAML1ScopedString: urn:mace:dir:attribute-def:eduPersonTargetedID
SAML1 as SAML1XMLObject: urn:oid:1.3.6.1.4.1.5923.1.1.1.10
SAML2 as SAML2XMLObject: urn:oid:1.3.6.1.4.1.5923.1.1.1.10
targeted-id A single persistent, unique user identifier which is consistent for all accesses to a particular SP by a particular user but which will be different for different users and for different services. The recommended attribute map returns this in the old, deprecated scoped format <opaque string>@cam.ac.uk. See https://spaces.internet2.edu/display/SHIB2/NativeSPTargetedID for discussion on this, and why it might be better to synthesise something in the persistent-id format (see below).

University SPs

Raven will additionally release the following information (mainly from Lookup) to any SP for which it has registration data and which it recognises as being operated by the University. Note that access to many of these values may be restricted in Lookup -- Raven can only release values that have at least 'University Wide' visibility.

Note that much of the data in Lookup is under its subject's direct control and so should not be used for identification or authorisation purposes.

Note that many of these are only defined locally and it is unlikely to make any sense to accept them from IdPs other than the one provided by Raven. Indeed it could be positively dangerous to do so - for example any IdP can assert any value it likes for 'uid' and to assume that this was a correctly established CRSid would be insecure. The default Shib SP configuration described elsewhere in these pages only configures the SP to trust the Raven IdP, so in that configuration all these values could be considered trustworthy. However more care should be taken should additional IdP's (such as those in the UK federation) be added as trusted.

Name Id Description Notes
urn:mace:dir:attribute-def:sn sn User's Surname. Single-valued.
urn:mace:dir:attribute-def:cn cn User's Registered Name. Single-valued.
urn:mace:dir:attribute-def:displayName displayName User's Display Name. Single-valued. 3
urn:mace:dir:attribute-def:title title User's Roles. Multi-valued. 3
urn:mace:dir:attribute-def:ou ou The institutions to which the user belongs. Multi-valued.
urn:oid:1.3.6.1.4.1.6822.1.1.5 instID The 'Inst ID's of the institutions to which the user belongs. Note that this may not be in the same order as the values of ou. Multi-valued. 1
urn:oid:1.3.6.1.4.1.6822.1.1.30 jdInst The 'Inst ID' of the user's primary institution as shown in University Information Services' Jackdaw database. Single-valued. 1
urn:mace:dir:attribute-def:telephoneNumber telephoneNumber User's Telephone Numbers. Multi-valued. 3
urn:mace:dir:attribute-def:mail mail User's preferred email address. Single valued. 3
urn:oid:1.3.6.1.4.1.6822.1.1.11 mailAlternative User's other mail addresses. Multi-valued. 1,3
urn:oid:1.3.6.1.4.1.6822.1.1.38 misAffiliation User's 'status' within the University. Possible values are staff and/or student. New values may be added over time - applications relying on this attribute should ignore unrecognised values. Note: the coverage of this attribute is known to be incomplete - anyone with the value student probably is a student (for some definition thereof); anyone without this may or may not be. Ditto for 'staff'. Multi-valued. 1
urn:oid:1.3.6.1.4.1.6822.1.1.22 groupTitle The names of the lookup groups to which the user belongs. Multi-valued. Note the availability of this attribute is subject to both the user's choice of suppression and the group administrator's. 1
urn:oid:1.3.6.1.4.1.6822.1.1.22 groupID The groupID of the lookup groups to which the user belongs. Multi-valued. Note the availability of this attribute is subject to both the user's choice of suppression and the group administrator's. Note that this may not be in the same order as the values of groupTitle. 1
urn:oid:1.3.6.1.4.1.5923.1.1.1.10 persistent-id An alternate form of a persistent, unique user identifier which is consistent for all accesses to a particular SP by a particular user but which will be different for different users and for different services (c.f. targeted-id above). See https://spaces.internet2.edu/display/SHIB2/NativeSPTargetedID for background to this duplication. 1
urn:mace:dir:attribute-def:uid uid User's CRSid (centrally-managed University user ID). Consider using 'eppn' when accepting authentications from multiple IdPs. 2

Notes:

1. Locally defined attribute - unlikely to be meaningful or trustworthy except when asserted by the Raven IdP.

2. Standardised attribute, but used for a specific local purpose. Could easily be used for a different or conflicting purpose by IdPs other than that provided by Raven.

3. User-managed attribute - do not use for identification or authorisation purposes.