ibm security access manager version 9.0 october 2015: …file/isam90_config_federation.pdf · 2020....

126
IBM Security Access Manager Version 9.0 October 2015 Federation Configuration topics IBM

Upload: others

Post on 07-Mar-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

IBM Security Access ManagerVersion 9.0October 2015

Federation Configuration topics

IBM

Page 2: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides
Page 3: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

IBM Security Access ManagerVersion 9.0October 2015

Federation Configuration topics

IBM

Page 4: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

ii IBM Security Access Manager Version 9.0 October 2015: Federation Configuration topics

Page 5: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Contents

Figures . . . . . . . . . . . . . .. v

Tables . . . . . . . . . . . . . .. vii

Chapter 1. Federation overview. . . .. 1

Chapter 2. SAML 2.0 federations . . .. 3SAML 2.0 overview . . . . . . . . . . .. 3SAML 2.0 profiles. . . . . . . . . . . .. 4

SAML 2.0 endpoints and URLs . . . . . .. 5SAML 2.0 profile initial URLs. . . . . . .. 8

SAML 2.0 bindings . . . . . . . . . . .. 13SAML 2.0 name identifier formats . . . . . .. 14

Alias service . . . . . . . . . . . .. 15Customizing SAML 2.0 identity mapping . . .. 15

Mapping a local identity to a SAML 2.0 token .. 15Mapping a SAML 2.0 token to a local identity .. 16

Creating a SAML 2.0 federation . . . . . .. 16Gathering your federation configurationinformation . . . . . . . . . . . .. 16

Creating a SAML 2.0 partner . . . . . . .. 29Obtaining federation configuration data fromyour partner . . . . . . . . . . . .. 29

Configuring STS modules . . . . . . . .. 36Supported module types . . . . . . . .. 37Token module properties . . . . . . . .. 48

Customizing the SAML 2.0 login form . . . .. 59Supported macros for customizing anauthentication login form. . . . . . . .. 60

Customizing SAML 2.0 pages . . . . . . .. 60Generation of event pages . . . . . . .. 61SAML 2.0 page identifiers . . . . . . .. 61Template page for the WAYF page. . . . .. 69Customizing the Consent to Federate Page . .. 71

Configuring the user session ID for the federationruntime. . . . . . . . . . . . . . .. 72Synchronizing system clocks in the federation . .. 73

Chapter 3. OpenID Connect federations 75OpenID Connect concepts . . . . . . . .. 75OpenID Connect endpoints . . . . . . . .. 76

Relying Party SSO initiation endpoint . . .. 78Redirect URI . . . . . . . . . . . .. 78OpenID Connect Provider authorize endpoint .. 78Token endpoint . . . . . . . . . . .. 79Introspect endpoint . . . . . . . . . .. 80

OpenID Connect flows . . . . . . . . .. 80Authorization code flow . . . . . . . .. 80Implicit grant flow . . . . . . . . . .. 81

Configuring OpenID Connect Providers (OP) . .. 82Configuring an OpenID Connect Providerfederation . . . . . . . . . . . . .. 82OpenID Connect Provider federation properties 82Configuring an OpenID Connect Provider (OP)partner . . . . . . . . . . . . . .. 84OpenID Connect Provider partner properties .. 84

Configuring Relying Parties . . . . . . . .. 85Configuring a relying party federation . . .. 86Configuring an OpenID Connect Relying Partypartner . . . . . . . . . . . . . .. 86OpenID Connect Relying Party partner properties 87

OpenID Connect mapping rules . . . . . .. 88OpenID Connect Provider mapping rules . .. 89OpenID Connect Relying Party mapping rules.. 89Attribute sources . . . . . . . . . .. 89

Accessing identity information from a reverse proxy 90Triggering OpenID Connect authentication . .. 90Consuming claims from behind a reverse proxy 90

Authentication macros. . . . . . . . . .. 91Automatic configuration of a reverse proxy forOpenID Connect. . . . . . . . . . . .. 92Customizing the consent page . . . . . . .. 92Known limitations . . . . . . . . . . .. 93

Chapter 4. Configuring a reverse proxypoint of contact server . . . . . . .. 95

Chapter 5. Managing advancedconfiguration . . . . . . . . . . .. 99Advanced configuration properties . . . . .. 99

Index . . . . . . . . . . . . . .. 113

iii

Page 6: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

iv IBM Security Access Manager Version 9.0 October 2015: Federation Configuration topics

Page 7: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Figures

v

Page 8: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

vi IBM Security Access Manager Version 9.0 October 2015: Federation Configuration topics

Page 9: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Tables

1. Federation protocol . . . . . . . . .. 172. Template . . . . . . . . . . . .. 173. General information. . . . . . . . .. 174. Point of contact server . . . . . . . .. 185. Profile selection . . . . . . . . . .. 186. Single Sign-on settings . . . . . . . .. 197. Name Identifier Management settings. . .. 198. Single logout settings . . . . . . . .. 209. Signature options . . . . . . . . .. 20

10. Encryption options . . . . . . . . .. 2211. SAML message settings . . . . . . .. 2212. Identity mapping settings . . . . . . .. 2313. Federation protocol . . . . . . . . .. 2314. Template . . . . . . . . . . . .. 2415. General information. . . . . . . . .. 2416. Point of contact server . . . . . . . .. 2417. Profile selection . . . . . . . . . .. 2518. Single Sign-on settings . . . . . . . .. 2519. Name Identifier Management settings. . .. 2620. Single logout settings . . . . . . . .. 2621. Signature options . . . . . . . . .. 2622. Encryption options . . . . . . . . .. 2823. SAML message settings . . . . . . .. 2824. Identity mapping settings . . . . . . .. 2925. Federation to which you are adding a service

provider partner in a SAML 2.0 federation .. 3026. Metadata file from your service provider

partner in a SAML 2.0 federation . . . .. 3027. Single sign-on settings . . . . . . . .. 3028. Server certificate validation for your service

provider partner in a SAML 2.0 federation .. 31

29. Client authentication for your service providerpartner in a SAML 2.0 federation . . . .. 32

30. Identity Mapping options for your serviceprovider partner in a SAML 2.0 federation .. 32

31. Federation to which you are adding anidentity provider partner in a SAML 2.0federation . . . . . . . . . . . .. 33

32. Metadata file from your identity providerpartner in a SAML 2.0 federation . . . .. 33

33. Single sign-on settings . . . . . . . .. 3334. Server certificate validation . . . . . .. 3535. Client authentication . . . . . . . .. 3536. Identity Mapping . . . . . . . . .. 3637. Attribute Mapping module properties. . .. 4838. Default Mapping module properties . . .. 4839. HTTP Callout module properties . . . .. 4840. IVCred module properties . . . . . .. 5041. LTPA module properties . . . . . . .. 5242. SAML 2.0 module properties . . . . . .. 5343. Username module properties. . . . . .. 5844. Macros for customizing the login form . .. 6045. SAML 2.0 HTML page identifiers and macros 6246. Supported consent values for SAML 2.0

response . . . . . . . . . . . .. 7147. Supported protocol independent macros 9148. Supported OpenID Connect protocol macros 9149. Configuration data types . . . . . . .. 9950. Filter by Category . . . . . . . . .. 100

vii

Page 10: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

viii IBM Security Access Manager Version 9.0 October 2015: Federation Configuration topics

Page 11: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Chapter 1. Federation overview

IBM Security Access Manager provides a Federation Module so that collaboratingorganizations can gain secure access to each other's applications. With federatedaccess, you have a secure, seamless sign-on experience to external applications,helping to eliminate the need for providing multiple user IDs and passwords.

By definition, a federation is a relationship in which the participating entities agreeto use the same technical standard, enabling access to data and resources of oneanother. It consists of one or more service providers (SP) and an identity provider(IdP). An IdP is a partner in a federation that can authenticate the identity of auser. A service provider is a company or program that provides a business functionas a service.

The Federation Module provides the following functions:v Federated single sign-on (SSO) for users across multiple applications.v Support for SAML 2.0 and OpenID Connect protocols for federated access.v Pre-integrated federation connectors to popular cloud applications.

Activate the Security Access Manager Platform and Federation Module to set upfederations.

1

Page 12: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

2 IBM Security Access Manager Version 9.0 October 2015: Federation Configuration topics

Page 13: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Chapter 2. SAML 2.0 federations

The Federation Module supports SAML 2.0 federations.

SAML 2.0 is a protocol that you can use to perform federated single sign-on fromidentity providers to service providers. In federated single sign-on, usersauthenticate at identity provider. Service providers consume the identityinformation asserted by identity providers.

SAML 2.0 relies on the use of SOAP, among other technologies, to exchange XMLmessages over computer networks. The XML messages are exchanged through aseries of requests and responses.

In this process, one of the federation partners sends a request message to the otherfederation partner. Then, that receiving partner immediately sends a responsemessage to the partner who sent the request.

The SAML specifications include descriptors to establish a federation, initialize,and manage single sign-on. The following descriptors specify the structure, contentof the messages, and the way the messages are communicated between partnersand users.

AssertionsXML-formatted tokens that are used to transfer user identity information,such as the authentication, attribute, and entitlement information, in themessages.

ProtocolsThe types of request messages and response messages that are used forobtaining authentication data and for managing identities.

BindingsThe communication method that is used to transport the messages.

ProfilesCombinations of protocols, assertions, and bindings that are used togetherto create a federation and enable federated single sign-on.

You and your partner must use the same SAML specification (2.0) and agree onwhich protocols, bindings, and profiles to use.

SAML 2.0 overviewThe Federation Module relies on the SAML 2.0 specification to establish afederation and to initialize and manage single sign-on.

Assertions

The assertions contain authentication statements. These authentication statementsassert that the principal (that is, the entity that requests access) was authenticated.Assertions can also carry attributes about the user that the identity provider wantsto make available to the service provider.

Assertions are typically passed from the identity provider to the service provider.

3

Page 14: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

The content of the assertions that are created is controlled by the SAML 2.0specification. Select these assertions when you establish a federation. You can alsoselect these assertions by the definitions that are used in the identity mappingmethod that you configure.

The identity mapping method can either be a custom mapping module or an XSLtransform file. The identity mapping also specifies how identities are mappedbetween federation partners.

Protocols

SAML 2.0 defines several request-response protocols that correspond to the actionthat is being communicated in the message. The SAML 2.0 protocols that aresupported are:v Authentication requestv Single logoutv Artifact resolutionv Name identifier management

SAML 2.0 profilesSAML 2.0 profiles combine protocols, assertions, and bindings to create afederation and enable federated single sign-on.

The following profiles are supported:

Web browser single sign-on

This profile provides options regarding the initiation of the message flowand the transport of the messages:

Flow initiationThe message flow can be initiated from the identity provider or theservice provider.

BindingsThe following bindings can be used in the Web browser SSOprofile:v HTTP redirectv HTTP POSTv HTTP artifact

The choice of binding depends on the type of messages being sent.For example, an authentication request message can be sent from aservice provider to an identity provider using HTTP redirect,HTTP POST, or HTTP artifact. The response message can be sentfrom an identity provider to a service provider by using eitherHTTP POST or HTTP artifact. A pair of partners in a federationdoes not need to use the same binding.

Single LogoutThe Single Logout profile is used to terminate all the login sessionscurrently active for a specified user within the federation. A user whoachieves single sign-on to a federation establishes sessions with more thanone participant in the federation.

4 IBM Security Access Manager Version 9.0 October 2015: Federation Configuration topics

Page 15: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

The sessions are managed by a session authority, which in many cases isan identity provider. When the user wants to end sessions with all sessionparticipants, the session authority can use the single logout profile toglobally terminate all active sessions.

This profile provides options regarding the initiation of the message flowand the transport of the messages:

Flow initiationThe message flow can be initiated from the identity provider or theservice provider.

BindingsThe following bindings can be used in the Single Logout profile:v HTTP redirectv HTTP POSTv HTTP artifactv SOAP

Name Identifier ManagementThe Name Identifier Management profile manages user identities that areexchanged between identity providers and service providers.

This profile can be used by identity providers or service providers toinform their partners when there is a change in user aliases.

This profile can also be used by identity providers or service providers toterminate user linkages at the partners.

To manage the aliases, the Federation module uses a function that is calledthe alias service. The alias service stores and retrieves aliases that are relatedto a federated identity. User aliases are stored and retrieved fromhigh-volume database.

This profile provides options regarding the initiation of the message flowand the transport of the messages:

Flow initiationThe message flow can be initiated from the identity provider or theservice provider.

BindingsThe following bindings can be used in the Web browser SSOprofile:v HTTP redirectv HTTP POSTv HTTP artifactv SOAP

SAML 2.0 endpoints and URLsCommunications within a federation take place through endpoints on the serversof the identity provider and service provider partners.

In a Security Access Manager environment, endpoints fall into two categories:v Endpoints that are specified by the federation specification (such as SAML 2.0)

and are used for partner-to-partner communication.v Endpoints that end users can access to initiate a single sign-on activity.

Chapter 2. SAML 2.0 federations 5

Page 16: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

All endpoints can be accessed through URLs. The syntax of the URLs is specific tothe purpose of the access and whether the access is by a partner or by an end user.

URLs for partner communication

The URLs that are used for partner-to-partner communication, such as theexchange of requests, in SAML 2.0 federations are referred to collectively asendpoint URLs. They can also be individually referred to by the name of theprotocol and binding or service that they are related to. Administrators who areresponsible for installing, configuring, and maintaining the Security AccessManager environment and the partner-to-partner communication in thatenvironment will see references to these endpoint URLs and might find it helpfulto understand their purpose. See “Endpoint URL specifications.”

URLs for user access

While the SAML specifications define the endpoints for partner-to-partnercommunication, they provide limited or no guidance about the endpoints ormethods that end users must use to initiate single sign-on actions. Security AccessManager supports specific URLs for end-user initiation of single sign-on actions.

In a SAML 2.0 federation, single sign-on actions can be initiated at the identityprovider site or the service provider site. URLs that can be used by users to initiatea sign-on action are specific to the a single sign-on action, such as initiate afederated sign on, perform a single logout, or end account linkage. They are alsospecific to whether the action is being initiated at the identity provider or serviceprovider site. In a Security Access Manager environment, the URLs that can beused for initiating sign-on actions are referred to as profile initial URLs. Architectsand application developers, who design and implement the interactions of theirusers with the single sign-on process, need to understand profile initial URLs.

Endpoint URL specificationsYou must define several endpoints on your point of contact server so thatcommunications can be exchanged between you and your partner.

These endpoints are defined when you configure your federation in SecurityAccess Manager. The endpoints are accessible through URLs and are used by thepartners in the federation.

The following types of endpoint URLs initiate single sign-on:v Single sign-on servicev Assertion consumer servicev Single logout service endpointv Artifact resolution service or SOAPv Name identifier management service

Single sign-on service endpoint URL (IP)The endpoint on the identity provider point of contact server that receivesauthentication requests. The unauth ACL must be attached to this URL.The syntax of the URL is:https://isam_hostname:port_number/junction_name/sps/federation_name/saml20/login

Where:

6 IBM Security Access Manager Version 9.0 October 2015: Federation Configuration topics

Page 17: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

isam_hostnameThe host name of the reverse proxy server for the identityprovider.

port_numberThe port number of the reverse proxy server.

junction_nameThe name of the junction created on the reverse proxy server.

federation_nameThe name you assigned to the federation when you created it.

Assertion consumer service endpoint (SP)The endpoint on the service provider point of contact server that receivesassertions. The unauth ACL must be attached to this URL. The syntax ofthe URL is:https://isam_hostname:port_number/junction_name/sps/federation_name/saml20/login

Where:

isam_hostnameThe host name of the reverse proxy server for the service provider.

port_numberThe port number of the reverse proxy server.

junction_nameThe name of the junction created on the reverse proxy server.

federation_nameThe name you assigned to the federation when you created it.

Single logout service endpoint (IP or SP)The endpoint on the service provider or identity provider point of contactserver that receives logout requests. The unauth ACL must be attached tothis URL. The syntax of the URL is:https://isam_hostname:port_number/junction_name/sps/federation_name/saml20/slo

Where:

isam_hostnameThe host name of the reverse proxy server for the service provideror identity provider.

port_numberThe port number of the reverse proxy server.

junction_nameThe name of the junction created on the reverse proxy server.

federation_nameThe name you assigned to the federation when you created it.

Artifact resolution service or SOAP endpoint (IP or SP)The endpoint on the service provider or identity provider where artifactsare exchanged for SAML messages. The unauth ACL must be attached tothis URL. The syntax of the URL is:https://isam_hostname:port_number/junction_name/sps/federation_name/saml20/soap

Where:

Chapter 2. SAML 2.0 federations 7

Page 18: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

isam_hostnameThe host name of the reverse proxy server for the service provideror identity provider.

port_numberThe port number of the reverse proxy server.

junction_nameThe name of the junction created on the reverse proxy server.

federation_nameThe name you assigned to the federation when you created it.

Name identifier management service endpoint (IP or SP)The endpoint on the service provider or identity provider that receivesmessages related to the name ID management. The unauth ACL must beattached to this endpoint.

The syntax of the URL for HTTP redirect, HTTP POST, and HTTP artifactbinding is:https://isam_hostname:port_number/junction_name/sps/federation_name/saml20/mnids

The syntax of the URL for SOAP binding is:https://isam_hostname:port_number/junction_name/sps/federation_name/saml20/soap

Where:

isam_hostnameThe host name of the reverse proxy server for the service provideror identity provider.

port_numberThe port number of the reverse proxy server.

junction_nameThe name of the junction created on the reverse proxy server.

federation_nameThe name you assigned to the federation when you created it.

SAML 2.0 profile initial URLsIn a federated environment, specially formed URLs can be used for user-initiatedsingle sign-on actions. You can initiate a single sign-on flow from the serviceprovider or identity provider.

The following profile initial URLs are supported in a Security Access Managerenvironment:v Assertion consumer servicev Single sign-on servicev Single logout servicev Name identifier management service

Assertion consumer service initial URL (SP)Initiate the single sign-on flow at the service provider. The unauth ACLmust be attached to this URL. The syntax of the URL is:https://isam_hostname:port_number/junction_name/sps

/federation_name/saml20/logininitial?RequestBinding=RequestBindingType&ResponseBinding=ResponseBindingType&NameIdFormat=NameIDFormatType

8 IBM Security Access Manager Version 9.0 October 2015: Federation Configuration topics

Page 19: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

&IsPassive=IsPassiveValue&ForceAuthn=ForceAuthnValue&AllowCreate=AllowCreateValue&AuthnContextClassRef=ClassRefValues&AuthnContextDeclRef=DeclarationRefValues&AuthnContextComparison=AuthnContectComparisonValue&Target=target_application_location

Where:

isam_hostnameThe host name of the reverse proxy server for the service provider.

port_numberThe port number of the reverse proxy server.

junction_nameThe name of the junction created on the reverse proxy server.

federation_nameThe name you assigned to the federation when you created it.

RequestBindingTypeThe binding that is used to send the request. The valid valueswhen initiating single sign-on at the service provider are:v HTTPPostv HTTPRedirectv HTTPArtifact

ResponseBindingTypeThe binding that is used by the responder to return the response.The valid values when initiating single sign-on at the serviceprovider are:v HTTPPostv HTTPArtifact

NameIdFormatTypeThe name ID format to use for name identifiers. Valid values are:v Transient (anonymous)v Persistentv Email

IsPassiveValue

Specifies if the identity provider must take control of the useragent. A value of true means that the identity provider is notpermitted to request the user to provide log in credentials. Thedefault value is false.

ForceAuthnValueSpecifies if the identity provider authenticates the user. A value oftrue means that the user must be authenticated. The default valueis false.

AllowCreateValueSpecifies if new persistent account linkage is performed on therequest. The default value is true. To use this parameter, theNameIdFormat must be set to Persistent.

Chapter 2. SAML 2.0 federations 9

Page 20: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

ClassRefValuesSpecifies one or more string values which identify authenticationcontext class URI references.

DeclarationRefValuesSpecifies one or more string values which identify authenticationcontext declaration URI references.

AuthnContectComparisonValueSpecifies the type of comparison used to determine the requestedcontext classes or declarations. The comparison type must be oneof the following variables:v exactv minimumv maximumv better

The default value is exact.

target_application_locationThe URL of the application that a user can log on to using singlesign-on.

Example:

Single sign-on URL when initiated at the service provider:https://sp.example.com:433/samlsp/sps/spfed/saml20/logininitial

?RequestBinding=HTTPPost&ResponseBinding=HTTPPost&NameIdFormat=Email&IsPassive=true&ForceAuthn=false&Target=https://sp.example.com:433/samlsp/banking

Single sign-on service initial URL (IP)Initiate the single sign-on flow at the identity provider. The unauth ACLmust be attached to this URL. The syntax of the URL is:https://isam_hostname:port_number/junction_name/sps

/federation_name/saml20/logininitial?RequestBinding=RequestBindingType&PartnerId=target_partner_provider_ID&NameIdFormat=NameIDFormatType&AllowCreate=AllowCreateValue&Target=target_application_location

Where:

isam_hostnameThe host name of the reverse proxy server for the identityprovider.

port_numberThe port number of the reverse proxy server.

junction_nameThe name of the junction created on the reverse proxy server.

federation_nameThe name you assigned to the federation when you created it.

10 IBM Security Access Manager Version 9.0 October 2015: Federation Configuration topics

Page 21: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

RequestBindingTypeThe binding that is used to send the request to the serviceprovider. The valid values when initiating single sign-on at theidentity provider are:v HTTPPostv HTTPArtifact

target_partner_provider_IDThe provider ID of the target partner.

NameIdFormatTypeThe name ID format to use for name identifiers. Valid values are:v Transient (anonymous)v Persistentv Email

AllowCreateValueSpecifies if new persistent account linkage is performed on therequest. The default value is false.

target_application_locationThis element is URL-encoded and set as the value of the RelayStateparameter in the unsolicited response delivered by the identityprovider to the service provider. A service provider interprets thisvalue as the URL of the application that a user can log on to usingsingle sign-on.

Example:

Single sign-on URL when initiated at the identity provider:https://idp.example.com:433/samlip/sps/saml20/saml20/logininitial

?RequestBinding=HTTPPost&NameIdFormat=persistent&AllowCreate=true&PartnerId=https://sp.example.com:433/samlsp/sps/saml20/saml20&Target=https://sp.example.com:9443/banking

Single logout service initial URL (IP or SP)Initiate the SLO flow at either the identity provider or service provider.The unauth ACL must be attached to this URL. The syntax of the URL is:https://isam_hostname:port_number/junction_name/sps

/federation_name/saml20/sloinitial?RequestBinding=RequestBindingType

Where:

isam_hostnameThe host name of the reverse proxy server for the identity provideror service provider.

port_numberThe port number of the reverse proxy server.

junction_nameThe name of the junction created on the reverse proxy server.

federation_nameThe name you assigned to the federation when you created it.

RequestBindingTypeThe binding that is used to send the request. The valid values are:

Chapter 2. SAML 2.0 federations 11

Page 22: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

v HTTPPostv HTTPRedirectv HTTPArtifactv HTTPSOAP

Examples:

Single logout URL when initiated at the service provider:https://sp.example.com:433/samlsp/sps/spfed/saml20/sloinitial

?RequestBinding=HTTPRedirect

Single logout URL when initiated at the identity provider:https://idp.example.com:433/samlip/sps/ipfed/saml20/sloinitial

?RequestBinding=HTTPPost

Name identifier management service initial URL (IP or SP)Used by the partner to contact the name identifier management server. Theanyauth ACL must be attached to this URL. The syntax of the URL is:https://isam_hostname:port_number/junction_name/sps

/federation_name/saml20/mnidsinitial?RequestBinding=RequestBindingType&PartnerId=target_partner_provider_ID&NameIdTerminate=name_ID_terminate_value

Where:

isam_hostnameThe host name of the reverse proxy server for the identity provideror service provider.

port_numberThe port number of the reverse proxy server.

junction_nameThe name of the junction created on the reverse proxy server.

federation_nameThe name you assigned to the federation when you created it.

RequestBindingTypeThe binding that is used to send the request. The valid values are:v HTTPPostv HTTPRedirectv HTTPArtifactv HTTPSOAP

target_partner_provider_IDThe provider ID of the target partner.

name_ID_terminate_valueA value that indicates if the name ID management flow mustterminate the name ID mapping. Valid values are:v True: Ends the account linkage.v False: Indicates that the name ID flow updates the name

identifiers (aliases). False is the default, if you do not explicitlyspecify a value.

Examples:

Name ID management initiated by the identity provider:

12 IBM Security Access Manager Version 9.0 October 2015: Federation Configuration topics

Page 23: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

https://idp.example.com:443/samlip/sps/ipfed/saml20/mnidsinitial?RequestBinding=HTTPSOAP&PartnerId=https://sp.example.com:443/samlsp/sps/spfed/saml20&NameIdTerminate=true

Name ID management initiated by the service provider:https://sp.example.com:443/samlsp/sps/spfed/saml20/mnidsinitial

?RequestBinding=HTTPArtifact&PartnerId=https://idp.example.com:443/samlip/sps/ipfed/saml20&NameIdTerminate=true

SAML 2.0 bindingsSAML requestors and responders communicate by exchanging messages. Themechanism to transport these messages is called a SAML binding.

Security Access Manager supports the following bindings:

HTTP redirectHTTP redirect enables SAML protocol messages to be transmitted withinURL parameters. It enables SAML requestors and responders tocommunicate by using an HTTP user agent as an intermediary.

The intermediary might be necessary if the communicating entities do nothave a direct path of communication. The intermediary might also benecessary if the responder requires interaction with a user agent, such asan authentication agent.

HTTP redirect is sometimes called browser redirect in single sign-onoperations. This profile is selected by default.

HTTP POSTHTTP POST enables SAML protocol messages to be transmitted within anHTML form by using base64-encoded content. It enables SAML requestorsand responders to communicate by using an HTTP user agent as anintermediary.

The agent might be necessary if the communicating entities do not have adirect path of communication. The intermediary might also be necessary ifthe responder requires interaction with a user agent such as anauthentication agent.

HTTP POST is sometimes called Browser POST, particularly when used insingle sign-on operations. It uses a self-posting form during theestablishment and use of a trusted session between an identity provider, aservice provider, and a client (browser).

HTTP artifactHTTP artifact is a binding in which a SAML request or response (or both)is transmitted by reference by using a unique identifier that is called anartifact.

A separate binding, such as a SOAP binding, is used to exchange theartifact for the actual protocol message. It enables SAML requestors andresponders to communicate by using an HTTP user agent as anintermediary.

This setting is used when it is not preferable to expose the message contentto the intermediary.

HTTP artifact is sometimes called browser artifact, particularly when usedin single sign-on operations. The HTTP artifact uses a SOAP back channel.

Chapter 2. SAML 2.0 federations 13

Page 24: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

The SOAP back channel is used to exchange an artifact during theestablishment and use of a trusted session between an identity provider, aservice provider, and a client (browser).

SOAP

SOAP is a binding that uses Simple Object Access Protocol (SOAP) forcommunication.

To use SOAP binding, SAML requestors must have a direct communicationpath with SAML responders.

The choice of binding you have depends on the profile you choose to use in yourfederation.

SAML 2.0 name identifier formatsSAML 2.0 name identifier formats control how the users at identity providers aremapped to users at service providers during single sign-on.

Security Access Manager supports the following name identifier formats:

Email addressUse the email address name identifier format if you want a user to log inat the service provider as the same user that they use to log in at theidentity provider.

For example, if a user is logged in at the identity provider as user1, thenthey will also be logged in as user1 at the service provider after singlesign-on.

Persistent aliasesUse the persistent name identifier format if you want a user to log in atthe identity provider as one user, but log in at the service provider as adifferent user.

Before you can use this name identifier format, you must link the user atthe identity provider with the user at the service provider. You can chooseto have the user linking done during single sign-on or by using the aliasservice.

For example, suppose user1 in the identity provider is linked with user2 inthe service provider. If user1 is logged in at the identity provider, thenthey will be logged in as user2 in service provider after single sign-on.

Transient aliasesUse the transient name identifier format if you want a user to log in as ashared anonymous user, regardless of which user that they use to log in atthe identity provider.

For example, suppose user1 is a shared anonymous user in the serviceprovider. If the user is logged in as user2 in the identity provider, thenthey will be logged in as user1 in the service provider after single sign-on.Similarly, if the user is logged in as user3 in the identity provider, thenthey will be logged in also as user1 in the service provider.

See “Alias service” on page 15 for information about how to manage aliases.

14 IBM Security Access Manager Version 9.0 October 2015: Federation Configuration topics

Page 25: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Alias serviceTo manage the aliases, the Federation module uses an alias service. The alias servicestores and retrieves aliases that are related to a federated identity.

Persistent name identifier format allows you to link a user at the identity providerwith a user at the service provider. Security Access Manager stores these accountlinkages in a high-volume database. You can manage these account linkages usingthe alias service REST API. See to the REST API documentation for moreinformation.

Customizing SAML 2.0 identity mappingUse mapping rules to map local identities to SAML 2.0 tokens and to map SAML2.0 tokens to local identities.

You can use an attribute source, such as LDAP, for the identity mapping. SeeManaging attribute sources.

You can use an HTTP external user mapping to map a local identity to a SAML 2.0token and to map SAML 2.0 token to a local identity.

See Managing JavaScript mapping rules for information about how to create ormodify mapping rules.

Mapping a local identity to a SAML 2.0 tokenYou can map a local identity to a SAML 2.0 token for an identity provider.

The Security Access Manager server places the local user identity information intoan XML document that conforms to the security token service universal user(STSUUSER) schema. The identity provider issues a SAML 2.0 token to the serviceprovider. It generates the SAML 2.0 token based on the local identity of the user.You can customize how the local identity is converted into a SAML 2.0 token byusing a mapping rule.

Security Access Manager first converts the local identity to an STS Universal User.It then converts this STS Universal User into another STS Universal User by usinga mapping rule that you provide. After that, it converts the latter STS UniversalUser to a SAML 2.0 token.

Your mapping rule does not operate directly on local identity or SAML 2.0 token.Instead, it operates on the STS Universal User. Any modification that you make toan STS Universal User has an impact on the output SAML 2.0 token.

The mapping rule is responsible for the following tasks:1. Mapping Principal Attr Name to a Principal Name entry. When the token

module generates the token, this Principal name is not directly used. Instead,the value in the Name field is sent as input to the alias service. The aliasservice obtains the alias name, name identifier, for the principal, and places thereturned alias in the generated token module.The type must be valid for SAML. For example:urn:oasis:names:tc:SAML:2.0:assertion

2. Setting the authentication method to the password mechanism. This action isrequired by the SAML standard.

Chapter 2. SAML 2.0 federations 15

Page 26: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

3. Setting the audience of the audience restriction condition to the value of theSTSUU element AudienceRestriction. If this STSUU element is not present, theaudience is set to the Provider ID of the federation partner.

4. Populating the attribute statement of the assertion with the attributes in theAttributeList in the In-STSUU. This information becomes custom information inthe token.Custom attributes might exist that are required by applications that useinformation that is to be transmitted between federation partners.

Mapping a SAML 2.0 token to a local identityYou can map a SAML 2.0 token to a local identity for a service provider.

A service provider consumes a SAML 2.0 token that is issued by an identityprovider. It generates the local identity of the user based on a SAML 2.0 token. Youcan customize how a SAML 2.0 token is converted into the local identity of theuser by using a mapping rule.

Security Access Manager first converts a SAML 2.0 token to an STS Universal User.It then converts this STS Universal User into another STS Universal User by usinga mapping rule that you provide. After that, it converts the latter STS UniversalUser to a local identity of the user.

Your mapping rule does not operate directly on the local identity or SAML 2.0token. Instead, it operates on the STS Universal User. Any modifications that youmake on the STS Universal User impacts the output local identity of the user.

Creating a SAML 2.0 federationCreate a federation by gathering the necessary configuration information for inputinto the local management interface on the appliance.

To set up a federation, follow these steps:1. Create and configure a reverse proxy instance to act as the point of contact for

the federation. See Chapter 4, “Configuring a reverse proxy point of contactserver,” on page 95.

2. Gather the required data. See “Gathering your federation configurationinformation.”

3. Use the local management interface to create your role in the federation. SeeCreating and modifying federation properties.

Next, you can set up your federation partner. See “Creating a SAML 2.0 partner”on page 29.

Gathering your federation configuration informationSetting up a federation requires that you first gather the required informationaccording to your role in the federation.

Procedurev If your role in the federation is a service provider, fill out this worksheet:

“SAML 2.0 service provider worksheet” on page 17v If your role in the federation is an identity provider, fill out this worksheet:

“SAML 2.0 identity provider worksheet” on page 23

16 IBM Security Access Manager Version 9.0 October 2015: Federation Configuration topics

Page 27: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

SAML 2.0 service provider worksheetIf you are the service provider in the federation and use SAML 2.0, use thisworksheet to record your configuration information.

Table 1. Federation protocol

Federation protocol Description Your value

Federation name The name you want to givethis federation.

The name must not containany ASCII control charactersor special characters excepthyphen and underscore.

Select the protocol for thisfederation:

v OpenID Connect

v SAML 2.0

The protocol you want to usein the federation.

In these instructions, useSAML 2.0.

Table 2. Template

Template Description Your value

Select the template:

v Quick Connect

v SAML 2.0

Choose Quick Connect toquickly set up an identityprovider federation to workwith partner templates thatcan assist with theestablishment of federationsto well-known partners.

Choose SAML 2.0 to use thefull set of configurationoptions.

Because this is SAML 2.0service provider worksheet,select SAML 2.0 as thetemplate.

The template cannot bechanged after a federation iscreated.

SAML 2.0

Table 3. General information

General information Description Your value

Company name The name of the companythat is creating this provider.

Chapter 2. SAML 2.0 federations 17

Page 28: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Table 3. General information (continued)

General information Description Your value

Role Your role is either IdentityProvider or ServiceProvider.

An identity providervouches for the identity ofthe end user. The IdentityProvider authenticates theuser and provides anauthentication token to theservice provider.

A service provider providesa service to end users. Inmost cases, service providersdo not authenticate users,but instead requestauthentication decisionsfrom an identity provider.You cannot change the roleafter a federation is created.

Service provider

Table 4. Point of contact server

Point of contact server Description Your value

Point of contact server URL The endpoint URL of thepoint of contact server. Thepoint of contact server is areverse proxy server that isconfigured in front of theruntime listening interfaces.The format is

http[s]://hostname[:portnumber]/[junction]/sps

Table 5. Profile selection

Profile selection Description Your value

SAML 2.0 profile options:

v Web Browser SingleSign-on

v Name IdentifierManagement

v Single Logout

The profile for yourfederation. The Web BrowserSingle Sign-on profile mustbe selected by default. Youcannot clear this selection.

For more information aboutprofiles, see “SAML 2.0profiles” on page 4.

18 IBM Security Access Manager Version 9.0 October 2015: Federation Configuration topics

Page 29: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Table 6. Single Sign-on settings

Settings Description Your value

Bindings:

You can choose one or morebinding options.

v HTTP Artifact

v HTTP POST

v HTTP Redirect

The choice of bindingdepends on the type ofmessages sent. For example,an authentication requestmessage can be sent fromservice provider to anidentity provider. Theresponse message can be sentfrom an identity provider toa service provider by usingeither HTTP POST or HTTPartifact.

A pair of partners in afederation does not need touse the same binding.

Require signature onincoming SAML assertions

Specifies that you requireyour partner to sign SAMLassertions. You will validatethe signature on theincoming SAML assertions.

Require outgoing SAMLauthentication requests tobe signed

Specifies that you requireyour partner to validate thesignature on SAMLauthentication requests. Youwill sign the outgoing SAMLauthentication requests.

Table 7. Name Identifier Management settings

Settings Description Your value

Bindings:

You can choose one or morebinding options.

v HTTP Artifact

v HTTP POST

v HTTP Redirect

v HTTP SOAP

The choice of bindingdepends on the type ofmessages sent. A pair ofpartners in a federation doesnot need to use the samebinding.

Message signatures Selectwhich outgoing SAMLmessages require a signature:

v Name identifiermanagement requests

v Name identifiermanagement responses

Specifies whether you willsign the outgoing SAMLname identifier managementrequests and responses.

Chapter 2. SAML 2.0 federations 19

Page 30: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Table 8. Single logout settings

Settings Description Your value

Bindings:

You can choose one or morebinding options.

v HTTP Artifact

v HTTP POST

v HTTP Redirect

v HTTP SOAP

The choice of bindingdepends on the type ofmessages sent. A pair ofpartners in a federation doesnot need to use the samebinding.

Message signatures Selectwhich outgoing SAMLmessages require a signature:

v Single logout requests

v Single logout responses

Specifies whether you willsign the outgoing SAMLlogout requests andresponses.

Table 9. Signature options

Signatures Description Your value

Certificate database Select the database where thesigning certificate is stored

Certificate label Name of the certificate to usefor signing.

20 IBM Security Access Manager Version 9.0 October 2015: Federation Configuration topics

Page 31: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Table 9. Signature options (continued)

Signatures Description Your value

Include the followingKeyInfo elements

Determine which KeyInfoelements to include in thedigital signature for a SAMLmessage or assertion.

X509 certificate dataSpecify whether youwant the BASE64encoded certificatedata to be includedwith your signature.The default action isto include the X.509certificate data.

X509 Subject NameSpecify whether youwant the subjectname to be includedwith your signature.The default action isto exclude the X.509subject name.

X509 Subject Key IdentifierSpecify whether youwant the X.509subject keyidentifier to beincluded with yoursignature. Thedefault action is toexclude the subjectkey identifier.

X509 Subject Issuer DetailsSpecify whether youwant the issuername and thecertificate serialnumber to beincluded with yoursignature. Thedefault action is toexclude the X.509subject issuerdetails.

Public keySpecify whether youwant the public keyto be included withyour signature. Thedefault action is toexclude the publickey.

Chapter 2. SAML 2.0 federations 21

Page 32: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Table 10. Encryption options

Signatures Description Your value

Certificate database Select the database where theencryption certificate isstored

Certificate label Name of the certificate to usefor encryption.

Table 11. SAML message settings

Message settings Description Your value

Message Lifetime inseconds

An integer value specifyingthe length of time, inseconds, that a message isvalid. The default value is300.

Artifact Lifetime in seconds The length of time, inseconds, that an artifact isconsidered valid. This field isonly valid when HTTPartifact binding has beenenabled. The default valueis 120.

Session Timeout in seconds The length of time, inseconds, that the sessionremains valid. The defaultvalue is 7200.

Select which outgoingmessages require asignature:

v Artifact requests

v Artifact responses

Specifies whether you willsign the outgoing SAMLartifact requests andresponses.

22 IBM Security Access Manager Version 9.0 October 2015: Federation Configuration topics

Page 33: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Table 12. Identity mapping settings

Identity mapping Description Your value

Identity mapping options

v Use JavaScripttransformation foridentity mapping

v Use an external webservice for identitymapping

If you configure an identityprovider, this mappingspecifies how to create anassertion that containsattributes that are mappedfrom a local user account.

If you configure a serviceprovider, this mappingspecifies how to match anassertion from the partner tothe local user accounts.

If you choose JavaScript formapping, on a subsequentpanel, you are asked to selectthe JavaScript file to use.

If you choose an externalweb service, on a subsequentpanel, you are asked toprovide the followinginformation:

v URI format (HTTP orHTTPS)

v Web service URI

v Server Certificate database,if the URI format isHTTPS

v Client authentication type,if the URI format isHTTPS

v Message format:

– XML

– WS-Trust

After you complete the tables, continue with the instructions in Creating andmodifying a federation.

SAML 2.0 identity provider worksheetIf you are the identity provider in the federation and use SAML 2.0, record yourconfiguration information in the following tables.

Table 13. Federation protocol

Federation protocol Description Your value

Federation name The name you want to givethis federation.

The name must not containany ASCII control charactersor special characters excepthyphen and underscore.

Select the protocol for thisfederation:

v OpenID Connect

v SAML 2.0

The protocol you want to usein the federation.

In these instructions, useSAML 2.0.

Chapter 2. SAML 2.0 federations 23

Page 34: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Table 14. Template

Template Description Your value

Select the template:

v Quick Connect

v SAML 2.0

Choose Quick Connect toquickly set up an identityprovider federation to workwith partner templates thatcan assist with theestablishment of federationsto well-known partners.

Choose SAML 2.0 to use thefull set of configurationoptions.

The template cannot bechanged after a federation iscreated.

Table 15. General information

General information Description Your value

Company name The name of the companythat is creating this provider.

Role Your role is either IdentityProvider or ServiceProvider.

An identity providervouches for the identity ofthe end user. The IdentityProvider authenticates theuser and provides anauthentication token to theservice provider.

A service provider providesa service to end users. Inmost cases, service providersdo not authenticate users,but instead requestauthentication decisionsfrom an identity provider.You cannot change the roleafter a federation is created.

Identity provider

Table 16. Point of contact server

Point of contact server Description Your value

Point of contact server URL The endpoint URL of thepoint of contact server. Thepoint of contact server is areverse proxy server that isconfigured in front of theruntime listening interfaces.The format is

http[s]://hostname[:portnumber]/[junction]/sps

24 IBM Security Access Manager Version 9.0 October 2015: Federation Configuration topics

Page 35: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Table 17. Profile selection

Profile selection Description Your value

SAML 2.0 profile options:

v Web Browser SingleSign-on

v Name IdentifierManagement

v Single Logout

The profile for yourfederation. The Web BrowserSingle Sign-on profile mustbe selected by default. Youcannot clear this selection.

For more information aboutprofiles, see “SAML 2.0profiles” on page 4.

Table 18. Single Sign-on settings

Settings Description Your value

Bindings:

You can choose one or morebinding options.

v HTTP Artifact

v HTTP POST

v HTTP Redirect

The choice of bindingdepends on the type ofmessages sent. For example,an authentication requestmessage can be sent from aservice provider to anidentity provider. Theresponse message can be sentfrom an identity provider toa service provider by usingeither HTTP POST or HTTPartifact.

A pair of partners in afederation does not need touse the same binding.

Amount of time, in seconds,before the issue date that anassertion is considered valid

Specifies that you requireyour partner to sign SAMLvalidations. You will validatethe signature on theincoming SAML assertions.

Amount of time, in seconds,that the assertion is validbefore being issued

Specifies that you requireyour partner to validate thesignature on SAMLauthentication requests. Youwill sign the outgoing SAMLauthentication requests.

Require consent to federate Requires the identityprovider to present a page tothe user verifying thefederation request.

Require signature onincoming SAML assertions

Specifies that you requireyour partner to sign SAMLassertions. You will validatethe signature on theincoming SAML assertions.

Require outgoing SAMLauthentication requests tobe signed

Specifies that you requireyour partner to validate thesignature on SAMLauthentication requests. Youwill sign the outgoing SAMLauthentication requests.

Chapter 2. SAML 2.0 federations 25

Page 36: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Table 19. Name Identifier Management settings

Settings Description Your value

Bindings:

You can choose one or morebinding options.

v HTTP Artifact

v HTTP POST

v HTTP Redirect

v HTTP SOAP

The choice of bindingdepends on the type ofmessages sent. A pair ofpartners in a federation doesnot need to use the samebinding.

Message signatures Selectwhich outgoing SAMLmessages require a signature:

v Name identifiermanagement requests

v Name identifiermanagement responses

Specifies whether you willsign the outgoing SAMLname identifier managementrequests and responses.

Table 20. Single logout settings

Settings Description Your value

Bindings:

You can choose one or morebinding options.

v HTTP Artifact

v HTTP POST

v HTTP Redirect

v HTTP SOAP

The choice of bindingdepends on the type ofmessages sent. A pair ofpartners in a federation doesnot need to use the samebinding.

Message signatures Selectwhich outgoing SAMLmessages require a signature:

v Single logout requests

v Single logout responses

Specifies whether you willsign the outgoing SAMLlogout requests andresponses.

Table 21. Signature options

Signatures Description Your value

Certificate database Select the database where thesigning certificate is stored

Certificate label Name of the certificate to usefor signing.

26 IBM Security Access Manager Version 9.0 October 2015: Federation Configuration topics

Page 37: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Table 21. Signature options (continued)

Signatures Description Your value

Include the followingKeyInfo elements

Determine which KeyInfoelements to include in thedigital signature for a SAMLmessage or assertion.

X509 certificate dataSpecify whether youwant the BASE64encoded certificatedata to be includedwith your signature.The default action isto include the X.509certificate data.

X509 Subject NameSpecify whether youwant the subjectname to be includedwith your signature.The default action isto exclude the X.509subject name.

X509 Subject Key IdentifierSpecify whether youwant the X.509subject keyidentifier to beincluded with yoursignature. Thedefault action is toexclude the subjectkey identifier.

X509 Subject Issuer DetailsSpecify whether youwant the issuername and thecertificate serialnumber to beincluded with yoursignature. Thedefault action is toexclude the X.509subject issuerdetails.

Public keySpecify whether youwant the public keyto be included withyour signature. Thedefault action is toexclude the publickey.

Chapter 2. SAML 2.0 federations 27

Page 38: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Table 22. Encryption options

Signatures Description Your value

Certificate database Select the database where theencryption certificate isstored

Certificate label Name of the certificate to usefor encryption.

Table 23. SAML message settings

Message settings Description Your value

Message Lifetime inseconds

An integer value specifyingthe length of time, inseconds, that a message isvalid. The default value is300.

Artifact Lifetime in seconds The length of time, inseconds, that an artifact isconsidered valid. This field isonly valid when HTTPartifact binding has beenenabled. The default valueis 120.

Session Timeout in seconds The length of time, inseconds, that the sessionremains valid. The defaultvalue is 7200.

Select which outgoingmessages require asignature:

v Artifact requests

v Artifact responses

Specifies whether you willsign the outgoing SAMLartifact requests andresponses.

28 IBM Security Access Manager Version 9.0 October 2015: Federation Configuration topics

Page 39: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Table 24. Identity mapping settings

Identity mapping Description Your value

Identity mapping options

v Use JavaScripttransformation foridentity mapping

v Use an external webservice for identitymapping

If you configure an identityprovider, this mappingspecifies how to create anassertion that containsattributes that are mappedfrom a local user account.

If you configure a serviceprovider, this mappingspecifies how to match anassertion from the partner tothe local user accounts.

If you choose JavaScript formapping, on a subsequentpanel, you are asked to selectthe JavaScript file to use.

If you choose an externalweb service, on a subsequentpanel, you are asked toprovide the followinginformation:

v URI format (HTTP orHTTPS)

v Web service URI

v Server Certificate database,if the URI format isHTTPS

v Client authentication type,if the URI format isHTTPS

v Message format:

– XML

– WS-Trust

After you complete the tables, continue with the instructions in Creating andmodifying a federation.

Creating a SAML 2.0 partnerCreate a federation partner by gathering the necessary configuration informationfor input into the local management interface on the appliance.

To set up a federation, follow these steps:1. Gather the required data. See “Obtaining federation configuration data from

your partner.”2. Use the local management interface to configure your partner. See Managing

federated partners. This process includes exporting a metadata file for thepartner.

Obtaining federation configuration data from your partnerYou must obtain configuration information from your partner before you can addthat partner to a federation.

The partner can export the federation configuration to a metadata file.

To help you gather the appropriate information from your partner, complete theappropriate worksheet for the role that your partner will have in the federation:v If you are the identity provider, add a service provider partner. Use the “SAML

2.0 service provider partner worksheet” on page 30.v If you are the service provider, add an identity provider partner. Use the “SAML

2.0 identity provider partner worksheet” on page 33.

Chapter 2. SAML 2.0 federations 29

Page 40: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

After gathering the configuration information of your partner, use the localmanagement interface to add the federation partner properties. See Managingfederation partners.

SAML 2.0 service provider partner worksheetIf you use SAML 2.0 in your role as an identity provider, you must add a serviceprovider partner to your federation.

Use the following worksheet to gather the necessary information from yourpartner. Modify this worksheet to reflect the specific information that you needfrom your partner and ask your partner to complete that modified worksheet.

Table 25. Federation to which you are adding a service provider partner in a SAML 2.0federation

Select Federation Description Your value

Federation name The name of the federationto which you are adding thepartner.

Table 26. Metadata file from your service provider partner in a SAML 2.0 federation

Import metadata Description Your value

Metadata file The name and path of thefile you obtained from yourpartner that contains theconfiguration information ofyour partner.

Table 27. Single sign-on settings

Single sign-on settings Description Your value

Include the followingattributes in the SAMLassertions

Specify the attributes toinclude in the assertion. Thesource attributes must becreated first.

Include the followingattribute types in the SAMLassertions (a "*" meansinclude all types)

Specify the types ofattributes to include in theassertion. The asterisk (*),which is the default setting,indicates that all of theattribute types will beincluded in the assertion.

Amount of time, in seconds,that an idle session for thepartner remains valid

Amount of time, in seconds,that an idle session for thepartner remains valid. Thedefault value is 3600seconds.

30 IBM Security Access Manager Version 9.0 October 2015: Federation Configuration topics

Page 41: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Table 27. Single sign-on settings (continued)

Single sign-on settings Description Your value

Include federation ID whenperforming alias serviceoperations.

Indicates whether the key forindexing into the aliasservice combines thefederation ID with thepartner Provider ID whenperforming alias serviceoperations.

This feature is useful inscenarios where two or morefederations, that usepersistent name identifiers,import the same partnermetadata.

Table 28. Server certificate validation for your service provider partner in a SAML 2.0federation.Note: Provide the SOAP SSL connection parameters, only if SOAP endpoint ishttps.

SSL server validation forSOAP endpoints Description Your value

Select Server ValidationCertificate

The public key for thecertificate that shows duringSSL communication withyour partner.

You and your partner mustagree which certificate touse. You must have alreadyobtained the certificate andadded it to your truststore.

Certificate database Select the database where thecertificate is stored.

Certificate label Name of the certificate to usefor server validation. If notprovided, all certificates inthe specified certificatedatabase will be trusted.

Chapter 2. SAML 2.0 federations 31

Page 42: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Table 29. Client authentication for your service provider partner in a SAML 2.0 federation

SSL Client Authenticationfor SOAP endpoints Description Your value

Client authenticationinformation

v No authentication

v Basic authentication

– Username

– Password

v Client certificateauthentication

– Certificate to present tothe server of theidentity provider.

This certificate is thecertificate that you andyour identity providerpartner agreed topresent.

If your partner requiresmutual authentication, youmust know which type touse.

Select No authentication ifyour partner does notrequire authentication.

If it is basic authentication,you need a user name andpassword.

If it is client certificateauthentication, you need thecertificate that you and yourpartner have agreed to use.Note: If you need acertificate, be sure that youhave agreed with yourpartner where it comes from.Obtain and import it into theappropriate keystore.

One of the following options:

v No authentication

v Basic authenticationinformation:

– Username:

– Password:

v Client certificateauthentication information:

– Certificate database

– Certificate label

Table 30. Identity Mapping options for your service provider partner in a SAML 2.0federation

Identity Mapping Options Description Your value

Identity mapping options

v Use the identity mappingthat is configured for thispartner's federation.

v Use JavaScripttransformation for identitymapping

v Use an external webservice for identitymapping

The type of identity mappingto use with this partner. Youcan choose to use theidentity mapping that isconfigured for this partner'sfederation. Or, you canchoose to override theidentity mapping that isconfigured for this partner'sfederation.

If you choose JavaScript formapping, on a subsequentpanel, you are asked to selectthe JavaScript file to use.

If you choose an externalweb service, on a subsequentpanel, you are asked toprovide the followinginformation:

v URI format (HTTP orHTTPS)

v Web service URI

v Server Certificate database,if the URI format isHTTPS

v Client authentication type,if the URI format isHTTPS

v Message format:

– XML

– WS-Trust

.

32 IBM Security Access Manager Version 9.0 October 2015: Federation Configuration topics

Page 43: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

After you complete this worksheet, continue with the steps in Managing federationpartners.

SAML 2.0 identity provider partner worksheetIf you use SAML 2.0 in your role as a service provider, you must add an identityprovider partner to your federation.

Use the following worksheet to gather the necessary information from yourpartner. Modify this worksheet to reflect the specific information that you needfrom your partner and ask your partner to complete that modified worksheet.

Table 31. Federation to which you are adding an identity provider partner in a SAML 2.0federation

Select Federation Description Your value

Federation name The name of the federationto which you are adding thepartner.

Table 32. Metadata file from your identity provider partner in a SAML 2.0 federation

Import metadata Description Your value

Metadata file The name and path of thefile you obtained from yourpartner that has theirconfiguration information.

Table 33. Single sign-on settings

Single sign-on settings Description Your value

Include the followingattributes in the SAMLassertions

Specify the attributes toinclude in theSTSUniversalUser. Thesource attributes must becreated first.

Force authentication toachieve account linkage

Specify if a user is forced toauthenticate at the serviceprovider to perform accountlinkage. This event occurs ifa SAML response is receivedwith an unknown alias in theservice provider.

Include federation ID whenperforming alias serviceoperations

Indicates whether the key forindexing into the aliasservice combines thefederation ID with thepartner Provider ID whenperforming alias serviceoperations.

This feature is useful inscenarios where two or morefederations, that usepersistent name identifiers,import the same partnermetadata.

Chapter 2. SAML 2.0 federations 33

Page 44: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Table 33. Single sign-on settings (continued)

Single sign-on settings Description Your value

Username to be used foranonymous users

Use this name identifier toaccess a service through ananonymous identity. Theuser name entered here isone that the service providerrecognizes as a one-timename identifier for alegitimate user in the localuser registry.

This feature gives usersaccess to a resource on theservice provider withoutestablishing a federatedidentity. This feature isuseful in scenarios where theservice provider does notneed to know the identity ofthe user account but mustonly know that the identityprovider has authenticated(and can vouch for) the user.

Map unknown nameidentifiers to theanonymous username

Specifies that the serviceprovider can map anunknown persistent nameidentifier alias to theanonymous user account.

Create multiple attributestatements in the UniversalUser

Select this check box to keepmultiple attribute statementsin the groups they werereceived in. This optionmight be necessary if yourcustom identity mappingrules are written to operateon one or more specificgroups of attributestatements. If this check boxis not selected, multipleattribute statements arearranged into a single group(AttributeList) in theSTSUniversalUser document.

34 IBM Security Access Manager Version 9.0 October 2015: Federation Configuration topics

Page 45: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Table 34. Server certificate validation.Note: Provide the SOAP SSL connection parameters, only if SOAP endpoint ishttps.

SSL server validation forSOAP endpoints Description Your value

Select Server ValidationCertificate

The public key for thecertificate that shows duringSSL communication withyour partner.

You and your partner mustagree which certificate touse. You must have alreadyobtained the certificate andadded it to your truststore.

Certificate database Select the database where thecertificate is stored.

Certificate label Name of the certificate to usefor server validation. If notprovided, all certificates inthe specified certificatedatabase will be trusted.

Table 35. Client authentication

SSL Client Authenticationfor SOAP endpoints Description Your value

Client authenticationinformation

v No authentication

v Basic authentication

– Username

– Password

v Client certificateauthentication

– Certificate to present tothe server of theidentity provider.

This certificate is thecertificate that you andyour identity providerpartner agreed topresent.

If your partner requiresmutual authentication, youmust know which type touse.

Select No authentication ifyour partner does notrequire authentication.

If it is basic authentication,you need a user name andpassword.

If it is client certificateauthentication, you need thecertificate that you and yourpartner have agreed to use.Note: If you need acertificate, be sure that youhave agreed with yourpartner where it comes from.Obtain and import it into theappropriate keystore.

One of the following options:

v No authentication

v Basic authenticationinformation:

– Username:

– Password:

v Client certificateauthentication information:

– Certificate database

– Certificate label

Chapter 2. SAML 2.0 federations 35

Page 46: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Table 36. Identity Mapping

Identity Mapping Options Description Your value

Identity mapping options

v Use the identity mappingthat is configured for thispartner's federation.

v Use JavaScripttransformation for identitymapping

v Use an external webservice for identitymapping

The type of identity mappingto use with this partner. Youcan choose to use theidentity mapping that isconfigured for this partner'sfederation. Or, you canchoose to override theidentity mapping that isconfigured for this partner'sfederation.

If you choose JavaScript formapping, on a subsequentpanel, you are asked to selectthe JavaScript file to use.

If you choose an externalweb service, on a subsequentpanel, you are asked toprovide the followinginformation:

v URI format (HTTP orHTTPS)

v Web service URI

v Server Certificate database,if the URI format isHTTPS

v Client authentication type,if the URI format isHTTPS

v Message format:

– XML

– WS-Trust

After you complete this worksheet, continue with the steps in Managing federationpartners.

Configuring STS modulesConfigure Security Token Service (STS) modules to validate and exchange securitytoken types.

About this task

The STS is a component of the federation runtime that accepts WS-Trust requestsfor the validation and exchange of one security token type for another. You canconfigure the STS artifacts, which consist of modules, templates, and chains. Theseconfiguration elements allow an incoming WS-Trust message to be mapped to aparticular template and its configuration.

These steps apply to the configuration for all of the “Supported module types” onpage 37.

Procedure1. Configure the token module prerequisites.v The Attribute Mapping module requires that you set up attribute sources.

See Managing attribute sources.v The Username Token module requires that you set up server connections. See

Managing server connectionsv The LTPA module requires that you import the LTPA key file. See Managing

LTPA keys.

36 IBM Security Access Manager Version 9.0 October 2015: Federation Configuration topics

Page 47: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

v The Default Mapping module requires that you import the JavaScript rulefile. See Managing JavaScript mapping rules.

2. Create a new module instance or use an existing one. See Managing modules.3. Create a new template or use an existing one. See Managing templates.4. Create a new module chain. See Managing module chains.5. Configure the module properties within the chain. Use the Properties tab inside

of the module chain for the module.

Supported module typesSTS modules are assembled as part of an STS chain that issues and validatesspecific types of tokens. IBM Security Access Manager supports several STSmodule types.

Attribute Mapping moduleThe Attribute Mapping STS module injects attribute values from different sourcesinto an STSUU. This method to add attributes into the STSUU is convenient if youdo not know how to write a mapping rule.

The Attribute Mapping module is called AttributeMappingModule.

Before using the attribute mapping module, you must configure the attributesources so that they are available for selection. See Managing attribute sources.

Scenarios

v Single sign-on federationsv Custom trust chains

Supported modes

v Map

Configuration properties

Attribute NameThe attribute name that is populated into the STSUniversalUser.

Attribute SourceThe name of a configured attribute source object. See Managing attributesources for information about configuring attribute sources.

Default Mapping moduleThe Default Mapping module facilitates mapping by using an identity mappingrule.

The Default Mapping module is called XSLTransformationModule. The defaultmapping configuration consists of a JavaScript file that specifies an identitymapping rule. See Managing JavaScript mapping rules.

The module calls a JavaScript engine to read and run the identity mapping rules togenerate a Secure Token Service Universal User (STSUU) XML document. Thegenerated STSUU XML document contains the user identity information.

Scenarios

v Single sign-on federationsv Custom trust chains

Supported modes

v Map

Chapter 2. SAML 2.0 federations 37

Page 48: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Configuration properties

JavaScript file containing the identity mapping ruleThe ID of the JavaScript file that contains the identity mapping rule.

For example, enter 8.

You must complete the mapping rule file and upload it before you canconfigure it into the chain.

HTTP Callout moduleThe HTTP callout module invokes a web service and enriches the STSUU with thereturned contents.

Scenarios

v Single sign-on federationsv Custom trust chains

Supported modes

v Map

Configuration properties

Identify the URI formatThe URI scheme.

HTTPUse http for resources that are not protected by SSL.

HTTPSUse https for resources that are protected by SSL.

Provide the web service URIThe endpoint address of the web service.

Server Certificate DatabaseThe trust store containing the certificate of the HTTPS URL to call out to.This option is only required if the URI format is HTTPS.

Client authentication typeSpecify the type of authentication to use:

No authenticationNo credentials are required.

Basic authenticationSupply the basic authentication credentials:

UsernameSpecify the user name.

PasswordSpecify the password.

Client certificate authenticationAuthenticate using a client certificate

Select the message format to use

XMLUse XML format for the message.

WS-TrustUse WS-Trust format for the message.

38 IBM Security Access Manager Version 9.0 October 2015: Federation Configuration topics

Page 49: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

IVCred moduleThe Access Manager credential module creates and consumes AccessManager-specific credentials. These credentials are called IVCreds.

The IVCred token module is called IVCredModule.The trust service can create anduse local tokens in an environment that is protected by Access Manager. Thesupport for Access Manager credentials means that the trust service can also usethe credentials for authorization decisions.

Supported modes

v Validatev Issue

Configuration properties

Validate mode

Enable signature validationEnables or disables validation of signatures in the token module. Select thecheck box to enable signature validation.

Select validation keySpecifies the validation key that the partner must use.

Certificate DatabaseSelect the certificate database to use for validation.

Certificate LabelSelect the certificate label for validation.

Issue mode

List the attribute types to include

Specifies the attribute type of the attributes to be inserted during tokencreation. The attributes consist of information about the identity (user).

By default, all types are supported, as indicated by the asterisk (*) wildcardcharacter.

Enable signaturesSpecifies that signatures must be added to tokens.

Select the signing keySpecifies the key to use to sign tokens.

Certificate DatabaseSelect the certificate database to use for validation.

Certificate LabelSelect the certificate label for validation.

Select the KeyInfo elements to includeSpecifies the elements of the signing certificate in the extended attributes ofthe credential. These attributes are only included if signatures are enabled.The default is for them to be disabled.

Public KeySelect to include the public key. If selected, the public key of thesigning certificate is included in the Base64 encoded form. Theextended attribute is labeled ITFIM_IVCRED_SIGNER_CERTIFICATE_PUBKEY.

Clear the check box to exclude the public key.

Chapter 2. SAML 2.0 federations 39

Page 50: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

X509 Subject NameSelect to include this attribute. If selected, the distinguished name ofthe subject for the signing certificate is included. The extendedattribute is labeled ITFIM_IVCRED_SIGNER_CERTIFICATE_SUBJECT.

Clear the check box to exclude the X509 Subject Name.

X509 Subject Issuer Details Select to include this attribute. If selected, the issuer details of thesigning certificate are included. The extended attribute is labeledITFIM_IVCRED_SIGNER_CERTIFICATE_ISSUER.

Clear the check box to exclude the X509 Subject Issuer Details.

X509 Subject Key Identifier Select to include this attribute. If selected, the subject key identifier ofthe signing certificate is included. The extended attribute is labeledITFIM_IVCRED_SIGNER_CERTIFICATE_SKI.

Clear the check box to exclude the X509 Subject Key Identifier.

X509 Certificate DataSelect to include this attribute. If selected, the certificate data of thesigning certificate is included in the Base64 encoded form. Theextended attribute is labeled ITFIM_IVCRED_SIGNER_CERTIFICATE.

Clear the check box to exclude the X509 Certificate Data.

Note: If none of the KeyInfo elements are selected, X509Certificate data isstill included in the signature by default.

LTPA moduleThe LTPA module facilitates the validating and issuing of LTPA version 1 andversion 2 tokens.

The LTPA module is called STSLTPATokenModule.

An LTPA token is an encrypted string that contains user information and othermetadata. Version 1 tokens contain fairly limited information, such as usernameand token expiration time. Version 2 tokens are extensible in that they can containuser-defined attributes, where each attribute can contain a list of values.

These tokens are represented as BinarySecurityToken elements.

This module does not support the initial generation of LTPA keys. You mustprovide a set of LTPA keys that were generated by another source such as aWebSphere® application server.

Supported modes

v Validatev Issue

Configuration propertiesValidate mode

LTPA fileSelect the LTPA file to use.

You must upload the LTPA file into /wga/ltpa_key first for it to display inthe list.

40 IBM Security Access Manager Version 9.0 October 2015: Federation Configuration topics

Page 51: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Password for key protection(Required) The password that was used to protect the keys that are createdby the partner.

Use the FIPS standardSelect to enable the Federal Information Processing Standards (FIPS). IfFIPS was enabled when you created your partner, select this check box.The default is unchecked.

Issue mode

LTPA fileSelect the LTPA file to use.

You must upload the LTPA file into /wga/ltpa_key first for it to display inthe list.

Password for key protection (Required) The password that was used to protect the keys that are createdby the partner. It must be the same password that was used when the keyswere created by the partner.

Use the FIPS standardSelect to enable the Federal Information Processing Standards (FIPS). IfFIPS was enabled when you created your partner, select this check box.The default is unchecked.

Number of minutes before the created token expires(Required) Indicates how long, from the time of token creation, the tokenremains valid. Specify the value in minutes. You can override this value byusing the expiration Principle value in the Universal User. The defaultvalue is 120 minutes.

Realm used to create the user IDThe realm name to append to the user ID during token creation. You canoverride this value by using the realm Principle value in the UniversalUser. If you do not specify a name here, then the realm from the importedLTPA file is assumed.

Version of LTPA token to issueThe version number of the LTPA token you are issuing. Select 1 or 2 fromthe list, denoting LTPA Version 1 or Version 2.

Attributes to add to a version 2 token

Specify the type of attributes to include in the assertion. Use this field onlyfor LTPA Version 2 tokens. An asterisk (*) indicates that all of the attributetypes that are specified in the identity mapping file are included in theassertion.

To specify one specific type individually, type the attribute type in the textbox. For example, if you want to include only attributes of typeurn:oasis:names:tc:SAML:2.0:assertion in the assertion, type that stringin the text box.

SAML 2.0 moduleThe SAML 2.0 module validates and issues SAML 2.0 tokens. This module is usedfor single sign-on in SAML 2.0 federations.

The SAML 2.0 module is called Saml20STSTokenModule.

Chapter 2. SAML 2.0 federations 41

Page 52: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Security Assertion Markup Language 2.0 (SAML 2.0) is a version of the SAMLstandard for exchanging authentication and authorization data between securitydomains. SAML 2.0 enables web-based authentication and authorization scenariosincluding cross-domain single sign-on (SSO), which helps reduce theadministrative overhead of distributing multiple authentication tokens to the user.

Scenarios

v Single sign-on federationsv Custom trust chains

Supported modes

v Validatev Issuev Exchange

Configuration propertiesValidate mode

Enable one-time assertion use enforcementSpecifies whether to use the assertion or token only once.

Enable signature validationEnables or disables validation of signatures in the token module. Even ifyou do not select the check box, you must provide the key for decryption.

Select a validation keySpecifies the validation key that the partner must use.

Use the KeyInfo of the XML signature to find the X509 certificatefor signature validation

Determines the appropriate certificate for signature validation. Whenyou select this option, you must provide the subject distinguishedname that matches the certificate.

RegExpSpecifies a regular expression to validate the subject distinguishedname returned in theKeyInfo.

Use the keystore alias to find the public key for signaturevalidation

Specifies a public key for signature validation, which is the default.Select the certificate database and label.

Certificate DatabaseSelect the certificate database to use for validation.

Certificate LabelSelect the certificate label for validation.

Select a decryption keySelect the key to use to decrypt encrypted messages.

Certificate DatabaseSelect the certificate database to use for validation.

Certificate LabelSelect the certificate label for validation.

Create multiple attribute statements in the Universal UserSpecifies whether to keep multiple attribute statements in the groups in

42 IBM Security Access Manager Version 9.0 October 2015: Federation Configuration topics

Page 53: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

which they were received. This option might be necessary if your customidentity mapping rules are written to operate on one or more specificgroups of attribute statements.

If you do not select this check box, multiple attribute statements arearranged into a single group (AttributeList) in the STSUniversalUserdocument. The default setting of the check box is not selected. This settingis appropriate for most configurations.

Map unknown name identifiers to the anonymous usernameSpecifies that the service provider can map an unknown persistent nameidentifier alias to the anonymous user account. By default, this option isdisabled.

Default NameID format for assertion validationSpecifies a parameter for use during validation of a SAML assertion. Theparameter is used to determine processing rules for the NameID elementwhen one of the following conditions exists:v If there is not an explicit Format attribute that is included in the

assertionv If the Format attribute is urn:oasis:names:tc:SAML:2.0:nameid-

format:unspecified

Typically this parameter is needed only for STS chains that process SAMLassertions that do not set the Format attribute. A normal example value isurn:oasis:names:tc:SAML:2.0:nameid-format:emailAddress.

Issue and Exchange mode

Name of the organization issuing the assertionsShows a string that specifies the name of the organization (for example, acompany) that issues the SAML assertions.

Amount of time before the issue date that an assertion is consideredvalid (seconds)

Default: 60 seconds

There is no minimum or maximum value enforced.

This field must contain a value.

Amount of time that the assertion is valid after being issued (seconds)Default: 60 seconds

There is no minimum or maximum value enforced.

This field must contain a value.

List the attribute types to includeSpecifies the types of attributes to be inserted during token creation. Theattributes consist of information about the identity (user). Use && toseparate attribute types. By default, all types are supported, as indicated bythe asterisk (*) wildcard character.

For example, to add user-defined attribute types type1 and type2, enter:type1&&type2

Sign SAML assertionsSelect if SAML assertions must be signed. Even if you do not select thecheck box, you must provide the key for encryption assertions.

Select the key for signing assertionsSpecifies the key to use when signing SAML assertions.

Chapter 2. SAML 2.0 federations 43

Page 54: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Certificate DatabaseSelect the certificate database to use for validation.

Certificate LabelSelect the certificate label for validation.

Select the KeyInfo elements to include Determines what KeyInfo elements to include in the digital signaturewhen signing a SAML message or assertion. Select one or more of thefollowing elements.

X509 Subject Key IdentifierSelect to include the X.509 subject key identifier with yoursignature. If not selected, the subject key identifier is excluded. Tochange the default for this element, change it in the customproperties.

Public KeySelect to include the public key with your signature. If not selected,the public key is excluded. To change the default for this element,change it in the custom properties.

X509 Subject Issuer DetailsSelect to include the issuer name and the certificate serial numberwith your signature. If not selected, the subject issuer details areexcluded. To change the default for this element, change it in thecustom properties.

X509 Subject NameSelect to include the X.509 subject name with your signature. If notselected, the X.509 data is excluded. To change the default for thiselement, change it in the custom properties.

X509 Certificate DataSelect to include the BASE64 encoded certificate data with yoursignature. If not selected, the X.509 data is excluded. To change thedefault for this element, change it in the custom properties.

Note: If you do not select any of the KeyInfo elements, X.509 certificatedata is still included in the signature by default.

Signature algorithm for signing SAML assertionsSpecifies the signature algorithm to use to sign the SAML assertion.

RSA-SHA1http://www.w3.org/2000/09/xmldsig#rsa-sha1

DSA-SHA1http://www.w3.org/2000/09/xmldsig#dsa-sha1

RSA-SHA256http://www.w3.org/2001/04/xmldsig-more#rsa-sha256

Note: The chosen signature algorithm must match the signing key typethat was set in the federation level to prevent a signature failure. Forexample, select DSA-SHA1 for DSA keys.

Select the key for encrypting assertion elements for this partnerSpecifies the key to use to encrypt assertions.

Certificate DatabaseSelect the certificate database to use for validation.

44 IBM Security Access Manager Version 9.0 October 2015: Federation Configuration topics

Page 55: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Certificate LabelSelect the certificate label for validation.

Encrypt assertionsSpecifies whether assertions are to be encrypted. If selected, specify anencryption key.

Encrypt assertion attribute elementsSpecifies whether Attribute elements within the assertions are to beencrypted. If selected, specify an encryption key.

Encrypt NameID elements in assertionsSpecifies whether NameID elements in the assertions are to be encrypted. Ifselected, specify an encryption key.

Block encryption algorithmSpecifies the encryption algorithm to use to encrypt data for this partner.

Triple DES Triple Digital Encryption Standard

AES-128Advanced Encryption Standard 128-bit

AES-192Advanced Encryption Standard 192-bit

AES-256Advanced Encryption Standard 256-bit

Subject confirmation methodSpecifies the subject confirmation method for the assertion. You can selectone or more subject confirmation methods at the same time, or choose notto select any confirmation methods. If you select the holder-of-key type,the default includes the X.509 Certificate Data in the KeyInfo for theSubjectConfirmationMethod. STSUniversalUser can provide the data for thesubject confirmation method KeyInfo. The data can also be extracted fromthe signed request data.

Valid values can be:v urn:oasis:names:tc:SAML:2.0:bearer

v urn:oasis:names:tc:SAML:2.0:holder-of-key

v urn:oasis:names:tc:SAML:2.0:sender-vouches

You can use the identity mapping rules to add subject confirmationinformation to the STSUniversalUser. See the example of an XSLT mappingrule with multiple subject confirmation methods:<stsuuser:Attribute name="SamlSubjectConfirmationMethod"type="urn:oasis:names:tc:SAML:2.0:assertion"><stsuuser:Value>urn:oasis:names:tc:SAML:2.0:cm:bearer</stsuuser:Value><stsuuser:Value>urn:oasis:names:tc:SAML:2.0:cm:holder-of-key</stsuuser:Value>

</stsuuser:Attribute>

Another way to add subject confirmation information is by usingconfiguration properties. See the topic on “SAML 2.0 module properties”on page 53.

Note: The values set in the identity mapping rule take precedence over thesettings in the configuration. If there are different values for the mappingrule and response file, the assertion contains the values that were set in the

Chapter 2. SAML 2.0 federations 45

Page 56: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

mapping rule.For the SubjectConfirmationMethod to be issued correctly, the client mustsign the RequestSecurityToken request and include a KeyInfo used for theSCM when sending the RequestSecurityToken. To use the holder-of-keycapability, the XSLT mapping rules must be updated.For example:<stsuuser:AttributeList><stsuuser:Attribute name="SamlSubjectConfirmationMethod"type="urn:oasis:names:tc:SAML:2.0:assertion"><stsuuser:Value>urn:oasis:names:tc:SAML:2.0:cm:holder-of-key</stsuuser:Value>

</stsuuser:Attribute></stsuuser:AttributeList>

STS Universal User moduleThe Security Token Service Universal User (STSUU) module acts as a pass-throughmodule to either pass in or out an XML-based STSUniversalUser token.

The STS Universal User module is called STSUUSTSModule.

This module is useful for testing other STS modules or for simple custom trustclient applications. It provides a simple means to directly call the trust service toissue more complex token types without having to first pass in another token, andthen perform a mapping operation.

The input STSUniversalUser token can contain the username, any extendedattributes, and any attributes required for issuing the SAML assertion, as generatedby the caller of the trust service.

No mapping step is required.

Scenario

v Custom trust chains

Supported modes

v Validatev Issuev Exchange

Configuration propertiesNone.

Username token moduleThe Username token STS module validates and issues UsernameToken elements.

The Username token STS module is called UsernameTokenSTSModule. The STShandles a Username token as both an incoming and outgoing token type.

The one supported username and password validation method directly accessesthe underlying Security Access Manager registry through LDAP rather thanthrough authorization servers or the policy server.

This module requires an LDAP server that you must define by using the localmanagement interface. See Managing server connections.

Scenario

v Custom trust chains

46 IBM Security Access Manager Version 9.0 October 2015: Federation Configuration topics

Page 57: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Supported modes

v Validatev Issue

Configuration properties (Validate mode)

Skip password validationDo not perform password validation for the Username token. The defaultvalue is cleared.

Server Connection IDThe name of the server connection that holds the required LDAP settingsto access the Security Access Manager registry. This property is required ifpassword validation is not skipped.

Management DomainThe management domain of Security Access Manager. The default isDefault.

Login Failures PersistentLogin failures are used with the three-strikes policy.

If this option is set to false, each process that uses this API stores thenumber of login failures in memory. If multiple servers are involved, thetotal number of login failures to trigger a strike-out might vary.

If this option is set to true, the strike count is stored in LDAP and sharedacross all servers. Therefore, an accurate count is kept in a multi-serverenvironment.

The default is false.

Maximum Server ConnectionsThe maximum number of connections that are made to the Security AccessManager registry.

The default is 16.

Enable the time validity check, based on created time and the amount oftime permitted after the issue

Specifies a required created time element on the Username token whenchecked. This property is enabled by default. The software compares thevalue of the created time element against the value that specifies theamount of time that the token is valid after it is issued.

Amount of time the token is valid after being issuedThe amount of time a token is valid after it is issued. The default value is300 seconds. A value of -1 means that the token does not expire.

Configuration properties (Issue mode)

Include nonce in tokenIncludes a nonce (random bits used for obfuscating the element) in thetoken. When the password option 4 is specified, this value has no effect.

Include token creation time in tokenAdds a time stamp to the token, indicating the creation time of the token.

Options for including password in the tokenIndicates whether to include the password in the token. When thepassword is included, you can specify the format.

Do not include the passwordSpecifies that you do not want to include the password in the token.

Chapter 2. SAML 2.0 federations 47

Page 58: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Include the digest of the password valueSpecifies that you want to include the password in the token as thedigest of the password value.

Include the password in clear textSpecifies that you want to include the password in the token as cleartext.

Token module propertiesConfigure token modules so that it contains the appropriate values for yourenvironment.

Attribute Mapping module propertiesYou can define Attribute Mapping module self or partner properties.

Table 37. Attribute Mapping module properties

Appliance property Self or Partner Mode Description

attribute.mappings PARTNER, SELF Map Attribute Mapping in the format:attributeName_attributeSourceID.

Default Mapping module propertiesYou can define Default Mapping module self or partner properties.

Table 38. Default Mapping module properties

Appliance property Self or Partner Mode Description

map.rule.reference.ids PARTNER, SELF Map Specifies the ID of the JavaScript filecontaining the identity mapping rule.

HTTP Callout module propertiesYou can define HTTP Callout module self or partner properties.

Table 39. HTTP Callout module properties

Appliance property Self or Partner Mode Description

uri PARTNER, SELF Map Specifies the endpoint address of theweb service.

48 IBM Security Access Manager Version 9.0 October 2015: Federation Configuration topics

Page 59: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Table 39. HTTP Callout module properties (continued)

Appliance property Self or Partner Mode Description

authType PARTNER, SELF Map Specifies the client authenticationtype:

NONESpecifies no authentication.

CERTIFICATESpecifies client certificateauthentication. If selected, setthe following client keystoreparameters:v clientKeyStorev clientKeyAlias

BASICSpecifies basic authentication. Ifselected, set the basicauthentication username andpassword parameters:v basicAuthUsernamev basicAuthPassword

sslKeyStore PARTNER, SELF Map Specifies the server certificateinformation. If the uri parameter isan HTTPS endpoint, then set thisparameter to point to the truststorethat contains the HTTPS certificate ofthe endpoint.

clientKeyStore PARTNER, SELF Map Defines the name of the clientcertificate store. It is required if theauthType parameter is set toCERTFICATE.

clientKeyAlias PARTNER, SELF Map Defines the alias of the clientcertificate. It is required if theauthType parameter is set toCERTFICATE.

basicAuthUsername PARTNER, SELF Map Defines the basic authenticationusername. It is required if theauthType parameter is set to BASIC.

basicAuthPassword PARTNER, SELF Map Defines the plain text basicauthentication password. It isrequired if the authType parameter isset to BASIC.

messageFormat PARTNER, SELF Map Defines the plain text basicauthentication password. It isrequired if the authType parameter isset to BASIC.

appliesTo PARTNER, SELF Map If the messageFormat parameter is setto WSTrust, then set this parameter tothe WSTrust applies-to address. Thisvalue is typically formatted as aURL.

Chapter 2. SAML 2.0 federations 49

Page 60: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Table 39. HTTP Callout module properties (continued)

Appliance property Self or Partner Mode Description

issuerUri PARTNER, SELF Map If the messageFormat parameter is setto WSTrust, then set this parameter tothe WSTrust issuer address. Thisvalue is typically formatted as aURL.

IVCred module propertiesYou can define Security Access Manager IVCred token module self or partnerproperties.

Table 40. IVCred module properties

Appliance Property Self or Partner Mode Description

ivcred.attribute.types SELF Issue Specifies the attribute type to includein the assertion.

Enter one attribute type, or use anasterisk (*) for all types.

The default is an asterisk (*).

This property is required.

ivcred.sign.keystore.alias SELF Issue Specifies the signing key identifier,which is keystorename_keyname. Forexample, useDefaultKeyStore_testkey.

This property is required ifivcred.add.signatures=true.

ivcred.add.signatures SELF Issue Specifies that signatures must beadded to tokens.

Set to true to add signatures totokens.

Set to false to exclude signatures intokens.

This property is optional.

ivcred.signing.IncludeX509SubjectKeyIdentifierSELF Issue Specifies whether to include thisattribute.

Set to true to include the X509Subject Key Identifier of the signingcertificate.

Set to false to exclude the X509Subject Key Identifier. This is thedefault.

Required ifivcred.add.signatures=true.

50 IBM Security Access Manager Version 9.0 October 2015: Federation Configuration topics

Page 61: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Table 40. IVCred module properties (continued)

Appliance Property Self or Partner Mode Description

ivcred.signing.IncludePublicKey SELF Issue Specifies whether to include theKeyInfo element, Public Key.

Set to true to include the Public Key.

Set to false to exclude the PublicKey. This is the default.

Required ifivcred.add.signatures=true.

ivcred.signing.IncludeX509IssuerDetailsSELF Issue Specifies whether to include the KeyInfo element, X509 Issuer Details.

Set to true to include the X509 IssuerDetails.

Set to false to exclude the X509Issuer Details. This is the default.

Required ifivcred.add.signatures=true.

ivcred.IncludeX509SubjectName SELF Issue Specifies whether to include the KeyInfo element, X509 Subject Name.

Set to true to include the X509Subject Name.

Set to false to exclude the X509Subject Name. This is the default.

Required ifivcred.add.signatures=true.

ivcred.IncludeX509CertificateData SELF Issue Specifies whether to include the KeyInfo element, X509 Certificate Data.

Set to true to include the X509Certificate Data.

Set to false to exclude the X509Certificate Data. This is the default.

Required ifivcred.add.signatures=true.

ivcred.validate.keystore.alias PARTNER Validate Specifies the name of the validationkey identifier, which iskeystorename_keyname. For example,use DefaultKeyStore_testkey.

Required ifivcred.verify.signatures=true.

Chapter 2. SAML 2.0 federations 51

Page 62: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Table 40. IVCred module properties (continued)

Appliance Property Self or Partner Mode Description

ivcred.verify.signatures PARTNER Validate Specifies whether the signatures areverified.

Set to true to verify signatures.

Set to false for no signatureverification. The default is false.

This property is optional.

LTPA module propertiesYou can define LTPA token module self or partner properties.

Table 41. LTPA module properties

Appliance property Self or Partner Mode Description

ltpa.self.filename SELF Issue Specifies the LTPA file to use.

This property is required.

ltpa.self.password SELF Issue Specifies the password that was usedto protect the keys. It must be thesame password that was used whenthe keys were created.

This property is required.

ltpa.self.expiration SELF Issue Specifies the expiration, in minutes,set on created tokens.

The default is 120.

ltpa.self.extattr SELF Issue Specifies the attribute type to add toa version 2 token.

Enter one attribute type, or use anasterisk (*) for all types.

ltpa.self.realm SELF Issue Specifies the realm used to create theuser name in the token.

ltpa.self.usefips SELF Issue Specifies whether FIPS mode shouldbe used for incoming tokens. Thedefault is false.

ltpa.self.version SELF Issue Specifies the version of token to becreated. This property is required.

ltpa.partner.filename PARTNER Validate Specifies the name of the previouslyimported LTPA file.

This property is optional.

ltpa.partner.password PARTNER Validate Specifies the password that was usedto protect the keys created by thepartner. It must be the samepassword that was used when thekeys were created by the partner.

This property is optional.

ltpa.partner.usefips PARTNER Validate Specifies whether FIPS mode shouldbe used for incoming tokens.

52 IBM Security Access Manager Version 9.0 October 2015: Federation Configuration topics

Page 63: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

SAML 2.0 module propertiesYou can define SAML 2.0 token module self or partner properties.

Table 42. SAML 2.0 module properties

Appliance property Self or Partner Mode Description

com.tivoli.am.fim.sts.saml.2.0.assertion.replay.validationSELF Validate Specifies whether to enable one-timeassertion use enforcement.

Set to true to enable one-time useenforcement.

Set to false if you do not want toenforce one-time asssertion use.

com.tivoli.am.fim.sts.saml.2.0.assertion.verify.signatures

PARTNER Validate Specifies whether to enable signaturevalidation.

Set to true to enable validation.

Set to false if you do not wantvalidation enabled.

com.tivoli.am.fim.sts.saml.2.0.assertion.signature.use.keyinfoPARTNER Validate Specifies whether to use the KeyInfoof the XML signature to find theX509 certificate for signaturevalidation.

Set to true to use this method. Then,define thecom.tivoli.am.fim.sts.saml.2.0.ValidateKeyIdentifierproperty.

Set to false, otherwise.

com.tivoli.am.fim.sts.saml.2.0.ValidateKeyIdentifierPARTNER Validate Specifies a regular expression tovalidate the subject distinguishedname returned in the KeyInfo, ifcom.tivoli.am.fim.sts.saml.2.0.assertion.signature.use.keyinfo is set to true.

com.tivoli.am.fim.sts.saml.2.0.assertion.keystore.aliasPARTNER Validate Specifies whether to use the keystorealias to find the public key forsignature validation.

Set to true to use this method. Then,define thecom.tivoli.am.fim.sts.saml.2.0.ValidateKeyIdentifier.dbandcom.tivoli.am.fim.sts.saml.2.0.ValidateKeyIdentifier.certproperties.

Set to false, otherwise.

com.tivoli.am.fim.sts.saml.2.0.ValidateKeyIdentifier.dbPARTNER Validate Specifies the name of the certificatedatabase to use for validation, ifcom.tivoli.am.fim.sts.saml.2.0.assertion.keystore.aliasis set to true.

com.tivoli.am.fim.sts.saml.2.0.ValidateKeyIdentifier.certPARTNER Validate Specifies the name of the certificatelabel for validation, ifcom.tivoli.am.fim.sts.saml.2.0.assertion.keystore.aliasis set to true.

Chapter 2. SAML 2.0 federations 53

Page 64: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Table 42. SAML 2.0 module properties (continued)

Appliance property Self or Partner Mode Description

com.tivoli.am.fim.sts.saml.2.0.DecryptionKeyIdentifier

PARTNER Validation Specifies the name of decryption keyidentifier. The value is the name ofthe validation key and the keystorein which it is stored. The namesmust be provided in the followingformat: keystorename_keyname. Forexample, useDefaultKeyStore_testkey.

com.tivoli.am.fim.sts.saml.2.0.WantMultipleAttributeStatements

PARTNER Validate Specifies whether to create multipleattribute statements in the UniversalUser.

If you specify false, multipleattribute statements are arrangedinto a single group (AttributeList) inthe STSUniversalUserdocument. Thissetting is appropriate for mostconfigurations.

com.tivoli.am.fim.sts.saml.2.0.map.unknown.alias

PARTNER Validate Specifies whether to map unknownname identifiers to the anonymoususername.

com.tivoli.am.fim.sts.saml.2.0.assertion.default.nameidformat

PARTNER Validate Specifies the default NameID formatfor assertion validation. Specify aparameter for use during validationof a SAML assertion. The parameterdetermines processing rules for theNameID element when one of thefollowing conditions exists:

v If there is not an explicit Formatattribute included in the assertion.

v If the Format attribute is:urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified.

Typically, this parameter is neededonly for STS chains that processSAML assertions that do not set theFormat attribute. A normal examplevalue is:urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress

com.tivoli.am.fim.sts.saml.2.0.assertion.issuer

SELF Issue, Exchange Specifies the name of theorganization that issues assertions.This is required.

com.tivoli.am.fim.sts.saml.2.0.assertion.pretime.valid

SELF Issue, Exchange Specifies the number of seconds thatassertions are valid before its issuedate. There is no minimum ormaximum value enforced, but avalue is required.

Default: 60

54 IBM Security Access Manager Version 9.0 October 2015: Federation Configuration topics

Page 65: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Table 42. SAML 2.0 module properties (continued)

Appliance property Self or Partner Mode Description

com.tivoli.am.fim.sts.saml.2.0.assertion.posttime.validSELF Issue, Exchange Specifies the number of seconds thatassertions are valid after its issuedate. There is no minimum ormaximum value enforced, but avalue is required.

Default: 60

SAML2.IncludeInclusiveNamespaces SELF Issue, Exchange Specifies whether to use theInclusiveNamespaces construct. Thismeans using exclusive XMLcanonicalization for greaterstandardization. You must set thisparameter without a prefix.

Set to true or false.

If unset, the system behaves as if itwas set to true.

com.tivoli.am.fim.sts.saml.2.0.assertion.attribute.typesPARTNER Issue, Exchange Specifies the types of attributes toinclude in the assertion.

The default, an asterisk (*), includesall the attribute types that arespecified in the identity mappingfile.

To specify one or more attributetypes individually, enter eachattribute type.

Separate multiple type values using&&.

com.tivoli.am.fim.sts.saml.2.0.assertion.signPARTNER Issue, Exchange Specifies whether SAML assertionsmust be signed.

Set to true to sign assertions.

Set to false if signing is notrequired.

com.tivoli.am.fim.sts.saml.2.0.SigningKeyIdentifierPARTNER Issue, Exchange Specifies the name of the signing keyidentifier and the keystore in whichit is stored. The names must beprovided in the following format:keystorename_keyname. For example,use DefaultKeyStore_testkey.

com.tivoli.am.fim.sts.saml.2.0.assertion.signature.include.subject.keyid

PARTNER Issue, Exchange Specifies whether to include thesubject key identifier with yoursignature.

Set to true to include the subject keyidentifier.

Set to false to exclude the subjectkey identifier.

Chapter 2. SAML 2.0 federations 55

Page 66: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Table 42. SAML 2.0 module properties (continued)

Appliance property Self or Partner Mode Description

com.tivoli.am.fim.sts.saml.2.0.assertion.signature.include.public.key

PARTNER Issue, Exchange Specifies whether to include thepublic key with your signature.

Set to Yes to include the public key.

Set to No to exclude the public key.

com.tivoli.am.fim.sts.saml.2.0.assertion.signature.include.issuer.details

PARTNER Issue, Exchange Specifies whether to include theissuer details with your signature.

Set to Yes to include the issuerdetails.

Set to No to exclude the issuerdetails.

com.tivoli.am.fim.sts.saml.2.0.assertion.signature.include.subject.name

PARTNER Issue, Exchange Specifies whether to include thesubject name with your signature.

Set to Yes to include the subjectname.

Set to No to exclude the subjectname.

com.tivoli.am.fim.sts.saml.2.0.assertion.signature.include.cert.data

PARTNER Issue, Exchange Specifies whether to include thecertificate data with your signature.

Set to Yes to include the certificatedata.

Set to No to exclude the certificatedata.

If none of theassertion.signature.include.*properties are set, the systembehaves as ifcom.tivoli.am.fim.sts.saml.2.0.assertion.signature.include.cert.datais set to true.

com.tivoli.am.fim.sts.saml.2.0.SignatureAlgorithm

PARTNER Issue, Exchange Specifies the signature algorithm touse for signing assertions. Validvalues:

v RSA-SHA1, set to http://www.w3.org/2000/09/xmldsig#rsa-sha1

v DSA-SHA1, set to http://www.w3.org/2000/09/xmldsig#dsa-sha1

v RSA-SHA256, set to http://www.w3.org/2001/04/xmldsig-more#rsa-sha256

com.tivoli.am.fim.sts.saml.2.0.EncryptAssertions

PARTNER Issue, Exchange Specifies whether assertions are to beencrypted.

Set to true to encrypt.

Set to false, if no encryption isrequired..

56 IBM Security Access Manager Version 9.0 October 2015: Federation Configuration topics

Page 67: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Table 42. SAML 2.0 module properties (continued)

Appliance property Self or Partner Mode Description

com.tivoli.am.fim.sts.saml.2.0.EncryptionKeyIdentifier

PARTNER Issue, Exchange Specifies the name of the encryptionkey and the keystore in which it isstored. The names must be providedin the following format:keystorename_keyname. For example,use DefaultKeyStore_testkey).

com.tivoli.am.fim.sts.saml.2.0.EncryptAllAttributes

PARTNER Issue, Exchange Specifies whether all Attributeelements within the assertions are tobe encrypted.

Set to true to encrypt.

Set to false if no encryption isrequired.

com.tivoli.am.fim.sts.saml.2.0.EncryptNameIdentifiers

PARTNER Issue, Exchange Specifies whether NameID elements inthe assertions are to be encrypted.

Set to true to encrypt.

Set to false if no encryption isrequired.

com.tivoli.am.fim.sts.saml.2.0.BlockEncryptionAlgorithm

PARTNER Issue, Exchange Specifies the block encryptionalgorithm.

v TRIPLEDES, set tohttp://www.w3.org/2001/04/xmlenc#tripledes-cbc

v AES-128, set tohttp://www.w3.org/2001/04/xmlenc#aes128-cbc

v AES-192, set tohttp://www.w3.org/2001/04/xmlenc#aes192-cbc

v AES-256, set tohttp://www.w3.org/2001/04/xmlenc#aes256-cbc

com.tivoli.am.fim.sts.saml.2.0.assertion.SubjectConfirmationMethod

SELF Issue, Exchange Specifies the subject confirmationmethod. Valid values:

vurn:oasis:names:tc:SAML:2.0:cm:bearer

vurn:oasis:names:tc:SAML:2.0:cm:holder-of-key

vurn:oasis:names:tc:SAML:2.0:cm:sender-vouches

Chapter 2. SAML 2.0 federations 57

Page 68: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Username module propertiesYou can define Username module self or partner properties.

Table 43. Username module properties

Appliance property Self or Partner Mode Description

username.password.options PARTNER, SELF Issue Specifies the option for including thepassword in the token:2 Include the digest of the

password value3 Include the password in clear

text4 Do not include the passwordDefault value is 4.

username.add.nonce SELF Issue Specifies whether to include thenonce (random bits used forobfuscating the element) in thetoken. The default is true.

Set to true to include a nonce in thetoken.

Set to false to exclude the nonce.

When you specify to issue nopassword, this value is ineffective.

username.add.timestamp SELF Issue Specifies whether to include creationtime, or timestamp, in the token. Thedefault is true.

Set to true to add the timestamp.

Set to false to exclude thetimestamp.

username.skip.password.validation SELF Validate Specifies whether to disablepassword validation. The default isfalse.

Set to true to skip validation.

Set to false to enable validation.

username.server.connection.id SELF Validate Specifies the server connection ID.This is the name of the previouslyconfigured server connection whichholds the settings for the AccessManager LDAP registry.

This property is required if passwordvalidation is not skipped.

username.tamrd.management.domain SELF Validate Specifies the Access Managermanagement domain. The default isDefault.

username.tamrd.login.failures.persistentSELF Validate Specifies if log in failures arepersistent. The default is false.

Set to true to persist the failures.

Set to false to not persist.

58 IBM Security Access Manager Version 9.0 October 2015: Federation Configuration topics

Page 69: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Table 43. Username module properties (continued)

Appliance property Self or Partner Mode Description

username.tamrd.maximum.server.connectionsSELF Validate Specifies the maximum number ofserver connections that are allowed.The default is 16.

username.validate.freshness PARTNER Validate Enables the time validity check,based on created time and theamount of time permitted after theissue. The default is true.

Set to true to validate freshness.

Set to false for no validation.

If this property is not set, then thevalue of the propertyusername.freshness.limit ischecked to see if the time validationcheck needs to be performed.

username.freshness.limit PARTNER Validate Specifies, in seconds, the amount oftime the Username token is validafter being issued.

Default: 300 seconds

A value of -1 means that the tokendoes not expire.

Customizing the SAML 2.0 login formAn identity provider can customize the default authentication login page withmore contextual information.

When a user requests access to a single sign-on federation, the identity providerinitiates single sign-on by authenticating the user. To authenticate the user, theidentity provider uses a point of contact server to display a forms-based loginpage.

When an identity provider participates in multiple federations or hosts multiplepartners in one federation, an administrator might want to customize the defaultlogin form.

To specify the contextual information to pass to the web reverse proxy login page,use the local management interface to update the advanced configuration property,poc.websealAuth.authenticationMacros. The value of this advanced configurationproperty is a list of comma-separated macros. Each macro represents a piece ofcontextual information.

The set of defined values are described in “Supported macros for customizing anauthentication login form” on page 60. Review this list and identify the ones thatyou want to use.

Chapter 2. SAML 2.0 federations 59

Page 70: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Supported macros for customizing an authentication loginform

You can customize an authentication login form with a set macros that aresupported by SAML 2.0.

Security Access Manager supplies contextual authentication parameters so that youcan customize login forms. The contextual authentication parameters are passed tothe web reverse proxy as query string parameters.

Table 44 shows the list of macros names and the name of the query stringparameter in which the contextual information is passed to the web reverse proxylogin page.

Specify a list of these comma-separated macros in thepoc.websealAuth.authenticationMacros advanced configuration parameter. SeeChapter 5, “Managing advanced configuration,” on page 99.

Table 44. Macros for customizing the login form

Macro Query-String Parameter name Description

%FEDID% FedId Specifies the unique identifier of thefederation.

%FEDNAME% FedName Specifies the user-assigned name of thefederation.

%PARTNERID% PartnerId Specifies the provider ID of the partner.

%TARGET% Target Specifies the target URL at the partner.

%SPRELAYSTATE% SPRelayState Specifies the RelayState data that accompaniesthe SAML authentication request.

%ACSURL% AssertionConsumerURL Specifies the assertion consumer service URLof the partner.

%AUTHNCONTEXT% AuthnContext Specifies the RequestedAuthnContext in theSAML authentication request.

%SSOREQUEST% SSORequest Specifies the base-64 encoded form of SAMLauthentication request.

%FORCEAUTHN% ForceAuthn Specifies ForceAuthn in SAML authenticationrequest.

Customizing SAML 2.0 pagesAccess Manager generates files that are displayed in response to events that occurduring single sign-on requests. The response that is displayed might be a form,such as when login information is required, or an error or information statementabout a condition that occurred while the request was processed.

You can customize the event pages by modifying their appearance or content.

Before you continue with the customization, you need to have a thoroughunderstanding of how event pages are generated and displayed.

60 IBM Security Access Manager Version 9.0 October 2015: Federation Configuration topics

Page 71: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Generation of event pagesEvent pages are displayed in response to events that occur during single sign-onrequests. They usually contain a form (such as a prompt for user name andpassword information) or text (such as an informational or error message).

Event pages are dynamic pages that are generated by Security Access Managerusing the following information:

Template filesXML or HTML files that are provided with the appliance and containelements, such as fields, text, or graphics, and sometimes macros that arereplaced with information that is specific to the request or to provide aresponse to the request.

Page identifiersEvent information that corresponds to one or more template files. Eachpage identifier corresponds to a specific event condition, such as a specificerror or a condition in which a message or a form must be displayed.

Message catalogsText that is used to replace macros in the template files.

When a request is received, the appropriate response page is generated as follows:1. Processing of the request occurs and a response to an event is required.2. Template files and page identifiers are read from the file system.3. Macros in the template files are replaced with values that are appropriate for

the response that is needed.4. An appropriate event page is generated.5. The generated event page is displayed.

SAML 2.0 page identifiersThe SAML 2.0 runtime can display HTML pages in response to events that occurduring single sign-on requests. You can select which pages to display and alsomodify the pages.

Use HTML pages for the following purposes:v Displaying success and error messages to usersv Asking users for confirmationv Sending SAML messages

You can customize these HTML pages so that they display what you want. Thesepages contain macros and are similar to other HTML pages in Security AccessManager. A macro is text in an HTML page that is replaced with context-specificinformation. For example, the macro @ERROR_MESSSAGE@ is replaced by text thatdescribes the error that occurred.

You can find the SAML 2.0 pages in the local management interface using thesesteps:1. Click Secure Federation > Global Settings > Template Files.2. Expand the locale folder to locate a template file.

For example, the English version of the SAML consent_to_federate.html templateis in C/saml20.

Chapter 2. SAML 2.0 federations 61

Page 72: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

All of the available SAML 2.0 HTML pages are listed in the following table.

Table 45. SAML 2.0 HTML page identifiers and macros

Page identifier Description Macros and descriptions

saml20/consent_to_federate.html

Displays during the SAMLsingle sign-on flow wheneverthe service provider wants tofederate the account at theidentity provider with theaccount at the serviceprovider.

@TOKEN:form_action@The URL to whichthe SAML messageis sent.

@TOKEN:SPProviderID@The ID of theService Provider.

@TOKEN:SPDisplayName@The name of theService Provider.

@TOKEN:IPProviderID@The name of theIdentity Provider.

saml20/logout_partial_success.html

Displays whenever theSAML single log out flowcompletes with partialsuccess.

@REQ_ADDR@The URL of therequest.

@TIMESTAMP@The time stamp ofthe request.

@TOKEN:UserName@The user name thatperforms theoperation.

saml20/logout_success.html Displays whenever theSAML single log out flowcompletes successfully.

@REQ_ADDR@The URL of therequest.

@TIMESTAMP@The time stamp ofthe request.

@TOKEN:UserName@The user name thatperforms theoperation.

saml20/nimgmt_terminate_success.html

Displays whenever theSAML name identifiermanagement terminate flowcompletes successfully.

@REQ_ADDR@The URL of therequest.

@TIMESTAMP@The time stamp ofthe request.

@TOKEN:UserName@The user name thatperforms theoperation.

@TOKEN:PartnerID@The ID of thepartner.

62 IBM Security Access Manager Version 9.0 October 2015: Federation Configuration topics

Page 73: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Table 45. SAML 2.0 HTML page identifiers and macros (continued)

Page identifier Description Macros and descriptions

saml20/nimgmt_update_success.html

Displays whenever theSAML name identifiermanagement update flowcompletes successfully.

@REQ_ADDR@The URL of therequest.

@TIMESTAMP@The time stamp ofthe request.

@TOKEN:UserName@The user name thatperforms theoperation.

@TOKEN:PartnerID@The ID of thepartner.

saml20/saml_post_artifact.html

Sends the SAML artifact tothe partner for HTTP POSTbinding.

@TOKEN:form_action@The URL to whichthe SAML messageis sent.

@TOKEN:RelayState@The RelayState.

@TOKEN:SamlMessage@The SAML message.

saml20/saml_post_request.html

Sends the SAML requestmessage to partner for HTTPPOST binding.

@TOKEN:form_action@The URL to whichthe SAML messageis sent.

@TOKEN:RelayState@The RelayState.

@TOKEN:SamlMessage@The SAML message.

saml20/saml_post_response.html

Sends the SAML responsemessage to the partner forHTTP POST binding.

@TOKEN:form_action@The URL to whichthe SAML messageis sent.

@TOKEN:RelayState@The RelayState.

@TOKEN:SamlMessage@The SAML message.

Chapter 2. SAML 2.0 federations 63

Page 74: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Table 45. SAML 2.0 HTML page identifiers and macros (continued)

Page identifier Description Macros and descriptions

saml20/art_exchange_failed.html

Displays whenever there is afailure during the SAMLartifact resolution flow.

@REQ_ADDR@The URL of therequest.

@TIMESTAMP@The time stamp ofthe request.

@ERROR_MESSAGE@The error message.

@EXCEPTION_STACK@The stack trace ofthe error. Do not usethis macro in aproductionenvironment.

saml20/authn_failed.html Displays whenever there is afailure during the SAMLsingle sign-on flow.

@REQ_ADDR@The URL of therequest.

@TIMESTAMP@The time stamp ofthe request.

@ERROR_MESSAGE@The error message.

@EXCEPTION_STACK@The stack trace ofthe error. Do not usethis macro in aproductionenvironment.

saml20/error_building_msg.html

Displays whenever anoutgoing SAML message isnot constructed.

@REQ_ADDR@The URL of therequest.

@TIMESTAMP@The time stamp ofthe request.

@ERROR_MESSAGE@The error message.

@EXCEPTION_STACK@The stack trace ofthe error. Do not usethis macro in aproductionenvironment.

64 IBM Security Access Manager Version 9.0 October 2015: Federation Configuration topics

Page 75: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Table 45. SAML 2.0 HTML page identifiers and macros (continued)

Page identifier Description Macros and descriptions

saml20/error_decrypting_msg.html

Displays whenever anincoming SAML message isdecrypted.

@REQ_ADDR@The URL of therequest.

@TIMESTAMP@The time stamp ofthe request.

@ERROR_MESSAGE@The error message.

@EXCEPTION_STACK@The stack trace ofthe error. Do not usethis macro in aproductionenvironment.

saml20/error_missing_config_param.html

Displays whenever a SAMLflow is run on a SAMLfederation with invalidconfiguration.

@REQ_ADDR@The URL of therequest.

@TIMESTAMP@The time stamp ofthe request.

@ERROR_MESSAGE@The error message.

@EXCEPTION_STACK@The stack trace ofthe error. Do not usethis macro in aproductionenvironment.

saml20/error_parsing_art.html

Displays whenever anincoming SAML artifact isparsed.

@REQ_ADDR@The URL of therequest.

@TIMESTAMP@The time stamp ofthe request.

@ERROR_MESSAGE@The error message.

@EXCEPTION_STACK@The stack trace ofthe error. Do not usethis macro in aproductionenvironment.

Chapter 2. SAML 2.0 federations 65

Page 76: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Table 45. SAML 2.0 HTML page identifiers and macros (continued)

Page identifier Description Macros and descriptions

saml20/error_parsing_msg.html

Displays whenever anincoming SAML message isparsed.

@REQ_ADDR@The URL of therequest.

@TIMESTAMP@The time stamp ofthe request.

@ERROR_MESSAGE@The error message.

@EXCEPTION_STACK@The stack trace ofthe error. Do not usethis macro in aproductionenvironment.

saml20/error_sending_msg.html

Displays whenever anoutgoing SAML message issent.

@REQ_ADDR@The URL of therequest.

@TIMESTAMP@The time stamp ofthe request.

@ERROR_MESSAGE@The error message.

@EXCEPTION_STACK@The stack trace ofthe error. Do not usethis macro in aproductionenvironment.

saml20/error_validating_art.html

Displays whenever anincoming SAML artifact isvalidated.

@REQ_ADDR@The URL of therequest.

@TIMESTAMP@The time stamp ofthe request.

@ERROR_MESSAGE@The error message.

@EXCEPTION_STACK@The stack trace ofthe error. Do not usethis macro in aproductionenvironment.

66 IBM Security Access Manager Version 9.0 October 2015: Federation Configuration topics

Page 77: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Table 45. SAML 2.0 HTML page identifiers and macros (continued)

Page identifier Description Macros and descriptions

saml20/error_validating_init_msg.html

Displays whenever a SAMLflow is initiated. @REQ_ADDR@

The URL of therequest.

@TIMESTAMP@The time stamp ofthe request.

@ERROR_MESSAGE@The error message.

@EXCEPTION_STACK@The stack trace ofthe error. Do not usethis macro in aproductionenvironment.

saml20/error_validating_msg.html

Displays whenever anincoming SAML message isvalidated.

@REQ_ADDR@The URL of therequest.

@TIMESTAMP@The time stamp ofthe request.

@ERROR_MESSAGE@The error message.

@EXCEPTION_STACK@The stack trace ofthe error. Do not usethis macro in aproductionenvironment.

saml20/error_validating_msg_signature.html

Displays whenever anincoming SAML message issignature validated.

@REQ_ADDR@The URL of therequest.

@TIMESTAMP@The time stamp ofthe request.

@ERROR_MESSAGE@The error message.

@EXCEPTION_STACK@The stack trace ofthe error. Do not usethis macro in aproductionenvironment.

Chapter 2. SAML 2.0 federations 67

Page 78: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Table 45. SAML 2.0 HTML page identifiers and macros (continued)

Page identifier Description Macros and descriptions

saml20/invalid_art.html Displays whenever anincoming SAML artifact isvalidated.

@REQ_ADDR@The URL of therequest.

@TIMESTAMP@The time stamp ofthe request.

@ERROR_MESSAGE@The error message.

@EXCEPTION_STACK@The stack trace ofthe error. Do not usethis macro in aproductionenvironment.

saml20/invalid_init_msg.html

Displays whenever a SAMLflow is initiated. @REQ_ADDR@

The URL of therequest.

@TIMESTAMP@The time stamp ofthe request.

@ERROR_MESSAGE@The error message.

@EXCEPTION_STACK@The stack trace ofthe error. Do not usethis macro in aproductionenvironment.

saml20/invalid_msg.html Displays whenever anincoming SAML message isvalidated.

@REQ_ADDR@The URL of therequest.

@TIMESTAMP@The time stamp ofthe request.

@ERROR_MESSAGE@The error message.

@EXCEPTION_STACK@The stack trace ofthe error. Do not usethis macro in aproductionenvironment.

68 IBM Security Access Manager Version 9.0 October 2015: Federation Configuration topics

Page 79: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Table 45. SAML 2.0 HTML page identifiers and macros (continued)

Page identifier Description Macros and descriptions

saml20/logout_failed.html Displays whenever there is afailure during SAML singlelogout flow.

@REQ_ADDR@The URL of therequest.

@TIMESTAMP@The time stamp ofthe request.

@ERROR_MESSAGE@The error message.

@EXCEPTION_STACK@The stack trace ofthe error. Do not usethis macro in aproductionenvironment.

saml20/nimgmt_terminate_failed.html

Displays whenever there is afailure during the SAMLname identifier terminatemanagement flow.

@REQ_ADDR@The URL of therequest.

@TIMESTAMP@The time stamp ofthe request.

@ERROR_MESSAGE@The error message.

@EXCEPTION_STACK@The stack trace ofthe error. Do not usethis macro in aproductionenvironment.

saml20/nimgmt_update_failed.html

Displays whenever there is afailure during the SAMLname identifier updatemanagement flow.

@REQ_ADDR@The URL of therequest.

@TIMESTAMP@The time stamp ofthe request.

@ERROR_MESSAGE@The error message.

@EXCEPTION_STACK@The stack trace ofthe error. Do not usethis macro in aproductionenvironment.

Template page for the WAYF pageThe Where Are You From (WAYF) page is used at the service provider. The WAYFpage enables users to select their identity provider if there is more than oneconfigured in the federation.

Chapter 2. SAML 2.0 federations 69

Page 80: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

When a user arrives at a service provider, a WAYF identifier can be deliveredthrough a cookie or query-string parameter with the request. The entity ID of theidentity provider is stored as the value of the cookie or query-string parameter. Ifthe WAYF identifier cookie or query-string parameter is not present, the WAYFpage opens.

An example URL that includes the query string parameter for WAYF:https://sp.host.com/isam/sps/samlfed/saml20/logininitial?RequestBinding=HTTPRedirect&ResponseBinding=HTTPPost&ITFIM_WAYF_IDP=https://idp.host.com/isam/sps/samlfed/saml20

This example is for a SAML 2.0 single sign-on URL. The query string parametername is ITFIM_WAYF_IDP. The value of the identity provider ID ishttps://idp.host.com/isam/sps/samlfed/saml20.

The WAYF page requires the user to indicate where they came from. If the user isnot logged on to their identity provider, they are asked to log on. Depending onthe attributes passed, the service provider can grant or deny access to the service.

You can find the template pages for WAYF in the local management interface usingthese steps:1. Click Secure Federation > Global Settings > Template Files.2. Expand the locale folder and navigate to /pages/itfim/wayf.

Administrators can use the WAYF page without modifications, but in some casesmight want to modify the HTML style to match the specific deploymentenvironment.

This template file provides several replacement macros:

@WAYF_FORM_ACTION@This macro is replaced with the endpoint of the original request. Thismacro does not belong within a repeatable section.

@WAYF_FORM_METHOD@This macro is replaced with the HTTP method of the original request. Thismacro does not belong within a repeatable section.

@WAYF_FORM_PARAM_ID@This macro is replaced with ID used by the action for the identity provider.This macro is repeated once for each identity provider.

@WAYF_IP_ID@This macro is replaced with the unique ID of the identity provider. Thismacro is repeated once for each identity provider.

@WAYF_IP_DISPLAY_NAME@This macro is replaced with the configured display name of the identityprovider. This macro is repeated once for each identity provider.

@WAYF_HIDDEN_NAME@This macro is replaced with the name of the hidden parameter. This macrois repeated once for each original request parameter and is hidden.

@WAYF_HIDDEN_VALUE@This macro is replaced with the value of the hidden parameter. This macrois repeated once for each original request parameter and is hidden.

70 IBM Security Access Manager Version 9.0 October 2015: Federation Configuration topics

Page 81: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Customizing the Consent to Federate PageA consent to federate page is an HTML form which prompts a user to give consent tojoining a federation. You can customize the consent to federate page to specify whatinformation it requests from a user.

Before you begin

Determine what values you want to use for the consent to federate page.

About this task

When a user accesses a federation, they agree to join the federation. The HTMLform saml20/consent_to_federate.html prompts for this consent. You cancustomize what the form requests by adding consent values. These values indicatehow a user agrees to join a federation and if service providers are notified of theconsent. Identity providers receive the consent values in the SAML 2.0 response.

The following values determine how a user joins a federation:

1 A user agrees to join a federation without notifying the service provider.

0 A user refuses to join a federation.

A URI valueA URI can indicate whether the user agrees to join a federation and if youwant to notify the service provider about the user consent. The followingtable lists and describes the supported URI values.

Table 46. Supported consent values for SAML 2.0 response

Consent value URI Description

Unspecified urn:oasis:names:tc:SAML:2.0:consent: unspecified

The consent of the user is notspecified.

Obtained urn:oasis:names:tc:SAML:2.0:consent: obtained

Specifies that user consent is acquiredby the issuer of the message.

Prior urn:oasis:names:tc:SAML:2.0:consent: prior

Specifies that user consent is acquiredby the issuer of the message beforethe action which initiated themessage.

Implicit urn:oasis:names:tc:SAML:2.0:consent: current-implicit

Specifies that user consent isimplicitly acquired by the issuer ofthe message when the message wasinitiated.

Explicit urn:oasis:names:tc:SAML:2.0:consent: current-explicit

Specifies that the user consent isexplicitly acquired by the issuer ofthe message at the instance that themessage was sent.

Unavailable urn:oasis:names:tc:SAML:2.0:consent: unavailable

Specifies that the issuer of themessage was not able to get consentfrom the user.

Inapplicable urn:oasis:names:tc:SAML:2.0:consent: inapplicable

Specifies that the issuer of themessage does not need to get orreport the user consent.

Follow the steps in this procedure to customize the consent to federate page.

Chapter 2. SAML 2.0 federations 71

Page 82: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Procedure1. Log in to the local management interface.2. Click Secure Federation > Global Settings > Template Files.3. Expand a locale and select saml20/consent_to_federate.html.4. Click Edit and add the appropriate consent values for your federation.5. Click Save.6. Deploy the changes.

Example

The following example shows an added URI with a consent value Obtained:<input type="radio" checked name="Consent"value="urn:urn:oasis:names:tc:SAML:2.0:consent:obtained"/>Consent Obtained.<br/>

In this example, the user consent is acquired by the issuer of the message.

Configuring the user session ID for the federation runtimeCustomize the user session ID header name so that you can track user sessions,end sessions, or sign out a particular user from a web reverse proxy point ofcontact server.

Before you begin

Set your web reverse proxy to enable the creation of unique user session IDs. Thefollowing stanza and entry must be set:[session]user-session-ids = yes

See User session management for back-end servers for general information.

About this task

The federation runtime uses user session ID information to log out the user fromthe web reverse proxy.

The user session ID uniquely identifies a specific session for an authenticated userand is stored as a part of credential information of the user.

The federation runtime obtains the user session ID from the web reverse proxy.The web reverse proxy sends the user session ID to the federation runtime in anHTTP header. To accomplish this, configure the web reverse proxy and federationruntime to use the same header name.

Procedure1. For the federation runtime, update the advanced configuration property,

poc.signOut.userSessionRequestHeader by using the local managementinterface:a. Select Secure Federation > Global Settings > Advanced Configuration.b. Locate poc.signOut.userSessionRequestHeader in the list, select it, and click

Edit.c. Enter the header name that you want to use for the user session ID and

click Save. For example, specify my_user_session_id.

72 IBM Security Access Manager Version 9.0 October 2015: Federation Configuration topics

Page 83: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

See Chapter 5, “Managing advanced configuration,” on page 99.2. Optional: For the web reverse proxy, update the junction to delete an existing

user_session_id by using the following command:pdadmin -a sec_master -p password object modify /WebSEAL/fedname-webseal/junction_name

delete attribute HTTP-Tag-Value user_session_id=user_session_id

Where:

passwordSpecifies the password for sec_master.

fednameSpecifies the name of the federation.

websealSpecifies the name of the web reverse proxy server.

junction_nameSpecifies the name of the junction.

user_session_idSpecifies the existing name that was defined for the session ID.

For example:pdadmin -a sec_master -p ipadminpw object modify

/WebSEAL/saml20-ip-ipwga/isamdelete attribute HTTP-Tag-Value user_session_id=user_session_id

This command deletes the existing user_session_id.3. For the web reverse proxy, update the junction to use the

poc.signOut.userSessionRequestHeader property value you defined in step 1on page 72. Add this customized attribute value by using the followingcommand:pdadmin -a sec_master -p password object modify /fedname-webseal/junction_name

set attribute HTTP-Tag-Value user_session_id=user_session_ID

Where:

user_session_idSpecifies the value from step 1 on page 72. For example,my_user_session_id.

For example:pdadmin -a sec_master -p ipadminpw object modify /WebSEAL/saml20-ip-ipwga/isam

set attribute HTTP-Tag-Value user_session_id=my_user_session_ID

This command changes the value for the web reverse proxy tomy_user_session_ID.

Results

The federation runtime and the web reverse proxy have the same header name.

Synchronizing system clocks in the federationBecause security tokens have expiration times, you and your partner's systemclocks must be synchronized.

Chapter 2. SAML 2.0 federations 73

Page 84: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

About this task

In your environment, ensure that the clock on the system where you have theruntime and management services component installed is synchronized with yourpartner.

See the information of your operating system documentation for information aboutyour system clock and time synchronization. Consider using the NTP timesynchronization protocol.

74 IBM Security Access Manager Version 9.0 October 2015: Federation Configuration topics

Page 85: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Chapter 3. OpenID Connect federations

The Federation Module supports OpenID Connect federations.

OpenID Connect is an extension of the OAuth protocol to better support identityand authentication.

For a complete description of the OpenID Connect specifications, see the OpenIDwebsite: http://openid.net/specs/

OpenID Connect conceptsThis topic introduces the main concepts of OpenID Connect.

OpenID Connect Provider (OP)OAuth 2.0 Authorization Server that is capable of authenticating theend-user and providing claims to a Relying Party about the authenticationevent and the end-user.

Relying Party (RP)OAuth 2.0 Client application that requires end-user authentication andclaims from an OpenID Connect Provider.

Entity Something that has a separate and distinct existence and that can beidentified in a context. An end-user is one example of an entity.

Claim

Piece of information asserted about an entity that is included in the IDtoken. An OpenID Connect Provider should document which claims itincludes in its ID tokens.

The following claims are required claims about the authentication event:v aud (Audience): Must contain the client identifier of the RP registered at

the issuer.v iss(Issuer): The issuer identifier of the OP.v exp (Expiration time): The RP must validate the ID token before this

time.v iat (Issued at): The time at which the ID token was issued.

The following claims are required claims about the user:v sub (Subject): A locally unique and permanent (never reassigned)

identifier of the end-user at the issuer.

Optional claims about the user can include first_name, last_name, picture,gender, etc.

Scope A property requested by the Relying Party, which can be consented to bythe end-user, that requests certain claims be included in the ID token.OpenID Connect requires the openid scope. Common scopes includeprofile and email.

Bearer tokenToken issued from the token endpoint. This includes an access token, a IDtoken, and potentially a refresh token. See http://tools.ietf.org/html/rfc6750 for more information on bearer tokens.

75

Page 86: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

ID token

JSON Web Token (JWT) that contains claims about the authentication eventand the user.

JWTs are Base64 encoded JSON objects comprising three sections: Header,Claims Set and JSON Web Signature (JWS). These are separated in the JWTby a period ('.'). The Header must at least contain the algorithm used tosign the JWT (the alg claim).

The Claims Set includes claims about the authentication event and the user.

The JSON Web Signature (JWS) is used to verify the signing of the JWT.For more information on JWS, see RFC7515.

For more information about JWTs, see RFC7519.

Refresh token A string that is used to obtain a new access token.

A refresh token is optionally issued by the OpenID Connect Provider to theOpenID Connect Partner together with an access token. The OpenIDConnect Partner can use the refresh token to request another access tokenthat is based on the same authorization, without involving the resourceowner again.

Issuer Entity that issues a set of claims.

Issuer identifierVerifiable identifier for an issuer. An issuer identifier is a case sensitiveURL using the HTTPS scheme that contains scheme, host, and optionally,port number and path components and no query or fragment components.

Authorization endpointThe endpoint used to initiate an OpenID Connect flow. This endpoint isrequested in some bespoke manner.

Token endpointThe endpoint used to exchange an authorization code for a bearer token.This is also used to exchange a refresh token for a new access token.Access to the token endpoint is secured and requires client credentials tobe provided on requests.

JWK endpointThe endpoint used to advertise an OpenID Connect provider's publiccertificate for use in asymmetric signing algorithms.

OpenID Connect endpointsOpenID Connect endpoints define interfaces through which applications maycommunicate with an OpenID Connect Provider (OP) or Relying Party (RP)instance running on an appliance.

All URLs use the following base path:https://<ReverseProxy Hostname>:<Port>/<ISAM Runtime Junction>/

For example:https://isam.example.com/isam/

URLs for each of the endpoints of an OP or an RP will change depending on theidentifier for the federation the OP or RP is a partner to, and a partner identifier.After configuring an OP federation, a url_base_path property will be advertised in

76 IBM Security Access Manager Version 9.0 October 2015: Federation Configuration topics

Page 87: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

the configuration data for that federation. This path is the URL path preceding the“/authorize”, “/token”, and “/introspect” pages. Using the URL base path tobuild the URL would include the above example with the url_base_pathappended, and then the value of authorize/token/introspect added dependingon what kind of request is being made. For example:url_base_path = “/oidc/endpoint/amapp-runtime-myfederation/”

Request URL to /authorize would be:https://isam.example.com/isam/oidc/endpoint/amapp-runtime-myfederation/authorize

The URLs are as follows:

Name Description URL Role

RelyingPartyinitiationEndpoint

Initiateslogin to thisReverseProxyinstanceusing anidentity froman externalOP. Thequery stringparameterdenoteswhat OP iscontacted forthe login.

https://rp.isam.example.com/isam/sps/oidc/client/FederationName/oidc_client=?FIMDOMAINName-PartnerAppliesTo

RelyingParty

RelyingPartyRedirectURI

This is theURL a userwill beredirected toafter loggingin at the OP.It requiresunauthenticatedaccess.

https://rp.isam.example.com/isam/oidcclient/redirect/FIMDOMAINName-PartnerAppliesTo

RelyingParty

Authorizeendpoint

The initialendpointcontacted bythe RelyingParty tobegin a flow.

https://op.isam.example.com/isam/oidc/endpoint/FIMDOMAINName-FederationName/authorize

OpenIDConnectProvider

Tokenendpoint

Endpointused toexchange anauthorizationcode for atoken

https://op.isam.example.com/isam/oidc/endpoint/FIMDOMAINName-FederationName/token

OpenIDConnectProvider

Introspectendpoint

Used toinspectaccesstokens.

https://op.isam.example.com/isam/oidc/endpoint/FIMDOMAINName-FederationName/introspect

OpenIDConnectProvider

Chapter 3. OpenID Connect federations 77

Page 88: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Relying Party SSO initiation endpointRequests to the SSO initiation endpoint are used to initiate a sign on from anotheridentity provider or OpenID Connect Provider.

Use the following URL:https://<ReverseProxy hostname:Port/isam junction, usually isam>/sps/oidc/client/<FederationName>

Requests to this endpoint should use the HTTP method GET or POST and includethe following query string parameters:

Key Description Value Required

oidc_client Combination ofdomain and name ofthe Relying Party. Forexample,amapp-runtime-isamRP

User-defined True

target URL that to redirectusers to after theauthentication.

User-defined False

The value used for the ID in the request will be a combination of $domain-$name,where name is the value provided when creating this Relying Party partner.

An example URL is: https://myRpISAM.com/isam/sps/oidc/client/RP?oidc_client=amapp-runtime-google

Where the federation providerId is RP, and the client appliesTo value is google.

Redirect URIThe redirect URI is where the user will be directed back to after authenticating andconsenting at the OP. This URL requires unauthenticated access through the webreverse proxy.

An example URL is: https://<ReverseProxy Hostname:Port>/<isam junctionusually mga>/oidcclient/FIMDOMAINName-PartnerAppliesTo.

The request will contain query string parameters that are populated by the OP.

OpenID Connect Provider authorize endpointThe authorize endpoint is the first endpoint used by a Relying Party when makinga request for a users identity. Requests to the authorize endpoint include a largenumber of parameters depending on what sort of flow is being requested by theRelying Party.

Requests to the authorize endpoint should use the HTTP method GET or POSTand can contain the following parameters.

78 IBM Security Access Manager Version 9.0 October 2015: Federation Configuration topics

Page 89: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Key Description Value Required

response_type The method whichthe OpenID ConnectProvider shouldresponse to theclients authorizerequest.

code, token, id_tokentoken

True

redirect_uri The URI to redirectthe users browser toafter theauthorization

User-defined False

client_id Client ID of thepartner. Set whencreating the partnerto the OP federation.

User-defined True

scope The scope of thegrant to request fromthe user.

Space separatedstring that mustinclude openid

True

state Opaque string usedto maintain statebetween request andresponse

Character string False

nonce Used to preventrequests from beingprocessed multipletimes.

Character string False

Token endpointA request to the token endpoint is used to exchange an authorization code for anaccess token.

Requests to the token endpoint are authenticated using client credentials througheither basic authentication or by including them as post parameters depending onthe clients configuration. All requests to the token endpoint should be an HTTPPOST. This URL requires unauthenicated access through the reverse proxy.

The following table lists the expected post parameters.

Key Description Value Required

grant_type The type of grant tobe issued

authorization_code,refresh_token

True

code The ruthorizationcode to beexchanged.

Opaque value True – Whengrant_type isauthorization_code

refresh_token The refresh token tobe exchanged

Opaque value True – Whengrant_type isrefresh_token

redirect_uri The redirect URImust be the same asthe redirect URI usedin the authorizationrequest.

Redirect_uri specifiedin the initial requestto /authorize

True – Whengrant_type isauthorization_code

Chapter 3. OpenID Connect federations 79

Page 90: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Key Description Value Required

client_id Client ID, set whencreating the partnerto the OP federation.

User-defined False - When usingBA authentication

client_secret Client Secret setwhen creating thepartner to the OPfederation.

User-defined False - When usingBA authentication

Introspect endpointRequests to the introspection endpoint can be made by a relying party to check thevalidity of an access token they have been issued. This endpoint is not used as partof an SSO operation, but is available for use.

Requests to the introspection endpoint may be either a HTTP GET or POST. Whenusing GET, the client must authenticate with BA; when using POST the client mayauthenticate with BA or by including client credentials in the post data.

Key Description Value Required

token The access token toinspect

User-defined True

client_id Client ID, used ifpost parameters arethe authenticationmethod

User-defined False

client_secret Client Secret, used ifpost parameters arethe authenticationmethod

User-defined False

OpenID Connect flowsThe OpenID Connect support in IBM Security Access Manager provides twodifferent ways for a Relying Party to obtain access to a protected resource.

Authorization code flowThe authorization code flow returns an authorization code to the Relying Party,which can then directly exchange it for an ID token and access token.

This mechanism provides the benefit of not exposing any tokens to the browser orend-user. The OpenID Connect Provider also authenticates the Relying Party beforeexchanging the authorization code for an access token. The authorization code flowis suitable for Relying Parties that can securely maintain a client secret betweenthemselves and the OpenID Connect Provider.

The authorization code flow involves the following steps:1. The Relying Party initiates the flow when it directs the user agent of the

resource owner to the authorization endpoint. The Relying Party includes itsclient identifier, requested scope (which must include "openid"), local state, anda redirection URI. The OpenID Connect Provider sends the user agent back tothe redirection URI after access is granted or denied.

80 IBM Security Access Manager Version 9.0 October 2015: Federation Configuration topics

Page 91: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

2. The OpenID Connect Provider authenticates the resource owner through theuser agent and establishes whether the resource owner grants or denies theaccess request.

3. If the resource owner grants access, the Relying Party uses the redirection URIprovided earlier to redirect the user agent back to the Relying Party. Theredirection URI includes an authorization code and any local state previouslyprovided by the Relying Party.

4. The Relying Party requests an access token and ID token from the OpenIDConnect Provider through the token endpoint. The Relying Party authenticateswith its client credentials and includes the authorization code received in theprevious step. The Relying Party also includes the redirection URI used toobtain the authorization code for verification.

5. The OpenID Connect Provider validates the client credentials and theauthorization code. The server also ensures that the redirection URI receivedmatches the URI used to redirect the client in Step 3. If valid, the OpenIDConnect Provider responds back with an access token and ID token.

Implicit grant flowThe implicit flow can be used by Relying Parties with an in-browser scriptinglanguage component.

The access token and ID token are returned directly to the Relying Party, whichmay expose them to the end-user and applications that have access to theend-user's browser. The token endpoint is not used and the OpenID ConnectProvider does not perform authentication on the Relying Party in this flow. TheRelying Party does not have to directly communicate with the OpenID ConnectProvider as all interactions can be performed through the browser.

The implicit grant flow involves the following steps:1. The Relying Party initiates the flow by directing the user agent of the resource

owner to the authorization endpoint. The Relying Party includes its clientidentifier, requested scope (which must include "openid"), local state, desiredresponse type and response mode, and a redirection URI. The OpenID ConnectProvider sends the user agent back to the redirection URI after access isgranted or denied.

2. The OpenID Connect Provider authenticates the resource owner through theuser agent and establishes whether the resource owner grants or denies theaccess request.

3. If the resource owner grants access, the OpenID Connect Provider redirects theuser agent back to the client using the redirection URI provided earlier. Theredirection URI includes the access token and ID token in the URI fragment.

4. The user agent follows the redirection instructions by making a request to theweb server without the fragment. The user agent retains the fragmentinformation locally.

5. The web server returns a web page, which is typically an HTML documentwith an embedded script. The web page accesses the full redirection URIincluding the fragment retained by the user agent. It can also extract the accesstoken, ID token and other parameters contained in the fragment.

6. The user agent runs the script provided by the web server locally, whichextracts the access token and ID token and passes it to the client.

Chapter 3. OpenID Connect federations 81

Page 92: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Configuring OpenID Connect Providers (OP)An OpenID Connect Provider is capable of issuing identities to Relying Parties.The OP federation represents the entity which issues the identities.

A partner to this OP federation represents an OpenID Connect Client which maybe configured as a partner to a Relying Party (RP) federation on a differentappliance, or used as a standalone OpenID Connect Partner to consume identitiesfrom this appliance.

Configuring an OpenID Connect Provider federationAn OpenID Connect Provider Federation is configured with the Federations pagein the local management interface.

About this task

This topic focuses on the procedure. For more information about what each fieldmeans, see “OpenID Connect Provider federation properties.”

Procedure1. Log in to the local management console.2. Select Secure Federation > Manage > Federations.3. Click Add.4. Enter a federation name.5. Select the OpenID Connect as the protocol.6. Click Next.7. Select the OpenID Connect Provider option.8. Enter the provider ID. This ID must uniquely identify this federation, and

must not contain URL-unsafe characters as this value will be present inruntime URLs.

9. Select a signature algorithm. If RS256 signing is selected, select a certificatefrom the list.

10. Click Next.11. Select the grants this OP issues. Optionally, adjust any of the timeouts or

lengths.12. Click Next.13. Select the method for identity mapping.14. Review the Summary page.15. Click OK to create the federation.

OpenID Connect Provider federation propertiesDefine these properties when you configure an OpenID Connect Providerfederation.

Provider IDThis serves as the primary runtime identifier of the federation. This valueappears in the authorize, token, and introspect endpoints. This value mustbe unique. It must not contain characters that require URL encoding.

82 IBM Security Access Manager Version 9.0 October 2015: Federation Configuration topics

Page 93: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Issuer IdentifierThis value appears in the iss claim of JWTs issued by this OP. This valuemust be a valid HTTPS URL. It must not contain query string parametersor any fragment information.

Signature AlgorithmThis value specifies the method by which the JWTs are signed. Valid valuesare:

HS256 HS256 signing requires the partners to have a client secret toperform signing with. The shared secret used to sign a JWT for apartner is the lowercase hexadecimal representation of the clientsecret configured for that partner.

RS256 RS256 signing requires a Signing Certificate.

None No signing is performed.

Signing CertificateLabel of the certificate to be used to perform RS256 signing. Only validwhen performing RS256 signing. The certificate is sourced from theruntime keystore (rt_profile_keys by default).

GrantsThis value overwrites any grants requested in a partners configuration.Valid values are:v authorization_code

v implicit

v refresh_token (Requires that the authorization_code grant is enabled.)

Timeouts and LengthsCharacter lengths of created tokens can be configured on this page, as wellas the lengths of time for which tokens and grants are valid.

Authorization Code Lifetime (Seconds)The time in seconds for which a authorization code is valid andcan be exchanged for a token at the token endpoint.

Authorization Code LengthCharacter length of an issued authorization code. Value must rangefrom 1 – 254.

Refresh Token Length Character length of an issued refresh code. Value must range from1 – 254.

Access Token LengthCharacter length of an issued access code. Value must range from 1– 254.

Access Token Lifetime (Seconds) The time in seconds for which an access token is considered validby the OP. The validity of an access token can be checked at theintrospect endpoint.

Authorization Grant Lifetime (Seconds)Time in seconds which the users authorization is valid.

ID Token Lifetime (Seconds)The time that the issued JWT is valid for. This is indicated as thedifference between the iat (issued at) and exp (expires at) claims ofthe issued JWT.

Chapter 3. OpenID Connect federations 83

Page 94: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Configuring an OpenID Connect Provider (OP) partnerConfiguring a OpenID Connect Provider Partner creates a entity at the providerthat represents an OpenID Connect Client. This might be a standalone client, or apartner to a Relying Party federation on an appliance. Use the partners UI in thelocal management interface to complete this configuration.

About this task

This topic focuses on the procedure. For more information about what each fieldmeans, see “OpenID Connect Provider partner properties.”

Procedure1. Log in to the local management console.2. Select Secure Federation > Manage > Federations. All existing federations are

displayed in the list.3. Select the federation you want to add a partner to.4. Click Partners.5. Click Add.6. Enter a name for the partner.7. Select the Enabled check box.8. Click Next.9. Enter a client ID. To automatically generated the client ID, select the Generate

check box.10. Enter a client secret. To automatically generate the client secret, select the

Generate check box. You can choose to not provide a client secret.

Note: A client secret does not have to be specified. If a client secret is notspecifies, a public client is created. Public clients do not have access to all thefeatures of a confidential (client secret set) client.

11. Click Next.12. Enter a client name.13. Select the response types.14. Enter the redirect URIs of this client. More than one redirect URI can be

entered by clicking New to add a new row to the display.15. Enter the scopes this client is allowed to request. Optionally select the check

box next to any scope to preauthorize this scope. Any scopes that arepreauthorized will not appear in any consent request, and the OP acts as ifthis scope was consented to by the user.

16. Review the partner summary.17. Click OK.

OpenID Connect Provider partner propertiesDefine these properties when you configure an OpenID Connect Provider partner.

Client ID This ID can be generated when the partner is created by checking theGenerate check box. The value must be unique. It cannot be changed afterpartner creation.

Client SecretThis secret be generated when the partner is created by checking the

84 IBM Security Access Manager Version 9.0 October 2015: Federation Configuration topics

Page 95: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Generate check box. Leaving the property empty creates a public client. Ifa public client is created, the following limitations apply:v HS256 signing cannot be performed, as this requires the client secret to

be used as the key.v Authorization code flows cannot be performed.v The client is not able to authenticate to either the Token or Introspection

endpoints.

Client NameDisplay name for this client at runtime. If this value is not specified, thepartner name is used.

Redirect URIsValid values to be provided as the redirect_uri parameter in an authorizerequest. At least one must be specified. This value must be a valid URL.

Response TypesValues that are allowed in the response_type parameter in an authorizerequest. Valid values are:v code

v id_token token

v token

Note: Specifying only id_token token is not supported.

Allow Refresh Token GrantAllows exchange of refresh token for an access token. Requires a clientsecret.

Allow Token Introspection:Allows the client to make requests on the introspection endpoint. Requiresa client secret.

Token endpoint authentication methodHow it is expected that this client will authenticate to the token endpoint.Valid values are:v clientSecretBasic – To expect the Authroization HTTP header.v clientSecretPost – To expect the parameters client_id and client_secret

in the post body.

Scope The scopes that can be requested by this client. The value must includeopenid.

Preauthorized ScopeScopes for which consent is automatically granted. If all of the scopesprovided in a request to the authorization endpoint are preauthorized, theuser is not prompted for consent before being redirected.

Configuring Relying PartiesWhen configuring a OpenID Connect Relying Party two entities must be created -a federation and a parter. There can be multiple partners per federation, but eachpartner has only one federation.

The OpenID Connect Relying Party federation does not do anything on its own - itjust serves as a container for the partners. Each OpenID Connect Relying PartyPartner is a entity which consumes identities from a given OpenID ConnectProvider. For more information on Relying Parties see:

Chapter 3. OpenID Connect federations 85

Page 96: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

v http://openid.net/specs/openid-connect-basic-1_0.htmlv http://openid.net/specs/openid-connect-implicit-1_0.html

Configuring a relying party federationAn OpenID Connect Relying party federation can be configured with theFederations page in the local management interface.

Procedure1. Log in to the local management console.2. Select Secure Federation > Manage > Federations.3. Click Add.4. Enter a federation name.5. Select the OpenID Connect as the protocol.6. Click Next.7. Select the Relying Party option.8. Enter a ProviderID for the federation.

The ProviderID serves as the unique identifier which will appear in theRelying Parties initiation URL. This value must not contain any characterswhich require URL encoding, and must be unique across all federations.

9. Click Next.10. Select the method of identity mapping.11. Review the Summary page.12. Click OK.13. Deploy the pending changes.

Note: The deploy operation triggers a runtime restart.

Configuring an OpenID Connect Relying Party partnerAn OpenID Connect Relying Party Partner can be configured with the Partners UIin the local management interface.

About this task

This topic focuses on the procedure. For more information about what each fieldmeans, see “OpenID Connect Relying Party partner properties” on page 87.

Procedure1. Log in to the local management console.2. Select Secure Federation > Manage > Federations. All existing federations are

displayed in the list.3. Select the federation you want to add a partner to.4. Click Partners.5. Click Add.6. Enter a name for the partner.7. Select the Enabled check box.8. Click Next.9. Enter the client ID of the OpenID Connect client to be used.

10. Enter the client secret of the OpenID Connect client to be used.

86 IBM Security Access Manager Version 9.0 October 2015: Federation Configuration topics

Page 97: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

11. Click Next.12. Enter the appliesTo value for this RP. This is the unique ID used in the kickoff

URL.13. Select the grant type this Relying Party (RP) uses.14. Enter the Authorization endpoint provided by the OpenID Connect Provider

(OP) at which this partner was created.15. Enter the Token endpoint to used for authorization code exchange if the code

grant type is selected.16. Select the signature algorithm to use to verify the ID Token with. If RS256

signing is to be used, select the method used to obtain the public key. Selecteither a certificate or enter a JWK Endpoint.

17. Click Next.18. Enter the Issuer identifier provided by the OP at which this partner was

created.19. Enter the RedirectURI Prefix.20. Click Next.21. Enter the Scopes this RP will request. Enter one scope per text entry box. To

add additional text entry boxes, click New. To delete an unwanted text entrybox, select it and click Delete.

22. Enter the Identity Mapping information of this partner.23. Review the partner summary.24. Click OK.

OpenID Connect Relying Party partner propertiesDefine these properties when you configure an OpenID Connect Relying Partypartner.

Issuer Identifier

The expected value of the iss claim in a JWT. If this value does not matchthe contents of the JWT, then the authentication is rejected.

RedirectURI Prefix

String containing the protocol, host, port and path of the runtime junctionon the Reverse Proxy instance. This is used to automatically generateredirect URIs derived from the applies to value of the partner. Anexample value for this property is “https://www.reverse.proxy.com:443/isam”, where “www.reverse.proxy.com” is the hostname of the ReverseProxy instance, “443” is the listening SSL port of the instance, and “/isam”is the local junction to the Federation Runtime. This would, at runtime,provide an endpoint at (example values used) “https://www.reverse.proxy.com:443/isam/oidcclient/redirect/amapp-runtime-examplePartner”.

Applies ToThis serves as the primary runtime identifier for a relying party. It must beunique across all federations. It must not contain any characters whichrequire URL encoding. It will be used in the value for the oidc_clientquery string parameter when initiating a Relying Party flow.

Client IDValue used to identify this Relying Party at the OP. This value is required.

Client SecretValue used in combination with the Relying Party to authenticate at the

Chapter 3. OpenID Connect federations 87

Page 98: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

OP. Not specifying a Client Secret will indicate that this is a public client.Required to perform the Authorization Code grant. Required to performHS256 Signing.

Authorization endpoint URL

Endpoint used to initiate the OpenID Connect flow at the OP.

Token endpoint URLEndpoint used to exchange an authorization code for an id token andaccess token. Required to perform the Authorization Code grant. Requiresa client secret to be set.

Signature AlgorithmSpecifies the algorithm used to validate the JWT. Valid values are:

HS256 Performs symmetric signing using a client secret. A client secret isrequired for HS256 Signing.

RS256 Performs asymmetric signing using certificates. A JWK endpointURL or a Signing Key label is required to perform RS256 signing.

None A value of none denotes that no signing is performed on the issuedJWT.

JWK Endpoint URLUsed to fetch the Public Signing Key from the OP at runtime. This field isonly valid for RS256 signing. You cannot specify a Signing Key Labelwhen you specify a JWK Endpoint URL. This field is required if you donot specify a Signing Key Label and you specify RS256 signing.

Signing Key LabelThe signing key to be used in RS256 signing. It specifies a label of a key inthe runtime profile key database. The default value for this key database isrt_profile_keys. You cannot specify a JWK Endpoint URL if you specifya Signing Key Label. This field is required if you do not specify a JWKEndpoint URL and you specify RS256 signing.

Grant Type

Valid grant types are authorization_code and implicit.v If the grant type is authorization_code, then requests will use

response_type=code. A token URL must be specified. Furthermore, theruntime must be able to successfully connect to the token URL. Thepartner must have a client secret.

v If the grant type is implicit, then requests will useresponse_type=id_token token. Requests will attempt to useresponse_mode=form_post. If this is not available, then javascript will besent to retrieve the fragment from the response.

Scope A list of strings showing the scope of authorization delegated to a client.Scope must include openid. Common scopes include profile and email.The email scope usually means the email address of the user will beincluded in the JWT. The profile scope usually means the first name andlast name of the user will be included in the JWT.

OpenID Connect mapping rulesMapping rules allow users to customize the information that is propagated froman OpenID Connect Provider or what is consumed by a Relying Party.

88 IBM Security Access Manager Version 9.0 October 2015: Federation Configuration topics

Page 99: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

These mapping rules can either be JavaScript, which is invoked internally via theSTS, or the mapping can be performed externally via a HTTP request.

OpenID Connect Provider mapping rulesWhen you write mapping rules for a provider, the primary goal is to augment theclaims that are included in the ID token.

After mapping rule execution, all attributes in the STSUU will be added to theid_token as a claim, where the attribute key is the key in the id_token, and thevalue is the value of the attribute. If there are several attributes with the same key,then an array containing each attributed will be added to the claim. Some contextinformation is made available to the user when writing mapping rules; the contextattributes of the passed in STSUU will contain attributes with the type“urn:ibm:ITFIM:oidc:provider:context”, which can be used to make decisions onwhat claims are added, or if any other actions are performed.

These context attributes include:v The client ID of the client making the request.v The provider ID of the provider servicing the request.v The redirect URI sent in the request.v The response type of the request.v The state parameter of the request.v The user-consented scopes for the request.

OpenID Connect Relying Party mapping rulesWhen you write mapping rules for a Relying Party, the resulting STSUU is turnedinto a PAC that is used to authenticate the user to a Reverse Proxy via EAI.

The attributes that are included in that PAC will be the attributes of the STSUU,and the principal will be the first principal which was in the STSUU. When writingmapping rules for a Relying Party, the values of the id_token, as well as someadditional context are made available to the user via the STSUU's contextattributes. These attributes will have the types“urn:ibm:ITFIM:oidc:client:idtoken:param” and“urn:ibm:ITFIM:oidc:client:token:param”.

These context attributes include:v All of the claims inside the id_token.v The raw JWT.v Any issued access or refresh tokens.v All of the properties of the issued bearer token if an authorization code flow is

used.v All of the parameters issued in the response if an implicit flow is used.

Attribute sourcesBoth OpenID Connect Providers and Relying Parties can be configured to use anattribute source.

For an OpenID Connect Provider, this can be used instead of a mapping rule.However for an OpenID Connect Relying Party a mapping rule must still bepresent, this mapping rule is required to construct the principal used in theiv-cred.

Chapter 3. OpenID Connect federations 89

Page 100: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

For more information about attribute sources, see Managing attribute sources.

Accessing identity information from a reverse proxyBy using an OpenID Connect Relying Party for authentication, a Reverse Proxy canbe configured to provide identity information to junctioned applications.

Triggering OpenID Connect authenticationAfter a Relying Party has been configured, the Reverse Proxy Instance must beconfigured to provide a way for users to trigger OpenID Connect authentication.

To initiate the authentication flow, a user's browser must be redirectedtohttps://<Reverse Proxy Hostname>/isam//sps/oidc/client/<Federationname>?oidc_client=<Fim Domain>-<Partner appliesTo>. For example, with thereverse proxy listening on hostname isam.example.com, using a configuredfederation with the providerId myRpFederation and a partner with the applies tovalue of google, the authentication trigger URL would be https://isam.example.com/isam/sps/oidc/client/myRpFederation?oidc_client=amapp-runtime-google

The Reverse Proxy login form can be modified to provide users a method ofauthenticating using an OpenID Connect Provider.

From the Reverse Proxy page in the local management interface, select the desiredReverse Proxy instance and select Manage > Management Root. Browse tomanagement > C > login.html, and choose File > Open.

For example, editing the login form to link to the authentication trigger URLdescribed above would involve adding the following line before the </BODY> tag:<A HREF="/mga/sps/oidc/client/myRpFederation?oidc_client=amapp-runtime-google">Login via Google</A>

You must save this file, deploy the pending changes, and restart the Reverse Proxyinstance.

Consuming claims from behind a reverse proxyAfter a successful OpenID Connect flow, this identity is passed to an IdentityMapping module. This module creates a subject and optionally add any furtherattributes to the created iv-cred.

There are several ways in which these attributes can be consumed. This topiccovers how to use Tag-Value attributes. Another method that uses theAuthorization API to extract attributes from a PDPrincipal object is discussed here:https://www.ibm.com/developerworks/tivoli/tutorials/tz-tamauthapi/

This section assumes that all of the potential values that could be added to theiv-cred have been added. If using a different mapping rule, only parameters madeavailable by that mapping rule will be available to be configured with a Tag-Value.

The Reverse Proxy configuration file must be edited first to allow for Tag-Values tobe used without the prefix ’tagvalue_’. Add the following entry to the [server]stanza:force-tag-value-prefix = no

90 IBM Security Access Manager Version 9.0 October 2015: Federation Configuration topics

Page 101: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Modifications to the Reverse Proxy configuration file must be saved and deployed,and the instance must be restarted for changes to take effect.

To allow a junctioned application to access a value from an OpenID Connect IDtoken, an attribute must be set on that object. In pdadmin, for a hostname<HOSTNAME>, Reverse Proxy instance <INSTANCE> and junction <JUNCTION>,to the following command will set the iss header to contain the iss claim from theID token:object modify /WebSEAL/<HOSTNAME>-<INSTANCE/<JUNCTION> set attribute \HTTP-Tag-Value iss=iss

The application at junction <JUNCTION> can now view the iss claim using theiss header.

Authentication macrosThe following authentication macros are available to the user when configuring thelogin page of an OpenID Connect Provider.

Protocol independent macros for customizing an authenticationlogin form

The following macros are protocol independent and can be used regardless of thefederation type used.

Table 47. Supported protocol independent macros

MacroQuery-string parametername Description

%FEDID% FedId Specifies a unique identifier(UUID) used internally byISAM to identify thefederation.

%FEDNAME% FedName Specifies the user-assignedname of the federation.

OpenID Connect protocol supported macros for customizing anauthentication login form

The following table indicates how an OpenID Connect federation populates theauthentication macros.

Table 48. Supported OpenID Connect protocol macros

MacroQuery-string parametername Description and value

%PARTNERID% PartnerId The OpenID Connect uniqueclient identifier as itappeared in the “client_id”query string parameter.

%TARGET% Target The OpenID Connect clientredirection URI as itappeared in the“redirect_uri” query stringparameter.

Chapter 3. OpenID Connect federations 91

Page 102: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Table 48. Supported OpenID Connect protocol macros (continued)

MacroQuery-string parametername Description and value

%SSOREQUEST% SSORequest A base-64 encoded stringrepresenting the requestmade to /authorize.

Automatic configuration of a reverse proxy for OpenID ConnectTo make use of a configured OpenID Connect Provider or Relying Party, a reverseproxy instance must be configured to act as the point of contact.

This configuration covers:v Changes to the reverse proxy configuration file.v Creation of an “Unauthenticated access” ACL to be attached to some endpoints.v Creation of a /isam junction to the federation runtime.v This requires the federation runtime SSL certificate to be loaded into the reverse

proxies trusted signer certificates keystore.

This configuration can be performed automatically on a reverse proxy through thefederation configuration web service. For more information about invoking thefederation configuration web service, see the REST API documentation that isincluded in the appliance.

Customizing the consent pageThe consent page of an OpenID Connect Provider Federation can be changed withthe Template Files page in the local management interface.

About this task

All OpenID Connect Provider (OP) federations can have their own unique consentpages. Follow these steps to set a consent page to be used by a specific federation.

Procedure1. Log in to the local management console.2. Select Secure Federation > Global Settings > Template Files.3. Expand the C locale.4. Highlight the oidc folder.5. Click New and select Directory.6. Enter the Provider Id of the OpenID Connect Provider Federation to use the

custom consent page.7. Click Save.8. Highlight the new directory.9. Click New and select File.

10. Enter consent.html as the file name.11. Populate the file contents.12. Click Save.13. Deploy the pending changes.

92 IBM Security Access Manager Version 9.0 October 2015: Federation Configuration topics

Page 103: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Note: The deploy operaton triggers a runtime restart.

Known limitationsThese limitations apply to OpenID Connect federations.

No hybrid flow support for the RP or OP

The currently supported flows are implicit or authorization code flow.

No support for response_mode on the OP

An administrator cannot customize the response_mode of responses, forexample, setting it to form_post.

No encryption of id_tokens, limited signature algorithms

Encrypting id_tokens is not supported. The signature algorithms that aresupported for signing them are 256-bit RSA or HMAC.

Cannot configure both posting client credentials and providing them in a basicauthentication header when contacting the /token endpoint

Only one of clientSecretBasic and clientSecretPost can be configuredfor an OP federation.

There is no /userinfo endpoint

A client cannot use an access token to access a /userinfo endpoint toobtain information about the user the token was issued on behalf of.

No discovery

The ability to discover a user's OP and interact with it as perhttps://openid.net/specs/openid-connect-discovery-1_0.html is notavailable.

No dynamic client registration

The ability for clients to self-register against an OP as perhttps://openid.net/specs/openid-connect-registration-1_0.html is notavailable.

The access_token provided to an OpenID Connect client cannot be used toauthenticate to a reverse proxy

The access token is different from one obtained by using an OAuth 2.0client, and cannot be used to authenticate as a user to the OP.

Users cannot manage grants or consent information

There is no way to revoke access a grant that was issued to a client, orremove any remembered consent decisions.

No configuration-time checking is performed on mapping rules

The mapping rule is not checked for errors before run time.

OAuth 2.0 APIs and run time and those of OpenID Connect are not integrated

There is no integration between the two technologies on the appliance.Clients and configurations are separate and do not interact.

Chapter 3. OpenID Connect federations 93

Page 104: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

94 IBM Security Access Manager Version 9.0 October 2015: Federation Configuration topics

Page 105: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Chapter 4. Configuring a reverse proxy point of contact server

Configuring a SAML 2.0 or OpenID Connect federation requires that you set up areverse proxy instance as the point of contact.

Before you begin

You can use these instructions to configure a reverse proxy instance, or you canuse the Web services REST APIs. The REST API topic is located in Secure: WebSettings > Manage > Reverse Proxy > Federation Configuration.

Note: If you use the Web services REST APIs to configure a reverse proxy instance,ensure that the junction name is /isam.

About this task

The reverse proxy instance that you use authenticates users at the identity providerand protects services at the service provider. You must have a reverse proxyinstance for both the service provider and the identity provider.

See Reverse proxy instance management for more information.

Procedure1. Import the federation runtime SSL certificate into the reverse proxy trusted

signer certificates keystore. Use the local management interface to import thecertificate. See Managing SSL certificates.

2. Using the pdamin command, create the /isam junction to the federated runtime.Substitute the values of your runtime in the following command:server task hostname-webseal-instanceName create -t ssl -c all -s -b ignore -j

-e utf8_uri -J inhead -r -q /sps/cgi-bin/query_contents -f-h runtimeHostname -p runtimePort /isam

3. Update the reverse proxy configuration file by using the local managementinterface:a. Click Secure Web Settings > Manage > Reverse Proxy.b. Select the reverse proxy instance to update, and click Manage >

Configuration > Edit Configuration File.c. Edit the configuration file with the following stanzas and entries, depending

on the federation protocol:

SAML 2.0[ba]:ba-auth = none[forms]:forms-auth = https[authentication-levels]:level = ext-auth-interface[eai]:eai-auth = httpsretain-eai-session = yeseai-verify-user-identity = noeai-redir-url-priority = yes[eai-trigger-urls]:trigger = /isam/sps/auth*trigger = /isam/sps/federation_name/saml20/soap*

95

Page 106: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

trigger = /isam/sps/federation_name/saml20/slo*trigger = /isam/sps/federation_name/saml20/login*[session]:user-session-ids = yes

OpenID Connect[ba]:ba-auth = none[forms]:forms-auth = https[junction:/isam]:reset-cookies-list = *JSESSIONID*,*WAS*(RP ONLY) [authentication-levels]:level = ext-auth-interface(RP ONLY) [eai]:eai-auth = httpseai-redir-url-priority = yes(RP ONLY) [eai-trigger-urls]:trigger = /isam/sps/oidc/client/federation_providerID*

4. Using the pdadmin command, define the nobody, anyauth, and unauth ACLs.acl create fedname-nobodyacl modify fedname-nobody user default-webseald/isam-op TcmdbsvaBRlacl modify fedname-nobody user sec_master TcmdbsvaBRrxlacl modify fedname-nobody group iv-admin TcmdbsvaBRrxlacl modify fedname-nobody group webseal-servers Tgmdbsrxlacl modify fedname-nobody any-other Tacl modify fedname-nobody unauthenticated T

acl create fedname-anyauthacl modify fedname-anyauth user default-webseald/isam-op TcmdbsvaBRlacl modify fedname-anyauth user sec_master TcmdbsvaBRrxlacl modify fedname-anyauth group iv-admin TcmdbsvaBRrxlacl modify fedname-anyauth group webseal-servers Tgmdbsrxlacl modify fedname-anyauth any-other Tracl modify fedname-anyauth unauthenticated T

acl create fedname-unauthacl modify fedname-unauth user default-webseald/isam-op TcmdbsvaBRlacl modify fedname-unauth user sec_master TcmdbsvaBRrxlacl modify fedname-unauth group iv-admin TcmdbsvaBRrxlacl modify fedname-unauth group webseal-servers Tgmdbsrxlacl modify fedname-unauth any-other Tracl modify fedname-unauth unauthenticated Tr

5. Using the pdadmin command, create the ACLs on the policy server, and attachthem to the relevant endpoints.

SAML 2.0isam_fedname_nobody:/WebSEAL/hostname-webseal/isamisam_fedname_unauth:/WebSEAL/hostname-webseal/isam/sps/fedname/saml20/login/WebSEAL/hostname-webseal/isam/sps/fedname/saml20/sloininitial/WebSEAL/hostname-webseal/isam/sps/fedname/saml20/mnids/WebSEAL/hostname-webseal/isam/sps/fedname/saml20/logininitial/WebSEAL/hostname-webseal/isam/sps/fedname/saml20/slo/WebSEAL/hostname-webseal/isam/sps/fedname/saml20/soapisam_fedname_anyauth:/WebSEAL/hostname-webseal/isam/sps/fedname/saml20/mnidsinitial/WebSEAL/hostname-webseal/isam/sps/fedname/saml20/auth/WebSEAL/hostname-webseal/isam/sps/wssoi/WebSEAL/hostname-webseal/isam/sps/auth

OpenID Connectisam_fedname_nobody:/WebSEAL/hostname-instance/isamisam_fedname_unauth:

96 IBM Security Access Manager Version 9.0 October 2015: Federation Configuration topics

Page 107: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

/WebSEAL/hostname-instance/isam/sps/static/WebSEAL/hostname-instance/isam/sps/fedname/oidc/auth/WebSEAL/hostname-instance/isam/oidc/scripts/WebSEAL/hostname-instance/isam/oidc/endpoint/amapp-runtime-fedname/token/WebSEAL/hostname-instance/isam/oidc/endpoint/amapp-runtime-fedname/introspect/WebSEAL/hostname-instance/isam/oidc/endpoint/amapp-runtime-fedname/authorizeisam_fedname_anyauth/WebSEAL/hostname-instance/isam/sps/auth

6. Using the pdamin command, add the HTTP-Tag-Value attribute to the /isamjunction object to propagate the user_session_id to the federation runtime:v If force-tag-value-prefix = yes:

object modify /WebSEAL/isam set attributeHTTP-Tag-Value user_session_id=USER-SESSION-ID

v If force-tag-value-prefix = no:object modify /WebSEAL/isam set attribute

HTTP-Tag-Value tagvalue_user_session_id=USER-SESSION-ID

Chapter 4. Configuring a reverse proxy point of contact server 97

Page 108: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

98 IBM Security Access Manager Version 9.0 October 2015: Federation Configuration topics

Page 109: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Chapter 5. Managing advanced configuration

Adjust configuration settings in supported configuration files.

About this task

The advanced configuration panel displays a table of configuration settings. Somecan be modified and some are read-only. Each setting is displayed as a row in thetable. The name of the setting is listed in the key column. The current value of thekey is listed in the value column.

You can locate a setting by using one of the following methods:v Scroll through the list until you see the setting.

By default, all configuration settings are included in the list.v Filter the list by entering a string in the Filter field.

When you enter a string, the list is modified to show only the settings thatcontain the specified string.

v Filter the list by selecting a category from the Filter by Category menu. Fordescriptions of the categories and properties, see “Advanced configurationproperties.”

Procedure1. Select Secure Federation > Global Settings > Advanced Configuration.

2. To edit a key, select the edit icon

for the key.

Note: You cannot edit keys that are marked with the read-only icon: .When you choose to edit a key, a new window displays the name of the keyand the current value.

3. Edit the value for your deployment.

Table 49. Configuration data types

Data type Action

Integers Use the arrow icons to increment or decrement the value. Alternatively,you can type a new value in the field.

Strings Enter a string value in the field.Note: This field must have a value. You cannot specify an empty field. Toclear values from a field, enter NULL.

Booleans Select the check box to set the value to true. Clear the check box to setthe value to false.

4. Click OK.5. Deploy the changes.

Advanced configuration propertiesModify the advanced configurations to meet the requirements of yourorganization.

99

Page 110: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Category filter

The category filter displays names of grouping of configuration settings. Thegroupings correspond to functional areas. When you select a category, the userinterface displays only the settings for the category.

Table 50. Filter by Category

Category Displays values for:

All All keys

poc.signIn “WebSEAL Sign-In Callback” on page101

poc.signOut “WebSEAL Sign-Out Callback” on page102

poc.localIdentity “WebSEAL Local Identity Callback” onpage 102

poc.websealAuth “WebSEAL Authenticate Callback” onpage 102

poc.otpAuth “One-time password AuthenticateCallback” on page 103

poc.authPolicy “Authentication-Policy Callback” onpage 103

sps.httpRequestClaims “SPS HTTP request claims” on page 103

distributedMap “Distributed shared data storage” onpage 104

userBehavior “Attribute matcher properties” on page104

ipReputation “IP reputation PIP properties” on page104

attributeCollection “Attribute collector properties” on page105

deviceRegistration “Device registration properties” on page106

runtime “Runtime properties” on page 107

sps.page “SPS page” on page 107

sps “Single sign-on protocol service” onpage 107

riskEngine “Risk engine properties” on page 108

sps.authService “Authentication service properties” onpage 108

session “Session” on page 108

distributedSessionCache “Distributed session cache” on page 109

otp.retry “TOTP and HOTP retry properties” onpage 109

oauth20 “OAuth20” on page 110

util.httpClient “HTTP client” on page 110

demo “Demo” on page 111

knowledge.questions “Knowledge questions properties” onpage 111

100 IBM Security Access Manager Version 9.0 October 2015: Federation Configuration topics

Page 111: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Table 50. Filter by Category (continued)

Category Displays values for:

kess “Key encryption and signing service(KESS)” on page 111

pip “Policy information point (PIP)” onpage 112

sts “Security token service (STS)” on page112

WebSEAL Sign-In Callback

poc.signIn.attributesResponseHeaderThe name of the header that contains the attributes of the user.

Data type: String

Example: am-fim-eai-xattrs

poc.signIn.credResponseHeaderThe name of the header that contains the IVCred of the user.

Data type: String

Example: am-fim-eai-pac

poc.signIn.groupsResponseHeaderThe name of the header that contains the groups of the user.

Data type: String

Example: fim.groups

poc.signIn.serverResponseHeaderThe name of the header that contains the hostname that authenticates theuser.

Data type: String

Example: fim.server

poc.signIn.targetResponseHeaderThe name of the header that contains the redirect URL.

Data type: String

Example: am-fim-eai-redir-url

poc.signIn.urlEncodingEnabledIndicates whether the EAI header names and values are URL encoded. Thedefault setting for this property is false. The EAI header names andvalues are not URL encoded.

Data type: Boolean

Example: false

poc.signIn.userRequestHeaderThe name of the header that contains the user name of the user.

Data type: String

Example: iv-user

poc.signIn.userResponseHeaderThe name of the header that contains the user name of the user.

Chapter 5. Managing advanced configuration 101

Page 112: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Data type: String

Example: am-fim-eai-user-id

poc.signIn.userSessionResponseHeaderThe name of the header that contains the authentication level of the user.

Data type: String

Example: am-eai-auth-level

WebSEAL Sign-Out Callback

poc.signOut.userSessionRequestHeaderThe name of the header that contains the WebSEAL session ID of the user.

Data type: String

Applies to the Federation module only

Example: user_session_id

WebSEAL Local Identity Callback

poc.localIdentity.attributesRequestHeaderThe name of the header that contains the attributes of the user.

Data type: String

Example: fim.attributes

poc.localIdentity.credRequestHeaderThe header that contains the IVCred of the user.

Data type: String

Example: iv-creds

poc.localIdentity.groupsRequestHeaderThe name of the header that contains the groups of the user.

Data type: String

Example: iv-groups

poc.localIdentity.userRequestHeaderThe name of the header that contains the user name of the user.

Data type: String

Example: iv-user

WebSEAL Authenticate Callback

poc.websealAuth.authLevelThe authentication level of the callback.

Data type: Integer

Example: 1

poc.websealAuth.userRequestHeaderThe name of the header that contains the user name of the user.

Data type: String

Example: iv-user

102 IBM Security Access Manager Version 9.0 October 2015: Federation Configuration topics

Page 113: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

poc.websealAuth.authenticationMacrosA list of macros that defines contextual information to pass to the webreverse proxy login page. The macros you specify can customize anauthentication login page for a specific service provider. For moreinformation, see “Customizing the SAML 2.0 login form” on page 59.

Data type: String

Applies to the Federation module only

Example: If an identity provider wants to display the provider ID andtarget URL of a partner, specify the following macros:%PARTNERID%,%TARGET%

One-time password Authenticate Callback

poc.otp.authLevelThe authentication level of the callback.

Data type: Integer

Example: 2

poc.otp.backwardCompatibilityEnabledIndicates whether the one-time password authentication mechanism shouldrun in backward compatibility mode. The default value is false if it is anew installation. The default value is true if the installation is an upgrade.

Data type: Boolean

Example: true

Authentication-Policy Callback

poc.authPolicy.allowRequestOverrideWhether the authentication level, the authentication mode, and theauthentication type of the callback can be overwritten by query stringparameters.

Data type: Boolean

Example: true

poc.authPolicy.authLevelThe authentication level of the callback.

Data type: Integer

Example: 1

poc.authPolicy.authTypeThe authentication type of the callback.

Data type: String

Example: COMPLEMENTARY, HIERARCHICAL

SPS HTTP request claims

sps.httpRequestClaims.enabledWhether HTTP request information is sent to STS as HTTPRequestClaims.

Data type: Boolean

Example:false

Chapter 5. Managing advanced configuration 103

Page 114: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

sps.httpRequestClaims.filterSpecThe filter that specifies the HTTP request information that is sent to STS asHTTPRequestClaims.

Data type: String

Example: cookies=*:headers=*

Distributed shared data storage

distributedMap.cleanupWaitThe amount of time, in milliseconds, to wait before it performs anothercleanup against the distributed map.

Data type: Integer

Example: 10000

distributedMap.defaultTTLThe amount of time, in seconds, that the entries in the distributed mapmust live when no lifetime is specified for an entry.

Data type: Integer

Example: 3600

distributedMap.getRetryDelayThe amount of time, in milliseconds, to wait before it performs anotherretrieval against the distributed map. The default is 0.

Data type: Integer

Example: 500

distributedMap.getRetryLimitThe number of retrievals that is done against the distributed map before itreturns that the retrieved data is not in the distributed map. The default is0.

Data type: Integer

Example: 10

Attribute matcher properties

userBehavior.minimumUsageHistoryRequiredMinimum usage data records required for any usage data analysis; used byLoginTimeMatcher.

Data type: Integer

Example: 8

userBehavior.ipAddressRequestAttributeThe XACML request attribute to read from the IP address.

Data type: String

Example: urn:ibm:security:subject:ipAddress

IP reputation PIP properties

ip.reputation.ipAddressAdverseReputationThresholdThe value that an IP classification score must be at or above for an IPaddress to be considered as that classification.

Data type: Integer

104 IBM Security Access Manager Version 9.0 October 2015: Federation Configuration topics

Page 115: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Example:50

ipReputation.dbConnectionTimeout Indicates the number of seconds that the IP reputation policy informationpoint (PIP) waits for a connection to the IP reputation database. TheipReputation.dbConnectionTimeout property defaults to 120.

Data type: Integer

Example: 60

Attribute collector properties

attributeCollection.cookieNameCorrelation ID used by the attribute collector.

Data type: String

Example: ac.uuid

attributeCollection.requestServerRequest server for attribute collector. A list of the allowable hosts wherethe ajaxRequest can be sent from.

Data type: String List

Example: https://rbademo.example.com,https://rbaemo2.example.com

attributeCollection.serviceLocationLocation of the attribute collector.

Data type: String List

Example: http://rbademo.example.com/mga

attributeCollection.sessionTimeoutNumber of seconds in which sessions stored in context-based access willautomatically expire, unless updated. If any attribute in the session isupdated, the session expiry is extended by the specified number of secondsconfigured in this property. The default is 1800 seconds.

Data type: Integer

Example: 1800 seconds

attributeCollection.enableGetAttributesEnables the REST GET method to return attributes.

Data type: Boolean

Example: false

attributeCollection.getAttributesAllowedClientsA comma-separated list of clients that are allowed to access the ACS RESTGET method.

If this property is not set and attributeCollection.enableGetAttributes isset to true, anyone can access the GET method. If this property is set butattributeCollection.enableGetAttributes is set to false, this property isignored.

Data type: String List

Example: hostname1, hostname2

attributeCollection.hashAlgorithmThe algorithm that is used to create the hash.

Chapter 5. Managing advanced configuration 105

Page 116: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Data type: String

Example: SHA256

attributeCollection.attributesHashEnabledA comma-separated list of attribute URI values configured for hashing.

Attention: Do not hash the following attributes:v ipAddress

v geoLocation

v accessTime

Data type: String List

Example:urn:ibm:security:environment:http:userAgent,urn:ibm:security:environment:deviceFonts,urn:ibm:security:environment:browserPlugins

attributeCollection.authenticationContextAttributesComma-separated lists of attribute names to be collected during anauthentication service obligation. The maximum number of characters forthis property is 200.

Data type: String List

Example: authenticationLevel, http:host

Device registration properties

deviceRegistration.maxRegisteredDevicesMaximum device fingerprint count. The default is 10. Valid values are 1 to100.

Data type: Integer

Example: 10

deviceRegistration.maxUsageDataPerUserMaximum number of historical usage attribute records stored per user. Thedefault is 200. Valid values are 1 to 5000.

Data type: Integer

Example: 1000

deviceRegistration.deviceMatchThresholdThe risk score threshold where an existing fingerprint is considered tomatch the incoming device fingerprint.

Data type: Integer

Example: 20

deviceRegistration.allowIncompleteFingerprintsSpecifies to allow the device registration obligation to store fingerprintswhere all the fingerprint attributes are not available on the sessioninformation.

Data type: Boolean

Example: false

106 IBM Security Access Manager Version 9.0 October 2015: Federation Configuration topics

Page 117: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

deviceRegistration.permitOnIncompleteFingerprintsSpecifies to permit access to the resource if the fingerprint collected by thedevice registration obligation does not include all fingerprint attributes.

Data type: Boolean

Example: false

deviceRegistration.checkForExpiredDevices Determines whether registered devices are inactive or expired. If thedeviceRegistration.checkForExpiredDevices property is set to true, therisk engine checks whether a device is inactive or expired. ThedeviceRegistration.checkForExpiredDevices property defaults to false,which means that users can use any of the devices that are registered.

Date type: Boolean

Example: true

deviceRegistration.inactiveExpirationTimeSpecifies the number of days that a device must be inactive for it to expire.The deviceRegistration.inactiveExpirationTime property defaults to 90.

Date type: Integer

Example: 100

Runtime properties

runtime.dbLoggingEnabledEnables fine-grained logging for database SQL statements.

Data type: Boolean

Example: false

runtime.hashAlgorithmThe algorithm that is used for hashing. The supported algorithms are:v SHA-1v SHA-256v SHA-512

The runtime.hashAlgorithm property defaults to SHA-256.

Data type: String

Example: SHA-256

Single sign-on protocol service

sps.setCookiesAsSecureDetermine whether to flag the cookies set by Security Access Manager assecure.

The default value is false.

Data type: Boolean

Example: false

SPS page

sps.page.htmlEscapedMacrosA comma-separated list of macros that is HTML-escaped when it isrendered in pages that are sent to the browser.

Chapter 5. Managing advanced configuration 107

Page 118: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Data type: String

Example:@REQ_ADDR@,@DETAIL@,@EXCEPTION_STACK@,@EXCEPTION_MSG@,@OTP_METHOD_ID@,@OTP_METHOD_LABEL@,@OTP_HINT@,@ERROR_MESSAGE@,@MAPPING_RULE_DATA@

sps.page.exceptionMacrosA comma-separated list of classname:macro pairs. Classname is the fullyqualified name of the exception class. Macro is the name of the macro towhich the class maps.

Data type: String

Example:com.tivoli.am.fim.otp.deliveries.OTPDeliveryException =

@OTP_DELIVERY_EXCEPTION@,com.tivoli.am.fim.otp.providers.OTPProviderException =

@OTP_PROVIDER_EXCEPTION@

Risk engine properties

riskEngine.reportsEnabledEnables the generation of risk calculation reports.

Data type: Boolean

Example: false

riskEngine.reportsMaxStoredSpecifies the maximum number of reports to store.

Data type: Integer

Example: 5

Authentication service properties

sps.authService.reauthenticationEnabledSpecifies that the authentication service performs authentication even if theuser already has an authenticated session at the required authenticationlevel.

Data type: Boolean

Example: true

Session

distributedSessionCache.enabledA switch that dictates if the distributed session cache is used for sessionfailover. If this setting is not enabled, the distributed session cache serverstill runs as a service, but the client does not use it.

Data type: Boolean

Example: false

distributedSessionCache.localCacheSizeThe number of sessions to be stored on the client as a local cache. A value

108 IBM Security Access Manager Version 9.0 October 2015: Federation Configuration topics

Page 119: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

of 0 or less means that any number of sessions can be cached by the client.A low number requires more connections to the distributed session cache ifthere are many active sessions. A high number runs the risk of running outof memory if many sessions are locally cached. All sessions are still storedon the distributed session cache when it is enabled.

Data type: Integer

Example: 4096

session.dbCleanupIntervalSpecifies the interval, in seconds, that the database cleanup thread runs toremove expired data in the runtime database. The default is 86400. Theminimum value for this property is 3600. For more information, seeRuntime database tuning parameters

Data type: Integer

Example: 90000

Distributed session cache

distributedSessionCache.enabledA switch that dictates if the distributed session cache is used for sessionfailover. If this setting is not enabled, the distributed session cache serverstill runs as a service, but the client does not use it.

Data type: Boolean

Example: false

distributedSessionCache.localCacheSizeThe number of sessions to be stored on the client as a local cache. A valueof 0 or less means that any number of sessions can be cached by the client.A low number requires more connections to the distributed session cache ifthere are many active sessions. A high number runs the risk of running outof memory if many sessions are locally cached. All sessions are still storedon the distributed session cache when it is enabled.

Data type: Integer

Example: 4096

TOTP and HOTP retry properties

otp.retry.enabledWhether the retry protection is enabled.

Data type: Boolean

Example: true

otp.retry.maxNumberOfAttemptsThe maximum number of strikes the users can have before they areprevented from logging in.

Data type: Integer

Example: 5

otp.retry.otpRetryTimeoutThe number in seconds a strike lasts.

Data type: Integer

Example: 600

Chapter 5. Managing advanced configuration 109

Page 120: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

OAuth20

oauth20.doNotSendXFrameOptionsHeaderSpecifies whether an X-Frame-Options header with value SAMEORIGIN mustbe returned from the OAuth 2.0 endpoints. When set to true, noX-Frame-Options header is sent.

Note: The oauth20.doNotSendXFrameOptionsHeader property defaults tofalse.

Data type: Boolean

Example: false

oauth20.hashedTokenStorageEnabledEnables hashed storage when set to true. The Security Access Managerappliance can persist OAuth 2.0 tokens in the clear text form or in themore secure hashed form.

Note: The oauth20.hashedTokenStorageEnabled property defaults to false,and the OAuth 2.0 tokens will be stored as-is.

Data type: Boolean

Example: false

oauth20.sessionEndpointEnabledEnables the ability to return an authenticated session at the point-of-contactwhen the oauth20.sessionEndpointEnabled property is set to true.

Note: The oauth20.sessionEndpointEnabled property defaults to false.

Data type: Boolean

Example: false

oauth20.tokenCache.cleanupWaitThe amount of time, in seconds, to wait before it performs another cleanupof expired tokens in the OAuth 2.0 token cache.

Note: The oauth20.tokenCache.cleanupWait property defaults to 120.

Data type: Integer

Example: 120

HTTP client

util.httpClient.defaultTrustStoreStores the default truststore that HTTPS connections in HTTP client uses.

Note: The util.httpClient.TrustStore property defaults tort_profile_keys.

Data type: String

Example: rt_profile_keys

util.httpClient.defaultSSLProtocolStores the default SSL protocol configuration that HTTPS connections inHTTP client uses.

Note: The util.httpClient.defaultSSLProtocol property defaults to TLS.

110 IBM Security Access Manager Version 9.0 October 2015: Federation Configuration topics

Page 121: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Data type: String

Example: TLS

Demo

live.demos.enabledEnables the mobile demonstration application.

Data type: Boolean

Example: False

Knowledge questions properties

knowledge.questions.AnswerValidationRegExSpecifies the regular expression used to validate the knowledge questionanswer value provided during a knowledge question managementoperation. The assigned value is the list of invalid characters to matchagainst to determine if the supplied value is valid.

Note: At a minimum, this property must include the following characters:<>:"

Data type: RegEx

Example: [\[()<>,;:\\/\"\]=]

knowledge.questions.QuestionValidationRegExSpecifies the regular expression used to validate the knowledge questiontext value provided during a knowledge question management operation.The assigned value is the list of invalid characters to match against todetermine if the supplied value is valid.

Note: At a minimum, this property must include the following characters:<>:"

Data type: RegEx

Example: [\[()<>,;:\\/\"\]=]

Key encryption and signing service (KESS)

kess.crlEnabledChecks the certificate revocation list. Checking is done by the keyencryption and signature service (KESS) for all functions that use anexternal certificate, except for the audit syslog. If your configuration doesnot require CRL checking, you can disable it. For example, if you use if aninternal certificate authority (CA), you might want to disable CRLchecking. The kess.crlEnabled property defaults to true.

Data type: Boolean

Example: true

kess.hostnameValidationDisabled Determine whether to disable host name verification when establishing anSSL connection. Host name verification is performed when the host nameof the server does not match the CN of the certificate of the server.

In a test environment, you might want to disable the validation. In aproduction environment, you might want to enable validation.

The default value is False.

Chapter 5. Managing advanced configuration 111

Page 122: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Data type: Boolean

Example: False

kess.selection.criteriaSpecify which key or certificate to use for signing, validating, encrypting,or decrypting various messages. If there are multiple keys or certificateswith the same Subject DN as the key or certificate with the specified alias,this setting determines which one to use. Use one of the following selectionmethods:

only.aliasSelect the key or certificate with the specified alias. This is the default.

longest.lifetimeSelect the key or certificate with the longest lifetime.

shortest.lifetimeSelect the key or certificate with the shortest lifetime.

Data type: String

Example: only.alias

Policy information point (PIP)

pip.uncachedAttributesDefines a comma-separated list of attributes that are generated by a policyinformation point (PIP) that you do not want to be cached.

Data type: String list

Example: urn:ibm:security:jdbc:city,urn:ibm:security:ldap:priviledgeUser

Security token service (STS)

sts.showSystemChainsSpecifies whether to show internal STS chains that are used by federations.

The default value is False.

Data type: Boolean

Example: true

112 IBM Security Access Manager Version 9.0 October 2015: Federation Configuration topics

Page 123: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Index

AAccess Manager credential module

using 39advanced configration 99advanced configuration

category filter 100property descriptions 100

alias serviceSAML 2.0 15

artifact resolution serviceendpoint URLs 6

assertion consumer serviceendpoint URLs 6profile initial URLs 8

Attribute Mapping moduleproperties 48using 37

authenticationlogin form 59, 60

Bbindings

SAML 2.0 13

Cclocks

synchronizing 74configuration

federationadvanced 99

partnerobtaining from 29

Consent to Federate Pagecustomization 71description 71

DDefault Mapping module

properties 48using 37

Eendpoint URLs

SAML 2.0 6endpoints

SAML 5event pages

customization overview 60overview 61

Ffederation

information gathering 16

federation (continued)partner

configuring 29obtaining 29

reverse proxy point of contact serverconfiguration 95

SAML 2.0 federations 3Federation Module

overview 1federation runtime

user session ID 72

HHTML pages

SAML 2.0 61HTTP Callout module

properties 48using 38

Iidentity mapping

SAML 2.0 token, local user 16identity provider

SAML 2.0 worksheet 23identity provider mapping

SAML 2.0 token, local user 15identity provider partner

SAML 2.0 worksheet 33initial URLs

profiles for SAML 2.0 8IVCred token module

properties 50

Llocal user identity mapping

from 15to 16

login formcustomizing (overview) 60

login pagescustom 59web reverse proxy 60

logoutuser session ID 72

LTPA moduleproperties 52using 40

Mmacros

customization 60HTML pages for SAML 2.0 61

manageItfimStsChainMappingtoken module properties 48

mapping rulesSAML 2.0 token to local identity 15

metadatapartner

obtaining from 29module types

Access Manager credentials 39Attribute Mapping 37Default Mapping 37HTTP Callout 38LTPA 40overview 37SAML 2.0 41STSUU 46Username token 46

Nname identifier management

SAML 2.0 14name identifier service

endpoint URLs 6profile initial URLs 8

OOIDC 75OpenID Connect federation

reverse proxy point of contact serverconfiguration 95

Ppage identifiers

HTML for SAML 2.0 61pages, event

SAML 2.0 61partner

obtaining configuration from 29point of contact server

reverse proxy configuration 95profiles

initial URLs description 5, 8SAML 2.0 4

propertiesAttribute Mapping module 48Default Mapping module 48HTTP Callout module 48IVCred module 50LTPA module 52SAML 2.0 module 53Username module 58

protocolssupport for SAML 2.0 3

113

Page 124: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

Rreverse proxy instance

point of contact serverconfiguration 95

SSAML

authentication login form custommacros 60

SAML 2.0alias service 15bindings 13Consent to Federate Page

customization 71custom login form 59endpoints 5, 6event pages 61local user mapping 15, 16name identifier management 14overview 3page identifiers 61profile initial URLs 8profiles 4responses 71service provider partner

worksheet 30URLs 6worksheets

identity provider 23identity provider partner 33service provider 17

SAML 2.0 federationsdescription 3

SAML 2.0 moduleproperties 53using 41

SAML federationsreverse proxy point of contact server

configuration 95servers

point of contact server 95service provider

SAML 2.0 worksheet 17service provider mapping

SAML 2.0 token, local user 16service provider partner

SAML 2.0 worksheet 30session ID

user 72single logout

user session ID 72single logout service

profile initial URLs 8single sign-on

event pages 60HTML pages 61

single sign-on serviceendpoint URLs 6profile initial URLs 8

STS module typesAttribute Mapping 37Default Mapping 37HTTP Callout 38IVCred 39LTPA 40

STS module types (continued)SAML 2.0 41STSUU 46Username 46

STS modulesconfigure 36overview 37

STSUU moduleusing 46

synchronizing clocks 74system clock synchronization 74

Ttemplate pages

WAYF page 70

UURLs

partner communication 5profiles 5SAML 2.0

endpoint URLs 6SAML 2.0 profile initial 8

user session ID 72Username module

properties 58using 46

WWAYF page

template 70web reverse proxy

login pages 60Where Are You From (WAYF) page

See WAYF pageworksheets

SAML 2.0identity provider 23IDP 23IDP partner 33service provider 17SP worksheet 17

SAML 2.0 service providerpartner 30

114 IBM Security Access Manager Version 9.0 October 2015: Federation Configuration topics

Page 125: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides
Page 126: IBM Security Access Manager Version 9.0 October 2015: …FILE/isam90_config_federation.pdf · 2020. 10. 19. · Chapter 1. Federation overview IBM Security Access Manager pr ovides

IBM®

Printed in USA