2012-07-27 17 views
33

En archivo de metadatos SAML hay varias formato NameID definido, por ejemplo:¿Para qué se utilizan los diferentes formatos de NameID?

<NameIDFormat>urn:mace:shibboleth:1.0:nameIdentifier</NameIDFormat> 

<NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</NameIDFormat> 

<NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:transient</NameIDFormat> 

¿Alguien puede explicar lo que son las que se utilizan? ¿Cuáles son las diferencias?

Respuesta

34

consulte la Sección 8.3 de este SAML core pdf de la especificación SAML de oasis.

SP e IdP por lo general se comunican entre sí sobre un tema. Ese sujeto debe identificarse a través de un NAME-IDentifier, que debe estar en algún formato para que sea fácil para la otra parte identificarlo en función del Formato.

Todos estos

1.urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified [default] 

2.urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress 

3.urn:oasis:names:tc:SAML:2.0:nameid-format:persistent 

4.urn:oasis:names:tc:SAML:2.0:nameid-format:transient 

son formato de los identificadores de nombre.

The name format for a transient ID in SAML 1 is urn:mace:shibboleth:1.0:nameIdentifier and in SAML 2 is urn:oasis:names:tc:SAML:2.0:nameid-format:transient

transitoria es para [sección 8.3.8 de SAML Core]

indica que el contenido del elemento es un identifierwith semántica transitorios y debe ser entendido como un valor opaco y temporal por la parte confiante.

No especificado se puede utilizar y depende puramente de la implementación de las entidades en su propio deseo.

+0

Si devuelve su userId y es público y no tiene la intención de cambiarlo pronto, entonces creo que quiere "persistente". –

+0

No puedo ver nada en la especificación que indique que el formato "no especificado" debe tratarse como [predeterminado]. Estaría muy interesado en encontrar la referencia para eso. ¿Recuerdas de dónde sacaste eso? – alxgomz

+0

@alxgomz - vea la línea 455 y en [la especificación] (http://docs.oasis-open.org/security/saml/v2.0/saml-core-2.0-os.pdf), específicamente 'A menos que especificado por un elemento basado en este tipo, si no se proporciona ningún valor de formato, entonces el valor urn: oasis: nombres: tc: SAML: 1.0: nombre-formato: no especificado (ver Sección 8.3.1) está en efecto. ' –

3

1 y 2 son SAML 1.1 porque esos URI formaban parte del estándar OASIS SAML 1.1. Sección 8.3 del formato PDF vinculados for the OASIS SAML 2.0 standard explica esto:

Siempre que sea posible una urna existente se utiliza para especificar un protocolo. En el caso de los protocolos IETF, se usa la URN de la RFC más reciente que especifica el protocolo. referencias URI creados específicamente para SAML tienen una de las siguientes tallos, de acuerdo con la versión de conjunto de especificaciones en el que se introdujo por primera vez:

urn:oasis:names:tc:SAML:1.0: 
urn:oasis:names:tc:SAML:1.1: 
urn:oasis:names:tc:SAML:2.0: 
3

Sobre esto creo que se puede hacer referencia a http://docs.oasis-open.org/security/saml/Post2.0/sstc-saml-tech-overview-2.0.html.

Acá mi entendimiento acerca de esto, con el Identidad Caso de Uso Federación por poner detalles de esos conceptos:

  • persistente identifiers-

IdP proporciona los identificadores persistentes, se utilizan para vincular a las cuentas locales en SP, pero se identifican como el perfil de usuario para el servicio específico, cada uno por separado. Por ejemplo, los identificadores persistentes son algo así como: johnForAir, jonhForCar, johnForHotel, todos ellos solo para un servicio específico, ya que necesita vincular su identidad local en el servicio.

  • transitorios identifiers-

identificadores transitorias son lo IdP decirle al SP que los usuarios de la sesión se han concedido para acceder al recurso de SP, pero las identidades de los usuarios no ofrecen a SP realidad . Por ejemplo, la afirmación al igual que "Anonimato (Idp no le dice a SP quién es) tiene permiso para acceder/recurso en SP". SP lo consiguió y permitió que el navegador accediera a él, pero aún no conoce el nombre real de Anonymity.

  • identifiers- no especificado

La explicación para ello en la especificación es "La interpretación del contenido del elemento se deja a las implementaciones individuales". Lo que significa que IdP define el formato real para él, y asume que SP sabe cómo analizar el formato de respuesta de datos de IdP. Por ejemplo, IdP da un formato de datos "UserName = XXXXX Country = US", SP obtiene la aserción, y puede analizar y extraer el UserName es "XXXXX".

Cuestiones relacionadas