Federations Configuration

The Federation module is used to integrate Verify Identity Access with third party applications to provide or accept identity information. This module can be use for both: supplying third party applications with identity information (Verify Identity Access is the identity source); or accepting identity information (Verify Identity Access is the identity consumer).

Integration with third party applications is achieved via Identity standards, such as OIDC or SAML 2.0.

Example

attribute_sources:
- name: "SF_IDPEmail"
  type: "value"
  value: "user@verify-demoer-dev-ed.salesforce.com"
- name: "IDPEmail"
  type: "value"
  value: "user@verify.securitypoc.com"
- name: "ImmutableID"
  type: "value"
  value: "verifytestuser"
federations:
- name: "SP-SAML-QC"
  protocol: "SAML2_0"
  template_name: "QuickConnect"
  point_of_contact_url: "https://www.myidp.ibmsec/isva"
  provider_id: ""
  decrypt_keystore: "rt_profile_keys"
  decrypt_key_label: "server"
  signing_keystore: "rt_profile_keys"
  signing_key_label: "runtime"
  sso_service_binding: "redirect"
  partners:
  - name: "Salesforce"
    role: "sp"
    client_auth_method: "none"
    template_name: "Salesforce_JIT_Provisioning_Disabled"
    enabled: true
    acs:
      binding: "post"
      default: true
      index: 0
      url: "https://verify-demoer-dev-ed.my.salesforce.com"
    validate_authn_request: true
    validation:
      keystore: "rt_profile_keys"
      key_label: "Verify_19.crt"
    attribute_mapping:
      name: "IDP_Email"
      source: "3"
    active_delegate_id: "default-map"
    provider_id: "https://verify-demoer-dev-ed.my.salesforce.com"
    signature_validation: false
    mapping_rule: "mapping/rules/federations/adv_attribute_mapping.js"
  - name: "Micrsoft Office 365"
    template_name: "Office_365"
    role: "sp"
    enabled: true
    acs:
      binding: "post"
      default: true
      index: "0"
      url: "https://login.microsoftonline.com/login.srf"
    validate_authn_request: false
    attribute_mapping:
    - name: "IDPEmail"
      source: "1"
    - name: "ImmutableID"
      source: "2"
    active_delegate_id: "default-map"
    provider_id: "urn:federation:MicrosoftOnline"
    signature_validation: false
    mapping_rule: "mapping/rules/federations/adv_attribute_mapping.js"
               - name: "SP-SAML-CIC"
  role: "ip"
  protocol: "SAML2_0"
  provider_id: ""
  point_of_contact_url: "https://www.myidp.ibmsec/isva"
  template_name: ""
  company_name: "CIC"
  decrypt_keystore: "rt_profile_keys"
  decrypt_key_label: "runtime"
  signing_keystore: "rt_profile_keys"
  signing_key_label: "runtime"
  validate_authn_request: true
  sso_service_binding: "post"
  active_delegate_id: "skip-identity-map"
  need_consent_to_federate: false
  message_issuer_format: ""
  partners:
  - name: "securitypoc.ice.ibmcloud.com"
    role: "sp"
    enabled: true
    acs:
    - binding: "post"
      default: false
      index: "1"
      url: "https://securitypoc.ice.ibmcloud.com/saml/sps/saml20sp/saml20/login"
    - binding: "redirect"
      default: false
      index: "2"
      url: "https://securitypoc.ice.ibmcloud.com/saml/sps/saml20sp/saml20/login"
    single_logout_service:
    - binding: "post"
      url: "https://securitypoc.ice.ibmcloud.com/saml/sps/saml20sp/saml20/slo"
    - binding: "redirect"
      url: "https://securitypoc.ice.ibmcloud.com/saml/sps/saml20sp/saml20/slo"
    validate:
      authn_request: true
      logout_request: true
      logout_response: false
      keystore: "rt_profile_keys"
      key_label: "validation-encryption-1501211921641.cer"
    encryption:
      keystore: "rt_profile_keys"
      key_label: "validation-encryption-1501211921641.cer"
      block_encryption_algorithm: "AES-128"
      key_transport_algorithm: "RSA-OAEP"
    provider_id: "https://securitypoc.ice.ibmcloud.com/saml/sps/saml20sp/saml20"
    signature_algorithm: "RSA-SHA1"
    signature_digest_algorithm: "SHA1"
  reverse_proxy: "default-proxy"
- name: "OIDCRP-IBMid"
  protocol: "OIDCRP"
  redirect_uri_prefix: "https://login.ibm.com/oidc"
  response_types:
  - "code"
  active_delegate_id: "default-map"
  mapping_rule: "mapping/rules/federations/verify_ibm_id.js"
  advanced_configuration_active_delegate: "default-map"
  advanced_configuration_mapping_rule: "mapping/rules/federations/verify_ibm_id_adv.js"
  partners:
  - name: "IBMid-AuthorizationCode"
    enabled: true
    client_id: !secret default/isva-secrets:ibmid_client_id
    client_secret: !secret default/isva-secrets:ibmid_client_secret
    metadata_endpoint: "https://login.ibm.com/oidc/endpoint/default/.well-known/openid-configuration"
    scope:
    - "openid"
    token_endpoint_auth_method: "client_secret_post"
    signing_algorithm: "RS256i"
  reverse_proxy: "default-proxy"

Point Of Contact

To configure Point of Contact profiles, see the entry in the Appliance or Container documentation.

Alias Service

Schema Docs
Type: object

The alias service stores and retrieves aliases that are related to a federated identity. Persistent name identifier format allows you to link a user at the identity provider with a user at the service provider. Verify Identity Access stores these account linkages in a high-volume database or an LDAP database.


Example:

alias_service:
  ldap_connection: LocalLDAP
  aliases:
  - username: mary
    federation_id: https://mysp.com/isam/sps/samlsp/saml20
    type: partner
    aliases:
    - mary@ibm.com
    - mary@au.ibm.com

Type: enum (of string)

The alias database type.

Must be one of:

  • "JDBC"
  • "LDAP"

Type: string

The LDAP server connection name.

Type: string

The baseDN to search for the user entry.

Type: array

The SAML aliases to create.

No Additional Items

Each item of this array must be:

Type: object

An alias association for a user in a federation.

Type: string

The user to associate aliases with.

Type: string

The federation this alias is for.

Type: string

Optionally, specify a partner as well as a federation.

Type: enum (of string) Default: "self"

The type of the aliases. Defaults to 'self'.

Must be one of:

  • "self"
  • "partner"
  • "old"

Type: array of string

An array of aliases to associate with the user.

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

Type: string


Attribute Sources

To set Attribute sources, see the entry in the Appliance or Container documentation.

Access Policies

To set Access policy configuration, see the entry in the Appliance or Container documentation.

Security Token Service

Schema Docs
Type: object

Configuration for Security Token Service (STS) chain templates and chains for security token transformation and validation.


Example:

sts:
  chain_templates:
  - name: UsernameTokentoSAML20
    description: Maps from UsernameToken to SAML20
    modules:
    - id: Default UserNameToken
      mode: validate
    - id: Default Map Module
      mode: map
    - id: Default SAML 2.0 Token
      mode: issue
  - name: STSUUtoSTSUU
    description: STSUU to STSUU
    modules:
    - id: Default STSUU
      mode: validate
    - id: Default Map Module
      mode: map
    - id: Default STSUU
      mode: issue
  chains:
  - name: SAML20ToSAML20Chain
    description: Chain for saml20 to saml20
    chain_template: SAML20tpSAML20
    request_type: validate
    applies_to:
      address: http://appliesto/saml20
    issuer:
      address: http://issuer/saml20
    sign_responses: false
    properties:
      myself:
      - name: com.tivoli.am.fim.sts.saml.2.0.assertion.replay.validation
        index: 0
        value:
        - 'false'
      - name: map.rule.reference.name
        index: 1
        value:
        - saml20_to_saml20

Type: array

List of STS chain templates to create or update.

No Additional Items

Each item of this array must be:

Type: object

An STS Chain Template defining the sequence of modules for token transformation.

Type: string

A friendly name for the STS Chain Template.

Type: string

A description of the STS Chain Template.

Type: array

An array of the modules that make up the STS Chain Template.

No Additional Items

Each item of this array must be:

Type: object

A module item in an STS Chain Template.

Type: string

The token id of an STS module.

Type: enum (of string)

The mode the STS module is used in in the chain. Must be one of the supported modes of the STS module.

Must be one of:

  • "validate"
  • "map"
  • "issue"

Type: string

The prefix for the chain item.

Type: array

List of STS chains to create or update.

No Additional Items

Each item of this array must be:

Type: object

An STS Chain that references a Chain Template and defines specific configuration.

Type: string

A friendly name for the STS Chain.

Type: string

A description of the STS Chain.

Type: string

The name of the STS Chain Template that is referenced by this STS Chain.

Type: enum (of string)

The type of request to associate with this chain. The request is one of the types that are supported by the WS-Trust specification.

Must be one of:

  • "validate"
  • "issue"
  • "renew"
  • "cancel"

Type: string

The STS module type to map a request message to an STS Chain Template.

Type: string

The custom lookup rule in XML Path Language to map a request message to an STS Chain Template.

Type: boolean

Whether to sign the Trust Server SOAP response messages.

Type: object

The key to sign the Trust Server SOAP response messages.

Type: string

The certificate database name.

Type: string

The certificate or key label.

Type: boolean

Whether requires a signature on the received SOAP request message that contains the RequestSecurityToken message.

Type: object

The key to validate the received SOAP request message.

Same definition as signature

Type: boolean

Whether to send signature validation confirmation.

Type: object

The issuer of the token.

Type: stringFormat: uri

The URI of the company or enterprise.

Type: stringFormat: uri

The namespace URI part of a qualified name for a Web service port type.

Type: string

The local part of a qualified name for a Web service port type.

Type: stringFormat: uri

The namespace URI part of a qualified name for a Web service.

Type: string

The local part of a qualified name for a Web service.

Type: object

The scope of the token.

Same definition as issuer

Type: object

The properties for all modules within the STS Chain Template referenced in the STS Chain.

Type: array

Attribute mappings for the chain.

No Additional Items

Each item of this array must be:

Type: object

An attribute mapping configuration.

Type: string

The name of the attribute.

Type: string

The attribute value or reference.

Type: array

The self properties for all modules within the STS Chain Template referenced in the STS Chain.

No Additional Items

Each item of this array must be:

Type: object

A property item for an STS Chain module. The final property name is determined by the index in the chain template (to fetch the UUID prefix) and the name of the property.

Type: integer

The index in the chain template of the property being set.

Value must be greater or equal to 0

Type: string

The name of the configuration property.

Type: array of string

The values of the configuration property.

No Additional Items

Each item of this array must be:

Type: string

Type: array

The partner properties for all modules within the STS Chain Template referenced in the STS Chain.

No Additional Items

Each item of this array must be:

Type: object

A property item for an STS Chain module. The final property name is determined by the index in the chain template (to fetch the UUID prefix) and the name of the property.

Same definition as chains_items_properties_myself_items


Federations

Schema Docs
Type: array

Configuration for federation providers and partners supporting SAML 2.0, OIDC, and WS-Federation protocols.

No Additional Items

Each item of this array must be:

Type: object

A federation configuration with protocol-specific settings and partners.

Type: string

A meaningful name to identify this federation.

Type: enum (of string)

The name of the protocol to be used in the federation.

Must be one of:

  • "SAML2_0"
  • "OIDC10"
  • "WSFED"

Type: enum (of string)

The role of a federation. Use 'ip' for a SAML 2.0 identity provider federation, and 'sp' for a SAML 2.0 service provider federation. Use 'op' for an OpenID Connect Provider federation, and 'rp' for an OpenID Connect Relying Party federation.

Must be one of:

  • "ip"
  • "sp"
  • "op"
  • "rp"

Type: string

An identifier for the template on which to base this federation.


The protocol-specific configuration data. The contents will be different for each protocol and role combination.

OIDC Relying Party Configuration

Type: object

OIDC Relying Party configuration

Type: stringFormat: uri

The reverse proxy address to prepend to the redirect URI sent to the provider to communicate with this instance. An example is 'https://www.reverse.proxy.com/mga'. For the value 'https://www.reverse.proxy.com/mga', the kickoff uri would be 'https://www.reverse.proxy.com/mga/sps/oidc/rp/<FEDERATION_NAME>/kickoff/<PARTNER_NAME>' and the redirect uri 'https://www.reverse.proxy.com/mga/sps/oidc/rp/<FEDERATION_NAME>/redirect/<PARTNER_NAME>'

Type: array of enum (of string)

List of response types which determine the flow to be executed. Valid values to be included are 'code', 'token', 'id_token'. This selects the default flow to run when a metadata URL is specified in the partner configuration.

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

Type: enum (of string)

Must be one of:

  • "code"
  • "token"
  • "id_token"

Type: object

The attribute mapping data.

Type: string

Name of the source.

Type: string

Attribute Source ID.

Type: object

The identity mapping data.

Type: enum (of string)

The active mapping module instance. Valid values are skip-identity-map, default-map and default-http-custom-map.

Must be one of:

  • "skip-identity-map"
  • "default-map"
  • "default-http-custom-map"

Type: object

The mapping module specific properties. Use DefaultMappingProperties (ruletype, mappingrule) when activedelegateid is 'default-map'. Use CustomMappingProperties (appliesto, authtype, basicauthusername, basicauthpassword, clientkeystore, clientkeyalias, issueruri, messageformat, sslkeystore, uri) when activedelegateid is 'default-http-custom-map'.

Type: enum (of string)

The type of the mapping rule. The only supported type currently is JAVASCRIPT.

Must be one of:

  • "JAVASCRIPT"

Type: string

A reference to an ID or name of a mapping rule.

Type: string

Refers to STS chain that consumes call-out response. Required if WSTRUST message_format is specified, invalid otherwise.

Type: enum (of string)

Authentication method used when contacting external service. Supported values are NONE, BASIC or CERTIFICATE

Must be one of:

  • "NONE"
  • "BASIC"
  • "CERTIFICATE"

Type: string

Username for authentication to external service. Required if BASIC auth_type is specified, invalid otherwise.

Type: stringFormat: password

Password for authentication to external service. Required if BASIC auth_type is specified, invalid otherwise.

Type: string

Contains key for HTTPS client authentication. Required if CERTIFICATE auth_type is specified, invalid otherwise.

Type: string

Alias of the key for HTTPS client authentication. Required if CERTIFICATE auth_type is specified, invalid otherwise.

Type: string

Refers to STS chain that provides input for call-out request. Required if WSTRUST message_format is specified, invalid otherwise.

Type: enum (of string)

Message format of call-out request. Supported values are XML or WSTRUST.

Must be one of:

  • "XML"
  • "WSTRUST"

Type: string

SSL certificate trust store to use when validating SSL certificate of external service.

Type: stringFormat: uri

Address of destination server to call out to.

Type: object

The advanced configuration data.

Type: enum (of string)

The active module instance.

Must be one of:

  • "skip-advance-map"
  • "default-map"

Type: string

A reference to an ID or name of an advance configuration mapping rule.

Type: enum (of string)

The type of the mapping rule.

Must be one of:

  • "JAVASCRIPT"

SAML 2.0 Identity Provider Configuration

Type: object

SAML 2.0 Identity Provider configuration

Type: string

The access policy that should be applied during single sign-on.

Type: integer Default: 120

The number of seconds that an artifact is valid. The default value is 120. This setting is enabled only when HTTP artifact binding has been enabled.

Value must be greater or equal to 1

Type: object

The assertion settings.

Type: array of string Default: ["*"]

Types of attributes to include in the assertion. An asterisk () indicates all attribute types. Default is [''].

No Additional Items

Each item of this array must be:

Type: string

Type: integer Default: 3600

Number of seconds that the security context should be discarded by the service provider.

Value must be greater or equal to 1

Type: boolean

Whether to keep multiple attribute statements in the groups in which they were received.

Type: integer Default: 60

Number of seconds before the issue date that an assertion is considered valid.

Value must be greater or equal to 0

Type: integer Default: 60

Number of seconds the assertion is valid after being issued.

Value must be greater or equal to 1

Type: array

Endpoints where artifacts are exchanged for actual SAML messages. Required if artifact binding is enabled.

No Additional Items

Each item of this array must be:

Type: object

SAML Artifact Resolution Service endpoint configuration.

Type: enum (of string)

Communication method used to transport SAML messages.

Must be one of:

  • "soap"

Type: boolean Default: false

Whether this is the default endpoint.

Type: integer Default: 0

Reference to a particular endpoint.

Value must be greater or equal to 0

Type: stringFormat: uri

The URL of the endpoint. If not provided, automatically generated from point of contact URL.

Type: object

The attribute mapping data.

Same definition as attribute_mappings

Type: string

The name of the company that creates the identity provider or service provider.

Type: object

The encryption and decryption configurations for SAML messages.

Type: enum (of string) Default: "AES-128"

Block encryption algorithm used to encrypt and decrypt SAML messages.

Must be one of:

  • "AES-128"
  • "AES-192"
  • "AES-256"
  • "TRIPLEDES"

Type: enum (of string) Default: "RSA-OAEP"

Key transport algorithm used to encrypt and decrypt keys.

Must be one of:

  • "RSA-v1.5"
  • "RSA-OAEP"

Type: object

The certificate for encryption of outgoing SAML messages.

Type: string

The certificate database name.

Type: string

The certificate or key label.

Type: object

A public/private key pair for decrypting incoming messages.

Same definition as key_identifier

Type: string

The certificate database name.

Type: string

The certificate or key label.

Type: boolean

Whether the name identifiers should be encrypted.

Type: boolean

Whether to encrypt assertions.

Type: boolean

Whether to encrypt assertion attributes.

Type: object

The identity mapping data.

Same definition as identity_mapping

Type: object

The extension mapping data.

Type: enum (of string)

The active mapping module instance.

Must be one of:

  • "skip-extension-map"
  • "default-map"
  • "federation-config"

Type: string

A reference to an ID or name of an extension mapping rule.

Type: array

Endpoints that accept SAML name ID management requests or responses.

No Additional Items

Each item of this array must be:

Type: object

Generic service endpoint configuration.

Type: enum (of string)

Communication method used to transport SAML messages.

Must be one of:

  • "artifact"
  • "post"
  • "redirect"
  • "soap"

Type: stringFormat: uri

The URL of the endpoint. For non-SOAP bindings, automatically generated from point of contact URL.

Type: integer Default: 300

The number of seconds that a message is valid. The default value is 300.

Value must be greater or equal to 1

Type: stringFormat: uri Default: "urn:oasis:names:tc:SAML:2.0:nameid-format:entity"

The format of the issuer of SAML message. The default value is 'urn:oasis:names:tc:SAML:2.0:nameid-format:entity'.

Type: string

The name qualifier of the issuer of SAML messaged.

Type: object

The name identifier format configurations.

Type: string

The name identifier format to use when format attribute is not set or is unspecified.

Type: array of string Default: ["urn:oasis:names:tc:SAML:2.0:nameid-format:persistent", "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress", "urn:oasis:names:tc:SAML:2.0:nameid-format:transient", "urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified"]

List of supported name identifier formats.

No Additional Items

Each item of this array must be:

Type: stringFormat: uri

Type: boolean Default: false

A setting that specifies whether the LogoutRequest messages sent out from this entity will exclude SessionIndex during IP init SLO flow. The default value is false.

Type: stringFormat: uri

The endpoint URL of the point of contact server. The point of contact server is a reverse proxy server that is configured in front of the runtime listening interfaces. The format is http[s]://hostname[:portnumber]/[junction]/sps.

Type: string

A unique identifier that identifies the provider to its partner provider. If not provided or an empty string is provided, the default value is <point of contact URL>/<federation name>/saml20.

Type: integer Default: 7200

The number of seconds that the SAML session remains valid. The default value is 7200.

Value must be greater or equal to 1

Type: object

The signing and validation configurations for SAML messages and assertions.

Type: enum (of string) Default: "RSA-SHA256"

The signature algorithm to sign and validate SAML messages and assertions.

Must be one of:

  • "RSA-SHA1"
  • "RSA-SHA256"
  • "RSA-SHA512"

Type: enum (of string)

The hash algorithm to apply to the transformed resources.

Must be one of:

  • "SHA1"
  • "SHA256"
  • "SHA512"

Type: object

Options for what to sign.

Type: boolean Default: false

Whether to sign the assertion.

Type: boolean Default: false

Whether to sign the authentication responses.

Type: boolean Default: false

Whether to sign the artifact request.

Type: boolean Default: false

Whether to sign the artifact response.

Type: boolean Default: false

Whether to sign the logout request.

Type: boolean Default: false

Whether to sign the logout response.

Type: boolean Default: false

Whether to sign the name ID management request.

Type: boolean Default: false

Whether to sign the name ID management response.

Type: object

Options for what to validate.

Type: boolean Default: false

Whether to validate the digital signature of an authentication request.

Type: boolean Default: false

Whether to validate the digital signature of an assertion.

Type: boolean

Whether to validate the digital signature of an artifact request.

Type: boolean

Whether to validate the digital signature of an artifact response.

Type: boolean

Whether to validate the digital signature of a logout request.

Type: boolean

Whether to validate the digital signature of a logout response.

Type: boolean

Whether to validate the digital signature of a name ID management request.

Type: boolean

Whether to validate the digital signature of a name ID management response.

Type: boolean

Whether to include the InclusiveNamespaces element in the digital signature.

Type: object

KeyInfo elements to include in the digital signature.

Type: boolean Default: false

Whether to include the public key in the KeyInfo element.

Type: boolean Default: true

Whether to include the base64 encoded certificate data in the KeyInfo element.

Type: boolean Default: false

Whether to include the issuer name and certificate serial number in the KeyInfo element.

Type: boolean Default: false

Whether to include the X.509 subject key identifier in the KeyInfo element.

Type: boolean Default: false

Whether to include the subject name in the KeyInfo element.

Type: object

A public/private key pair for signing the SAML messages and assertions.

Same definition as key_identifier

Type: object

The certificate to use to validate the signatures on incoming SAML assertions and messages.

Same definition as key_identifier

Type: array

Endpoints at an Identity Provider that accept SAML authentication requests.

No Additional Items

Each item of this array must be:

Type: object

Single Sign-On service endpoint configuration.

Type: enum (of string)

Communication method used to transport SAML messages.

Must be one of:

  • "artifact"
  • "post"
  • "redirect"

Type: stringFormat: uri

The URL of the endpoint.

Type: array

Endpoints that accept SAML logout requests or responses.

No Additional Items

Each item of this array must be:

Type: object

Generic service endpoint configuration.

Same definition as items_configuration_oneOf_i1_manage_name_id_services_items

Type: object

The alias service settings to store the user alias.

Type: enum (of string)

Whether the user's alias is stored in JDBC or LDAP.

Must be one of:

  • "jdbc"
  • "ldap"

Type: string

The LDAP Connection to store the alias.

Type: string

The LDAP BaseDN to search for the user.

SAML 2.0 Service Provider Configuration

Type: object

SAML 2.0 Service Provider configuration

Type: integer Default: 120

The number of seconds that an artifact is valid. The default value is 120. This setting is enabled only when HTTP artifact binding has been enabled.

Value must be greater or equal to 1

Type: array

Endpoints at a Service Provider that receive SAML assertions.

No Additional Items

Each item of this array must be:

Type: object

SAML Assertion Consumer Service endpoint configuration.

Type: enum (of string)

Communication method used to transport SAML messages.

Must be one of:

  • "artifact"
  • "post"
  • "redirect"

Type: boolean

Whether this is the default endpoint.

Type: integer

Reference to a particular endpoint.

Value must be greater or equal to 0

Type: stringFormat: uri

The URL of the endpoint.

Type: array

Endpoints where artifacts are exchanged for actual SAML messages. Required if artifact binding is enabled.

No Additional Items

Each item of this array must be:

Type: object

SAML Artifact Resolution Service endpoint configuration.

Same definition as items_configuration_oneOf_i1_artifact_resolution_services_items

Type: object

The attribute mapping data.

Same definition as attribute_mappings

Type: string

The name of the company that creates the identity provider or service provider.

Type: object

The encryption and decryption configurations for SAML messages.

Same definition as encryption_settings

Type: object

The identity mapping data.

Same definition as identity_mapping

Type: object

The extension mapping data.

Same definition as extension_mapping

Type: object

The authentication request mapping data.

Type: enum (of string)

The active mapping module instance.

Must be one of:

  • "skip-authn-request-map"
  • "default-map"
  • "federation-config"

Type: string

A reference to an ID or name of an authentication request mapping rule.

Type: array

Endpoints that accept SAML name ID management requests or responses.

No Additional Items

Each item of this array must be:

Type: object

Generic service endpoint configuration.

Same definition as items_configuration_oneOf_i1_manage_name_id_services_items

Type: integer Default: 300

The number of seconds that a message is valid. The default value is 300.

Value must be greater or equal to 1

Type: stringFormat: uri Default: "urn:oasis:names:tc:SAML:2.0:nameid-format:entity"

The format of the issuer of SAML message. The default value is 'urn:oasis:names:tc:SAML:2.0:nameid-format:entity'.

Type: string

The name qualifier of the issuer of SAML messaged.

Type: object

The name identifier format configurations.

Same definition as name_id_format

Type: stringFormat: uri

The endpoint URL of the point of contact server. The point of contact server is a reverse proxy server that is configured in front of the runtime listening interfaces. The format is http[s]://hostname[:portnumber]/[junction]/sps.

Type: string

A unique identifier that identifies the provider to its partner provider. If not provided or an empty string is provided, the default value is <point of contact URL>/<federation name>/saml20.

Type: integer Default: 7200

The number of seconds that the SAML session remains valid. The default value is 7200.

Value must be greater or equal to 1

Type: object

The signing and validation configurations for SAML messages and assertions.

Same definition as signature_settings

Type: array

Endpoints that accept SAML logout requests or responses.

No Additional Items

Each item of this array must be:

Type: object

Generic service endpoint configuration.

Same definition as items_configuration_oneOf_i1_manage_name_id_services_items

Type: object

The alias service settings to store the user alias.

Same definition as alias_service_settings

WS-Federation Identity Provider Configuration

Type: object

WS-Federation Identity Provider configuration

Type: object

The assertion settings.

Same definition as assertion_settings

Type: string

The name of the company that creates the identity provider or service provider.

Type: object

The identity mapping data.

Same definition as identity_mapping

Type: stringFormat: uri

The endpoint URL of the point of contact server. The point of contact server is a reverse proxy server that is configured in front of the runtime listening interfaces. The format is http[s]://hostname[:portnumber]/[junction]/sps.

WS-Federation Service Provider Configuration

Type: object

WS-Federation Service Provider configuration

Type: string

The name of the company that creates the identity provider or service provider.

Type: object

The identity mapping data.

Same definition as identity_mapping

Type: stringFormat: uri

The endpoint URL of the point of contact server. The point of contact server is a reverse proxy server that is configured in front of the runtime listening interfaces. The format is http[s]://hostname[:portnumber]/[junction]/sps.

Type: boolean

Whether to enable one-time assertion use enforcement.

Type: array

List of federation partners to create for this federation.

No Additional Items

Each item of this array must be:


OIDC Relying Party Partner Configuration

Type: object

OIDC Relying Party partner

Type: string

Name of the OIDC Relying Party partner.

Type: string

The ID that identifies this client to the provider.

Type: stringFormat: password

The secret associated with the client ID. Do not include if creating a public client.

Type: object

The basic configuration data.

Type: enum (of string)

The active module instance.

Must be one of:

  • "noMetadata"
  • "metadataEndpointUrl"

Type: stringFormat: uri

The /metadata endpoint URL of the provider. Only valid if activedelegateid is 'metadataEndpointUrl'.

Type: string

The issuer 'iss' value of the provider. Only valid if activedelegateid is 'noMetadata'.

Type: array of enum (of string)

List of response types which determines which flow to be executed. Only valid if activedelegateid is 'noMetadata'.

No Additional Items

Each item of this array must be:

Type: enum (of string)

Must be one of:

  • "code"
  • "token"
  • "id_token"

Type: stringFormat: uri

The /authorize endpoint URL of the provider. Only valid if activedelegateid is 'noMetadata'.

Type: stringFormat: uri

The /token endpoint URL of the provider. Required if 'code' response type is selected. Only valid if activedelegateid is 'noMetadata'.

Type: stringFormat: uri

The /userinfo endpoint URL of the provider. Only valid if activedelegateid is 'noMetadata'.

Type: enum (of string)

The signing algorithm to use.

Must be one of:

  • "none"
  • "HS256"
  • "HS384"
  • "HS512"
  • "RS256"
  • "RS384"
  • "RS512"
  • "ES256"
  • "ES384"
  • "ES512"
  • "PS256"
  • "PS384"
  • "PS512"

Type: string

When signature algorithm requires a certificate, the keystore which contains the selected certificate to perform the signing.

Type: string

When signature algorithm requires a certificate, the alias of the public key in the selected keystore to use in signature verification.

Type: stringFormat: uri

When signature algorithm requires a certificate, the JWK endpoint of the provider. If a metadata endpoint is specified in BasicConfigurationData, the JWK URL will be read from metadata information. Cannot be specified if using a signingKeyLabel.

Type: enum (of string)

The key management algorithm to use.

Must be one of:

  • "none"
  • "dir"
  • "A128KW"
  • "A192KW"
  • "A256KW"
  • "A128GCMKW"
  • "A192GCMKW"
  • "A256GCMKW"
  • "ECDH-ES"
  • "ECDH-ES+A128KW"
  • "ECDH-ES+A192KW"
  • "ECDH-ES+A256KW"
  • "RSA1_5"
  • "RSA-OAEP"
  • "RSA-OAEP-256"

Type: enum (of string)

The content encryption algorithm to use.

Must be one of:

  • "none"
  • "A128CBC-HS256"
  • "A192CBC-HS384"
  • "A256CBC-HS512"
  • "A128GCM"
  • "A192GCM"
  • "A256GCM"

Type: string

When key management algorithm requires a certificate, the keystore which contains the selected certificate to perform JWT decryption.

Type: string

When key management algorithm requires a certificate, the alias of the private key in the selected keystore to perform JWT decryption.

Type: array of string Default: ["openid"]

An array of strings that identify the scopes to request from the provider. Defaults to ['openid'].

No Additional Items

Each item of this array must be:

Type: string

Type: boolean

A setting that specifies whether to perform user info request automatically whenever possible.

Type: enum (of string)

The token endpoint authentication method.

Must be one of:

  • "client_secret_basic"
  • "client_secret_post"

Type: object

The attribute mapping data.

Same definition as attribute_mappings

Type: object

The identity mapping data.

Same definition as identity_mapping

Type: object

The advance configuration data.

Same definition as advanced_configuration

SAML 2.0 Identity Provider Partner Configuration

Type: object

SAML 2.0 Identity Provider partner

Type: string

Name of the federation partner.

Type: boolean Default: true

Whether this partner is enabled.

Type: enum (of string) Default: "ip"

The role of the partner.

Must be one of:

  • "ip"

Type: string

An identifier for the template on which to base this partner.

Type: string

The access policy that should be applied during single sign-on.

Type: object

Partner's endpoints where artifacts are exchanged for actual SAML messages. Required if artifact binding is enabled.

Same definition as items_configuration_oneOf_i1_artifact_resolution_services_items

Type: array

Partner's endpoints that receive SAML assertions.

No Additional Items

Each item of this array must be:

Type: object

SAML Assertion Consumer Service endpoint configuration.

Same definition as items_configuration_oneOf_i2_assertion_consumer_services_items

Type: object

The assertion settings.

Same definition as assertion_settings

Type: object

The attribute mapping data.

Same definition as attribute_mappings

Type: object

The encryption and decryption configurations for SAML messages.

Same definition as encryption_settings

Type: object

The identity mapping data.

Same definition as identity_mapping

Type: object

The extension mapping data.

Same definition as extension_mapping

Type: boolean Default: false

A setting that specifies whether to append federation ID to partner ID when mapping user aliases. The default value is false.

Type: integer Default: 120

A setting that specifies Logout request lifetime in number of seconds. If not provided, the default value is 120.

Value must be greater or equal to 1

Type: array

Partner's endpoints that accept SAML name ID management requests or responses.

No Additional Items

Each item of this array must be:

Type: object

Generic service endpoint configuration.

Same definition as items_configuration_oneOf_i1_manage_name_id_services_items

Type: object

The name identifier format configurations.

Same definition as name_id_format

Type: string

A unique identifier that identifies the partner.

Type: object

The signing and validation configurations for SAML messages and assertions.

Same definition as signature_settings

Type: object

Partner's endpoints that accept SAML logout requests or responses.

Same definition as items_configuration_oneOf_i1_manage_name_id_services_items

Type: object

A setting that specifies the connection parameters for the SOAP endpoints.

Type: object

Server certificate validation configuration.

Type: string

The certificate database name.

Type: string

The certificate label. If not provided, all certificates in the database will be trusted.

Type: object

Client authentication configuration.

Type: enum (of string)

The authentication method.

Must be one of:

  • "ba"
  • "cert"
  • "none"

Type: string

The basic authentication username.

Type: stringFormat: password

The basic authentication password.

Type: string

The certificate database name.

Type: string

The personal certificate label.

SAML 2.0 Service Provider Partner Configuration

Type: object

SAML 2.0 Service Provider partner

Type: string

Name of the federation partner.

Type: boolean Default: true

Whether this partner is enabled.

Type: enum (of string) Default: "sp"

The role of the partner.

Must be one of:

  • "sp"

Type: string

An identifier for the template on which to base this partner.

Type: string

This is a one-time name identifier that allows a user to access a service through an anonymous identity. The user name entered here is one that the service provider will recognize as a one-time name identifier for a legitimate user in the local user registry.

Type: object

Partner's endpoints where artifacts are exchanged for actual SAML messages. Required if artifact binding is enabled.

Same definition as items_configuration_oneOf_i1_artifact_resolution_services_items

Type: object

The assertion settings.

Same definition as assertion_settings

Type: object

The attribute mapping data.

Same definition as attribute_mappings

Type: object

The encryption and decryption configurations for SAML messages.

Same definition as encryption_settings

Type: boolean

A setting that specifies whether to force user to authenticate before linking the account.

Type: object

The identity mapping data.

Same definition as identity_mapping

Type: object

The extension mapping data.

Same definition as extension_mapping

Type: object

The authentication request mapping data.

Same definition as authn_req_mapping

Type: boolean

A setting that specifies whether to append federation ID to partner ID when mapping user aliases.

Type: array

Partner's endpoints that accept SAML name ID management requests or responses.

No Additional Items

Each item of this array must be:

Type: object

Generic service endpoint configuration.

Same definition as items_configuration_oneOf_i1_manage_name_id_services_items

Type: boolean

A setting that specifies whether to map non-linked persistent name ID to one-time username.

Type: object

The name identifier format configurations.

Same definition as name_id_format

Type: string

A unique identifier that identifies the partner.

Type: object

The signing and validation configurations for SAML messages and assertions.

Same definition as signature_settings

Type: array

Partner's endpoints that accept SAML logout requests or responses.

No Additional Items

Each item of this array must be:

Type: object

Generic service endpoint configuration.

Same definition as items_configuration_oneOf_i1_manage_name_id_services_items

Type: array

Partner's endpoints that accept SAML authentication requests.

No Additional Items

Each item of this array must be:

Type: object

Single Sign-On service endpoint configuration.

Same definition as items_configuration_oneOf_i1_single_sign_on_service_items

Type: object

A setting that specifies the connection parameters for the SOAP endpoints.

Same definition as soap_settings

Type: stringFormat: uri

Default URL where end-user will be redirected after the completion of single sign-on.

WS-Federation Identity Provider Partner Configuration

Type: object

WS-Federation Identity Provider partner

Type: string

Name of the federation partner.

Type: boolean Default: true

Whether this partner is enabled.

Type: enum (of string) Default: "ip"

The role of the partner.

Must be one of:

  • "ip"

Type: string

An identifier for the template on which to base this partner.

Type: array of string Default: ["*"]

Specifies the types of attributes to include in the assertion. The default, an asterisk (*), includes all the attribute types that are specified in the identity mapping file.

No Additional Items

Each item of this array must be:

Type: string

Type: stringFormat: uri

The endpoint of the WS-Federation partner.

Type: object

The identity mapping data.

Same definition as identity_mapping

Type: boolean Default: true

Whether to include the BASE64 encoded certificate data with the signature. Defaults to true if not specified.

Type: boolean Default: false

Whether to include the issuer name and the certificate serial number with the signature. Defaults to false if not specified.

Type: boolean Default: false

Whether to include the public key with the signature. Defaults to false if not specified.

Type: boolean Default: false

Whether to include the X.509 subject key identifier with the signature. Defaults to false if not specified.

Type: boolean Default: false

Whether to include the subject name with the signature. Defaults to false if not specified.

Type: integer

The amount of time that the request is valid (in milliseconds).

Value must be greater or equal to 1

Type: string

The realm of the WS-Federation partner.

Type: enum (of string)

The signature algorithm to use for signing SAML assertions. Only required if signsamlassertion is set to true.

Must be one of:

  • "RSA-SHA1"
  • "RSA-SHA256"
  • "RSA-SHA512"

Type: object

The certificate to use for signing the SAML assertions. Only required if signsamlassertion is set to true.

Same definition as key_identifier

Type: boolean

Whether or not the assertion needs to be signed.

Type: enum (of string)

The subject confirmation method.

Must be one of:

  • "No Subject Confirmation Method"
  • "urn:oasis:names:tc:SAML:1.0:cm:bearer"
  • "urn:oasis:names:tc:SAML:1.0:cm:holder-of-key"
  • "urn:oasis:names:tc:SAML:1.0:cm:sender-vouches"

Type: boolean Default: true

Whether or not to use the InclusiveNamespaces construct. Defaults to true if not specified.

WS-Federation Service Provider Partner Configuration

Type: object

WS-Federation Service Provider partner

Type: string

Name of the federation partner.

Type: boolean Default: true

Whether this partner is enabled.

Type: enum (of string) Default: "sp"

The role of the partner.

Must be one of:

  • "sp"

Type: string

An identifier for the template on which to base this partner.

Type: stringFormat: uri

The endpoint of the WS-Federation partner.

Type: object

The identity mapping data.

Same definition as identity_mapping

Type: object

The keystore and certificate to use to validate the signature. Only required if verifysignatures is set to true and usekey_info is set to false.

Same definition as key_identifier

Type: string

The regular expression used to find the X509 certificate for signature validation. Only required if verifysignatures is set to true and usekey_info is set to true.

Type: integer

The amount of time that the request is valid (in milliseconds).

Value must be greater or equal to 1

Type: string

The realm of the WS-Federation partner.

Type: boolean

Whether to use the keyInfo of the XML signature to find the X509 certificate for signature validation (true) or the specified keyalias (false). Only required if verifysignatures is set to true.

Type: boolean Default: false

Whether to enable signature validation. Defaults to false if not specified.

Type: boolean

Whether to create multiple attribute statements in the Universal User.

Type: array

List of XML metadata documents which define partners for a configured Federation.

No Additional Items

Each item of this array must be:

Type: object

A partner to import from XML metadata.

Type: string

Name of the federation partner to create.

Type: string

Path to XML metadata file which contains the partner's configuration properties.

Type: string

Optional path to file to write Federation's XML metadata file to. eg: 'idpmetadata.xml'


Example:

federations:
- name: saml20idp
  protocol: SAML2_0
  role: ip
  export_metadata: idpmetadata.xml
  configuration:
    company_name: IdP Company
    point_of_contact_url: https://www.myidp.ibm.com/isam
    assertion_settings:
      valid_before: 300
      valid_after: 300
    need_consent_to_federate: false
    signature_settings:
      validation_options:
        validate_authn_request: true
      signing_options:
        sign_authn_response: true
        sign_logout_request: true
        sign_logout_response: true
        signing_key_identifier:
          store: myidpkeys
          label: CN=idp,OU=Security,O=IBM,C=AU
      key_info_elements:
        include_x509_certificate_data: true
        include_x509_subject_name: false
        include_x509_subject_key_identifier: false
        include_x509_issuer_details: false
        include_public_key: false
    identity_mapping:
      active_delegate_id: default-map
      properties:
        mapping_rule: ip_saml20
    extension_mapping:
      active_delegate_id: skip-extension-map
    name_id_format:
      default: urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress
    single_sign_on_service:
    - binding: post
    - binding: redirect
    exclude_session_index_in_single_logout_request: false
    single_logout_service:
    - binding: post
    - binding: redirect
    encryption_settings:
      decryption_key_identifier:
        store: myidpkeys
        label: CN=idp,OU=Security,O=IBM,C=AU
    message_valid_time: 300
    session_timeout: 7200


Advanced Configuration Parameters

To set Advanced Configuration Properties, see the entry in the Appliance or Container documentation.

HTTP Template Files

To upload HTTP template files, see the entry in the Appliance or Container documentation.

JavaScript Mapping Rules

To upload JavaScript mapping rules, see the entry in the Appliance or Container documentation.

Server Connections

To configure third party Server Connections, see the entry in the Appliance or Container documentation.

Runtime Server Configuration

To set Runtime Server properties, see the entry in the Appliance or Container documentation.