[mdx] syntax for entity-attributes

Leif Johansson leifj at sunet.se
Mon Sep 5 10:39:52 PDT 2011


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 09/05/2011 06:37 PM, Tom Scavo wrote:
> On Mon, May 23, 2011 at 3:03 AM, Leif Johansson <leifj at mnt.se> wrote:
>>
>> Today the MDX query string supports a simple query syntax.
>>
>> mdx-url = url-prefix '/' query
>> query = 1*(tag '+') / entityID / hash(entityID)
>>
>> Increasingly entity attributes are used to add context to
>> EntityDescriptor elements and it would be nice to have a way
>> to query for those.
>>
>> I propose the following: allow a tag to be formatted according
>> to one of
>>
>> (1) '{' name-format '}' name '=' value
>> (2) name '=' value
>> (3) value
> 
> Coming back to this (after some months) because I don't think it was
> fully resolved last time and I happen to need it now ;-)
> 
> A number of default values for name-format were discussed for case (2)
> but the only one that really makes any sense to me is
> 
> urn:oasis:names:tc:SAML:2.0:attrname-format:uri

Scott argued that point. Quite right.

> 
> The interesting case is case (3). It can be interpreted in at least
> two ways: a) there is some assumed default value for name, or b) the
> given value is actually an anonymous entity attribute (I believe what
> Leif called a "social tag" in his original post). I've gone down both
> paths (conceptually) and they both pretty much arrive at the same
> place. So I'll propose (a) since it's the more natural interpretation
> and it fully aligns with Chad's original spec.
> 
> Specifically, assume the following default value for name in case (3):
> 
> urn:oasis:names:tc:SAML:2.0:nameid-format:entity
> 
> Then case (3) is actually a shorthand for the following entity attribute:
> 
> <mdattr:EntityAttributes
>     xmlns:mdattr="urn:oasis:names:tc:SAML:metadata:attribute>
>  <saml:Attribute
>      xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion
>      NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
>      Name="urn:oasis:names:tc:SAML:2.0:nameid-format:entity">
>    <saml:AttributeValue>http://example.org/idp/saml</saml:AttributeValue>
>  </saml:Attribute>
> </mdattr:EntityAttributes>
> 
> but of course this entity attribute would be redundant in metadata
> since its value is already carried in the entityID XML attribute on
> the <md:EntityDescriptor> element. At any rate, the case (3)
> representation for an entityID is itself (which is consistent with the
> original spec).

I love it!

> 
> Now what about Leif's "social tags"? I'm not sure what is meant by
> that term exactly, but consider the following example.
> 
> <mdattr:EntityAttributes
>     xmlns:mdattr="urn:oasis:names:tc:SAML:metadata:attribute>
>  <saml:Attribute
>      xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion
>      NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
>      Name="http://names.incommon.org/attribute/entity/entity-role">
>    <saml:AttributeValue>sp</saml:AttributeValue>
>  </saml:Attribute>
>  <saml:Attribute
>      xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion
>      NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
>      Name="http://names.incommon.org/attribute/entity/entity-role">
>    <saml:AttributeValue>idp</saml:AttributeValue>
>  </saml:Attribute>
> </mdattr:EntityAttributes>
> 
> Since the entity-role attribute is implied by the role descriptors
> contained in the <md:EntityDescriptor> element, there is no benefit
> derived from explicitly asserting these entity attributes in metadata,
> but in any event, we arrive at the following case (2) representations:
> 
> http://names.incommon.org/attribute/entity/entity-role=sp
> http://names.incommon.org/attribute/entity/entity-role=idp
> 
> I guess any "social tag" could be represented in this way.

Actually that is not what I had in mind. By 'social tag' I meant to
express a semantic-free "label" that contains folksonomy-driven
information about the entity. For instance some group of people might
assign the label 'archeology' to entities relevant to that community.

> 
> In summary, the defaults for case (1) are
> 
> urn:oasis:names:tc:SAML:2.0:attrname-format:uri
> 
> and
> 
> urn:oasis:names:tc:SAML:2.0:nameid-format:entity
> 
> respectively. Everything else requires a full case (1) representation.
> Does this seem reasonable?

It does. I suspect the most important usecase might be for
resolving entities by accreditation (i.e all OIX LoA1 IdPs).

> 
> Perhaps more important than the representation is the standardization
> of entity attribute names. I wish there were a way to register or
> propose standard names. Thoughts?

I agree. If I had a penny for every time I felt an urge for
a registry of some sort I wouldn't have to work for a living :-)

	Cheers Leif
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk5lCWcACgkQ8Jx8FtbMZne6yACfRDJxxdFi+rnZrHAOkkPGQcgI
nCsAoIpN/kT7lPFiFc7zdVdftZm5+iEf
=NO0R
-----END PGP SIGNATURE-----



More information about the mdx mailing list