TUTORIELS 
SAML: théorie & pratique

Page 1 | 2

Présentation de cette architecture XML permettant de s'assurer de la transmission sécurisée des données d'authentification entre plusieurs sites Web.
 (11 avril 2003)
 

Exemples
Une assertion d'authentification stipule que l'utilisateur U a été authentifié par la méthode M à l'instant T.

<saml:Assertion
  MajorVersion=“1”
  MinorVersion=“0”
  AssertionID=“186CB370-5C81-4716-8F65-F0B4FC4B4A0B”
  Issuer=“www.vendeur.com”
  IssueInstant=“2003-05-31T13:20:00-05:00”>
  <saml:Conditions
    NotBefore=“2003-05-31T13:20:00-05:00”
    NotAfter=“2003-05-31T13:25:00-05:00”/>
  <saml:AuthenticationStatement
    AuthenticationMethod=“password”
    AuthenticationInstant=“2003-05-31T13:21:00-05:00”>

    <saml:Subject>
      <saml:NameIdentifier>
        <SecurityDomain>”www.jdnet.com”</SecurityDomain>
        <Name>”cn=Alice,co=example,ou=sales”</Name>
      </saml:NameIdentifier>

    </saml:Subject>
  </saml:AuthenticationStatement>
</saml:Assertion>

Une assertion d'attribution stipule que l'utilisateur U est lié aux attributs A, B etc., qui ont pour valeur a, b etc. Par exemple, l'utilisateur "Borderie" est associé à l'attribut "rédaction", qui a pour valeur "JDNet Développeurs". Ainsi:

<saml:Assertion ...>
  <saml:AttributeStatement>
    <saml:Subject>Borderie</saml:Subject>
    <saml:Attribute
      AttributeName="rédaction"
      AttributeNamespace="http://jdnet.com">

      <saml:AttributeValue>JDNetDev</saml:AttributeValue>
    </saml:Attribute>
    <saml:Attribute
      AttributeName="Salaire"
      AttributeNamespace="http://jdnet.com">
      <saml:AttributeValue>
        <my:amount currency="EURO">7564154115.00</my:amount>
      </saml:AttributeValue>
    </saml:Attribute>
  </saml:AttributeStatement>
</saml:Assertion>

Une assertion de décision autorisation est délivrée par une "autorité d'autorisation", qui décide ou non d'autoriser la requête de l'utilisateur U pour l'action A sur la ressource R (un fichier, une application, un service Web...), étant donné la preuve P. Elle sera de cette forme:

<saml:Assertion ...>
  <saml:AuthorizationStatement
    Decision="accordé"
    Resource="http://jdnet.com/truc.shtml">
    <saml:Subject>Dupont</saml:Subject>
    <saml:Actions
      ActionNamespace="http://jdnet.com/trois.htm">
      <saml:Action>lu</saml:Action>
    </saml:Actions>
  </saml:AuthorizationStatement>
</saml:Assertion>

La réponse de l'autorité d'autorisation sera de la forme suivante:

<samlp:Response
  MajorVersion=“1”
  MinorVersion=“0”
  RequestID=“186CD370-181-4236-8F65-F0B4FC4B4A0B”
  InResponseTo=“EE52CAF4-3452-4ebe-84D3-4D372C892A5D”
  StatusCode=“Succés”>
  <saml:Assertion
    MajorVersion=“1”
    MinorVersion=“0”
    AssertionID=“186CD370-5C81-4716-8F65-F0B4FC4B4A0B”
    Issuer=“www.vendeur.com”>
    <saml:Conditions
      NotBefore=“2003-05-31T13:20:00-05:00”
      NotAfter=“2003-05-31T13:25:00-05:00”/>
    <saml:AuthorizationDecisionStatement/>
  </saml:Assertion>
</samlp:Request>

Nous reviendrons sur ce qu'il se passe en coulisse à l'occasion d'un prochain article.

Page 1 | 2

 
[ Xavier Borderie,JDNet
 
Accueil | Haut de page