Configuring separate SPs using separate IdPs on Apache+Linux?
sacha+shibboleth at ssl.co.uk
sacha+shibboleth at ssl.co.uk
Tue Jun 22 10:15:16 UTC 2021
Apologies if this is a FAQ but my google-fu has failed to locate a
canonical answer.
I operate a Linux server hosting websites for multiple, completely
distinct customers. These websites are entirely different (not instances
of the same website) but each have areas that need to be secured by
authenticated access.
One of these customers required SSO against their organisation's IdP, so
Shibboleth SP3 was installed and configured to do the SSO.
Now another customer requires SSO against their organisation's IdP, and
I'll need to configure Shibboleth to do this.
In shib config terms, these are two applications with separate entityIDs
and would ideally share nothing in their ApplicationDefaults.
The ApplicationModel docs seem to cover the topic fairly well:
https://wiki.shibboleth.net/confluence/display/SP3/ApplicationModel
...from which I gather my situation is atypical and against the general
grain of Shib SP, but seemingly common enough that it's starting to be
somewhat supported as of V3.
From the docs it seems the answer is:
* use RequestMapper to assign an ID to my second application
* use ShibRequestSetting in the Apache config to map the second
VirtualHost to the second application
* use ApplicationOverride inside ApplicationDefaults to configure the
settings of the second application
That all seems doable. What makes me nervous is that:
* I'd essentially be defining a full ApplicationDefaults configuration
inside ApplicationOverride, to mask all the settings of the first
application; but all the examples in the docs are of the most minimal
one-line self-closing ApplicationOverride, with a note on how to avoid
even this with entityIdSelf
* the documentation discourages use of ApplicationOverride more or less
wherever it's mentioned, so maybe I'm on the wrong track; or maybe my
situation is exactly why ApplicationOverride still exists
It's entirely likely that a third, fourth etc customer will want SSO on
this server. If this model is really not what Shib SP was designed to
handle in a single install then I can look at containerising multiple
installations.
But otherwise I'd like to establish a template for how to do this
configuration, ideally in such a way that:
* there is no possibility of the configuration of one site leaking into
another (as seems a risk if the first application is at the top level of
ApplicationDefaults and all the rest are in their separate
ApplicationOverride block but inheriting the defaults)
* the configuration for each site is held in a separate set of files,
for greater portability if a site moves to a new server.
* there is separate logging for each application
Any reassurance that I'm on the right or wrong track, tips, or pointers
to existing resources covering this scenario in a concise way, would be
much appreciated.
More information about the users
mailing list