Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

A common use case is enabling SAML 1 for legacy systems, often combined with either enabling queries or attribute push (to eliminate the queries). This is not handled as well via this mechanism because one generally enables most profiles by default, and it's not practical to enable them and then try and disable them for all but a few SPs. The This goal is the opposite, disable by default and enable the profiles for a few exceptions.

...

The AttributeFilterConfiguration has had support for metadata-driven configuration for a while now, but it hasn't been extensively used. A logical approach may be is to align usage with the property-driven model outlined above and move to a per-attribute policy model, in contrast to the fairly common model today of defining policies around services. Since the filter layer operates by iterating over all policies to determine if they apply, it may be more efficient for larger policy sets to redesign policies around tags that signal release of each individual attribute.

To facilitate the sharing of examples, building of tools, and a more useful set of default rules in the software, we have agreed to reserve the following SAML Attribute for use in constructing filter policies:

Name: http://shibboleth.TBDnet/ns/attributes/releaseAllValues

NameFormat: urn:oasis:names:tc:SAML:2.0:attrname-format:uri

Values: Each value is an internal Attribute ID whose values should be released to an SP whose metadata contains the relevant tag/value.

Example

Here's an example policy (more or less matching an example in the default file) that applies this tag test:

Code Block
    <AttributeFilterPolicy id="Per-Attribute-singleValued">
        <PolicyRequirementRule xsi:type="OR">
            <Rule xsi:type="NOT">
                <Rule xsi:type="Value" attributeID="FERPA" value="Y" />
            </Rule>
            <Rule xsi:type="Value" attributeID="eduPersonScopedAffiliation" value="employee" />
            <Rule xsi:type="EntityAttributeExactMatch" attributeName="http://macedir.org/entity-category"
                attributeValue="urn:mace:osu.edu:shibboleth:attribute-def:FERPA" />
        </PolicyRequirementRule>

        <AttributeRule attributeID="eduPersonPrincipalName">
            <PermitValueRule xsi:type="EntityAttributeExactMatch" attributeName="urn:mace:osu.edu:shibboleth:attribute-release"
                attributeValue="eduPersonPrincipalName" />
        </AttributeRule>
	


Reference

Bean ID
Type
Function
RelyingParty.MDDrivenRelyingPartyConfigurationA template bean for use in defining metadata-driven RelyingParty overrides by hand
RelyingPartyByName.MDDrivenRelyingPartyConfigurationA template bean for defining metadata-driven RelyingParty overrides based on matching by name
RelyingPartyByGroup.MDDrivenRelyingPartyConfigurationA template bean for defining metadata-driven RelyingParty overrides based on matching by <EntitiesDescriptor> groups
RelyingPartyByTag.MDDrivenRelyingPartyConfigurationA template bean for defining metadata-driven RelyingParty overrides based on matching <EntityAttributes> extension content

Shibboleth.SSO.MDDriven

BrowserSSOProfileConfigurationDefault metadata-driven configuration for SAML 1.1 SSO profile
SAML1.AttributeQuery.MDDrivenAttributeQueryProfileConfigurationDefault metadata-driven configuration for SAML 1.1 Attribute Query profile
SAML1.ArtifactResolution.MDDrivenArtifactResolutionProfileConfigurationDefault metadata-driven configuration for SAML 1.1 Artifact Resolution profile
SAML2.SSO.MDDrivenBrowserSSOProfileConfigurationDefault metadata-driven configuration for SAML 2.0 SSO profile
SAML2.ECP.MDDrivenECPProfileConfigurationDefault metadata-driven configuration for SAML 2.0 Enhanced Client/Proxy profile
SAML2.Logout.MDDrivenDefault metadata-driven configuration for SAML 2.0 Single Logout profile
SAML2.AttributeQuery.MDDrivenAttributeQueryProfileConfigurationDefault metadata-driven configuration for SAML 2.0 Attribute Query profile
SAML2.ArtifactResolution.MDDrivenArtifactResolutionProfileConfigurationDefault metadata-driven configuration for SAML 2.0 Artifact Resolution profile
Liberty.SSOS.MDDrivenSSOSProfileConfigurationDefault metadata-driven configuration for Liberty ID-WSF Delegated SSO profile
CAS.LoginConfiguration.MDDrivenLoginConfigurationDefault metadata-driven configuration for CAS login prototol
CAS.ProxyConfiguration.MDDrivenProxyConfigurationDefault metadata-driven configuration for CAS proxy login protocol
CAS.ValidateConfiguration.MDDrivenValidateConfigurationDefault metadata-driven configuration for CAS ticket validation protocol
shibboleth.DefaultMDProfileAliasesList<String>A built-in list of alternate URL "prefixes" to property names, this is used to automate the generation of property tag names that apply to all profiles at the same time.
shibboleth.MDProfileAliasesList<String>An optional user-supplied list of additional URL prefixes to support custom property tag names
shibboleth.MDDrivenStringPropertyStringConfigurationLookupStrategyParent bean for defining new lookup strategies for string settings
shibboleth.MDDrivenBoolPropertyBooleanConfigurationLookupStrategyParent bean for defining new lookup strategies for boolean settings
shibboleth.MDDrivenIntPropertyIntegerConfigurationLookupStrategyParent bean for defining new lookup strategies for integer settings
shibboleth.MDDrivenLongPropertyLongConfigurationLookupStrategyParent bean for defining new lookup strategies for long integer settings
shibboleth.MDDrivenDoublePropertyDoubleConfigurationLookupStrategyParent bean for defining new lookup strategies for double settings
shibboleth.MDDrivenDurationPropertyDurationConfigurationLookupStrategyParent bean for defining new lookup strategies for Duration settings
shibboleth.MDDrivenListPropertyListConfigurationLookupStrategyParent bean for defining new lookup strategies for List settings
shibboleth.MDDrivenSetPropertySetConfigurationLookupStrategyParent bean for defining new lookup strategies for Set settings
shibboleth.MDDrivenBeanPropertyBeanConfigurationLookupStrategyParent bean for defining new lookup strategies for arbitrary Spring bean settings