Exigences concernant les rôles eIAM

Le service eIAM propose un concept de rôles à 2 niveaux pour la gestion des accès. L'administration des rôles se fait dans l'AM eIAM. Une distinction est faite entre les rôles à granularité grossière et les rôles à granularité fine. Une raison importante de ce concept de rôles à deux niveaux est qu'aucune adaptation n'est nécessaire sur le PEP lorsque des rôles à granularité fine sont ajoutés ou supprimés dans l'eIAM-AM. Les rôles d'un utilisateur de l'eIAM-AM sont livrés à l'application en tant qu'attributs dans un SAML (Assertion), après que l'application a soumis avec succès une SAML AuthnRequest au PEP.

Exemple de rôles à granularité grossière et à granularité fine dans une assertion SAML à l'application:

<saml2:Attribute Name="http://schemas.eiam.admin.ch/ws/2013/12/identity/claims/role" a:OriginalIssuer="uri:eiam.admin.ch:feds" xmlns:a="http://schemas.xmlsoap.org/ws/2009/09/identity/claims">
        <saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">AMT-SAMPLEAPPL1.ALLOW</saml2:AttributeValue>
</saml2:Attribute>
<saml2:Attribute Name="http://schemas.eiam.admin.ch/ws/2013/12/identity/claims/role" a:OriginalIssuer="uri:eiam.admin.ch:feds" xmlns:a="http://schemas.xmlsoap.org/ws/2009/09/identity/claims">
        <saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">AMT-SAMPLEAPPL1.SACHBEARBEITER</saml2:AttributeValue>
</saml2:Attribute>
<saml2:Attribute Name="http://schemas.eiam.admin.ch/ws/2013/12/identity/claims/role" a:OriginalIssuer="uri:eiam.admin.ch:feds" xmlns:a="http://schemas.xmlsoap.org/ws/2009/09/identity/claims">
        <saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">AMT-SAMPLEAPPL1.TEAMLEITER</saml2:AttributeValue>
</saml2:Attribute>

Rôle granulaire grossier

Un rôle granulaire détermine si un utilisateur est autorisé à accéder à l'application. Le rôle granulaire est vérifié et appliqué par le PEP web eIAM. En principe, eIAM fait la distinction entre le "rôle d'autorisation" (.ALLOW) et le "rôle de refus" (.DENY). Si l'utilisateur ne possède pas le rôle ALLOW requis pour l'accès à la ressource, la demande de l'utilisateur est déjà bloquée sur le PEP web d'eIAM. De même, la requête de l'utilisateur à la ressource est bloquée si le BVA lui a attribué le "rôle de refus" de granularité grossière.

L'absence du rôle granulaire requis déclenche sur l'eIAM-Web PEP l'appel de la fonction eIAM-AccessRequest, avec laquelle l'utilisateur peut demander l'autorisation manquante.

En l'absence du rôle granulaire requis, une application web hébergée en dehors des réseaux de l'administration fédérale doit appeler la fonction eIAM-AccessRequest, avec laquelle l'utilisateur peut demander l'autorisation manquante.

Remarque
L'application peut également utiliser le rôle granulaire pour son autorisation, car celui-ci est également disponible dans les informations de rôle de l'assertion SAML à l'application.

Convention de nommage des rôles granulaires dans eIAM

La dénomination des rôles à granularité grossière dans l'eIAM est standardisée et se compose du nom de l'application tel qu'il est géré dans l'AM eIAM et du qualificatif pour le rôle. Un point " . " est utilisé comme séparateur.

Rôle Allow grossièrement granulaire:
<nom d'application de eIAM-AM>.ALLOW

Rôle Deny grossièrement granulaire:
<nom d'application de eIAM-AM>.DENY

Rôles à granularité fine

Les rôles à granularité fine d'un utilisateur servent à contrôler les accès aux masques web et aux données d'une application. Un utilisateur peut avoir un ou plusieurs rôles à granularité fine pour une application.

Conventions d'appellation des rôles à granularité fine dans eIAM

La dénomination des rôles à granularité fine dans l'eIAM est standardisée et se compose du nom de l'application tel qu'il est géré dans l'eIAM-AM et du qualificatif pour le rôle. Un point " . " est utilisé comme séparateur.

<nom de l'application dans eIAM-AM>.rôle