Shibboleth konfiguraatiossa voidaan tehdä metadata-tiedostoille erilaisia suodatussääntöjä. Useimmiten tälle on tarvetta palveluntarjoajien puolella, mutta on myös tilanteita että tätä tarvitaan myös IdP:llä. IdP:n puolella on yleisempää suodattaa pois kaikki IdP entiteetit muistia ja suorituskykyä silmällä pitäen.
Shibboleth SP suodatus
Yleisin tapaus SP:n päässä on ladata metadata-tiedosto ja sallia tästä vain tietyt entiteetit. Esimerkissä sallitaan metadata-tiedostosta vain entiteetti "https://idp.csc.fi/idp/shibboleth".
/etc/shibboleth2.xml
<MetadataProvider>
.
<MetadataFilter type="Include">
<Include>https://idp.csc.fi/idp/shibboleth</Include>
</MetadataFilter>
.
</MetadataProvider>
Shibboleth IdP suodatus
Normaalitilanteessa IdP:ssä sallitaan vain kaikki SPSSO entiteetit (SP:t).
/opt/shibboleth-idp/conf/metadata-providers.xml
<MetadataProvider>
.
<MetadataFilter xsi:type="EntityRoleWhiteList">
<RetainedRole>md:SPSSODescriptor</RetainedRole>
</MetadataFilter>
.
</MetadataProvider>
Entiteettien suodatus IdP:llä tehdään SP:stä poiketen Predicate suodattimella. Esimerkissä sallitaan metadata-tiedostosta vain kaksi listattua entiteettiä.
/opt/shibboleth-idp/conf/metadata-providers.xml
<MetadataProvider>
.
<MetadataFilter xsi:type="Predicate" direction="include" removeEmptyEntitiesDescriptors="true" trim="true">
<Entity>https://testsp.funet.fi/shibboleth</Entity>
<Entity>https://testsp.funet.fi/shibboleth/persistent</Entity>
</MetadataFilter>
.
</MetadataProvider>