9.5 Configuring Service Providers

You require to configure Web service providers to accept tokens issued by an STS. The Web service provider uses an IssuedToken policy for the same. The IssuedToken policy is wrapped in WSDL. For a sample policy, see Section 9.5.6, A Sample WS-Policy for Web Service Providers.

Configuring a service provider includes adding a service provider domain and then adding a service provider in a configured domain. Access Manager also allows you to modify and delete configured service provider domains and service providers.

9.5.1 Adding a Domain and Assigning WS-Trust Operations

  1. In the Administration Console, click Devices > Identity Servers > Edit > WS-Trust > Service Provider Domain.

  2. Click New > General to create a general domain. Selecting New > Office 365 creates an Office 365 domain that can be configured for active authentication. For details on creating an Office 365 domain, see Configuring an Office 365 Domain By Using WS-Trust Protocol

  3. Specify the following details:

    Name: Specify a name for the domain.

    WS-Trust Operations: Select operations in Available operations that WS-Trust STS performs for tokens and move these to Selected operations.

    The available operations are Issue, Validate, OnBehalfOf, ActAs and Renew.

    If you select OnBehalfOf and Act As the Available operations, additional configuration is required. For more information, see Adding Policy for ActAs and OnBehalfOf

  4. Click Finish. Continue with creation of a trusted Service Provider. For more information, see Adding Web Service Providers

9.5.2 Adding Web Service Providers

This section discusses how to add service providers for WS-Trust STS. Adding a service provider includes adding service provider EndPoint URL, configuring trust certificates, selecting token types, and customizing attributes.

Perform the following steps:

  1. In the Administration Console, click Devices > Identity Servers > Edit > WS-Trust > Service Provider Domain.

  2. Select the domain under which you want to configure a service provider.

  3. Click Service Provider > New.

  4. Specify the following details:

    Name: Specify a name for the service provider.

    Endpoint: Specify the SOAP endpoint location at the service provider to which SOAP messages are sent.

    Token Type: Select the type of token that the service provider will accept or validate.

    Encrypt Proof Token Using: Import a certificate from the file system or paste content of the certificate here. This certificate should be configured in the Web service provider and is used for creating the subject confirmation in the SAML token.

  5. Click Finish.

  6. Select the Service Provider to define the Attributes and Authentication Response. For more information, see Section 9.5.5, Modifying Service Providers

Enabling Delegation and Impersonation

By default, ActAs and OnBehalfOf requests are disabled in the Access Manager Identity Server. To enable delegation and impersonation, you must enable ActAs and OnBehalfOf by performing the following steps:

  1. Go to WS-Trust > Service Provider Domain.

  2. Click the service provider domain name for which you want to enable ActAs and OnBehalfOf operations.

  3. Under WS Trust Operations, select ActAs and OnBehalfOf in Available operations and move to Selected operations.

  4. Click OK.

These operations are restricted to a set of privileged user accounts defined in the policy. You need to configure the allowed user accounts, who can perform ActAs and OnBehalfOf operations, in the nidconfig.properties file of each Identity Server installation. For more information, see Adding Policy for ActAs and OnBehalfOf

Configuring ActAs to Lookup Multiple User Stores

For ActAs, the username on behalf of whom a client requests for a token must be present in the user store (eDirectory). The default implementation checks for this user only in the default user store. If you want to search the user in a different user store, perform the following steps:

  1. In the Administration Console, click Devices > Identity Server > Edit > Local > Classes.

  2. Click New and specify the following details:

    Display name: Specify Find_By_Username

    Java class: Select Other

    Java class path: Specify com.novell.nidp.authentication.local.UserNameAuthenticationClass

  3. Click Next > Finish.

  4. Go to Local > Methods.

  5. Click New and select the Find_By_Username class.

    For more information about how to configure an authentication method, see Section 3.3, Configuring Authentication Methods.

  6. Go to WS-Trust > STS Configuration. Move this authentication method in the Selected Authentication Methods from Available Authentication Methods.

Adding Policy for ActAs and OnBehalfOf

You must add an policy to allow ActAs and OnBehalfOf operations. The default policy looks for a configuration of allowed user names from the nidpconfig.properties file. Allowed usernames are the user accounts that the intermediate Web service provider uses to authenticate with STS when sending a request with ActAs or OnBehalfOf elements.For ActAs and OnBehalfOf, you must specify multiple username values separated with comma. If no value is specified, ActAs and OnBehalfOf are denied.

The nidpconfig.properties file is located in the following location:

Linux: /opt/novell/nids/lib/webapp/WEB-INF/classes.

Windows: C:\Program Files (x86)\Novell\Tomcat\webapps\nidp\WEB-INF\classes

Enable the following attribute by removing the pound (#) symbol from it for allowing ActAs:

WSTRUST_AUTHORIZATION_ALLOWED_ACTAS_VALUES=alice,admin

Enable the following name-value pair by removing the pound (#) symbol from it for allowing OnBehalfOf:

WSTRUST_AUTHORIZATION_ALLOWED_ONBEHALF_VALUES=bob,admin

To simplify parameters, you can define only the following parameter:

WSTRUST_AUTHORIZATION_ALLOWED_VALUES=alice,admin

These users can perform both Actas and onBehalfOf operations.

After editing the file, restart the Identity Server by running the following command:

Linux: /etc/init.d/novell-idp restart

Windows: net stop Tomcat7

net start Tomcat7

After upgrading Access manager, the configuration is set to default values. You must reconfigure the details after each upgrade.

9.5.3 Managing Service Provider Domains

The WS-Trust page allows you to create, modify, and delete service provider domains. This page lists all configured service provider domains.

  1. In the Administration Console, click Devices > Identity Servers > Edit > WS-Trust > Service Provider Domains.

    The list of all configured service provider domains is displayed.

  2. Select one of the following actions:

    • New: Select New > General to create a general domain. Selecting New > Office 365 creates a domain that can be configured for single sign-on to Office 365 services. For more on creating Office 365 domain, see Section 9.5.1, Adding a Domain and Assigning WS-Trust Operations.

    • Delete: Deletes the selected service provider domain.

  3. Click OK, then update the Identity Server.

  4. Select the Service Provider domain to modify the following details:

    • Name: Modify the name of the service provider domain.

    • WS Trust Operations: Modify the list of selected WS-Trust operations.

  5. Click OK.

9.5.4 Managing Service Providers

Access Manager allows you to you to create, modify, and delete trusted service providers. The Service Providers page lists all configured service provider.

  1. In the Administration Console, click Devices > Identity Servers > Edit > WS-Trust> Service Provider Domains> [name of the service provider domain] > Service Providers.

    The list of all configured service provider for the selected domain is displayed.

  2. Select one of the following actions:

  3. Click OK.

9.5.5 Modifying Service Providers

  1. In the Administration Console, click Devices > Identity Servers > Edit > WS-Trust> Service Provider Domains> [name of the service provider domain] > Service Providers.

    The list of all configured service provider for the selected domain is displayed.

  2. Click the name of the service provider you want to edit.

    Configuration > Trust

    You can modify the following details:

    Configuration > Attributes

    • Select the Attribute Set and move attributes from the Available list to the Send with Authentication pane. This indicates the attributes that you want sent in an assertion to the service provider.

    Configuration > Authentication Response

    • Specify a value for the name identifier.

      • The persistent and transient formats are generated automatically. For the others, you can select an attribute. The available attributes depend upon the attributes that you have selected to send with authentication (see Configuring the Attributes Obtained at Authentication). If you do not select a value for the E-mail, Kerberos, X509, or Unspecified format, a unique value is automatically generated.

        IMPORTANT:In Access Manager 4.0 SP1, the SAML tokens with Name Identifier value other than username do not support ActAs, OnBehalfOf and SAML authentication operations.

  3. Click Apply.

9.5.6 A Sample WS-Policy for Web Service Providers

You should modify WSDL of a Web service provider to include IssuedTokenPolicy that points to Access Manager WS-Trust STS. To modify WSDL, you require to add a WS-Policy with IssuedTokenElement. The following is a sample configuration:

<wsp:Policy wsu:Id="<policy_name>">
        <wsp:ExactlyOne>
            <wsp:All>
                <wsaws:UsingAddressing xmlns:wsaws="http://www.w3.org/2006/05/addressing/wsdl" wsp:Optional="false"/>
                <sc:KeyStore wspp:visibility="private" alias="xws-security-server"/>
                <sp:SymmetricBinding>
                    <wsp:Policy>
                        <sp:ProtectionToken>
                            <wsp:Policy>
                                <sp:IssuedToken sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient">
                                    <sp:RequestSecurityTokenTemplate>
                                        <t:TokenType>http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV1.1</t:TokenType>
                                        <t:KeyType>http://schemas.xmlsoap.org/ws/2005/02/trust/SymmetricKey</t:KeyType>
                                        <t:KeySize>256</t:KeySize>
                                    </sp:RequestSecurityTokenTemplate>
                                    <wsp:Policy>
                                        <sp:RequireInternalReference/>
                                    </wsp:Policy>
                                    <sp:Issuer>
                                        <wsaws:Address>https://namtest.com:8443/nidp/wstrust/sts</wsaws:Address>
                                        <wsaws:Metadata>
                                            <wsx:Metadata>
                                                <wsx:MetadataSection>
                                                    <wsx:MetadataReference>
                                                        <wsaws:Address>https://namtest.com:8443/nidp/wstrust/sts/mex</wsaws:Address>
                                                    </wsx:MetadataReference>
                                                </wsx:MetadataSection>
                                            </wsx:Metadata>
                                        </wsaws:Metadata>
                                    </sp:Issuer>
                                </sp:IssuedToken>
                            </wsp:Policy>
                        </sp:ProtectionToken>
                        <sp:Layout>
                            <wsp:Policy>
                                <sp:Lax/>
                            </wsp:Policy>
                        </sp:Layout>
                        <sp:IncludeTimestamp/>
                        <sp:OnlySignEntireHeadersAndBody/>
                        <sp:AlgorithmSuite>
                            <wsp:Policy>
                                <sp:Basic128/>
                            </wsp:Policy>
                        </sp:AlgorithmSuite>
                    </wsp:Policy>
                </sp:SymmetricBinding>
                <sp:Wss11>
                    <wsp:Policy>
                        <sp:MustSupportRefIssuerSerial/>
                        <sp:MustSupportRefThumbprint/>
                        <sp:MustSupportRefEncryptedKey/>
                    </wsp:Policy>
                </sp:Wss11>
                <sp:Trust10>
                    <wsp:Policy>
                        <sp:MustSupportIssuedTokens/>
                        <sp:RequireClientEntropy/>
                        <sp:RequireServerEntropy/>
                    </wsp:Policy>
                </sp:Trust10>
            </wsp:All>
        </wsp:ExactlyOne>
    </wsp:Policy>