Módosítások

Attribute Specification

7 340 bájt hozzáadva, 2012. szeptember 26., 10:41
eduPersonPrincipalName: disallow special chars
== Goal Purpose of the Attribute Specification this document ==
In a federation, information about the user is represented in SAML attributes transferred from the Identity Provider to the Service Provider. It is important for both parties to interpret the data in the same way.
Exact definition definitions of the attributes are maintained in the their defining schemas. Within this specification, we us use the following schemaschemas:
* ''person'', ''organizationalPerson'' (X.521)
* ''inetOrgPerson'' (RFC2798)
* ''eduPerson'' (http://middleware.internet2.edu/eduperson/, version 200806)* ''SCHAC'' (http://www.terena.org/activities/tf-emc2/schacreleases.html, version 1.4.1)
* ''niifPerson'', ''niifEduPerson'' ([[NIIFSchema]])
This Attribute Specification provides an ''interpretation'' of the above documents defined attributes for federational their usewithin the federation. It might be somewhat more specific than the original definition, in order to let the SPs get more specific information about the user.
Beyond the specification, parties may bilaterally agree on any other attributes.
== Use of attributes ==
=== Glossary Terms ===* '''Implementing an An attributeis ''': an IdP 'implemented'implements'' an attribute, if the information is available according to the semantics of the specification. Releasing an implemented attribute is simply a policy decisionof the IdP.* An attribute is '''Attribute releasereleased''': transferring , when the information within SAML attributes data is transferred from the IdP to an SP. Not all available information is sent out normally, only the attributes that are relevant for the SP.
=== Levels of implementation ===
==== Mandatory attributes ====
{| {{prettytable}}
|eduPersonPrincipalName
|-
|eduPersonTargetedID
|-
|-
|schacHomeOrganizationType
|-
|eduPersonPrincipalName
|}
 
==== Recommended attributes ====
{| {{prettytable}}
|-
| schacDateOfBirth
|rowspan="12" |
| niifEduPersonMajor
|-
| schacYearOfBirth |
| niifEduPersonFaculty
|-
=== Persistent user identifiers ===
For some most services, it is necessary to store application-specific data, such as user edits for a wiki page. This data is stored in some a database , which is local to the SP, while the key between the user and the database entry is a the '''persistent user identifier'''.
Persistent identifiers can be:
* '''static''': the identifier is created at the time of user creation at the IdP
* '''computed''': the identifier is generated run-time from one or more attributes of the user (usually by some cryptographic hashing algorithm).
* '''stored''': the identifier is stored in the user's digital identity at the IdP, thus it is persistent even when other user information is changed. Uniqueness of the identifier must be preserved.
* '''persistence''': IdPs must ensure that the identifier does not change during the life-cycle of the user at the institution.
* '''non-reassignable''': IdPs must ensure that an identifier of a user will not be reassigned to another user.
* '''opacity''': opaque identifiers are do not refer to any personal data
* '''targeted''': targeted identifiers are different for each SP, thus the SPs are unable to build common user profile without the cooperation of the IdP. Such identifiers are preferred from privacy reasons.
Persistent identifiers can be transferred in SAML attributes or in NameID of a SAML Assertion. Certain SP implementations (such as Shibboleth 2.x) can hide the details of the transfer, and can provide a persistent identifier in REMOTE_USER header.
 
=== List of attributes ===
In this specification, only mandatory and recommended attributes are specified. The [[HREFAttributeSpec|Hungarian version of the Attribute Specification]] contains descriptions of the optional attributes as well. If you have any questions regarding the optional attributes, please contact the Federation Operator.
 
==== eduPersonTargetedID ====
{{AttributeDefEn|name=eduPersonTargetedID
|URI=urn:mace:dir:attribute-def:eduPersonTargetedID
|OID=1.3.6.1.4.1.5923.1.1.1.10
|description='''Opaque''', '''targeted''', '''non-reassignable''' identifier
|semantics=See: https://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPTargetedID
 
An SP must process the received value, it must not forward unparsed XML value to the application. As a minimum, the unique identifier and the IdP <code>NameQualifier</code> must be included in the parsed value, which is forwarded to the application. It is recommended to separate fields (such as qualifier values) with an exclamation mark ('!').
 
|implementation=mandatory
|syntax=Must be a SAML2 persistent NameID; the unique identifier part must not be longer than 256 ASCII characters.
|example=
An IdP sends the attribute on the wire such as:
<saml2:NameID xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion"
Format="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent"
NameQualifier="https://idp.example.org/idp/shibboleth"
SPNameQualifier="https://sp.example.org/shibboleth">
84e411ea-7daa-4a57-bbf6-b5cc52981b73
</saml2:NameID>
The application at the SP receives the attribute as the following:
https://idp.example.org/idp/shibboleth!https://sp.example.org/shibboleth!84e411ea-7daa-4a57-bbf6-b5cc52981b73
|assurer=institution
}}
 
==== eduPersonPrincipalName ====
{{AttributeDefEn|name=eduPersonPrincipalName
|URI=urn:mace:dir:attribute-def:eduPersonPrincipalName
|OID=1.3.6.1.4.1.5923.1.1.1.6
|description='''Persistent''', '''non-targeted''', '''non-reassignable''' personal identifier
|implementation=mandatory
|semantics=
Format: <local_id>@<scope>
 
where:
* '''<local_id>''': arbitrary persistent key which unambiguously maps to a person within an institution.
* '''<scope>''': local security domain. It must have a format as a DNS domain, and ends with a resolvable domain name, which is possessed by the identity provider institution. (Note: the scope as a whole may not be resolved from DNS.)
 
'''Note''': '''eduPersonPrincipalName''' is sensitive personal data, it is often equal to the mail address of the person. It is recommended to use it only within the institution's domain. For federation use, opaque, targeted identifiers are more privacy preserving.
 
eduPersonPrincipalName '''must not be reassigned'''
 
As some applications do not support special characters in identifiers, eduPersonPrincipalName MUST only contain the following characters: alpanumeric characters, dot ('.'), hyphen ('-') and underscore ('_').
|example=gipsz.jakab@example.org
|assurer=institution
}}
 
==== displayName ====
{{AttributeDefEn|name=displayName
|URI=urn:mace:dir:attribute-def:displayname
|OID=2.16.840.1.113730.3.1.241
|implementation=recommended
|description=Display name of the person
|semantics=Full name of the person in a form the user (or his or her institution) probably wants to be shown.
 
For international use, please note that Hungarian names are usually in the form of '''''Surname Givenname''''', and names often contain accented or other non-ascii characters. But also note that this document does not specify the exact name order.
|example=Gipsz Jakab Aladár
}}
 
==== mail ====
{{AttributeDefEn|name=mail
|URI=urn:mace:dir:attribute-def:mail
|OID=0.9.2342.19200300.100.1.3
|implementation=recommended
|numOfValues=multi
|description=Mail address of the person
|values=Valid email address
|syntax=See also: [http://www.faqs.org/rfcs/rfc2822.html RFC 2822]
|example=gipsz.jakab@example.org
|assurer=institution
|semantics=Notification email address of the person. The institution asserts that
* either the address is provided by the institution to the person
* or the address was provided by the person and the availability and the possession of the mailbox was verified (i.e. by sending a verification email before recording).
 
Transferring unverified values in this attribute is not allowed.
}}
 
==== eduPersonScopedAffiliation ====
{{AttributeDefEn|name=eduPersonScopedAffiliation
|URI=urn:mace:dir:attribute-def:eduPersonScopedAffiliation
|OID=1.3.6.1.4.1.5923.1.1.1.9
|description=Describes the relationship between the person and the institution
|implementation=mandatory
|semantics=
'''<affiliation>@<scope>'''
* '''<affiliation>''': the following values are permitted
** ''student'': the person is a student at the institution
** ''faculty'': the person is a member of the teaching or researching staff
** ''staff'': the person is a member of the non-teaching staff (ie. IT personnel, etc)
** ''employee'': the person is employed in the institution (not recommended for use between institutions)
** ''member'': users who get basic set of privileges. In general, users having ''student'', ''faculty'' or ''staff'' affiliations, should also be given this value.
** ''affiliate'': the user is recognised by the institution, but no basic privileges should be given.
** ''alum'': alumni
** ''library-walk-in'': affiliated to the library only
* '''<scope>''': local security domain. It must have a format as a DNS domain, and ends with a resolvable domain name, which is possessed by the identity provider institution. (Note: the scope as a whole may not be resolved from DNS.)
 
See also: http://middleware.internet2.edu/eduperson/docs/internet2-mace-dir-eduperson-200806.html#eduPersonAffiliation
 
|assurer=inst
|values=One of the following: {student,faculty,staff,employee,member,affiliate,alum,library-walk-in}, followed by the '''scope'''
|example=
* Learners: ''student@example.org;member@example.org''
* Teachers: ''faculty@example.org;member@example.org''
|numOfValues=multi
}}
 
==== eduPersonEntitlement ====
{{AttributeDefEn|name=eduPersonEntitlement
|URI=urn:mace:dir:attribute-def:eduPersonEntitlement
|OID=1.3.6.1.4.1.5923.1.1.1.7
|implementation=recommended
|semantics=List of resources what the user is entitled to use at the SP. The trust between the two parties must be established out of band.
 
{{INFO_EN|An IdP should give only the values which are relevant for the SP}}
|description=URI (either URN or URL) that indicates a set of rights to specific resources.
|assurer=inst
|example=urn:geant:niif.hu:niif:entitlement:vhoadmin
|numOfValues=multi
}}
 
==== schacHomeOrganizationType ====
{{AttributeDefEn|name=schacHomeOrganizationType
|URI=urn:mace:dir:attribute-def:schacHomeOrganizationType
|OID=1.3.6.1.4.1.25178.1.2.10
|values=urn:schac:homeOrganizationType:hu:{university,nren,library,vho,school,business,other,test}
|implementation=mandatory
|description=Type of the Home Organisation
|semantics=
* '''university''': universities and colleges
* '''nren''': National research and educational network
* '''library''': Libraries
* '''vho''': Virtual home organisation
* '''school''': Primary and secondary education
* '''business''': Industrial or commercial companies
* '''other''': Other
* '''test''': The principal is a test account
|numOfValues=single
|assurer=inst
|syntax=URN
}}

Navigációs menü