11 avril 2023 1
Gestion automatisée des filtres d’attributs
David VerdinJournée Fédération
Lundi 24 janvier 2010
Rappel : le transfert des attributs
11 avril 2023 2
Rappel : le transfert des attributs
11 avril 2023 3
Rappel : le transfert des attributs
11 avril 2023 4
Attributes-
filter.xml
Rappel : le fichier attributes-filter.xml
<AttributeFilterPolicyGroup id="monFiltre"xsi:schemaLocation="urn:mace:shibboleth:2.0:afp classpath:/schema/shibboleth-2.0-afp.xsd
urn:mace:shibboleth:2.0:afp:mf:basic classpath:/schema/shibboleth-2.0-afp-mf-basic.xsd urn:mace:shibboleth:2.0:afp:mf:saml classpath:/schema/shibboleth-2.0-afp-mf-saml.xsd">
<AttributeFilterPolicy id= "reglePourTouslesServices" ><PolicyRequirementRule xsi:type="basic:ANY" /><AttributeRule attributeID="transientId">
<PermitValueRule xsi:type="basic:ANY" /> </AttributeRule>
</AttributeFilterPolicy>
<AttributeFilterPolicy id="reglePourUnServiceParticulier"><PolicyRequirementRule xsi:type="basic:AttributeRequesterString" value="monId"
ignoreCase="true"/><AttributeRule attributeID="email">
<PermitValueRule xsi:type="basic:ANY"/></AttributeRule>
</AttributeFilterPolicy>
</AttributeFilterPolicyGroup>
11 avril 2023 5
"Transmettre systématiquementLe transientId"
"Transmettre l'email au SP identifié par 'monId'"
23
4
1
23
4
1
Rappel : le fichier attributes-filter.xml
<AttributeFilterPolicyGroup id="monFiltre"xsi:schemaLocation="urn:mace:shibboleth:2.0:afp classpath:/schema/shibboleth-2.0-afp.xsd
urn:mace:shibboleth:2.0:afp:mf:basic classpath:/schema/shibboleth-2.0-afp-mf-basic.xsd urn:mace:shibboleth:2.0:afp:mf:saml classpath:/schema/shibboleth-2.0-afp-mf-saml.xsd">
<AttributeFilterPolicy id= "reglePourTouslesServices" ><PolicyRequirementRule xsi:type="basic:ANY" /><AttributeRule attributeID="transientId">
<PermitValueRule xsi:type="basic:ANY" /> </AttributeRule>
</AttributeFilterPolicy>
<AttributeFilterPolicy id="reglePourUnServiceParticulier"><PolicyRequirementRule xsi:type="basic:AttributeRequesterString" value="monId"
ignoreCase="true"/><AttributeRule attributeID="email">
<DenyValueRule xsi:type="basic:ANY"/></AttributeRule>
</AttributeFilterPolicy>
</AttributeFilterPolicyGroup>
11 avril 2023 6
"Transmettre systématiquementLe transientId"
"Ne JAMAIS transmettre l'email au SP identifié par 'monId'"
Rappel : le fichier attributes-filter.xml
<AttributeFilterPolicyGroup id="monFiltre"xsi:schemaLocation="urn:mace:shibboleth:2.0:afp classpath:/schema/shibboleth-2.0-afp.xsd
urn:mace:shibboleth:2.0:afp:mf:basic classpath:/schema/shibboleth-2.0-afp-mf-basic.xsd urn:mace:shibboleth:2.0:afp:mf:saml classpath:/schema/shibboleth-2.0-afp-mf-saml.xsd">
<AttributeFilterPolicy id= "reglePourTouslesServices" ><PolicyRequirementRule xsi:type="basic:ANY" /><AttributeRule attributeID="email">
<PermitValueRule xsi:type="basic:ANY" /> </AttributeRule>
</AttributeFilterPolicy>
<AttributeFilterPolicy id="reglePourUnServiceParticulier"><PolicyRequirementRule xsi:type="basic:AttributeRequesterString" value="monId"
ignoreCase="true"/>
<AttributeRule attributeID="email"><DenyValueRule xsi:type="basic:ANY"/>
</AttributeRule></AttributeFilterPolicy>
</AttributeFilterPolicyGroup>
11 avril 2023 7
"Transmettre systématiquement l'email"
"Ne JAMAIS transmettre l'email au SP identifié par 'monId'"
Gestion manuelle des filtres
1. Mise à jour / création d'un SP2. Envoi d'un message à tous les
gestionnaires d'IdP3. Mise à jour manuelle du fichier attribute-
filters.xml
11 avril 2023 8
Gestion manuelle des filtres
• Difficultés– Format XML non trivial : travail long– Le fichier d'attributs peut rapidement grossir
(141 SP dans la fédération)– Intervention manuelle : risque d'erreur
• Risque– Fichier incorrect– Délai de mise à jour– Prise en compte arbitraire d'une fraction des
SP
11 avril 2023 9
Exemple de non diffusion d'attributs
11 avril 2023 10
Exemple de non diffusion d'attributs
11 avril 2023 11
Accès refusé Fait apparaître l'architecture de la fédération => incompréhensible Vers qui se tourner ?
Gestion par inclusion de filtresIl est possible d'importer les filtres d'une source externeFichier service.xml
11 avril 2023 12
<Service id="shibboleth.AttributeFilterEngine"configurationResourcePollingFrequency="3600000"configurationResourcePollingRetryAttempts="3" xsi:type="attribute-afp:ShibbolethAttributeFilteringEngine">
<ConfigurationResource url="https://services-federation.renater.fr/renater/filtres/renater-attribute-filters-national.xml" xsi:type="resource:FileBackedHttpResource"file="/opt/shibboleth-idp/conf/renater-attribute-filters-national.xml"/>
<ConfigurationResource url="https://services-federation.renater.fr/renater/filtres/renater-attribute-filters-community.xml" xsi:type="resource:FileBackedHttpResource"file="/opt/shibboleth-idp/conf/renater-attribute-filters-community.xml"/>
<ConfigurationResourcefile="/opt/shibboleth-idp/conf/attribute-filter.xml"xsi:type="resource:FilesystemResource" />
</Service>
"Télécharger ce fichier distant"
"Le mettre en cache à cet emplacement""Utiliser ce fichier local"
"Archiver localement"
Gestion par inclusion de filtres : génération automatique
• Depuis le 4 janvier, des fichiers de filtres sont disponibles sur le site de la fédération Éducation-Recherche
https://services-federation.renater.fr/renater/filtres/
11 avril 2023 13
• Démo d'administration côté SPhttps://services-federation.renater.fr/gestion?action=get&federation=test&file_id=b77d7ef82cfd2fd2b930
Mise à jour d'un SP
11 avril 2023 14
• Fichiers générés automatiquement :– À partir des attributs déclarés par les SP et
validés par les administrateurs de la fédération
– Regroupés par catégories et par thèmes– Renouvelés à chaque mise à jour du SP– Définissent l'autorisation de diffusion de
tous les attributs demandés par les SP.
• Nommage :Renater-attribute-filters-<cible>.xml
11 avril 2023 15
Gestion par inclusion de filtres : les filtres disponibles
– un fichier pour toutes les ressources déclarées : "all" ;– des fichiers individuels pour chaque ressource ;– un fichier par catégorie de ressource :
• enseignement à distance• outils collaboratifs• documentation électronique• distribution de logiciels• applications métier• accès Wi-Fi• sites web institutionnels• ressources en pré-production
– un fichier par type de ressource :• services nationaux institutionnels• services commerciaux• communautés nationales• ressources locales
11 avril 2023 16
Gestion par inclusion de filtres : les filtres disponibles
Recommandé
Pourquoi utiliser "all" ?• Résout tous les problèmes de mise à jour
manuelle :– Fichier incorrect– Délai de mise à jour– Prise en compte arbitraire d'une fraction des SP
• Les demandes d'attributs sont modérées et doivent être justifiées : pas d'abus côté SP
• Seuls les utilisateurs accédant au service diffusent leurs attributs
• Vous pouvez toujours restreindre ponctuellement la diffusion : <DenyValueRule/>
• Pas d'erreur révélant l'architecture de la fédération
11 avril 2023 17
Je vous attribue mes remerciements
11 avril 2023 18
Top Related