configuring meta-attributes in the Shib IdP
Tom Scavo
trscavo at gmail.com
Thu Dec 3 17:57:00 EST 2015
On Thu, Dec 3, 2015 at 5:14 PM, Cantor, Scott <cantor.2 at osu.edu> wrote:
> On 12/3/15, 5:03 PM, "Cantor, Scott" <cantor.2 at osu.edu> wrote:
>
>>On 12/3/15, 4:33 PM, "dev on behalf of Tom Scavo" <dev-bounces at shibboleth.net on behalf of trscavo at gmail.com>
>>>
>>>Then the following configuration at the IdP would recognize the above
>>>requested attributes:
>>>
>>><afp:AttributeFilterPolicy id="releaseEssentialAttributesToAnySP">
>>>
>>> <afp:PolicyRequirementRule xsi:type="basic:ANY"/>
>>
>>I don't believe that your way will work, but it might. I think it will be less efficient though.
>
> I think I'm wrong and you're right. I'd start with yours anyway. Mentally my way is making more sense to me...
The policy I sketched earlier was essentially the OSU IdP attribute
release policy (as I understand it) with the following twist: Release
the attributes listed in the policy if and only if the corresponding
meta-attributes are listed in metadata.
Here's a similar policy, for R&S IdPs:
<afp:AttributeFilterPolicy id="releaseRandSAttributeBundle">
<afp:PolicyRequirementRule xsi:type="saml:EntityAttributeExactMatch"
attributeName="http://macedir.org/entity-category"
attributeValue="http://refeds.org/category/research-and-scholarship"/>
<!-- assuming ePPN is non-reassigned -->
<afp:AttributeRule attributeID="eduPersonPrincipalName">
<afp:PermitValueRule xsi:type="saml:AttributeInMetadata"
attributeName="http://id.incommon.org/attribute/metaPublicUserID"
attributeNameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"/>
</afp:AttributeRule>
<afp:AttributeRule attributeID="displayName">
<afp:PermitValueRule xsi:type="saml:AttributeInMetadata"
attributeName="http://id.incommon.org/attribute/metaPersonName"
attributeNameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"/>
</afp:AttributeRule>
<afp:AttributeRule attributeID="email">
<afp:PermitValueRule xsi:type="saml:AttributeInMetadata"
attributeName="http://id.incommon.org/attribute/metaEmailAddress"
attributeNameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"/>
</afp:AttributeRule>
</afp:AttributeFilterPolicy>
This particular IdP releases ePPN + displayName + mail if and only if
the corresponding meta-attributes are listed in metadata. Another IdP
might release ePUId + givenName + sn + mail. Yet another IdP might
release OIDC claims. All we need to do is give precise definitions to
the meta-attributes so both parties are on the same page:
----
PUBLIC USER IDENTIFIER
FriendlyName: metaPublicUserID
Name: http://id.incommon.org/attribute/metaPublicUserID
A metaPublicUserID is a persistent, non-reassigned, non-targeted identifier.
An Identity Provider (or Attribute Authority) is said to release a
metaPublicUserID when it releases one of the following attributes on
the wire:
- eduPersonUniqueId attribute
- eduPersonPrincipalName attribute (if non-reassigned)
- OpenID Connect public sub claim
A Service Provider is said to request a metaPublicUserID when it does
so indirectly in metadata.
PERSON NAME
FriendlyName: metaPersonName
Name: http://id.incommon.org/attribute/metaPersonName
A metaPersonName is a human-readable name for the person (or subject)
involved in a federated transaction.
An Identity Provider (or Attribute Authority) is said to release a
metaPersonName when it releases at least one of the following
attributes (or attribute combinations) on the wire:
- eduPerson displayName attribute
- OpenID Connect name claim
- Two eduPerson attributes: givenName + sn (surname)
- Two OpenID Connect claims: given_name + family_name
A Service Provider is said to request a metaPersonName when it does so
indirectly in metadata.
EMAIL ADDRESS
FriendlyName: metaEmailAddress
Name: http://id.incommon.org/attribute/metaEmailAddress
A metaEmailAddress is an electronic mail address for the person (or
subject) involved in a federated transaction.
An Identity Provider (or Attribute Authority) is said to release a
metaEmailAddress when it releases one of the following attributes on
the wire:
- eduPerson mail attribute
- OpenID Connect email claim
A Service Provider is said to request a metaEmailAddress when it does
so indirectly in metadata.
----
Does that make sense?
Tom
More information about the dev
mailing list