Table of Contents |
---|
Info |
---|
This document describes how to configure the SAML integration to log in the platform with SAML SSO using SAML 2.0. |
...
Include Page | ||||
---|---|---|---|---|
|
Table of Abiquo configuration properties for SAML
...
Key
...
Description
...
Required
...
Role
...
Sets the authentication module to use in the Abiquo Platform.
Accepts: abiquo
, saml
, openid
, ldap
...
Yes
...
Status | ||||
---|---|---|---|---|
|
...
abiquo.login.samesite
...
Control the value of the SameSite flag of the login cookie.
See Abiquo configuration properties#samesite
...
No
Default: strict
...
Status | ||||
---|---|---|---|---|
|
...
abiquo.saml.authentication.maxage
...
New in Abiquo 6.0.0
Maximum time in seconds the system allows users to use SAML single sign-on after their initial authentication with the IDP.
...
Required to start SAML
Default: 2073600
...
Status | ||||
---|---|---|---|---|
|
...
abiquo.saml.mode
...
Indicates the SAML mode to use.
Accepts:
single
: only SAML is allowed to authenticate usersmultiple
: SAML and Basic Auth are allowed to authenticate users.
...
About enterprise and role binding
The Abiquo API can get the user’s SAML attributes, select the correct role, and assign it to the user. This is called enterprise and role binding.
Here are some examples of how Abiquo can match SAML attributes for enterprises:
abiquo.saml.attributes.enterprise.claims = example
The API will get the value of the
example
attribute from the SAML Response. It will try to find an Abiquo enterprise with the same name. If it can't find an enterprise, it will look for an enterprise with an enterprise property key calledexample
that has a property value that matches the SAML Responseexample
attribute value.
abiquo.saml.attributes.enterprise.claims = organization,acc_id:account
The API will get the value of the
organization
andacc_id
attributes from the SAML Response. It will try to find an enterprise with a name that matches one of these values. If it can't find an enterprise, it will search the enterprise properties. It will return the enterprise that has the propertyorganization
with the value from the SAML Response andacc_id
property with the value ofaccount
from the SAML Response.
...
Table of Abiquo configuration properties for SAML
Key | Description | Required | Role | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
abiquo.auth.module | Sets the authentication module to use in the Abiquo Platform. | Yes |
| ||||||||||||||||||||||||
abiquo.login.samesite | Control the value of the SameSite flag of the login cookie. | No |
| ||||||||||||||||||||||||
abiquo.saml.redirectauthentication.endpoint | URI redirect for a successful Abiquo login using SAML SSO. | Yes | maxage | New in Abiquo 6.0.0 Maximum time in seconds the system allows users to use SAML single sign-on after their initial authentication with the IDP. | Required to start SAML |
| |||||||||||||||||||||
abiquo.saml.redirect.error.endpointURI redirect for an unsuccessful Abiquo login using SAML SSO. This has to be set to a query parameter, " | Indicates the SAML mode to use. | No |
| No |
| ||||||||||||||||||||||
abiquo.saml.metadataredirect.mode = providedIndicates if the SP metadata is provided or must be generated by the APIendpoint | URI redirect for a successful Abiquo login using SAML SSO.
| No | Example: | Yes |
| ||||||||||||||||||||||
abiquo.saml.metadataredirect.serviceprovidererror.path | Indicates the location of the SP metadata to load. | Only if |
| abiquo.saml.metadata.identityprovider.path | Indicates the location of the IdP metadata to load. | Yesendpoint | URI redirect for an unsuccessful Abiquo login using SAML SSO. This has to be set to a query parameter, " | No |
| ||||||||||||||||||
abiquo.saml.metadata.generator.bindingSSOIf | Indicates if the SP metadata is provided or must be generated by the API.
| No |
| ||||||||||||||||||||||||
abiquo.saml.keysmetadata.keystoreserviceprovider.path | Indicates the location of the Java keystore from which to extract the keys to sign and/or encrypt the SAML requestsSP metadata to load. | YesOnly if |
| ||||||||||||||||||||||||
abiquo.saml.keysmetadata.keystoreidentityprovider.passwordThe password to unlock the Java keystore from location indicated by | Indicates the location of the IdP metadata to load. | Yes |
| ||||||||||||||||||||||||
abiquo.saml.keysmetadata.signinggenerator.alias | The alias of the key to use for signing SAML Requests | Yes |
| bindingSSO | If | The password of the key to use for signing SAML Requests | Yes | No |
| ||||||||||||||||||
abiquo.saml.keys.encryptionkeystore.aliasThe alias path | Indicates the location of the key to use for encryption of SAML Requests | Yes |
| ||||||||||||||||||||||||
abiquo.saml.keys.encryptionkeystore.password | The password of the key to use for encryption of SAML Requeststo unlock the Java keystore from location indicated by | Yes |
| ||||||||||||||||||||||||
abiquo.saml.keys.metadatasigning.signIndicates if the SAML Requests must be signed.alias | The alias of the key to use for signing SAML Requests | NoYesDefault: |
| ||||||||||||||||||||||||
abiquo.saml.keys.signing.bindingpassword | Indicates the binding profile to allow. | Yes |
| ||||||||||||||||||||||||
abiquo.saml.attributeskeys.user.id.claimIndicates which SAML Response attribute must identify a unique user; if not set up, the principal will be used.encryption.alias | The alias of the key to use for encryption of SAML Requests | NoYes |
| ||||||||||||||||||||||||
abiquo.saml.attributeskeys.roleencryption.claimIndicates which SAML Response attribute must be read to find the role to assign to the user during a successful login. | The password of the key to use for encryption of SAML Requests | Yes |
| ||||||||||||||||||||||||
abiquo.saml.attributeskeys.enterprisemetadata.claimssign | Indicates which if the SAML Response attributes must be read to find the enterprise to assign to the user during a successful login. Matches an enterprise name or an enterprise property key. | No |
| ||||||||||||||||||||||||
abiquo.saml.binding | Indicates the binding profile to allow. | Yes |
| ||||||||||||||||||||||||
abiquo.saml.attributes.user.firstnameid.claim | Indicates which SAML Response attribute must be read to find the user nameidentify a unique user; if not set up, the principal will be used. | NoDefault: |
| ||||||||||||||||||||||||
abiquo.saml.attributes.user.lastnamerole.claim | Indicates which SAML Response attribute must be read to find the user last namerole to assign to the user during a successful login. | No |
| ||||||||||||||||||||||||
abiquo.saml.attributes.userenterprise.email.claimclaims | Indicates which attribute SAML Response attributes must be read in order to find the user emailenterprise to assign to the user during a successful login. Matches an enterprise name or an enterprise property key. | Yes |
| ||||||||||||||||||||||||
abiquo.saml.loginattributes.allowuser.enterprisefirstname.poolAllow the use of multiple enterprises with the same enterprise claim property as a pool. Will assign the user to the first enterprise match. Only valid for | Indicates which attribute must be read to find the user name. | No |
| ||||||||||||||||||||||||
abiquo.saml.metadataattributes.identityprovideruser.defaultlastname.id | Sets the default SAML IdP | Yesclaim | Indicates which attribute must be read to find the user last name. | No |
| ||||||||||||||||||||||
abiquo.saml.metadataattributes.identityprovideruser.userdomainemail.map | For multiple IdPs, map the user domains to the IdPs | Yes, for multiple IdPsclaim | Indicates which attribute must be read in order to find the user email. | No |
|
Table of UI properties for SAML
For SAML, you can configure the following UI configuration properties in client-config-custom.json
. See Configure Abiquo UI for more details.
...
Property
...
Description
...
client.login.modules
...
Configure Abiquo modules to log in with Basic Auth (default), Open ID, SAML, or SAML + user.
For the initial SAML configuration, use SAML
When you add multiple IdPs, use SAML + user
You can copy the options from client-config-default.json
...
client.skip.login.view
...
By default, when in OpenID or SAML mode, Abiquo displays an initial screen with a link to the Authentication portal.
If this property is set to true, then Abiquo will not display the initial screen and will redirect users directly to the Authentication portal.
About enterprise and role binding
The Abiquo API can get the user’s SAML attributes, select the correct role, and assign it to the user. This is called enterprise and role binding.
Here are some examples of how Abiquo can match SAML attributes for enterprises:
...
abiquo.saml.attributes.enterprise.claims = example
The API will get the value of the
example
attribute from the SAML Response. It will try to find an Abiquo enterprise with the same name. If it can't find an enterprise, it will look for an enterprise with an enterprise property key calledexample
that has a property value that matches the SAML Responseexample
attribute value.
abiquo.saml.attributes.enterprise.claims = organization,acc_id:account
...
| |||||||||
abiquo.saml.login.allow.enterprise.pool | Allow the use of multiple enterprises with the same enterprise claim property as a pool. Will assign the user to the first enterprise match. Only valid for | No |
| ||||||
abiquo.saml.metadata.identityprovider.default.id | Sets the default SAML IdP | Yes |
| ||||||
abiquo.saml.metadata.identityprovider.userdomain.map | For multiple IdPs, map the user domains to the IdPs | Yes, for multiple IdPs |
|
...
Table of UI properties for SAML
For SAML, you can configure the following UI configuration properties in client-config-custom.json
. See Configure Abiquo UI for more details.
Property | Description |
---|---|
client.login.modules | Configure Abiquo modules to log in with Basic Auth (default), Open ID, SAML, or SAML + user.
You can copy the options from |
client.skip.login.view | By default, when in OpenID or SAML mode, Abiquo displays an initial screen with a link to the Authentication portal. |