18 avril 20141 Gestion automatisée des filtres dattributs David Verdin Journée Fédération Lundi...

Preview:

Citation preview

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