Admin
Admin
5
Administration Guide
April 2019
Legal Notice
For information about legal notices, trademarks, disclaimers, warranties, export and other use restrictions, U.S.
Government rights, patent policy, and FIPS compliance, see https://www.microfocus.com/about/legal/.
2
Contents
Contents 3
2.4.2 Configuring a Public Protected Resource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
2.4.3 Configuring Access Gateway for Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
2.4.4 Setting Up Policies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
2.5 Configuring Access Gateways Clusters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
2.5.1 Prerequisites for Configuring an Access Gateways Cluster . . . . . . . . . . . . . . . . . . . . . . . . . 114
2.5.2 Designing the Membership Type for a Cluster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
2.5.3 Configuring a Cluster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
2.5.4 Managing Access Gateway Cluster Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
2.6 Protecting Web Resources Through Access Gateway . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
2.6.1 Configuration Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
2.6.2 WebSocket Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
2.6.3 Managing Reverse Proxies and Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
2.6.4 Configuring Web Servers of a Proxy Service. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
2.6.5 Configuring Protected Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
2.6.6 Configuring HTML Rewriting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
2.6.7 Configuring Connection and Session Limits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
2.6.8 Protecting Multiple Resources. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
2.7 Configuring Trusted Providers for Single Sign-On . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
2.7.1 Understanding the Trust Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
2.7.2 Configuring General Provider Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
2.7.3 Managing Trusted Providers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
2.7.4 Modifying a Trusted Provider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
2.7.5 Communication Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
2.7.6 Selecting Attributes for a Trusted Provider. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
2.7.7 Managing Metadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
2.7.8 Configuring an Authentication Response for a Service Provider . . . . . . . . . . . . . . . . . . . . 205
2.7.9 Routing to an External Identity Provider Automatically . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
2.7.10 Using the Intersite Transfer Service. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
2.8 Configuring Single Sign-On to Specific Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
2.8.1 Configuring SSO to SharePoint Server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
2.8.2 Configuring a Protected Resource for Outlook Web Access . . . . . . . . . . . . . . . . . . . . . . . . 227
2.8.3 Configuring a Protected Resource for a Novell Vibe 3.3 Server . . . . . . . . . . . . . . . . . . . . . 230
2.8.4 Protecting Kerberized Resources with Kerberos Constrained Delegation . . . . . . . . . . . . 235
2.8.5 Configuring Access to the Filr Site through Access Manager . . . . . . . . . . . . . . . . . . . . . . . 239
2.9 Configuring a Protected Identity Server Through Access Gateways . . . . . . . . . . . . . . . . . . . . . . . . . 239
2.10 Managing Access to User Portal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
2.10.1 Logging in to the Default User Portal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
2.10.2 Logging in with the Legacy Customized Portal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
2.10.3 Logging in to the User Portal from a Web Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
2.10.4 Managing Authentication Cards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
2.10.5 Specifying a Target . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
2.10.6 Blocking Access to the User Portal Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
2.10.7 Blocking Access to the WSDL Services Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
2.11 Sample Configuration for Protecting an Application Through Access Manager. . . . . . . . . . . . . . . . 251
2.11.1 Installation Overview and Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
2.11.2 Setting Up the Web Server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
2.11.3 Configuring Public Access to Digital Airlines. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
2.11.4 Implementing Access Restrictions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
4 Contents
3.1.3 Customizing Identity Server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
3.1.4 Configuring the Custom Response Header for an Identity Server Cluster . . . . . . . . . . . . . 318
3.2 Access Gateway Server Advance Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
3.2.1 Configuration Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
3.2.2 Saving, Applying, or Canceling Configuration Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
3.2.3 Managing Access Gateways Settings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
3.2.4 Managing General Details of Access Gateway . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
3.2.5 Setting Up a Tunnel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
3.2.6 Setting the Date and Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
3.2.7 Configuring Network Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
3.2.8 Enabling Access Gateway to Display Post-Authentication Message. . . . . . . . . . . . . . . . . . 341
3.2.9 Customizing Access Gateway. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
3.3 Access Gateway Content Settings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
3.3.1 Configuring Cache Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
3.3.2 Controlling Browser Caching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
3.3.3 Configuring a Pin List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
3.3.4 Configuring a Purge List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
3.3.5 Purging Cached Content. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
3.3.6 Apache htcacheclean Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
3.4 Access Gateway Advanced Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
3.4.1 Configuring Global Advanced Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
3.4.2 Configuring Advanced Options for a Domain-Based and Path-Based Multi-Homing
Proxy Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
3.5 Cookie Mangling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
3.6 URL Attribute Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
3.7 Analytics Server Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
3.7.1 Managing Analytics Server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
3.7.2 Managing General Details of Analytics Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
3.7.3 Managing Details of a Cluster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
3.7.4 Configuring Analytics Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
3.7.5 Importing Analytics Server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
3.8 Email Server Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
3.9 Configuration Files Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
3.9.1 Modifying web.xml. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
3.9.2 Modifying server.xml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
Contents 5
4.2.3 Configuring User Identification Methods for Federation . . . . . . . . . . . . . . . . . . . . . . . . . . 493
4.2.4 Configuring SAML 2.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 501
4.2.5 Configuring SAML 1.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544
4.2.6 Configuring Liberty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547
4.2.7 Configuring Liberty Web Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554
4.2.8 Configuring WS Federation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574
4.2.9 Configuring WS-Trust Security Token Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 603
4.2.10 Understanding How Access Manager Uses OAuth and OpenID Connect . . . . . . . . . . . . . 627
4.2.11 Configuring Authentication Through Federation for Specific Providers. . . . . . . . . . . . . . .666
4.2.12 Integrating Amazon Web Services with Access Manager . . . . . . . . . . . . . . . . . . . . . . . . . . 670
4.2.13 Configuring Single Sign-On for Office 365 Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 674
4.3 Advanced Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 703
4.3.1 Two-Factor Authentication Using Time-Based One-Time Password . . . . . . . . . . . . . . . . . 703
4.3.2 RADIUS Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 706
4.3.3 NetIQ Advanced Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 707
4.4 Social Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 714
4.4.1 Why and When to Use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 715
4.4.2 Prerequisites for Social Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 716
4.4.3 Configuring the Social Authentication Class. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 716
4.4.4 Adding Images for Social Authentication Providers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .718
4.4.5 Changing Social Authentication Icons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 719
4.4.6 Configuring Supported Social Authentication Providers for API Keys and API Secrets . . . 719
4.5 Risk-based Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 722
4.5.1 How Risk-based Authentication Works. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 724
4.5.2 Why Risk-based Authentication. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 726
4.5.3 Features of Risk-based Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 727
4.5.4 Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 733
4.5.5 Understanding Risk-based Authentication through Scenarios . . . . . . . . . . . . . . . . . . . . . . 734
4.5.6 Understanding Risk Score Calculation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 744
4.5.7 Configuring Risk-based Authentication. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 746
4.5.8 Enabling Auditing for Risk-Based Authentication Events. . . . . . . . . . . . . . . . . . . . . . . . . . . 746
4.5.9 Configuring an External Database to Store User History. . . . . . . . . . . . . . . . . . . . . . . . . . . 746
4.5.10 Enabling Logging for Risk-Based Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 749
4.5.11 Troubleshooting Risk Rule Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .749
6 Contents
6.1.5 Troubleshooting Automatic Hybrid Azure AD Join. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 775
6.2 Azure AD Join for Windows Devices. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 775
6.2.1 Prerequisites for Azure AD Join . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 775
6.2.2 Configuring Azure AD Join . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 775
6.3 Azure Active Directory Conditional Access with Access Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . 776
6.4 Registering Devices to Microsoft Intune Mobile Device Management. . . . . . . . . . . . . . . . . . . . . . .779
7 Appmarks 781
7.1 Creating an Appmark. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 782
7.2 Creating Multiple Appmarks for an Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 782
7.3 Understanding Appmarks Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 782
7.4 Managing Icons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 784
Contents 7
10.3.3 Sample Access Gateway Authorization Policies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 856
10.3.4 Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 862
10.3.5 Importing and Exporting Authorization Policies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 893
10.4 Identity Injection Policies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 893
10.4.1 Designing an Identity Injection Policy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 894
10.4.2 Configuring an Identity Injection Policy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 896
10.4.3 Configuring an Authentication Header Policy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 897
10.4.4 Configuring a Custom Header Policy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 902
10.4.5 Configuring a Custom Header with Tags. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 904
10.4.6 Specifying a Query String for Injection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 907
10.4.7 Injecting into the Cookie Header. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 909
10.4.8 Configuring an Inject Kerberos Ticket Policy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 910
10.4.9 Configuring an OAuth Token Inject Policy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .913
10.4.10 Importing and Exporting Identity Injection Policies. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .914
10.4.11 Sample Identity Injection Policy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 914
10.5 Form Fill Policies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 916
10.5.1 Understanding an HTML Form. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 916
10.5.2 Creating a Form Fill Policy for the Sample Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 919
10.5.3 Implementing Form Fill Policies. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 921
10.5.4 Creating and Managing Shared Secrets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 938
10.5.5 Importing and Exporting Form Fill Policies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 940
10.5.6 Configuring a Form Fill Policy for Forms With Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 941
10.6 External Attribute Source Policies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 946
10.6.1 Enabling External Attributes Policy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 946
10.6.2 Creating an External Attribute Source Policy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 946
10.6.3 External Attribute Source Policy Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 947
10.7 Risk-based Policies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 950
10.7.1 Configuring Risk-based Authentication. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 950
10.7.2 Configuring User History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 961
10.7.3 Configuring Geolocation Profiling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 964
10.7.4 Configuring Behavioral Analytics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 964
10.7.5 Configuring NAT Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 967
10.7.6 Configuring an Authorization Policy to Protect a Resource. . . . . . . . . . . . . . . . . . . . . . . . . 967
10.7.7 Risk-Based Authentication: Sample Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 968
8 Contents
Part II Security And Certificates 987
Contents 9
15.5 Importing a Signed Certificate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1047
10 Contents
Part III Maintaining Access Manager 1093
21 Auditing 1111
21.1 Setting Up Logging Server and Console Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1112
21.2 Important Points to Consider When Using Syslog. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1116
21.2.1 Limitations of Syslog. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1116
21.2.2 Caching Audit Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1117
21.2.3 Debugging Syslog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1117
21.3 Configuring Syslog for Auditing over UDP and TLS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1117
Contents 11
21.3.1 Auditing using UDP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1117
21.3.2 Auditing using TLS over TCP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1118
21.3.3 Configuring Administration Console as a Remote Audit Server . . . . . . . . . . . . . . . . . . . .1120
21.4 Enabling Identity Server Audit Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1121
21.5 Enabling Access Gateway Audit Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1125
22 Reporting 1127
22.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1127
22.2 Using Reporting with Sentinel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1128
22.2.1 Prerequisites for Using Access Manager Reporting Solution Pack . . . . . . . . . . . . . . . . . .1128
22.2.2 Deploying Access Manager Reporting Solution Pack. . . . . . . . . . . . . . . . . . . . . . . . . . . . .1129
22.3 Using Reporting with Analytics Server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1129
22.3.1 Prerequisites for Using Reporting with Analytics Server . . . . . . . . . . . . . . . . . . . . . . . . . .1129
22.3.2 Viewing Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1130
22.4 Enabling Reporting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1130
22.5 Generating Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1131
23 Logging 1133
23.1 Understanding the Types of Logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1133
23.1.1 Component Logging for Troubleshooting Configuration or Network Problems . . . . . . .1134
23.1.2 HTTP Transaction Logging for Proxy Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1134
23.2 Understanding the Log Format. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1135
23.2.1 Understanding the Correlation Tags in the Log Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1136
23.2.2 Sample Scenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1138
23.3 Identity Server Logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1138
23.3.1 Configuring Logging for Identity Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1138
23.3.2 Configuring Session-Based Logging. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1140
23.3.3 Capturing Stack Traces of Exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1147
23.4 Access Gateway Logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1148
23.4.1 Managing Access Gateway Logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1149
23.4.2 Configuring Logging of HTTP Headers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1150
23.4.3 Configuring Logging of SOAP Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1151
23.4.4 Configuring Logging for a Proxy Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1151
23.5 Downloading Log Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1160
23.5.1 Linux Administration Console Logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1161
23.5.2 Windows Server 2016 Administration Console Logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1161
23.5.3 Linux Identity Server Logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1162
23.5.4 Windows Server 2012 Identity Server Logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1162
23.5.5 Linux Access Gateway Appliance and Access Gateway Service Logs . . . . . . . . . . . . . . . .1163
23.5.6 Windows Access Gateway Service Logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1163
23.6 Turning on Logging for Policy Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1164
12 Contents
24.3.1 Monitoring API for Identity Server Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1189
24.3.2 Monitoring API for Access Gateway Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1195
Contents 13
28.4.1 Querying Using the Namespace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1227
28.4.2 Querying Using the OID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1227
28.5 Installing and Enabling Monitoring for Access Manager Components . . . . . . . . . . . . . . . . . . . . . .1228
28.5.1 Installing and Enabling Monitoring for Access Manager on Linux . . . . . . . . . . . . . . . . . .1228
28.5.2 Installing and Enabling Monitoring for Access Manager on Windows . . . . . . . . . . . . . . .1228
29 Impersonation 1231
29.1 Prerequisites for Creating an Impersonated Session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1231
29.2 Enabling Impersonation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1232
29.3 Impersonation Flow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1232
29.4 Implementing Impersonation in Custom Portal Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1232
29.4.1 Understanding the Specific JSP Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1233
29.4.2 Determining when to Show the Specific JSP Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1233
29.5 Audit Event for Impersonation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1235
29.6 Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1235
32 Troubleshooting 1259
32.1 Troubleshooting Administration Console . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1259
32.1.1 Global Troubleshooting Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1260
32.1.2 Diagnostic Configuration Export Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1264
14 Contents
32.1.3
Stopping Tomcat on Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1264
32.1.4
Restoring a Failed Secondary Console . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1265
32.1.5
Moving the Primary Administration Console to a New Hardware . . . . . . . . . . . . . . . . . .1265
32.1.6
Converting a Secondary Administration Console into a Primary Console . . . . . . . . . . . .1266
32.1.7
Repairing the Configuration Datastore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1273
32.1.8
Session Conflicts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1274
32.1.9
Unable to Log In to Administration Console. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1274
32.1.10
(Linux) Exception Processing IdentityService_ServerPage.JSP . . . . . . . . . . . . . . . . . . . . .1275
32.1.11
Backup and Restore Fail Because of Special Characters in Passwords . . . . . . . . . . . . . . .1275
32.1.12
Unable to Install NMAS SAML Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1276
32.1.13
Incorrect Audit Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1276
32.1.14
Unable to Update Access Gateway Listening IP Address in Administration Console
Reverse Proxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1277
32.1.15 During Access Gateway Installation Any Error Message Should Not Display
Successful Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1278
32.1.16 Incorrect Health Is Reported on Access Gateway . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1278
32.1.17 Administration Console Does Not Refresh the Command Status Automatically . . . . . .1278
32.1.18 SSL Communication with Weak Ciphers Fails . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1278
32.1.19 Error: Tomcat did not stop in time. PID file was not removed . . . . . . . . . . . . . . . . . . . . .1279
32.1.20 (Access Manager on Cloud) Metadata Under System Setup of SAML 2 Applications
Is Displayed after a delay of 5 to 10 Seconds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1279
32.1.21 (Windows) Advanced Authentication Configuration Details Are Not Applied to a
New Node of the Identity Server Cluster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1279
32.2 Troubleshooting Access Gateway . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1279
32.2.1 Useful Troubleshooting Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1280
32.2.2 Verifying That All Services Are Running . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1284
32.2.3 Microsoft Office Documents Do Not Open When SharePoint Is Accelerated by
Access Gateway Appliance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1286
32.2.4 Troubleshooting SSL Connection Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1287
32.2.5 Enabling Debug Mode and Core Dumps. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1287
32.2.6 Useful Troubleshooting Tools for Access Gateway Service . . . . . . . . . . . . . . . . . . . . . . . .1290
32.2.7 Solving Apache Restart Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1291
32.2.8 Understanding the Authentication Process of Access Gateway Service . . . . . . . . . . . . .1294
32.2.9 Issue While Accelerating the Ajax Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1300
32.2.10 Accessing Lotus-iNotes through Access Gateway Asks for Authentication . . . . . . . . . . .1300
32.2.11 Configuration Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1300
32.2.12 The Embedded Service Provider Does not Start . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1301
32.2.13 Cannot Inject a Photo into HTTP Headers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1301
32.2.14 Reimporting Access Gateway Takes the IP Address of the Old Administration
Console . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1301
32.2.15 Reimporting Access Gateway Service Fails on Windows 2012 R2 Server . . . . . . . . . . . .1301
32.2.16 Access Gateway Caching Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1302
32.2.17 Issues while Changing the Management IP Address in Access Gateway Appliance . . . .1302
32.2.18 Issue While Adding Access Gateway in a Cluster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1303
32.2.19 Access Gateway Fails to Start After Upgrading SLES 11 SP3 to SLES 12 . . . . . . . . . . . . . .1304
32.3 Troubleshooting Identity Server and Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1304
32.3.1 Useful Networking Tools for Linux Identity Server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1306
32.3.2 Troubleshooting 100101043 and 100101044 Liberty Metadata Load Errors . . . . . . . . .1306
32.3.3 Authentication Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1314
32.3.4 Problems Reading Keystores after Identity Server Re-installation . . . . . . . . . . . . . . . . . .1318
32.3.5 After Setting Up the User Store to Use SecretStore, Users Report 500 Errors . . . . . . . .1318
32.3.6 When Multiple Browser Logout Option Is Enabled, User Is Not Getting Logged Out
from Different Sessions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1318
32.3.7 After Consuming a SAML Response, the Browser Is Redirected to an Incorrect URL . . .1318
Contents 15
32.3.8
Configuring SAML 1.1 Identity Provider Without Specifying Port in the Login URL
Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1318
32.3.9 Attributes Are Not Available Through Form Fill When OIOSAML Is Enabled. . . . . . . . . .1319
32.3.10 Issue in Importing Metadata While Configuring Identity Provider or Service
Provider Using Metadata URL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1319
32.3.11 Enabling Secure or HTTPOnly Flags for Cluster Cookies . . . . . . . . . . . . . . . . . . . . . . . . . .1319
32.3.12 Apache Portable Runtime Native Library Does Not Get Loaded in Tomcat . . . . . . . . . . .1320
32.3.13 Metadata Mentions Triple Des As Encryption Method . . . . . . . . . . . . . . . . . . . . . . . . . .1322
32.3.14 Issue in Accessing Protected Resources with External Identity Provider When Both
Providers Use Same Cookie Domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1322
32.3.15 SAML Intersite Transfer URL Setup Does Not Work for Non-brokered Setups after
Enabling SP Brokering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1322
32.3.16 Orphaned Identity Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1322
32.3.17 Users Cannot Log In to Identity Server When They Access Protected Resources
with Any Contract Assigned . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1323
32.3.18 An Attribute Query from OIOSAML.SP Java Service Provider Fails with Null Pointer . . .1323
32.3.19 Disabling the Certificate Revocation List Checking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1324
32.3.20 Step Up Authentication for Identity Server Initiated SSO to External Provider Does
Not Work Unless It has a Matching Local Contract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1324
32.3.21 Metadata Cannot be Retrieved from the URL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1324
32.3.22 Authentication Request to a Service Provider Fails . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1324
32.3.23 SAML 2.0 POST Compression Failure Does Not Throw a Specific Error Code . . . . . . . . .1324
32.3.24 SAML 1.1 Service Provider Re-requests for Authentication . . . . . . . . . . . . . . . . . . . . . . .1325
32.3.25 Issue in Generating WS-Federation Claim for SharePoint 2010 On Windows . . . . . . . . .1325
32.3.26 Identity Server Statistics Logs Do Not Get Written In Less Than One Minute . . . . . . . . .1325
32.3.27 No Error Message Is Written in the Log File When an Expired Certificate Is Used for
the X509 Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1326
32.3.28 Terminating an Existing Authenticated User from Identity Server . . . . . . . . . . . . . . . . . .1326
32.3.29 Clustered Nodes Looping Due to JGroup Issues. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1327
32.3.30 Authentication With Aliases Fails . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1327
32.3.31 nidp/app Does Not Redirect to nidp/portal after Authentication . . . . . . . . . . . . . . . . . .1328
32.3.32 Login to Office 365 Fails when WS-Trust MEX Metadata Is Larger than 65 KB . . . . . . . .1328
32.3.33 Unsafe Server Certificate Change in SSL/TLS Renegotiations Is Not Allowed . . . . . . . . .1328
32.3.34 Viewing Request and Response Headers of All Protocols in a Log File . . . . . . . . . . . . . .1329
32.3.35 Provisioning of LDAP Attribute for Social Authentication User Failed . . . . . . . . . . . . . . .1330
32.3.36 User Authentication Fails When the Advanced Authentication Generic Class Is
Used. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1330
32.3.37 Cannot Create an Authentication Class with Advanced Authentication Generic
Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1330
32.3.38 CORS Request to the Token Introspection Endpoint Fails . . . . . . . . . . . . . . . . . . . . . . . . .1331
32.3.39 The User Portal Page Does Not Display the Branding . . . . . . . . . . . . . . . . . . . . . . . . . . . .1332
32.4 Troubleshooting Analytics Server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1332
32.4.1 Launching Access Manager Dashboard Displays a Blank Page . . . . . . . . . . . . . . . . . . . . .1333
32.4.2 Graphs Do Not Display Any Data When You Launch Access Manager Dashboard . . . . .1333
32.4.3 Clearing the Existing Realtime Data to View the Imminent Data on Graphs . . . . . . . . . .1333
32.4.4 Cannot Launch Access Manager Dashboard After Reimporting Analytics server . . . . . .1334
32.4.5 The Analytics Server Health Is Not Reported to Administration Console . . . . . . . . . . . .1334
32.4.6 Access Manager Dashboard Does Not Display Graphs, but Displays the Health
Status of Devices. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1334
32.5 Troubleshooting Certificate Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1336
32.5.1 Resolving the JCC Communication between Devices and Administration Console . . . .1336
32.5.2 The Self-Signing Certificate Is Expired for Port 10013 on Analytics Server . . . . . . . . . . .1337
32.5.3 Resolving Certificate Import Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1337
32.5.4 Mutual SSL with X.509 Produces Untrusted Chain Messages. . . . . . . . . . . . . . . . . . . . . .1339
32.5.5 Certificate Command Failure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1340
16 Contents
32.5.6 Cannot Log In with Certificate Error Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1340
32.5.7 When a User Accesses a Resource, the Browser Displays Certificate Errors . . . . . . . . . .1340
32.5.8 Canceling Certificates Modification Results in Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . .1341
32.5.9 A Device Reports Certificate Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1341
32.5.10 Renewing the expired eDirectory certificates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1341
32.5.11 Certificate Trust Store Objects of the Identity Server Clusters Are Deleted
Randomly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1341
32.6 Troubleshooting Access Manager Policies. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1342
32.6.1 Turning on Logging for Policy Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1342
32.6.2 Common Configuration Problems That Prevent a Policy from Being Applied as
Expected . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1344
32.6.3 The Policy Is Using Old User Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1346
32.6.4 Form Fill and Identity Injection Silently Fail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1348
32.6.5 Checking for Corrupted Policies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1348
32.6.6 Policy Page Timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1348
32.6.7 Policy Creation and Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1348
32.6.8 Policy Distribution. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1349
32.6.9 Policy Evaluation: Access Gateway Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1350
32.7 Troubleshooting MobileAccess. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1354
32.7.1 Using the Same Mobile Device for Different Users Causes the Expired Session Error . .1355
32.7.2 Simple Authentication with a Pop-up Browser Window Does Not Work for
MobileAccess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1355
32.7.3 Users Fail to Authenticate to MobileAccess when Appmarks Are Launched in the
Chrome Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1355
32.7.4 Changes to MobileAccess do not Appear in Administration Console . . . . . . . . . . . . . . .1355
32.7.5 Facebook Basic SSO Connector Does Not Work from MobileAccess . . . . . . . . . . . . . . . .1356
32.8 Troubleshooting Code Promotion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1357
32.8.1 Troubleshooting Identity Server Code Promotion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1357
32.8.2 Troubleshooting Access Gateway Code Promotion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1358
32.8.3 Troubleshooting Device Customization Code Promotion . . . . . . . . . . . . . . . . . . . . . . . . .1362
32.9 Troubleshooting the Device Fingerprint Rule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1362
32.9.1 Enabling the Debug Option for the Device Fingerprint Rule. . . . . . . . . . . . . . . . . . . . . . .1362
32.9.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using
Logs to
Understand
How the
Device
Fingerprint Rule Is
Evaluated . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1363
32.10 Troubleshooting Advanced Session Assurance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1368
32.10.1 Troubleshooting Using the Log Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1368
32.10.2 Important Error Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1373
32.10.3 Checking Session Assurance Configuration Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1374
32.10.4 The Advanced Session Assurance Page Does Not Display the Access Gateway
Cluster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1376
32.11 Troubleshooting XML Validation Errors on Access Gateway Appliance . . . . . . . . . . . . . . . . . . . . .1376
32.11.1 Modifying a Configuration That References a Removed Object . . . . . . . . . . . . . . . . . . . .1377
32.11.2 Configuration UI Writes Incorrect Information to the Local Configuration Store . . . . . .1379
32.12 Troubleshooting OAuth and OpenID Connect. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1383
32.12.1 The Token Endpoint Returns the Invalid Code Error Message . . . . . . . . . . . . . . . . . . . . .1383
32.12.2 OAuth Tokens Are in Binary Format Instead of JWT Format . . . . . . . . . . . . . . . . . . . . . . .1384
32.12.3 Users Cannot Register a Client Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1384
32.12.4 Token Exchanges Show Redirect URI Invalid Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1384
32.12.5 Users Cannot Register or Modify a Client Application with Specific Options . . . . . . . . .1384
Contents 17
32.12.6 A Specific Claim Does Not Come to the UserInfo Endpoint during Claims Request . . . .1384
32.12.7 Access Gateway OAuth Fails . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1385
32.12.8 After Allowing Consent, 500 Internal Server Error Occurs . . . . . . . . . . . . . . . . . . . . . . . .1385
32.12.9 The Access Token Does Not Get Exchanged with Authorization Code When Using a
Multi-Node Identity Server Cluster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1385
32.12.10No Error Message When a Token Request Contains Repetitive Parameters . . . . . . . . . .1385
32.12.11OAuth Token Encryption/Signing Key Is Compromised or Corrupted . . . . . . . . . . . . . . .1385
32.12.12Tracing OAuth Requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1386
32.12.13OAuth Client Registration Fails If a Role Policy Contains a Condition Other than
LDAP Attribute, LDAP Group, or LDAP OU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1386
32.12.14The Identity Injection Policy Does Not Inject Passwords. . . . . . . . . . . . . . . . . . . . . . . . . .1387
32.12.15OAuth Apps Fail After Upgrading Access Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1387
32.12.16Authorization Server Responds with the Service Unavailable Message for a
Revocation Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1387
32.12.17(Windows) Cannot Configure Some of the OAuth Features After an Upgrade . . . . . . . .1387
32.13 Troubleshooting User Attribute Retrieval and Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . .1389
32.13.1 No Value Is Fetched from Attribute Source in Identity Server . . . . . . . . . . . . . . . . . . . . .1390
32.13.2 Error Message While Testing a Database Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . .1390
32.13.3 Regex Replace Error Message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1391
32.14 Troubleshooting Impersonation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1391
32.14.1 Internet Explorer Caching Error. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1391
32.15 Troubleshooting Branding. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1391
32.15.1 Changes to Branding do not Appear in Administration Console . . . . . . . . . . . . . . . . . . .1391
32.16 Using Log Files for Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1392
32.16.1 Sample Authentication Traces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1393
32.16.2 Understanding Policy Evaluation Traces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1397
32.16.3 Adding Hashed Cookies into Browsers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1416
32.17 Access Manager Audit Events and Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1418
32.18 Event Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1418
18 Contents
33.21 NIDS: Server Started (002e0014) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1434
33.22 NIDS: Server Stopped (002e0015) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1435
33.23 NIDS: Server Refreshed (002e0016). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1435
33.24 NIDS: Intruder Lockout (002e0017) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1436
33.25 NIDS: Severe Component Log Entry (002e0018). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1436
33.26 NIDS: Warning Component Log Entry (002e0019) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1437
33.27 NIDS: Failed to Broker an Authentication from Identity Provider to Service Provider as
Identity Provider and Service Provider Are not in Same Group (002E001A) . . . . . . . . . . . . . . . . .1437
33.28 NIDS: Failed to Broker an Authentication from Identity Provider to Service Provider Because
a Policy Evaluated to Deny (002E001B) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1438
33.29 NIDS: Brokered an Authentication from Identity Provider to Service Provider (002E001C) . . . . .1438
33.30 NIDS: Web service Request was authenticated (002e001D) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1439
33.31 NIDS: Web service Request for authentication Failed (002e001E) . . . . . . . . . . . . . . . . . . . . . . . . .1439
33.32 NIDS: OAuth2 Authorization code issued (002e0028) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1440
33.33 NIDS: OAuth2 token issued (002e0029). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1440
33.34 NIDS: OAuth2 Authorization code issue failed (002e0030) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1441
33.35 NIDS: OpenID token issued (002e0031). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1441
33.36 NIDS: OAuth2 refresh token issued (002e0032) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1442
33.37 NIDS: OAuth2 token issue failed (002e0033) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1442
33.38 NIDS: OpenID token issue failed (002e0034). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1443
33.39 NIDS: OAuth2 refresh token issue failed (002e0035) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1443
33.40 NIDS: OAuth2 client has been registered successfully (002e0036) . . . . . . . . . . . . . . . . . . . . . . . . .1444
33.41 NIDS: OAuth2 client has been modified successfully (002e0037) . . . . . . . . . . . . . . . . . . . . . . . . . .1444
33.42 NIDS: OAuth2 client has been deleted successfully (002e0038) . . . . . . . . . . . . . . . . . . . . . . . . . . .1445
33.43 NIDS: OAuth2 user has provided consent (002e0039) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1445
33.44 NIDS: OAuth2 user has revoked consent (002e0040). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1446
33.45 NIDS: OAuth2 token validation success (002e0041). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1446
33.46 NIDS: OAuth2 token validation failed (002e0042) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1447
33.47 NIDS: OAuth2 client registration failed (002e0043) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1447
33.48 NIDS: OAuth2 refresh token revoked success (002e0055) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1448
33.49 NIDS: OAuth2 refresh token revocation failed (002e0056) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1448
33.50 NIDS: OAuth2 Authorization none issued (002e0057) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1449
33.51 NIDS: OAuth2 AA Authorization Code Exchange (002e0071) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1449
33.52 NIDS: OAuth2 AA Access Token Exchange (002e0072) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1450
33.53 NIDS: Step-up authentication (002e0719). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1451
33.54 NIDS: Roles PEP Configured (002e0300) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1451
33.55 NIDS: Risk-Based Authentication Action for User (002e0045) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1451
33.56 NIDS: Risk-Based Authentication Action for User (002e0046) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1452
33.57 NIDS: Risk-Based Authentication Action for User (002e0047) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1453
33.58 NIDS: Token was Issued to Web Service (002E001F) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1453
33.59 NIDS: Issued a Federation Assertion (002E0102) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1454
33.60 NIDS: Received a Federation Assertion (002E0103) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1454
33.61 NIDS: Assertion Information (002E0104). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1454
33.62 NIDS: Sent a Federation Request (002E0105) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1455
33.63 Access Gateway: PEP Configured (002e0301) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1455
33.64 Roles Assignment Policy Evaluation (002e0320). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1456
33.65 Access Gateway: Authorization Policy Evaluation (002e0321) . . . . . . . . . . . . . . . . . . . . . . . . . . . .1456
33.66 Access Gateway: Form Fill Policy Evaluation (002e0322) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1457
33.67 Access Gateway: Identity Injection Policy Evaluation (002e0323). . . . . . . . . . . . . . . . . . . . . . . . . .1457
Contents 19
33.68 Access Gateway: Access Denied (0x002e0505). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1458
33.69 Access Gateway: URL Not Found (0x002e0508) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1458
33.70 Access Gateway: System Started (0x002e0509) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1459
33.71 Access Gateway: System Shutdown (0x002e050a) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1459
33.72 Access Gateway: Identity Injection Parameters (0x002e050c) . . . . . . . . . . . . . . . . . . . . . . . . . . . .1460
33.73 Access Gateway: Identity Injection Failed (0x002e050d) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1461
33.74 Access Gateway: Form Fill Authentication (0x002e050e) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1461
33.75 Access Gateway: Form Fill Authentication Failed (0x002e050f) . . . . . . . . . . . . . . . . . . . . . . . . . . .1462
33.76 Access Gateway: URL Accessed (0x002e0512) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1463
33.77 Access Gateway: IP Access Attempted (0x002e0513) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1463
33.78 Access Gateway: Webserver Down (0x002e0515) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1464
33.79 Access Gateway: All WebServers for a Service is Down (0x002e0516) . . . . . . . . . . . . . . . . . . . . . .1464
33.80 Access Gateway: Application Accessed (002E0514) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1465
33.81 Access Gateway: Session Created (002E0525) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1466
33.82 Management Communication Channel: Health Change (0x002e0601) . . . . . . . . . . . . . . . . . . . . .1466
33.83 Management Communication Channel: Device Imported (0x002e0602) . . . . . . . . . . . . . . . . . . .1467
33.84 Management Communication Channel: Device Deleted (0x002e0603) . . . . . . . . . . . . . . . . . . . . .1467
33.85 Management Communication Channel: Device Configuration Changed (0x002e0604) . . . . . . . .1468
33.86 Management Communication Channel: Device Alert (0x002e0605) . . . . . . . . . . . . . . . . . . . . . . .1469
33.87 Management Communication Channel: Statistics (002e0606) . . . . . . . . . . . . . . . . . . . . . . . . . . . .1469
33.88 Risk-Based Authentication Successful (002e0025) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1470
33.89 Risk-Based Authentication Failed (002e0026). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1470
33.90 Risk-Based Authentication for User (002e0027) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1471
33.91 Impersonation Sign in (002E0048) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1471
33.92 Impersonation: Impersonator Logs Out (002E0049) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1472
33.93 Impersonation: Session Started (002E0050) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1473
33.94 Impersonation: Impersonatee Denies (002E0051) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1473
33.95 Impersonation: Impersonatee Approves (002E0052). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1474
33.96 Impersonation: Impersonator Cancels (002E0053) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1474
33.97 Impersonation: Authorization Policy Fails (002E0054) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1475
20 Contents
B SOAP versus REST API 1601
Contents 21
22
About this Book and the Library
The Administration Guide provides an introduction to NetIQ Access Manager and details about how
to configure and maintain Access Manager features.
To know more about Access Manager, see Access Manager Overview.
Intended Audience
This book is intended for Access Manager administrators. It is assumed that you have knowledge of
evolving Internet protocols, such as:
Extensible Markup Language (XML)
Simple Object Access Protocol (SOAP)
Security Assertion Markup Language (SAML)
Public Key Infrastructure (PKI) digital signature concepts and Internet security
Secure Socket Layer/Transport Layer Security (SSL/TLS)
Hypertext Transfer Protocol (HTTP and HTTPS)
Uniform Resource Identifiers (URIs)
Domain Name System (DNS)
Web Services Description Language (WSDL)
NOTE: Contact [email protected] for any query related to Access Manager SDK.
This section describes how to setup a basic Access Manager configuration, perform common
administration tasks, and manage components’ configuration. For configuring Access Manager, you
can use the latest version of Internet Explorer, Chrome, or Firefox browsers.
Topics include:
Chapter 1, “Configuring Administration Console,” on page 27
Chapter 2, “Setting Up a Basic Access Manager Configuration,” on page 43
Chapter 3, “Setting Up an Advanced Access Manager Configuration,” on page 277
Chapter 4, “Configuring Authentication,” on page 383
Chapter 5, “Device Fingerprinting,” on page 755
Chapter 6, “Integrating Access Manager with Microsoft Azure,” on page 767
Chapter 7, “Appmarks,” on page 781
Chapter 8, “Enabling Mobile Access,” on page 785
Chapter 9, “Branding of the User Portal Page,” on page 793
Chapter 10, “Access Manager Policies,” on page 795
Chapter 11, “High Availability and Fault Tolerance,” on page 973
This view allows you to quickly access other tasks that you occasionally need to manage the
configuration of the datastore are visible.
When you install or upgrade Access Manager and log in to Administration Console, the default view
is set to the Access Manager view.
2 Click the Roles and Tasks view or the Access Manager view .
WARNING: Locking has not been implemented on the pages for modifying Identity Server. If you
have multiple administrators, they need to coordinate with each other so that only one
administrator is modifying an Identity Server cluster at any given time.
Multiple Sessions: Do not start multiple sessions of Administration Console in the same browser on
a workstation. Browser sessions share settings that can result in problems when you apply changes
to configuration settings. However, if you are using two different brands of browsers simultaneously,
such as Internet Explorer and Firefox, it is possible to avoid the session conflicts.
Multiple Administration Consoles: As long as the primary console is running, all configuration
changes must be made at the primary console. If you make changes at both a primary console and a
secondary console, browser caching can cause you to create an invalid configuration.
The following sections explain how to create additional administrator accounts, how to delegate
rights to administrators, and how to manage policy view administrators:
Section 1.3.1, “Creating Multiple Admin Accounts,” on page 30
Section 1.3.2, “Managing Policy View Administrators,” on page 31
Section 1.3.3, “Managing Delegated Administrators,” on page 31
Section 1.3.4, “Changing Administrator’s Password,” on page 36
NOTE: Select the same Context that the existing administrator has. For example, novell.
You can also create delegated administrators and grant them rights to specific components of Access
Manager. For information about how to configure this type of user, see Section 1.3.3, “Managing
Delegated Administrators,” on page 31.
IMPORTANT: You need to trust the users you assign as delegated administrators. They are granted
sufficient rights that they can compromise the security of the system. For example if you create
delegated administrators with View/Modify rights to policy containers, they have sufficient rights to
implement a cross-site scripting attack by using the Deny Message in an Access Gateway
Authorization policy.
Delegated administrators are also granted rights to the LDAP server. They can access the
configuration datastore with an LDAP browser. Any modifications made with the LDAP browser are
not logged by Access Manager.
By default, all users except the administrator are assigned no rights to the policy containers and the
devices. The administrator has all rights and cannot be configured to have less than all rights. The
administrator is the only user who has the rights to delegate rights to other users, and the only user
who can modify keystores, create certificates, and import certificates.
The configuration pages for delegated administrators control access to the Access Manager pages.
They do not control access to the tasks available for the Manage Roles & Tasks view in iManager. If
you want your delegated administrators to have rights to any of these tasks such as Directory
Administration or Groups, you must use eDirectory methods to grant the user rights to these tasks or
enable and configure Role-Based Services in iManager.
Delegated Administrators
All delegated administrators with View/Modify rights to a device have read rights to the master
policy container. To create or modify policies, a delegated administrator needs View/Modify rights to
a policy container. When a delegated administrator has View/Modify rights to any policy container,
the delegated administrator is also granted enough rights to allow the administrator to select shared
secret values, attributes, LDAP groups, and LDAP OUs to policies.
NOTE: Failure to enter a password will allow the user to login without a password.
9 (Optional) Simple Password: Select this check box to set the simple password.
NOTE: Simple Password is required for native file access on Windows and Macintosh using the
CIFS and AFP protocols. Simple Password is not required for normal eDirectory access. The
Universal Password feature supersedes Simple Password. When the Universal Password feature
10 (Optional) Copy from Template or User Object: Copies the attributes from a user template that
you've created.
11 (Optional) Create Home Directory: You can create a home directory for this new User object if
you have sufficient eDirectory rights. To do this, specify the path where you want to create the
user's home directory.
11a Volume: Applies only to NCP-enabled volumes.
11b Path: You must specify a valid, existing directory path.The last directory typed in the path is
the one that is created; all other directories in the path must already exist. For example, if
you specify the path corp/home/sclark, the directories corp and home must already exist.
The directory sclark is the only directory created.
12 (Optional) Enter or Select the title, location, department, telephone number, fax number, email
address of the delegated user from the list.
13 (Optional) Enter the description if there are any to the user. You are able to add, remove and
edit the information as per the requirement.
14 Click OK.
After creating a user, assign rights to the newly created user. For more information, see “Policy
Container Administrators” on page 33.
NOTE: The password is not case-sensitive by default. To make your password case-sensitive, see
Enforcing Case-Sensitive Universal Passwords (https://www.netiq.com/documentation/edirectory-
91/edir_admin/data/b1j691df.html).
Converting a secondary console into a primary console is designed as a disaster recovery solution
when the primary console is no longer available.
NOTE: If these steps do not work, see “Troubleshooting Identity Server Import and
Installation” in the NetIQ Access Manager 4.5 Installation and Upgrade Guide.
IMPORTANT: The new IP address must be configured in Administration Console before you change it
on Access Gateway. If you change the address on Access Gateway first, Administration Console does
not trust Access Gateway and cannot establish the communication.
1 Click Devices > Access Gateways > Edit > Adapter List.
2 (Conditional) If the machine belongs to a cluster, select Access Gateway from the Cluster
Member list.
3 From the Adapter List, select the subnet mask that contains the IP address you want to change.
4 Select the old IP address, click Change IP Address, specify the new IP address, then click OK.
This option changes all configuration instances of the old IP address to the new IP address. For
example, any reverse proxies that have been assigned the old IP address as a listening address
are modified to use the new IP address as the listening address.
5 Click OK.
6 To apply your changes, click the Access Gateways link, then click Update > OK.
7 If you are physically moving the machine, move it before completing the rest of these steps.
8 Check the IP address that Administration Console uses for managing Access Gateway. Click
Access Gateways > [Name of Access Gateway] > Edit.
9 If the old IP address is listed as the Management IP Address, select the new IP address. If your
Access Gateway has multiple IP addresses, select the one that you want Administration Console
to use for communication with Access Gateway.
NOTE: If NAT IP address is not provided or if a mapping already exists for the selected
Administration Console IP, this message is displayed:
4 Click OK.
Configuration
The initial setup for Access Manager consists of setting up Identity Server and Access Gateway to
protect resources running on an HTTP web server. You must set up user stores for Identity Server and
configure Access Gateway to protect resources running on an HTTP web server.
Section 2.1, “Prerequisites for a Basic Access Manager Setup,” on page 43
Section 2.2, “Configuring Identity Servers Clusters,” on page 44
Section 2.3, “Configuring Identity Server Shared Settings,” on page 62
Section 2.4, “Configuring Access Gateway,” on page 106
Section 2.5, “Configuring Access Gateways Clusters,” on page 113
Section 2.6, “Protecting Web Resources Through Access Gateway,” on page 120
Section 2.7, “Configuring Trusted Providers for Single Sign-On,” on page 184
Section 2.8, “Configuring Single Sign-On to Specific Applications,” on page 216
Section 2.9, “Configuring a Protected Identity Server Through Access Gateways,” on page 239
Section 2.10, “Managing Access to User Portal,” on page 246
Section 2.11, “Sample Configuration for Protecting an Application Through Access Manager,” on
page 251
A cluster of Identity Servers must reside behind a Layer 4 (L4) switch. Clients access the virtual IP
address of the cluster presented on the L4 switch, and the L4 switch alleviates server load by
balancing traffic across the cluster. If your Identity Server is on the same machine as an
Administration Console, and your second Identity Server is on the same machine as a secondary
Administration Console, ensure that you are familiar with Section 11.1, “Installing Secondary
Administration Console,” on page 973 before proceeding.
Whenever a user accesses the virtual IP address (port 8080) assigned to the L4 switch, the system
routes the user to one of Identity Servers in the cluster, as traffic necessitates.
IMPORTANT: You must not use a DNS round robin setup instead of an L4 switch for load balancing.
The DNS solution works only as long as all members of the cluster are working and in a good state. If
one of them goes down and traffic is still sent to that member, the entire cluster is compromised and
all devices using the cluster start generating errors.
This section describes how to set up and manage a cluster of Identity Servers:
Section 2.2.1, “Configuration Notes,” on page 45
Section 2.2.2, “Prerequisites for Configuring an Identity Servers Cluster,” on page 46
Section 2.2.3, “Managing a Cluster of Identity Servers,” on page 47
With some L4 switches, you must configure only the services that you are using. For example, if you
configure the SSL service for the L4 switch and you have not configured SSL in Access Manager, then
the HTTP service on the L4 switch does not work. If the health check for the SSL service fails, the L4
switch assumes that all the services configured to use the same virtual IP are down.
Field Description
Name Specify a name for the cluster. This field is populated with the name you provided in
the New Cluster dialog box. You can change this name here, if necessary.
IMPORTANT: Carefully determine your settings for the base URL, protocol, and
domain. After you have configured trust relationships between providers, changing
these settings invalidates the trust model and requires a reimport of the provider’s
metadata.
Modifying the base URL also invalidates the trust between the Embedded Service
Provider of Access Manager devices. To re-establish the trust after modifying the base
URL, you must restart the Embedded Service Provider on each device.
Base URL Specify the application path for Identity Server. Identity Server protocols rely on this
base URL to generate URL endpoints for each protocol.
Protocol: Select the communication protocol. Specify HTTPS to run securely (in
the SSL mode) and for provisioning. Use HTTP only if you do not require security
or have installed an SSL terminator in front of Identity Server.
Domain: Specify the DNS name assigned to Identity Server. When you are using
an L4 switch, this DNS name must resolve to the virtual IP address set up on the
L4 switch for Identity Servers. Using an IP address is not recommended.
Port: Default ports are 8080 for HTTP or 8443 for HTTPS. If you want to use port
80 or 443, specify the port here.
On Linux, configure the operating system to translate the port. See
Translating Identity Server Configuration Port in the NetIQ Access Manager
4.5 Installation and Upgrade Guide.
On Windows, modify the Tomcat server.xml file located in the
\Program Files\Novell\Tomcat\conf directory for Windows.
Change the ports from 8080 and 8443 to 80 and 443 and restart the Tomcat
service.
Application: Specify Identity Server application. Leave the default value nidp.
Field Description
LDAP Access Specify the maximum number of LDAP connections Identity Server can create to
access the configuration store. You can adjust this value for system performance.
Default Specify the session timeout you want assigned as a default value when you create a
Timeout contract. This value is also assigned to a session when Identity Server cannot
associate a contract with the authenticated session. During federation, if the
authentication request uses a type rather than a contract, Identity Server cannot
always associate a contract with the request.
Limit User Specify whether user sessions are limited. If selected, you can specify the maximum
Sessions number of concurrent sessions a user is allowed to authenticate.
To limit user sessions, you must also consider the session timeout value (the default
is 60 minutes). If the user closes the browser without logging out (or an error causes
the browser to close), the session is not cleared until the session timeout expires. If
the user session limit is reached and those sessions have not been cleared with a
logout, the user cannot log in again until the session timeout expires for one of the
sessions.
When you enable this option, it affects performance in a cluster with multiple
Identity Servers. When a user is limited to a specific number of sessions, Identity
Servers must check with the other servers before establishing a new session.
Deleting You can configure Identity Server to delete the previous user sessions if the number
Previous User of open sessions reaches the maximum limit of allowed sessions that you have
Sessions specified in Limit User Sessions. Set the DELETE OLD SESSIONS OF USER
option to true and restart Identity Server. For information about how to configure
this option, see “Configuring Identity Server Global Options” on page 56. Previous
sessions are cleared across Identity Server clusters only when a fresh authentication
request comes in. When Identity Server deletes previous user sessions, it sends a
logout request to the service provider through the SOAP back channel.
For example, a user is accessing a protected resource from a machine and wants to
access the same protected resource from another device. Identity Server will not
give access to the user if the Limit User Sessions has reached a maximum limit.
Identity Server must terminate the old session of the user so that the user can
access the new session seamlessly.
Allow multiple Specify whether a user with more than one session to the server is presented with
browser an option to log out of all sessions. If you do not select this option, only the current
session logout session can be logged out. Deselect this option in instances where multiple users log
in as guests. Then, when one user logs out, none of the other guests are logged out.
When you enable this option, you must also restart any Embedded Service Providers
that use this Identity Server configuration.
LDAP Specify the duration (in seconds) that an LDAP request to the user store can take before
timing out.
Proxy Specify the duration (in seconds) that a request to another cluster member can take
before timing out. When a member of a cluster receives a request from a user who has
authenticated with another cluster member, the member sends a request to the
authenticating member for information about the user.
Request Specify the duration (in seconds) that an HTTP request to an application can take before
timing out.
Liberty: Uses a structured version of SAML to exchange authentication and data between
trusted identity providers and service providers and provides the framework for user
federation.
SAML 1.1: Uses XML for exchanging authentication and data between trusted identity
providers and service providers.
SAML 2.0: Uses XML for exchanging encrypted authentication and data between trusted
identity providers and service providers and provides the framework for user federation.
WS Federation: Allows disparate security mechanisms to exchange information about
identities, attributes, and authentication.
WS-Trust: Allows secure communication and integration between services by using
security tokens.
OAuth & OpenID Connect: Allows Identity Server to act as an authorization server to issue
access token to a client application based on user’s grant.
9 Click Next.
10 Specify the following details:
Name: The name of the organization.
Display Name: The display name for the organization.
URL: The organization’s URL for contact purposes.
Company, First Name, Last Name, Email, Telephone, and Contact Type are optional fields.
IMPORTANT: The information you specify on this page is published in the metadata for Liberty
1.2 and SAML protocols. The metadata is traded with federation partners and supplies various
information regarding contact and organization information located at Identity Server.
Prerequisites
An Identity Server cluster with two or more Identity Servers.
Sufficient memory on Identity Servers to store additional authentication information. When an
Identity Server is selected to be a failover peer, Identity Server stores about 1 KB of session
information for each user authenticated on the other machine.
Field Description
Cluster Communication Specify a communications channel over which the cluster members
Backchannel maintain the integrity of the cluster. For example, this TCP channel is
used to detect new cluster members as they join the cluster, and to
detect members that leave the cluster. A small percentage of this TCP
traffic is used to help cluster members determine which cluster
member can handle a request more efficiently. This back channel must
not be confused with the IP address/port over which cluster members
provide proxy requests to peer cluster members.
Port: Specify the TCP port of the cluster back channel on all
Identity Servers in the cluster. 7801 is the default TCP port.
Encrypt: Encrypts the content of the messages that are sent
between cluster members.
Level Four Switch Port Configure the L4 switch to translate the port of the incoming request to
Translation a new port when the request is sent to a cluster member. Because the
cluster members communicate with each other over the same IP
address/port as the L4 switch, the cluster implementation needs to
know what that port is. The translated port is the port on the cluster
members where other cluster members can contact it. This is the IP
address and port where cluster members provide proxy requests to
other cluster members.
Port translation is enabled on switch: Specify whether the port of
the L4 switch is different from the port of the cluster member. For
example, enable this option when the L4 switch is using port 443
and Identity Server is using port 8443.
Cluster member translated port: Specify the port of the cluster
member.
IDP Failover Peer Server For configuration information, see Configuring Session Failover.
Count
For information about deleting an Identity Server, see Section 2.2.3, “Managing a Cluster of Identity
Servers,” on page 47.
The sessions of any logged-in users are destroyed and no user can log in and access protected
resources until the trust relationships are reestablished.
Perform the following steps to modify the base URL and reestablish trust relationships:
1 Click Devices > Identity Servers > Edit.
2 Change the protocol, domain, port, and application settings, as necessary.
3 Click OK.
4 On the Identity Servers page, click Update.
This re-creates the trusted Identity Server configuration to use the new base URL and metadata.
NOTE: Access Manager 4.2 onwards, configuring the following options through files is deprecated.
You must configure these option by using Administration Console.
Property Value
Allow Auth Policy Execution Select false to disable Identity Server to execute authorization
policies. The default value is true.
Cluster Cookie Domain Set this property to change the Domain attribute for Identity Server
cluster cookie.
Cluster Cookie Path Set this property to change the Path attribute for Identity Server
cluster cookie. The default value is /nidp.
DECODE RELAY STATE PARAM Select true to enable the relay state URL decoding. The default value
is false.
DELETE OLD SESSIONS OF Select true to enable Identity Server to delete the previous user
USER sessions if the number of open sessions reaches the maximum limit
of allowed sessions that you have specified in Limit User Sessions.
The default value is false.
HTTP ONLY CLUSTER COOKIE Select false to disable the HTTPOnly flags for Identity Server cluster
cookies. The default value is true.
HTTP POPULATE LOGINNAME Select true to auto-populate the email ID on the Identity Server login
FROM SAML AUTH REQUEST page for a SAML 2.0 authentication. The default value is false.
(This option is available in For more information about this option, see “Auto-Populating the
Access Manager 4.5 Service Username on the Identity Server Login Page” on page 689.
Pack 1 or later versions)
HTTP POPULATE PARSED Select true to auto-populate the username instead of the entire email
LOGINNAME FROM SAML ID on the Identity Server login page for a SAML 2.0 authentication.
AUTH REQUEST For example, to populate steve.smith instead of
[email protected]. The default value is false.
(This option is available in
Access Manager 4.5 Service For more information about this option, see “Auto-Populating the
Pack 1 or later versions) Username on the Identity Server Login Page” on page 689.
HTTP POPULATE LOGINNAME Select true to auto-populate the email ID on the Identity Server login
FROM WSFED AUTH page for a WS-Fed authentication request. The default value is false.
REQUEST
HTTP POPULATE PARSED Select true to auto-populate the username instead of the entire email
LOGINNAME FROM WSFED ID on the Identity Server login page for a WS-Fed authentication. For
AUTH REQUEST example, to populate steve.smith instead of
[email protected]. The default value is false.
(This option is available in
Access Manager 4.5 Service
Pack 1 or later versions)
IS SAML2 POST INFLATE Select true to enable Identity Server to receive deflated SAML 2.0
POST messages from its trusted providers. The default value is false.
IS SAML2 POST SIGN Select true to enable the identity provider to sign the entire SAML 2.0
RESPONSE response for all service providers.
LOGIN CSRF CHECK Select true to enable Cross-Site Request Forgery (CSRF) check for the
Password Class and TOTP Class.
JAVA:
<%
String sid = request.getParameter("sid")!=null ?
request.getParameter(NIDPConstants.SID) :
(String)request.getAttribute(NIDPConstants.SID);
NIDPSessionData sData =
NIDPContext.getNIDPContext().getSession(request).ge
tSessionData(sid);
boolean csrfCheckRequired =
NIDPEdirConfigUtil.isConfigured(NIDPConfigKeys.LOGI
N_CSRF_CHECK.name()) ?
NIDPEdirConfigUtil.getValueAsBoolean(NIDPConfigKeys
.LOGIN_CSRF_CHECK.name()) : false;
%>
HTML:
OAUTH TOKENS IN BINARY Select true to send tokens in the binary format.
FORMAT
By default, the value is set to false and tokens are sent in the JWT
format.
NOTE: : When the value is set to true, few features, such as token
encryption using resource server keys and token revocation, will not
be available.
RENAME SESSION ID Select false to prevent changing the session ID automatically. The
default value is true.
SAML1X ATTRIBUTE MATCH Select true to perform a strict check on the name space of the
BY NAME attributes received in assertion.
For example, see Section 32.3.24, “SAML 1.1 Service Provider Re-
requests for Authentication,” on page 1325.
SAML2 ATTRIBUTE This option can be used to identify globally the value of
CONSUMING INDEX AttributeConsumingServiceIndex of SAML 2 authentication
requests. If SAML2 ATTRIBUTE CONSUMING INDEX is not configured
in SAML 2.0 options, then Access Manager considers the SAML2
ATTRIBUTE CONSUMING INDEX configuration in Identity Server
global options. If you require to assign the property values for
multiple entries, you can use comma (,) as separator.
You can provide the value in the format specified in the following
example:
SECURE CLUSTER COOKIE Select false to disable the secure flags for cluster cookies. The default
value is true.
STS CHANGE ISSUER Specify the value in this format: SPentityID:UPNDomain ->
new IssuerID. For example,
urn:federation:MicrosoftOnline:support.namnetiq.in -> https://
namnetiq.in/nidp/wsfed/
urn:federation:MicrosoftOnline:namnetiq.in ->
https://namnetiq.in/nidp/wsfed/,
urn:federation:MicrosoftOnline:support.namnetiq.i
n -> https://namnetiq.in/nidp/wsfed/,
urn:federation:MicrosoftOnline:engineering.namnet
iq.in -> https://namnetiq.com/nidp/wsfed/
STS OFFICE365 MULTI Select true to enable users to access Office 365 services by using the
DOMAIN SUPPORT AUTO Issuer URI specific to the domain they belong to. The default value is
false.
WSF SERVICES LIST Select full to enable users to access the Services page.
WSFED ASSERTION VALIDITY Specify the assertion validity time in second for WS Federation
Provider (SP) to accommodate clock skew between the service
provider and SAML identity provider.
WSTRUST AUTHORIZATION Specify the user names who can perform ActAs operations. Allowed
ALLOWED ACTAS VALUES user names are the user accounts that the intermediate web service
provider uses to authenticate with STS when sending a request with
ActAs elements.
You can specify more than one user name separated by a comma.
WSTRUST AUTHORIZATION Specify the user names who can perform OnBehalfOf operations.
ALLOWED ONBEHALF Allowed user names are the user accounts that the intermediate web
VALUES service provider uses to authenticate with STS when sending a
request with OnBehalfOf elements.
You can specify more than one user name separated by a comma.
WSTRUST AUTHORIZATION Specify the user names who can perform both ActAs and OnBehalfOf
ALLOWED VALUES operations.
You can specify more than one user name separated by a comma.
SESSION ASSURANCE USER Specify the user-agent string for that you want to disable the session
AGENT EXCLUDE LIST validation.
SESSION ASSURANCE USER Specify the user-agent REGEX for that you want to disable the session
AGENT REGEX EXCLUDE LIST validation.
SESSION ASSURANCE URL Specify the URL for that you want to disable the session validation.
EXCLUDE LIST
For example, see “Disabling Advanced Session Assurance for Identity
Server” on page 1029.
SESSION ASSURANCE URL Specify the URL REGEX for that you want to disable the session
REGEX EXCLUDE LIST validation.
SESSION ASSURANCE IDC Specify the time in second till which Identity Server will accept the
COOKIE GRACEPERIOD old IDC cookie after issuing a new cookie. The default value is 15
second.
OTHER Specify Property Name and Property Value if you want to configure
any other property.
When you set this option to false, the following will happen after
authentication:
The target URL query is not URL encoded
The user is not redirected to the service provider
The following message is displayed:
"family_name": "Lastname"
"family_name": [
"Lastname"
]
The Shared Settings page also contains tabs for configuring the server details for NetIQ Advanced
Authentication and Self Service Password Reset products. You need to configure these details when
integrating Access Manager with these products.
Configuring Advanced Authentication Server
Configuring Self Service Password Reset Server Details in Identity Server
Supports WSTrust and Select this option if you require to add the LDAP attributes and the virtual
OAuth attributes to an attribute set.
For the OAuth scope, you can add LDAP attributes or only the virtual
attributes that are LDAP attributes or are constants.
Select set to use as Select an existing attribute set that you have created, which you can use as a
template template for the new set, or select None. To modify an existing attribute set,
select that set as a template.
3 Click Next.
4 To add an attribute to the set, click New.
5 Specify the following details:
Field Description
Local Attribute Select an attribute from the list of all server profile, LDAP, shared secret attributes
and virtual attributes.
For example, you can select All Roles to use in role policies, which enables trusted
providers to send role information in authentication assertions. Share secret
attributes must be created before they can be added to an attribute set. For
instructions, see “Creating Shared Secret Names” on page 66.
Constant Specify a value that is constant for all users of this attribute set. The name of the
attribute that is associated with this value is specified in Remote Attribute.
Remote Attribute Specify the name of the attribute defined at the external provider. The text for
this field is case-sensitive.
A value is optional if you are mapping a local attribute. If you leave this field
blank, the system sends an internal value that is recognized between
Identity Servers.
For a SAML 1.1 and SAML 2.0 identity consumer (service provider), a name
identifier received in an assertion is automatically given a remote attribute
name of saml:NameIdentifier. This allows the name identifier to be mapped
to a profile attribute that can then be used in policy definitions.
A value is required if you are mapping a constant.
An attribute set with a constant is usually set up when Identity Server is
acting as an identity provider for a SAML or Liberty service provider. The
name must match the attribute name that the service provider is using.
Remote Specify the namespace defined for the attribute by the remote system:
namespace If you are defining an attribute set for LDAP, select none. If you want a
service provider to accept any namespace specified by an identity provider,
select none. If you want an identity provider to use a default namespace,
select none. The urn:oasis:names:tc:SAML:1.0:assertion value
is sent as the default.
If you are defining an attribute set for WS Federation, select the radio button
and specify the following name:
http://schemas.xmlsoap.org/claims
If you want to specify a new namespace, select the radio buttonand specify
the name.
6 Click OK.
7 Click Finish.
The system displays the map on the Attribute Sets page and indicates whether it is in use by a
provider.
8 (Conditional) To configure a provider to use the attribute set, see Section 2.7.6, “Selecting
Attributes for a Trusted Provider,” on page 198.
1 Click Devices > Identity Server > Shared Settings > Attribute Sets.
2 Click the name of the attribute set that you want to edit.
3 The system displays an attribute set page with the following tabs:
General: Click to edit the name of the attribute set.
Mapping: Click to edit the attribute map.
For more information about how to use shared secrets with policies, see Section 10.5.4, “Creating
and Managing Shared Secrets,” on page 938.
Identity Server needs to be configured to use shared secrets. For information about this process, see
“Configuring a User Store for Secrets” on page 389.
Shared secret names can be created on the Custom Attributes page or in the associated policy that
consumes them.
1 Click Devices > Identity Servers > Shared Settings > Custom Attributes > New.
2 Specify a new shared secret name and, optionally, a secret entry name.
3 Click OK.
4 (Optional) To create additional entries for the secret, click the name of the secret, click New,
specify an entry name, and click OK.
WARNING: Identity Server cannot determine whether a secret is being used by a policy. Before you
delete a shared secret, you must ensure that it is not being used.
2.3.4.2 Prerequisites
To perform complex user attribute transformations, you must have a basic understanding of
JavaScript. To see sample JavaScripts with examples, see “Sample JavaScripts with Examples” on
page 92.
NOTE: You cannot delete a data source that is being used by an attribute source.
Field Description
Database Driver Select a driver from the list. The associated driver name is auto-populated. If
you select Others (Unsupported), specify the driver name in the adjacent
field.
Max Connections Specify the maximum number of connections. The default value 20.
Idle TimeOut Specify the idle timeout. The default value is 600000 milliseconds. Set this
value based on the server setting. For example, if the server timeout value is
600000, then the timeout value must not exceed 600000.
Connection TimeOut Specify the connection timeout. The default value is 10000 milliseconds. Set
this value based on the server setting.
URL Specify the database URL based on the database driver selected.
Based on the database type, you need to add the corresponding jars.
For Oracle:
1. Download the JDBC connector for the Oracle database from Oracle.com (https://
www.oracle.com/technetwork/database/enterprise-edition/downloads/index-
092322.html).
2. Copy the JDBC connector jar to the following folder:
On Windows
Administration Console: C:\Program
Files\Novell\Tomcat\webapps\nps\WEB-INF\lib
Identity Server: C:\Program Files\Novell\Tomcat\webapps\nidp\WEB-
INF\lib
Field Description
Directory Type Select the type of directory. If you select Others (Unsupported),
specify a directory name in the adjacent field: sunonedir, custom1,
custom2, custom3, custom4, others.
LDAP Operation TimeOut Specify the LDAP operation timeout. The default value is 15000
milliseconds. You can set this value based on the server setting.
Idle Connection TimeOut Specify the connection timeout. The default value is 10000
milliseconds. Set this value based on the server setting. For
example, if the server timeout is 15000 milliseconds, then the LDAP
timeout value must not exceed 15000.
Field Description
For a secure connection, select Use Secure LDAP Connection. The port
number changes to 636.
You must import the trusted root if you select a secure connection. To
import the trusted root, click Auto Import Trusted Root. The trusted
certificate of the server will be imported to the Identity provider trust
store. Update the Identity provider each time.
Field Description
Web Service Name Specify a display name for the web service.
Base URL Specify the base URL in the <protocol>://<host>:<port> format. For
example: http://172.16.0.0:80
This is a common URL that can be used for the endpoints that use the same
host and port. A common URL is used because the authentication and data
connection properties will be common for all endpoints.
For example, you can use the base URL as www.abc.com/rest if you want to
retrieve user attributes from the following REST endpoints:
www.abc.com/rest/getUserDepartmentInfo
www.abc.com/rest/getUserInfo
Connection Specify the duration until which Access Manager must try connecting to the
Timeout REST web server in milliseconds. The default value is 15000 milliseconds. If the
host is not reachable, clicking Test will give the timeout error after the specified
duration.
Authentication Select the type of authentication that will be required for connecting to the
Type required web service.
If you select Basic Auth, the Authorization header with the specified username
and password gets added automatically to the request header, which is used for
retrieving data from a REST endpoint.
This ensures that the Authorization header gets added under the request
header in the attribute source page.
Credentials This field is displayed only when you select Authentication Type as Basic Auth.
Admin: Specify the username and password for accessing the REST endpoints.
Select this option if the REST web server requires a common credential to
access all endpoints.
Custom: Specify required LDAP attribute of users for accessing the REST
endpoints. Use this option if the access to REST web server endpoints require
specific user credentials.
You must specify the credentials that authorizes a user to retrieve the
information from the REST web server.
7 To test the data source connection after specifying the details, click Test under Test Connectivity.
You can also view the error logs at the following location:
Linux: /opt/novell/nam/logs/adminconsole/tomcat/catalina.out
Windows: c:\Program Files\Novell\Tomcat\logs\stdout.log
NOTE: For a REST web service, clicking Test checks the connection to the web service
irrespective of the endpoint's resource path and credentials. It checks the connection based on
the IP address and port.
NOTE: If you change the IP address of the LDAP or REST web service data source, then, you
must import the trusted root of the updated server to the Identity Server trust store.
For more information about the fields on this page, see “Creating a Data Source” on page 69.
4 Click OK.
5 Update Identity Server.
IMPORTANT: You must update Identity Server every time you edit the properties of a data source
that is being used by an attribute source and the attribute source in turn, being used by the virtual
attribute.
NOTE: You cannot delete an attribute source that is being used by a virtual attribute.
Field Description
Name The default value is %P1% or {P1} based on the selection of data source.
Specify the same name in Query or in fields that use the value of the attribute.
Show / Add Test Click this to display the test value, and specify a value in Test value.
Values?
This value is used later when testing the query string or the web service.
For REST web service, the input parameters can be used in creating resource API
path, request headers, request body and the Advanced: Javascript response
parsing functions. These can be tested using the test values. To use the input
parameters, you must provide the parameter in the {<parameter name>}
format, such as {P1}.
When you click Test, the Test Results pane displays the status of the request and
response based on the specified values.
NOTE: For LDAP and database, the attribute source does not support multi-valued inputs. If you
input multiple values, only one value is picked for the calculation.
For REST web service, the attribute source supports multi-valued inputs for a parameter.
6 (Conditional) For LDAP or database, specify the following details in Step 2: Provide query and
output parameters:
Field Description
The query must use the value specified in Step 1: Provide input parameters.
Test Click to test the input values based on the filter and output parameters.
For security reasons, you are prompted to enter the data source credentials. Test
Result displays the status along with the test results. You can also view the error
logs at the following location:
Linux: /opt/novell/nam/logs/adminconsole/tomcat/catalina.out
See “A Sample LDAP Scenario” on page 79 and “A Sample Database Scenario” on page 79.
7 (Conditional) For REST web service, specify the following details in Step 2: Configure Request
and Response:
Base URL Auto-populated based on the details specified for the data source.
Resource/API Specify the path of resource or API to be used along with the base URL to send a
Path request to the REST web service.
If REST web service requires the input parameters defined in Step 1: Provide input
parameters, select Plain Text or Javascript and use the parameter within
Resource/ API Path.
Plain Text Select this when you need to add simple values, such as a constant value and
unmodified input parameter values. You can use Plain Text in the following
scenarios:
If the REST web server requires a constant value, such as user1, to be
available in the resource/ API path, select Plain Text and specify Resource/
API Path as /getuserinfo/user1.
If the REST web server requires a user name to be available in Resource/ API
Path for different users, use the input parameter {P1} with the givenName
value to specify Resource/ API Path, such as /getuserinfo/{P1}.
Javascript Select this when you need to add and modify complex values in Resource/ API
Path. For example, if in the endpoint URL, REST web server requires the user’s
name in lower case along with the last name in lowercase, you can specify the
following in Resource/ API Path:
function main({P1},{P2})
var ret='/getuserinfo/'+ {P1}.toLowerCase()+"/
"+{P2}.toLowerCase();
return ret;
}
NOTE: The input parameter can include multiple values, such as email (it can have
values [email protected] and [email protected]). The multi-valued input
parameter in the JavaScript main function are sent as a JavaScript array. If this
attribute contains a single value for a specific user, this attribute is sent as a string
to the JavaScript main function. So, ensure to check whether a parameter is sent
as a string (single value) or as an array (multiple values) before processing it in the
JavaScript main function.
Method Select the request method that is accepted by the REST web server.
Request Headers Add request headers based on the REST endpoint configuration. By default, the
and Body Authorization header gets generated if you have selected Basic Auth during the
creation of the REST web service Data source.
You can add multiple headers for specific endpoints when configuring request
headers. You can use the input parameter in the header value such as, {P1}.
Specify the body message in plain text or JSON format. To specify the message
using JavaScript, select Javascript.
When you write a script, ensure that you request for the values that are either in
string or in JSON format.
Plain Text Select to include a constant input value or any input parameter value in the
request body.The following example helps in understanding how to use the values
in request body using plain text format:
If the body request should contain the constant values such as, john123
(userid), and abc (department) then you can specify Request Body as
{"userid": "john123", "department" : "abc"}
If the body request should contain some specific value that is variable and is
not modified, then you can specify Request Body as { "userid":
{P1}, "department" : {P2}}
Javascript Select to include a complex request body that requires modified input parameter
values.The following example helps in understanding how to use the values in
request body using JavaScript format:
Response To extract a specific response portion from the REST web server response, select
Parsing Function the required response parsing function from the list.
and Parameters
When a response is returned, you can use response parsing function to retrieve
specific parameters that get mapped to the response parameters. This helps in
retrieving the required values from the response. The Advanced: Javascript
response parsing function can return single value (string, number, JSON) or multi-
valued (array of strings, array of JSON) that get mapped to response parameters.
Choose the required response parsing function along with its inputs under
Response Parsing Function and Parameters. If you do not require to use the
functions, you can choose No Response Parsing Function.
For more information about each function, see “Response Parsing Functions” on
page 86.
Add Click to add parameter names to map to the values retrieved from the analyzed
response.
{
attribute1: "abc"
attribute2: "pqr"
}
You get Response_As_Is under Response Parameters and you can specify
attribute1 and attribute2 under Response Parameters. This maps
the Response Parameters to the attribute values in the JSON response.
Hence, attribute1 is mapped to abc and attribute2 is mapped to
pqr.
Sample Array Response:
result[0]
result[1]
You get Response_As_Is under Response Parameters and you can specify
param1 and param2 under Response Parameters. This maps the Response
Parameters to the attribute values in the array response. Hence, param1 is
mapped to result[0] and param2 is mapped to result[1].
For more information about mapping the parameters with the required
attribute, see “Retrieving Attributes from a REST Web Service” on page 85.
{"id":"cn={P1},cn=system,cn=usrapplication,ou=abc,ou=example,o=com"
}
]
}
e. Select JSON Parse with Match Conditions.
f. Specify the following Inputs:
JSON Array Parse String: roles
IMPORTANT: If the attribute source is being used by a virtual attribute, you need to update Identity
Server every time you edit the properties of an attribute source.
NOTE: You cannot delete a virtual attribute that is being used by an attribute set. Before deleting a
virtual attribute, ensure that it is not being used by a policy.
Field Description
Name Specify a name for the attribute. If you use advanced JavaScript option, specify the
same name in Advanced JavaScript. The default value is P1.
Parameter Select an attribute from the list. To specify additional values, click +.
Value
NOTE: If an attribute source returns a null or an empty value, the corresponding
input parameter takes an empty string value.
Show / Add Click to display Test value. You can add, edit, and delete a test value.
Test Values?
5 Click Step 2: Provide a modification function and specify the following details:
Select a function: Select a function. The corresponding JavaScript is displayed in Script.
Expand the script to view. You can further customize these scripts and use them in
Advanced JavaScript.
The following table lists the pre-defined JavaScript functions with examples:
To UpperCase Converts the input value to upper case.This If P1=alice, then the
function works on arrays and single-valued input. It result displays ALICE.
uses the toUpperCase() JavaScript function.
To LowerCase Converts the input value to lower case.This function If P1=ALICE, then the
works on arrays and single-valued input. It uses the result displays alice.
toLowerCase() JavaScript function.
Find and Finds and replaces a string from all instances of the If P1=abcde
Replace input value.
Find=e
Works only on one input parameter that is selected
in Step 1: Provide input parameters Replace=a, then the
result displays abcda
Regex Replace Finds and replaces a substring from all instances of If [email protected]
the input value by using a regular expression.
[email protected]
For example, to search /, you must escape it first
using \. Use the following syntax: /\// Replace=@microfocus.
com
This function works on arrays and single-valued
input. It uses the following JavaScript functions: The result displays:
replace() [email protected]
[email protected],
[email protected]
Works only on one input parameter that is selected Then, the result
in Step 1: Provide input parameters displays:
abc+ def
Multi value
Separator=:
Advanced Specify a customized JavaScript In this field. You See the “Sample
JavaScript need to create a JavaScript function with name JavaScripts with
“main” and specify the code in it. You can write Examples” on page 92.
your custom code or you can also copy the existing
pre-defined code.You can also call multiple
functions in the “main” function.
IMPORTANT: After JavaScript processing, if the output is a null value, the value of the
virtual attribute is empty.
The pre-defined function can handle both single-valued and multi-valued inputs. If the
input is multi-valued, the pre-defined function is applied on each values.
Advanced JavaScript:
Sample JavaScript:
function main(P1, P2)
{
//some logic
//you can call yourFunction(name) and use its return value
return some value;
}
function yourFunction(name)
{
//some code
//return some value;
}
For advanced JavaScript, the input parameter name in the main function of the JavaScript
must match the input parameter name specified in Step 1: Provide input parameters. The
return value can be a single value or an array.
When the input is multi-valued, it is sent as an array to the main function.
When Identity Server computes the value of a virtual attribute, it calls a function named
main that is available in the script provided for it. The value (single value or array) returned
by main is the value of the virtual attribute.
For example: Consider a scenario where P1 contains bmw and nissan, you can use the
JavaScript instanceof function to check if the input is single-valued or multi-valued. If it
is multi-valued, then JavaScript iterates over the values P1=['bmw', 'nissan']
function main (P1){
if( P1 instanceof Array) {
var a =P1[0] //will assign 'bmw' value to variable a
//do something
}
else{
// if the P1 is single value not a array
//do something
}
}
IMPORTANT: You must update Identity Server every time you edit the properties of a virtual
attribute.
To change the body content to JavaScript and provide cn from defined input parameters, perform
the following steps:
1 In Step1: Provide input parameters, specify {P1} as input parameter with parameter value cn.
Add the test values for {P1} as user and system.
2 In step 2: Configure Request and Response, change the request body message as follows:
function main({P1}) {
var cnValues = "cn=" + {P1}[0] + ",cn=" + {P1}[1]+
",cn=userapplication,cn=app1,ou=example,o=com";
var json = {
"users": [
{"id":cnValues}
]
};
return json;
}
You can provide multiple test values to a parameter {P1} and use the values as array in the JavaScript
function for Resource/ API Path and Body.
NOTE: If {P1} has only one input value, Access Manager interprets {P1} in JavaScript as a string and
not as an array. Hence, for a single input value use {P1} instead of using {P1}[0].
If multiple values are available for {P1}, JavaScript returns all elements that are separated by a
comma (,). For example, test1,test2. Whereas, {P1} in plain text returns only the first value. For
example, test1.
{ "name": "pqr",
"id": 223,
"subjects": [
"Spanish"
],
"department": "Dept1",
"branch": "IND"
}]
}
This sample response is used as an example for JSON Parse, JSON Parse with Match Conditions, JSON
Parse with Match Regex, and Advanced: Javascript.
JSON Parse with Match Conditions: This function finds an array from the response and then
apply match conditions on the array elements to find the attribute that matches all the
conditions. The following table includes the sample input value and its result when the data of a
student whose department is dept1 is retrieved:
Scenario: The value of students attribute that includes the attribute name department with
value dept1 is retrieved.
The full JSON response is displayed for name and id as the specified
regex condition is true for both dept1 and Dept1. As two matches
are available for the specified condition, the parameters are mapped
to two separate JSONs.
Scenario: Attribute values of the attributes are retrieved from the students JSON of array that
includes the attribute name as department and the value must be only dept1.
Name: id id=1234
department The exact match for both response parameters are displayed as
one match is available for name and one match for id in the
Regex: /dept1/ response that meets the mentioned condition.
Advanced JavaScript: Use this if you require any custom JavaScript to parse any kind of data
returned by a web service. If a function is an array, the order of the parameters under Response
Parameters is significant. However, the order is not significant for JSON as it maps to the same
name. The following is an example script for parsing the response with Advanced: Javascript:
XML Parse with XPath: You can use this if the web service response is in the form of XML, and
you require to provide the XPath to extract the attribute from the xml based on the standard
XPath format.
Sample Response in xml format (Response_As_Is): The following is a sample response that is
sent by a REST web service:
/bookstore/ All values are retrieved from title nodes in test test=[Harry Potter,
book/title/text() the xml response. Learning XML, ABCD]
/bookstore/ The value is retrieved from title nodes test test=Harry Potter
book[1]/title/ within the first book node in the xml
text() response.
Response Parameters: When you select a response parsing function, you require to specify an
output parameter under Response Parameters to get the required parameter mapped to the output
parameter. You can use the parameter name specified under Response Parameters while configuring
virtual attributes.
function main(P1){
return "PID:"+P1;
}
4 Test the script. The results return: PID: P1. For example, if partnerID=part123, then, the test
result is PID:part123.
5 Update Identity Server.
6 Use it in the Identity injection policy.
Example 2:
Consider a scenario where the authenticated user, named Carlos, is a manager and has
administrator rights to a protected human resource application. When Carlos accesses this
application, his roles must be passed to the application.
Example 3:
Consider a scenario where an Access Manager user wants to access Amazon Web Services (AWS).
AWS has multiple roles and each AWS role can have various access rights or policies assigned to it.
Based on the level of access, you can access authorized Amazon services. This information about
roles must be sent dynamically by Access Manager to AWS to provide single sign-on to the Access
Manager user.
For more information about AWS configuration, see Section 4.2.12, “Integrating Amazon Web
Services with Access Manager,” on page 670.
In this scenario, you have a constant value created using <Role ARN, Trusted SAML Provider ARN>
mapped to Remote AWS attribute Role (this value is the AWS format).
Suppose you have configured the admin and finance roles in AWS. The following are role ARNs:
For admin: arn:aws:iam::638116851885:role/admin
For finance: arn:aws:iam::638116851885:role/finance
Example 4:
You want to send the groups associated with the user to a service provider named cloudsp. However,
you want to send only the groups relevant to that service, and not the complete group DN. Check for
a function that checks if the group cn starts with “cloudsp”. If available, send it to the group cn.
In this scenario, the cn of the groups relevant to cloudsp start with “cloudsp”. For example,
"cn=cloudspa,ou=group,o=mycompany". So, when a cloudsp user authenticates at Identity Server,
you need to extract all cn values from the local LDAP attribute groupMembership and filter only
those names starting with cloudsp and send it in assertion to cloudsp.
Solution:
1. In Step1: Provide input parameters, select P1 as an attribute which has the groups.
2. Use the following code in Step 2: Provide a modification function > Advanced Javascript:
function mapGroups(attribute){
var result = [];
if(attribute instanceof Array){
var j =0;
for(var i=0; i<attribute.length; i++){
var grp = checkGroup(attribute[i]);
if( grp != 'NA')
result[j++] = grp;
}
}else{
var grp = checkGroup(attribute);
if( grp != 'NA')
result[0] = grp;
}
return result;
}
function checkGroup(group){
if(/^cn=cloudsp.*,/.test(group) == true){
var startindex = 3;// it starts with cn
var endindex = group.indexOf(",");
return group.substring( startindex, endindex);
}else
return 'NA';
}
3. To test JavaScript, click the + and add multiple test values. Specify the test values:
cn=cloudspgroupa,ou=group,o=mycompany
cn=cloudspgroupb,ou=group,o=mycompany
cn=cloudspgroupk,ou=group,o=mycompany
cn=testgroupa,ou=group,o=mycompany
Output:
cloudspgroupa
cloudspgroupb
cloudspgroupk
Explanation:
The JavaScript in-built string function substring is used to extract the cn value from the group./
^cn=cloudsp.*,/.test(group) is a regular expression which matches a string that starts with cloudsp. It
has 0 or more characters followed by a comma (,).
Example 5:
(Utility Function Reuse) Consider a scenario where the Identity Server roles are in the format
companyX:rolename. A service provider abc wants the roles in the rolename format and in
upper case.
Example 6:
Consider a scenario where you do not want to modify an attribute value that is retrieved from an
external source. To send the same attribute value in the assertion to a federated provider or in a
policies, perform the following steps:
1. Click Devices > Identity Server > Shared Settings > Virtual Attributes > Virtual Attribute.
2. In Step1: Provide input parameters, select P1, and map it to an attribute retrieved from an
external source.
3. In Step 2: Provide a modification function, select Advanced JavaScript, and specify the following
script:
function main(P1){
return P1;
}
4. Test the script. The results returns the value of the attribute source specified as P1.
5. Update Identity Server.
NOTE: The corresponding trusted provider is not deleted. Delete the trusted provider manually.
Field Description
Server Specify the scheme, domain name or IP address, and port of the Advanced
Domain Authentication server.
Tenant Specify the name of the tenant that you want to use.
Name
This field populates the TOP tenant of Advanced Authentication by default. You can
(Access specify another tenant name that you want to use.
Manager 4.5
Service Pack
2 and later)
NOTE: When using the Plug-in-based methods, skip to Step 5 on page 104.
3 (Required only for OAuth-based approach) Select Integrate using OAuth under OAuth Event
Configuration.
4 (Required only for OAuth-based approach) Specify the following details:
Field Description
Event Name Specify an event name. This event name must be identical to the event name specified
in the Advanced Authentication administration portal.
Client ID Specify the client ID that was generated while creating the OAuth 2.0 event in the
Advanced Authentication administration portal.
Client Secret Specify the client secret that was generated while creating the OAuth 2.0 event in the
Advanced Authentication administration portal.
Webauth To use the Virtual Smartcard method, select Use the Advanced Authentication Virtual
Domain Smartcard. This populates the Webauth Domain URL.
(Access For example, if aaserver.domain.com is the DNS name of your web server then
Manager 4.5 webauth.domain.com is populated in Webauth Domain.
Service Pack
1 and later) When you enable this option, all the requests from Identity Server to OSP are
redirected to webauth.domain.com instead of aaserver.domain.com.
Access Manager uses the endpoint links to retrieve token and user details from the Advanced
Authentication server. These are default endpoint links. If the values of the URIs change
because of modification of the Advanced Authentication authorization server, then you can
change the values here.
Token URL /osp/a/TOP/auth/oauth2/ Access Manager uses this URL to exchange the
authcoderesolve authorization code with the access token.
User Info URL /osp/a/TOP/auth/oauth2/ Access Manager sends the access token to this
getattributes URL to get the user details from the Advanced
Authentication server.
The fields under Integration URLs are auto-populated after you specify the server domain
address.
IMPORTANT: If the values are not auto-populated then specify the default values as mentioned
in the following table.
Sign Data URL /osp/a/TOP/auth/oauth2/sign Access Manager uses this URL to retrieve the
signed data from the Advanced Authentication
server.
5 Click Apply.
6 Proceed with Section 4.3.3, “NetIQ Advanced Authentication,” on page 707 to create Advanced
Authentication classes.
IMPORTANT: Integration Links displays default URLs. These URLs must be modified to match the
URLs specified on the Self Service Password Reset server.
If you modify the integration links in the Self Service Password Reset server then you must
specify the same integration links in SSPR Portal Links and REST APIs. The values specified in
Integration Links come after Published SSPR URL to form a destination path.
IMPORTANT: In some of the default URLs, forwardURLs are appended to ensure that the user is
forwarded to correct URLs after performing the corresponding tasks.
User Profile URL: If a forwardURL is provided, the user is redirected to that URL after updating
user profile in user portal page. For example, if User Profile URL is set to /
private?forwardURL=https://idp.b2c.com:8443/nidp/portal, then the user is
directed to that URL after profile update.
User Registration URL: If a forwardURL is provided, the user is redirected to that URL after
registering as a new user on B2C portal page. For example, if User Registration URL is set to /
private?forwardURL=https://idp.b2c.com:8443/nidp/portal, then the user is
directed to that URL after registration.
Auto Registration URL: It automatically registers users when users log in using social
authentication. It compares the user specified attributes to the stored attributes. Specify /
public/newuser/profile/Social.
Forgot Password URL: If a forwardURL is provided, the user is redirected to that URL after
password reset. For example, if Forgot Password URL is set to /
private?forwardURL=https://idp.b2c.com:8443/AGLogout, then the user is directed
to that URL after the user resets password.
NOTE: Forgot Password URL is not accessible if the Logout after password change option is
enabled in Change Password module of Self Service Password Reset.
Health API: It is used to obtain the health status of the Service Password Reset server. The
default URL is /public/rest/health.
Back Channel Request Signing API: Access Manger uses this API to obtain information from Self
Service Password Reset server. The default URL is /public/rest/signing/form.
Connection Timeout: It is the time specified to establish the connection with Self Service
Password Reset server. The connection must establish within the specified time.
Read Timeout: It is the time specified to obtain information from the Self Service Password
Reset server after establishing the connection. Access Manager must obtain information within
the specified time.
Protected resource names need to be unique to the proxy service, but they don’t need to be unique
to Access Gateway because they are always accessed through their proxy service. For example, if you
have a proxy service named account and a proxy service named sales, they both can have a
protected resource named public.
This first reverse proxy is used for authentication. You need to configure the proxy service to use the
DNS name of Access Gateway as its Published DNS Name, and the web server and the resource on
that web server need to point to the page you want displayed to the users when they first access
your website. You can use Access Gateway configuration options to allow this first page to be a
public site with no authentication required until the users access the links on the page, or you can
require authentication on this first page.
Figure 2-2 Basic Configuration
Server 1 Server 3
Identity Server LDAP Directory
Server 2 Server 4
Access Gateway Web Server
Complete the following steps to first configure a protected resource as a public resource and then to
modify the configuration to require authentication:
1 Click Devices > Access Gateways, Edit > Reverse Proxy / Authentication.
2 In Identity Server Cluster, select the configuration you have assigned to Identity Server.
This sets up the trust relationship between Access Gateway and Identity Server that is used for
authentication.
3 In Reverse Proxy List, click New, specify a display name for the reverse proxy, and click OK.
4 Enable a listening address.
Field Description
Published DNS Name The DNS name you want the public to use to access your site. For this first
proxy server, the DNS name must resolve to Access Gateway IP address that
you selected as the listening address. For example, in Figure 2-2, this name
would be www.mytest.com.
Web Server IP Address The IP address of your web server. This is the web server with content that
you want to share with authorized users and protect from others. In Figure
2-2, this is Server 4, whose IP address is 10.15.70.21.
Host Header The name you want to send in the HTTP header to the web server. This can
either be the published DNS Name (the Forward Received Host Name
option) or the DNS name of the web Server (the Web Server Host Name
option).
Web Server Host Name The DNS name that Access Gateway must forward to the web server. This
option is not available if you select Forward Received Host Name for the
Host Header option. The name you use depends upon how you have set up
the web server. If your web server has been configured to verify that the
host name in the header matches its name, specify that name here. In
Figure 2-2, the Web Server Host Name is mywebserver.com.
9 Click OK.
10 Continue with Section 2.4.2, “Configuring a Public Protected Resource,” on page 108.
IMPORTANT: You must not modify the default NAM-Service proxy service.
2
3
4
1 5
Web Server
L4 Switch
Clustered
Access Gateways
1. The user requests access to a protected resource by sending a request to the L4 switch. The
request is sent to one of Access Gateway servers in the cluster.
2. Access Gateway redirects the request to Identity Server for authentication. Identity Server
presents the user with a login page, requesting a user name and a password.
3. Identity Server verifies the user’s credentials with the directory.
4. The validated credentials are sent through the L4 switch to the same Access Gateway that first
received the request.
5. Access Gateway verifies the user credentials with Identity Server.
6. If the credentials are valid, Access Gateway forwards the request to the web server.
IMPORTANT: You must not use a DNS round robin setup instead of an L4 switch for load balancing.
The DNS solution works only as long as all members of the cluster are working and in a good state. If
one of them goes down and traffic is still sent to that member, the entire cluster is compromised and
starts generating errors.
The following sections describe how to set up and manage a cluster of Access Gateways:
Section 2.5.1, “Prerequisites for Configuring an Access Gateways Cluster,” on page 114
Section 2.5.2, “Designing the Membership Type for a Cluster,” on page 114
Section 2.5.3, “Configuring a Cluster,” on page 115
Section 2.5.4, “Managing Access Gateway Cluster Configuration,” on page 116
IMPORTANT: If you have created a configuration for one or more of Access Gateways you are going
to put in a cluster, you need to carefully select the primary cluster server. The current configuration
of the primary cluster server is pushed to the other servers in the cluster. If you have created
configurations for the other servers in the cluster, these configurations are overwritten.
2
3
4
4 Identy Injecon
6 7
1
User Access Gateway Web Server Web Page
(with basic authencaon)
Web Servers
Proxy Service Caching
HTML Rewriting
Logging
URLs
Authentication Contracts and Procedures
Protected Resource Authorization
Identity Injection
Form Fill
This hierarchy allows you to have precise control over what is required to access a particular
resource, and also allows you to provide a single sign-on solution for all the resources protected by
Access Gateway. The authentication contract, authentication procedure, Authorization policy,
Identity Injection policy, and Form Fill policy are configured at the resource level so that you can
enable exactly what the resource requires. This allows you to decide where access decisions are
made:
You can configure Access Gateway to control access to the resource.
You can configure the web server for access control and configure Access Gateway to supply the
required information.
You can use the first method for some resources and the second method for other resources or
use both methods on the same resource.
Close
Close
Close response
Close response
<IfModule mpm_worker_module>
ThreadLimit 3000
StartServers 9
ServerLimit 10
MaxClients 30000
MinSpareThreads 9000
MaxSpareThreads 9000
ThreadsPerChild 3000
MaxRequestsPerChild 0
</IfModule>
2 In the /etc/init.d/novell-apache2 file, set the ulimit value to 8192 by using the
command ulimit -n 8192.
3 Restart Apache.
Protected resource names need to be unique to the proxy service, but they don’t need to be unique
to Access Gateway because they are always accessed through their proxy service. For example, if you
have a proxy service named account and a proxy service named sales, they both can have a
protected resource named public.
The first reverse proxy and proxy service you create are automatically assigned to be the
authenticating proxy.
1 Click Devices > Access Gateways > Edit.
The Edit link is either for a single Access Gateway or for a cluster of Access Gateways.
2 Click Reverse Proxy / Authentication.
3 Configure the authentication settings:
Identity Server Cluster: Specifies Identity Server you want Access Gateway to trust for
authentication. Select the configuration you have assigned to Identity Server.
Whenever an Identity Server is assigned to a new trust relationship, Identity Server needs to be
updated. This process is explained following the step that saves this configuration setting (see
Step 5 on page 129 and Step 6 on page 129).
4 (Conditional) If you have already created at least one reverse proxy, you can view the Embedded
Service Provider options and configure some of them:
Reverse Proxy: Specifies which proxy service is used for authentication. If you have configured
only one proxy service, only one appears in the list and it is selected. If you change the reverse
proxy that is used for authentication, certificates must be updated to match this new
configuration.
Metadata URL: Displays the location of the metadata.
Health-Check URL: Displays the location of the health check.
Logout URL: Displays the URL that you need to use for logging users out of protected resources.
This value is empty until you have created at least one reverse proxy and it has been assigned to
be used for authentication. If you create two or more reverse proxies, you can select which one
is used for authentication, and the logout URL changes to match the assigned reverse proxy.
If any of your protected resources have a logout page or button, you need to redirect the user’s
logout request to the page specified by this URL. Access Gateway can then clear the user’s
session and log the user out of any other resources that have been enabled for single sign-on. If
you do not redirect the user’s logout request, the user is logged out of one resource, but the
WARNING: Do not enable the Enable Secure Cookies option if you have both HTTP and HTTPS
reverse proxies. The HTTP services become unavailable because authentication requests to the
non-HTTP services fail.
Force HTTP-Only Cookie: Forces Access Gateway to set the HttpOnly keyword, which prevent
scripts from accessing the cookie. This helps protect browsers from cross-site scripting
vulnerabilities that allow malicious sites to grab cookies from a vulnerable site. The goal of such
attacks might be to perform session fixation or to impersonate the valid user.
IMPORTANT: The HttpOnly keyword can prevent applets from loading and can interfere with
JavaScript. Do not enable this option if you have Access Gateway protecting applications that
download applets or use JavaScript.
7 To create a proxy service, continue with “Creating a Proxy Service” on page 127.
NOTE: For iChain administrators, the Web Server Host Name is the alternate hostname when
configuring a web server accelerator.
7 Click OK.
8 Continue with “Configuring a Proxy Service” on page 128 or select one of the following tasks:
For information about how to create multiple reverse proxies, see “Managing Multiple
Reverse Proxies” on page 182.
For information about how to create multiple proxy services for a reverse proxy, see “Using
Multi-Homing to Access Multiple Resources” on page 171.
1 To configure a proxy service, click Access Gateways > Edit > [Name of Reverse Proxy] > [Name of
Proxy Service].
2 Specify the following details:
Published DNS Name: Displays the value that users are currently using to access this proxy
service. This DNS name must resolve to the IP address you set up as a listening address on
Access Gateway. You must modify this field only if you have modified the DNS name you want
users to use to access this resource.
This name determines the possible values of the Cookie Domain.
Description: (Optional). Provides a field where you can describe the purpose of this proxy
service or specify any other pertinent information.
Cookie Domain: Specifies the domain for which the cookie is valid.
If one proxy service has a DNS name of www.support.novell.com and the second proxy service
has a DNS name of www.developernet.novell.com, the cookie domains are support.novell.com
for the first proxy service and developernet.novell.com for the second proxy service. You can
configure them to share the same cookie domain by selecting novell.com for each proxy
service. Single sign-on between the proxy services is simplified when the proxy services share
the same cookie domain.
NOTE: Changing the published DNS name of the master proxy changes Identity Server’s base
URL also.
NOTE: Access Manager 4.2 onwards, configuring the following options through files is deprecated.
You must configure these option by using Administration Console.
forceESPSLOHTTP Set true to enable the front channel logout for Access
Gateway initiated logout.
httponlyClusterCookie Set false to disable the HTTPOnly flags for ESP cluster
cookies.
CLUSTER_COOKIE_PATH Set this property to change the Path attribute for the
ESP custer cookie.
SESSION_ASSURANCE_USER AGENT_EXCLUDE_LIST Specify the user-agent string for that you want to
disable the session validation.
SESSION_ASSURANCE_URL_EXCLUDE_LIST Specify the URL for that you want to disable the
session validation.
SESSION_ASSURANCE_URL_REGEX_EXCLUDE_LIST Specify the URL REGEX for that you want to disable
the session validation.
NOTE: After you configure an ESP option, you cannot revert it to the previous configuration by
clicking Revert in the Cluster Configuration page (Access Gateway > Edit > Revert).
IMPORTANT: For caching to work correctly, the web servers must be configured to maintain a valid
time. They must be configured to use an NTP server.
1 Click Access Gateways > Edit > [Name of Reverse Proxy] > [Name of Proxy Service] > Web Servers.
2 Specify the hostname that is placed in the HTTP header of the packets being sent to the web
servers. In the Host Header field, select one of the following:
Forward Received Host Name: Indicates that you want the HTTP header to contain the
published DNS name that the user sent in the request.
Web Server Host Name: Indicates that you want the published DNS name that the user
sent in the request to be replaced by the DNS name of the web server. Use the Web Server
Host Name field to specify this name. You can also append the port number to the Web
Server Host Name field. For example, <web server hostname>:<web server port number>.
3 Select Error on DNS Mismatch to have the proxy determine whether the proxy service must
compare the hostname in the DNS header that came from the browser with the DNS name
specified in the Web Server Host Name option. The value in the parentheses is the value that
comes in the header from the browser.
If you enable this option and the names don't match, the request is not forwarded to the web
server. Instead, the proxy service returns an error to the requesting browser. This option is only
available when you select to send the Web Server Host Name in the HTTP header.
4 If your browsers are capable of sending HTTP 1.1 requests, configure the following fields to
match your web servers:
Enable Force HTTP 1.0 to Origin: Indicates whether HTTP 1.1 requests from browsers are
translated to HTTP 1.0 requests before sending them to the web server. If your browsers are
sending HTTP 1.1 requests and your web server can only handle HTTP 1.0 requests, you must
enable this option.
When the option is enabled, Access Gateway translates an HTTP 1.1 request to an HTTP 1.0
request.
Enable Session Stickiness: Selecting this option makes the proxy server to use the same web
server for all fills during a session.
5 To enable SSL connections between the proxy service and its web servers, select Connect Using
SSL. For configuration information for this option, Web Server Trusted Root, and SSL Mutual
Certificate, see Section 19.6, “Configuring SSL between the Proxy Service and the Web Servers,”
on page 1090.
6 In the Connect Port field, specify the port that Access Gateway must use to communicate with
the web servers. The following table lists some default port values for common types of web
servers.
7 To control how idle and unresponsive web server connections are handled and to optimize
these processes for your network, select TCP Connect Options. For more information, see
“Configuring TCP Connect Options for Web Servers” on page 167.
8 To add a web server, click New in the Web Server List and specify the IP address or the fully
qualified DNS name of the web server.
The web servers added to this list must contain identical web content. Configuring your system
with multiple servers with the same content adds fault tolerance and increases the speed for
processing requests. For more information about this process, see “Configuring Web Servers”
on page 168.
9 To delete a web server, select the web server, then click Delete.
This deletes the web server from the list so that Access Gateway no longer sends requests to
the deleted web server. At least one web server must remain in the list. You must delete the
proxy service to remove the last server in the list.
NOTE: Do not remove all configured web servers to the cluster if any of the cluster member
does not have at least one web server configured.
For example, If the path configured in proxy service is /test and Remove Path on Fill is selected, the
ws URI will be similar to ws://1.1.1.1/socket.io/…
In this scenario, you must create a character rewriter profile to Search for the string /socket.io
and replace with /test/socket.io.
In case of request framing from HTML response, character profile is not required.
You then add the following URL path to the first protected resource:
/test/?
This URL path in the first protected resource causes all the requests to match the first protected
resource, and the second protected resource is ignored. The ? wildcard, which matches all content in
the current directory, takes precedence over the more specific wildcard (*.php).
Access Gateway Appliance allows you to configure the URL matching process so that it ignores the
query string in the URL path. Access Gateway Service does not have this option. If you want the
query string ignored, you must remove it from the URL path of the protected resource.
For some configuration scenarios that use this feature, see Section 2.8, “Configuring Single Sign-On
to Specific Applications,” on page 216.
IMPORTANT: If you enable an Identity Injection policy for a protected resource that has been
assigned to use a contract that does not prompt the user for a password and the Identity Injection
policy injects the user’s password, single sign-on cannot be enabled because the password is not
available. However, you can create a contract that retrieves the user’s password when the user is not
prompted for a password when authenticating. See Section 4.1.10, “Password Retrieval,” on
page 434.
IMPORTANT: When the URL ends in a wildcard, Access Gateway must search each page that
matches the URL and check to see if it contains the form. This adds extra processing overhead
for all the pages that match the URL, but do not contain the form. For more information about
the performance problems this can cause, see Chapter 10.5, “Form Fill Policies,” on page 916.
3 (Conditional) If the URL is not specific, click the name of the path and modify it.
4 Click Form Fill.
The Form Fill Policy List contains all the Form Fill policies that have been created on this
Administration Console for the selected policy container.
5 Select one of the following:
To enable an existing policy, select the policy, then click Enable. Only the policies that are
enabled are applied to this resource. Continue with Step 7.
To disable an existing policy, select the policy, then click Disable. Continue with Step 7.
To edit an existing policy, click the name of the policy. Remember that policies can be
assigned to multiple protected resources. If you modify the policy, you are also affecting
how this policy protects those resources. For configuration information, see Chapter 10.5,
“Form Fill Policies,” on page 916.
When you have finished the policy modifications, continue with Step 7.
IMPORTANT: If you enable a Form Fill policy for a protected resource that has been assigned to use a
contract that does not prompt the user for a password and the Form Fill policy contains a field for
the user’s password, single sign-on cannot be enabled because the password is not available. To
enable single sign-on, you need to use an Authentication class that retrieves the user’s password and
injects it into the user’s credentials when the user authenticates using a non-password method such
as X.509, RADIUS, smart card, or Kerberos. For information about such a class, see Section 4.1.10,
“Password Retrieval,” on page 434.
The protected resource is assigned to use a contract, and the timeout is assigned to the contract. For
information about how to configure the contract, see Section 4.1.4, “Configuring Authentication
Contracts,” on page 405.
The following sections describe four configuration scenarios and the user experience that they
create.
Scenario 1: If strictly adhering to the timeout value is more important than preserving the session or
single sign-on, configure your resources as follows:
Protected resource 1 (PR1) is configured to use contract 1 (C1), which has been created from
method 1 (M1) and placed in its own activity realm (AR1). For this scenario you set the
authentication timeout to 30 minutes.
Protected resource 2 (PR2) is configured to use contract 2 (C2), which has been created from
method 2 (M2) and placed in its own activity realm (AR2). For this scenario, you set the
authentication timeout to 15 minutes.
0 5 10 15 20 25 30 35 40 45 50 minutes
PR1,C1,M1,AR1 x x x x x
AR1 time line
PR2,C2,M2,AR2 x x x x
AR2 time line
After authenticating to both resources and remaining active on both resources for the first 10
minutes, the sessions remain active. The user then stays active on PR1 without accessing PR2 for
over 15 minutes. The AR1 time line is updated with this activity. The AR2 time line is not updated.
When the user accesses PR2 after more than 15 minutes of inactivity on the AR2 time line, the user
is prompted to authenticate. The user then returns to PR1 after over 20 minutes of inactivity, but
AR1 time line shows activity within the 30-minute timeout. The user is granted access and does not
need to log in again to access PR1.
In this scenario, the resources are independent of each other and do not influence each other’s
timeout limits.
Scenario 2: If you are willing to allow a resource to influence the timeout of another resource,
configure your resources as follows:
Protected resource 1 (PR1) is configured to use contract 1 (C1), which has been created from
method 1 (M1) and placed in a shared activity realm (shared1). For this scenario you set the
authentication timeout to 30 minutes.
Protected resource 2 (PR2) is configured to use contract 2 (C2), which has been created from
method 2 (M2) and placed in a shared activity realm (shared1). For this scenario, you set the
authentication timeout to 15 minutes.
With this scenario, the user is prompted to log in when accessing PR1 and when accessing PR2.
Activity at either resource updates the shared1 time line. Figure 2-8 illustrates this scenario.
Figure 2-8 Login Requirements for Separate Methods with a Shared Activity Realm
0 5 10 15 20 25 30 35 40 45 50 55 60 minutes
PR1,C1,M1,shared1 x x x x x x x
PR2,C2,M2,shared1 x x x x x x x
As long as the user is active on PR1, the user’s session to PR2 remains active. After 20 minutes of
activity on PR1, the user returns to PR2. The user is allowed access and does not need to log in
because the shared1 time line shows activity within the last 5 minutes. The user remains active on
PR2 for over 30 minutes, then accesses PR1. Again, the shared1 time line shows activity within the
last 5 minutes, so the user is granted access to PR1 without logging in again.
With this configuration, activity at other resources influences the time limits so that they are not
strictly enforced.
0 5 10 15 20 25 30 35 40 45 50 55 minutes
PR1,C1,M1,shared1 x x x x x x x x
PR2,C2,M1,shared1 x x x x x
The user first logs in to PR2 and is active for 10 minutes. The shared1 time line gets updated with this
activity. When the user requests access to PR1, the user is granted access without being prompted
for credentials. The user is then active on PR1 for over 20 minutes. When the user requests access to
PR2, even though the user has been inactive on this resource for over 20 minutes, the user is granted
access because the time line shows activity within the last five minutes.
With this configuration, PR2 does not time out as long as the user remains active on PR1. However,
when the user goes inactive on both PR2 and PR1 for over 15 minutes and the user requests access
to PR1, the time line shows no activity within the time limit specified for PR2 and the user is
prompted to log in.
Scenario 4: NetIQ does not recommend that you set different authentication timeouts on contracts
and then use the Any contract option for protected resources. If you want to use the Any contract,
then you must set the authentication timeout to the same value on all contracts. If the timeouts are
not the same, you cannot consistently predict what timeouts are being applied to the various
protected resources. For example, the user requests access to a resource that is protected with a
contract with a short timeout. The user logs in, then accesses resources that use the Any contract
option. All of these resources are assigned a short timeout.The user then goes inactive and the
session times out. The user then requests access to a resource with a contract with a long timeout.
The user logs in, and after a few minutes, accesses same resources protected with the Any contract
option. These resources are now assigned the long timeout value.
HTML
Rewriter
HTML Page: Source HTML Page: Source
<HTML> <HTML>
Reply
<img src=http://www.example.com/path/image1.jpg/> <img src=http://data.com/image1.jpg/>
</HTML> </HTML>
If your web servers and Access Gateway machines are behind a secure firewall, you might not
require SSL sessions between them, and only require SSL between the client browser and
Access Gateway. For example, an HTML file being accessed through Access Gateway for the
website example.com might have a URL reference to http://example.com/path/
image1.jpg. If the reverse proxy for example.com/path is using SSL sessions between the
browser and Access Gateway, the URL reference http://example.com/path/image1.jpg
must be rewritten to https://example.com/path/image1.jpg. Otherwise, when the user
clicks the HTTP link, the browser must change from HTTP to HTTPS and establish a new SSL
session.
To ensure that URL references containing private IP addresses or private DNS names are
changed to the published DNS name of Access Gateway or hosts.
For example, suppose that a company has an internal website named data.com, and wants to
expose this site to Internet users through Access Gateway by using a published DNS name of
example.com. Many of the HTML pages of this website have URL references that contain the
private DNS name, such as http://data.com/imagel.jpg. Because Internet users are
unable to resolve data.com/imagel.jpg, links using this URL reference would return DNS
errors in the browser.
The HTML rewriter can resolve this issue. The DNS name field in Access Gateway configuration is
set to example.com, which users can resolve through a public DNS server to Access Gateway.
The rewriter parses the web page, and any URL references matching the private DNS name or
private IP address listed in the web server address field of Access Gateway configuration are
rewritten to the published DNS name example.com and the port number of Access Gateway.
Rewriting URL references addresses two issues: 1) URL references that are unreachable because
of the use of private DNS names or IP addresses are now made accessible and 2) Rewriting
prevents the exposure of private IP addresses and DNS names that might be sensitive
information.
To ensure that the Host header in incoming HTTP packets contains the name understood by the
internal web server.
Using the example in Figure 2-10 on page 146, suppose that the internal web server expects all
HTTP or HTTPS requests to have the Host field set to data.com. When users send requests
using the published DNS name example.com/path, the Host field of the packets in those
requests received by Access Gateway is set to example.com. Access Gateway can be
configured to rewrite this public name to the private name expected by the web server by
setting the Web Server Host Name option to data.com. Before Access Gateway forwards
packets to the web server, the Host field is changed (rewritten) from example.com to
data.com. For information about configuring this option, see Section 2.6.4, “Configuring Web
Servers of a Proxy Service,” on page 132.
Context Criteria
HTTP Headers Qualified URL references occurring within certain types of HTTP response
headers such as Location and Content-Location are rewritten. The Location
header is used to redirect the browser to where the resource can be found. The
Content-Location header is used to provide an alternate location where the
resource can be found.
JavaScript Within JavaScript, absolute references are always evaluated for rewriting.
Relative references (such as index.html) are not attempted. Absolute paths
(such as /docs/file.html) are evaluated if the page is read from a path-
based multi-homing web server and the reference follows an HTML tag. For
example, the string href='/docs/file.html' is rewritten if /docs is a
multi-homing path that has been configured to be removed.
HTML Tags URL references occurring within the following HTML tag attributes are evaluated
for rewriting:
References An absolute reference is a reference that has all the information needed to locate
a resource, including the hostname, such as http://
internal.web.site.com/index.html. The rewriter always attempts to
rewrite absolute references.
Query Strings URL references contained within query strings can be configured for rewriting by
enabling the Rewrite Inbound Query String Data option.
Post Data URL references specified in Post Data can be configured for rewriting by enabling
the Rewrite Inbound Post Data option.
IMPORTANT: Excludes in the Exclude DNS Name List are processed first, then the includes in the
Additional DNS Name List. If you put the same DNS name in both lists, the DNS name is rewritten.
The following sections describe the conditions to consider when adding DNS names to the lists:
“Determining Whether You Need to Specify Additional DNS Names” on page 150
“Determining Whether You Need to Exclude DNS Names from Rewriting” on page 151
Web
Firewall Server
graphics.com
Browsers Access
Gateway
data.com
Request
example.com
<HTML> <HTML>
<img src=http://example.com/image1.jpg/> Reply <img src=http://data.com/image1.jpg/>
Rewriter
<img src=http://example.com/image2.jpg/> <img src=http://graphics.com/image2.jpg/>
</HTML> </HTML>
The page on the data.com web server contains two links, one to an image on the data.com server
and one to an image on the graphics.com server. The link to the data.com server is automatically
rewritten to example.com, when rewriting is enabled. The link to the image on graphics.com is
not rewritten, until you add this URL to the Additional DNS Name List. When the link is rewritten, the
browser knows how to request it, and Access Gateway knows how to resolve it.
You need to include names in this list if your web servers have the following configurations:
If you have a cluster of web servers that are not sharing the same DNS name, you need to add
their DNS names to this list.
If your web server obtains content from another web server, the DNS name for this additional
web server needs to be added to the list.
If the web server listens on one port (for example, 80), and redirects the request to a secure
port (for example, 443), the DNS name needs to be added to the list. The response to the user
comes back on https://<DNS_name>:443. This does not match the request that was sent on
http://<DNS_name>:80. If you add the DNS name to the list, the response can be sent in the
format that the user expects.
If an application is written to use a private hostname, you need to add the private hostname to
the list. For example, assume that an application URL reference contains the hostname of home
(http://home/index.html). This hostname needs to be added to the Additional DNS Name
List.
If you enable the Forward Received Host Name option on your path-based multi-homing service
and your web server is configured to use a different port, you need to add the DNS name with
the port to the Additional DNS Name List.
For example, if the public DNS name of the proxy service is www.myag.com, the path for the
path-based multi-homing service is /sales, and the web server port is 801, the following DNS
name needs to be added to the Additional DNS Name List of the /sales service:
http://www.myag.com:801
If you have a third reverse proxy protecting a web server, the rewriting rules can become ambiguous.
For example, consider the configuration illustrated in Figure 2-12.
Figure 2-12 Excluding URLs
Firewall
Access
Gateway
Browsers Web
Server
example.com.uk product.com
Request example.com.usa
Request data.com
example.com.mx
If you want all users coming through example.com.mx to use the example.com.usa proxy,
you need to block the rewriting of product.com to example.com.uk. On the HTML Rewriting
page of the reverse proxy for example.com.uk, add product.com and any aliases to the
Exclude DNS Name List.
If you do not need to know which proxy is returned in the reference, do not add anything to the
Exclude DNS Names List.
text/html text/javascript
text/xml application/javascript
text/css application/x-javascript
You must create a custom Word profile when an application requires rewrites of paths in JavaScript.
If the application needs strings replaced or new content-types, these can also be added to the
custom profile. In a custom Word profile, you can also configure the match criteria so that the profile
matches specific URLs. For more information, see “Page Matching Criteria for Rewriter Profiles” on
page 153.
When you create a custom Word profile, you need to position it before the default profile in the
list of profiles. Only one Word profile is applied per page. The first Word profile that matches the
page is applied. Profiles lower in the list are ignored.
You use the Requested URLs to Search section of the profile to set up the matching policy. The first
Word profile and the first Character profile that matches the page is applied. Profiles lower in the list
are ignored.
You can specify two types of URLs. In the If Requested URL Is list, you specify the URLs of the pages
you want this profile to match. In the And Requested URL Is Not list, you specify the URLs you do not
want this profile to match. You can use the asterisk wildcard for a URL in the If Requested URL Is list
to match pages you really don’t want this profile to match, then use a URL in the And Requested URL
Is Not list to exclude them from matching. If a page matches both a URL in the If Requested URL Is list
and in the And Requested URL Is Not list, the profile does not match the page.
For example, you could specify the following URL in the If Requested URL Is list:
http://www.a.com/*
You could then specify the following URL in the And Requested URL Is Not list:
http://www.a.com/content/*
These two entries cause the profile to match all pages on the www.a.com web server except for the
pages in the /content directory and its subdirectories.
IMPORTANT: If nothing is specified in either of the two lists, the profile skips the URL matching
requirements and uses the content-type to determine if a page matches.
Content-Type: In the And Document Content-Type Is section, you specify the content-types you want
this profile to match. To add a new content-type, click New and specify the name, such as text/
dns. Search your web pages for content-types to determine if you need to add new types. To add
multiple values, enter each value on a separate line.
Regardless of content-types you specify, the page matches the profile if the file extension is html,
htm, shtml, jhtml, asp, or jsp and you have not specified any URL matching criteria.
Inbound Actions: A profile might require these options if the proxy service has the following
characteristics:
URLs appear in query strings, Post Data, or headers.
The web server uses WebDAV methods.
If your profile needs to match pages from this type of proxy service, you might need to enable the
options listed below. They control the rewriting of query strings, Post Data, and headers from Access
Gateway to the web server.
Rewrite Inbound Query String Data: Select this option to rewrite the domain and URL in the
query string to match the web server configuration or to remove the path from the query string
on a path-based multi-homing proxy with the Remove Path on Fill option enabled.
Rewrite Inbound Post Data: Select this option to rewrite the domain and URL in the Post Data
to match the web server configuration or to remove the path from the Post Data on a path-
based multi-homing proxy with the Remove Path on Fill option enabled.
Rewrite Inbound Headers: Select this option to rewrite the following headers:
Call-Back
Destination
If
Notification-Type
Referer
The inbound options are not available for a Character profile.
Enabling or Disabling Rewriting: The Enable Rewriter Actions option determines whether the
rewriter performs any actions:
Select the option to have the rewriter rewrite the references and data on the page.
Leave the option deselected to disable rewriting. This allows you to create a profile for the
pages you do not want rewritten.
Additional Names to Search for URL Strings to Rewrite with Host Name: Use this section to specify
the name of the variable, attribute, or method in which the hostname might appear. These options
are not available for a Character profile.
Variable and Attribute Name to Search for Is: Use this section to specify the HTML attributes
or JavaScript variables that you want searched for DNS names that might need to be rewritten.
For the list of HTML attribute names that are automatically searched, see “HTML Tags” on
page 148. You might want to add the following attributes:
value: This attribute enables the rewriter to search the <param> elements on the HTML
page for value attributes and rewrite the value attributes that are URL strings.
If you need more granular control (some need to be rewritten but others do not) and you
can modify the page, see “Disabling with Page Modifications” on page 164.
formvalue: This attribute enables the rewriter to search the <form> element on the HTML
page for <input>, <button>, and <option> elements and rewrite the value attributes
that are URL strings. For example, if your multi-homing path is /test and the form line is
For information about how the Additional Strings to Replace list can be used to reduce the number of
Java methods you need to list, see “Using $path to Rewrite Paths in JavaScript Methods or Variables”
on page 158.
Search String Matches This String Does not’ Match This String
/pathother
/path/other
/path.html
String Tokens
On Access Gateway Service, you can use the following special tokens to modify the default matching
rules. Access Gateway Appliance does not support these tokens.
[w] to match one white space character
[ow] to match 0 or more white space characters
[ep] to match a path element in a URL path, excluding words that end in a period
White Space Tokens: You use the [w] and the [ow] tokens to specify where white space might occur
in the string. For example:
[ow]my[w]string[w]to[w]replace[ow]
If you don’t know, or don’t care, whether the string has zero or more white characters at the
beginning and at the end, use [ow] to specify this. The [w] specifies exactly one white character.
Path Tokens: You use the [ep] and [ew] tokens to match path strings. The [ep] token can be used to
match the following types of paths:
Search String Matches This String Does not’ Match This String
/home/path/other /home/pathother
The [ew] token can be used to match the following types of paths:
Search String Matches This String Does not Match This String
/home/path
Name Tokens: You use the [oa] token to match function or parameter names that have a set string to
start the name and end the name, but the middle part of the name is a computer-generated
alphanumeric string. For example, the [oa] token can be used to match the following types of names:
Search String Matches This String Does not’ Match This String
javaFunction-a()
Firewall
inner.com
Request
example.com
example.com/inner
<HTML> Reply <HTML>
<a href="../inner/prices/pricelist.html" class="ulink"> Rewriter <a href="../prices/pricelist.html" class="ulink">
</HTML> </HTML>
HTML Page: Source HTML Page: Source
To ensure that all paths generated by JavaScript are rewritten, you must search the web pages of the
application. You can then either list all the JavaScript methods and variables in the Additional Names
to Search for URL Strings to Rewrite with Host Name section of the rewriter profile, or you can use the
$path token in the Additional Strings to Replace section. The $path token reduces the number of
JavaScript methods and variables that you otherwise need to list individually.
/prices $path/prices
This configuration allows the following paths to be rewritten before the web server sends the
information to the browser.
/prices/pricelist.html /inner/prices/pricelist.html
/prices /inner/prices
This token can cause strings that should not be changed to be rewritten. If you enable the Rewrite
Inbound Query String Data, Rewrite Inbound Post Data, and Rewrite Inbound Header actions, the
rewriter checks these strings and ensures that they contain the information the web server expects.
For example, when these options are enabled, the following paths and domain names are rewritten
when found in query strings, in Post Data, or in the Call-Back, Destination, If, Notification-Type, or
Referer headers.
/inner/prices/pricelist.html /prices/pricelist.html
/inner/prices /prices
example.com/inner/prices inner.com/prices
These tags are seen by browsers as a comment mark, and do not show up on the screen (except
possibly on older browser versions).
NOTE: If the pages you modify are cached on Access Gateway, you need to purge the cache before
the changes become effective. Click Access Gateways, select the name of the server, then click
Actions > Purge All Cache
Page Tags: If you want only portions of a page rewritten, you can add the following tags to the page.
<!--NOVELL_REWRITER_OFF-->
.
.
HTML data not to be rewritten
.
.
<!--NOVELL_REWRITER_ON-->
The last tag is optional, and if omitted, it prevents the rest of the page from being rewritten after the
<!--NOVELL_REWRITER_OFF--> tag is encountered.
Param Tags: Sometimes the JavaScript on the page contains <param> elements that contain a value
attribute with a URL. You can enable global rewriting of this attribute by adding value to the list of
variable and attribute names to search for. If you need more control because some URLs need to be
rewritten but others cannot be rewritten, you can turn on and turn off the value rewriting by
adding the following tags before and after the <param> element in the JavaScript.
<!--NOVELL_REWRITE_ATTRIBUTE_ON='formvalue'-->
.
.
<input>, <button>, and <option> elements to be rewritten
.
.
<!--NOVELL_REWRITE_ATTRIBUTE_OFF='formvalue'-->
.
.
<input>, <button>, and <option> elements that shouldn't be rewritten
Authentication time limits for inactivity sessions are configured on the contract and enforced by
Identity Server. For information about how to configure this limit, see “Assigning a Timeout Per
Protected Resource” on page 143.
NOTE: These SSL listening options appear disabled if you are configuring the tunneling services.
NOTE: The Make Outbound Connection Using and Policy for Multiple Destination IP Addresses
options are available in Access Gateway Appliance and the same options are not available in
Access Gateway Services.
4 Select Enable Persistent Connections to allow Access Gateway to establish a persistent HTTP
connection between Access Gateway and the web server. Usually, HTTP connections service
only one request and response sequence. A persistent connection allows multiple requests to
be serviced before the connection is closed.
This option is enabled by default.
5 To modify the connection timeouts between Access Gateway and the web servers, configure
the following fields:
Data Read Timeout: Determines when an unresponsive connection is closed. When exchanging
data, if an expected response from the connected device is not received within this amount of
time, the connection is closed. This value might need to be increased for slow or congested
network links. The value can be set from 1 to 3600 seconds (1 hour). The default is 120 seconds
(2 minutes).
Idle Timeout: Determines when an idle connection is closed. If no application data is exchanged
over a connection for this amount of time, the connection is closed. This value limits how long
an idle persistent connection is kept open. This setting is a compromise between freeing
Access Gateway connections to the browser and Access Gateway connections to the web server
involve setting up a TCP connection for an HTTP request. HTTP connections usually service only one
request and response sequence, and the TCP connection is opened and closed during the sequence.
A persistent connection allows multiple requests to be serviced before the connection is closed and
saves a significant amount of processing time. To configure this type of persistence, perform the
following actions:
Access Gateway to Browser: Click Devices > Access Gateways > Edit > [Name of Reverse Proxy] >
TCP Listen Options and select Enable Persistent Connections.
Access Gateway to Web Server: Click Devices > Access Gateways > Edit > [Name of Reverse
Proxy] > [Name of Proxy Service] > Web Servers > TCP Connect Options and select Enable
Persistent Connections.
6 To control how idle and unresponsive web server connections are handled and to optimize
these processes for your network, select TCP Connect Options. For more information, see
“Configuring TCP Connect Options for Web Servers” on page 167.
7 To add a web server, click New in the Web Server List and specify the IP address or the fully
qualified DNS name of the web server.
The web servers added to this list must contain identical web content. Configuring your system
with multiple servers with the same content adds fault tolerance and increases the speed for
processing requests. For more information about this process, see “Setting Up a Group of Web
Servers” on page 179.
New: To create a new web server, click New. Specify the web Server IP Address or DNS.
Click OK to add the new web server to the list or Cancel to discard the changes.
After creating the web server in the list, you can configure it as primary server and
prioritize the list of web servers based on your requirement.
Delete: To delete a web server, select the web server from the list, then click Delete.
If you delete the selected web server, then all the web servers which are corresponding to
the device in the cluster gets deleted.
8 In case of Simple failover policy, the web server list will be ordered allowing selection of the
primary web server.
The most common use case is, same list of web servers as well as primary designate, in all the
Gateway Appliances in a cluster. However, there can be scenarios where you want Gateway
Appliances in a cluster to have different configuration for the above, one of them being
locations separated geographically, each hosting Gateway Appliances, as well as some of the
web servers. For such cases, select the individual members from the Cluster/Cluster Member
drop down list, and configure the primary as well as other web servers for each
NOTE: When the administrator opts for member change then the administrator cannot change
the priority of web servers from the cluster but the other operations such as add, delete can be
performed.
Primary Web Server: The web server that serves all the requests for this service. Only
applicable for simple failover.
Group Web Servers: The web servers that are added at the cluster level will be common and
displayed in all cluster member groups.
For more information about this process, see “Configuring Web Servers at Cluster Level” on
page 180 and “Configuring Web Servers at Member Level” on page 181.
...
...
...
...
...
...
In Figure 2-14, Access Gateway 1 and Access Gateway 2 have the same configuration except for the
reverse proxy listening address. They share the other configuration settings because they are
members of an Access Gateway cluster. This section explains how to create a group of web servers,
how to add multiple proxy services and reverse proxies to an Access Gateway, and how to manage a
cluster of Access Gateways.
This section describes these multi-homing methods, then explains the following:
“Creating a Second Proxy Service” on page 176
“Configuring a Path-Based Multi-Homing Proxy Service” on page 177
Domain-Based Multi-Homing
Domain-based multi-homing is based on the cookie domain. For example, if you have a cookie
domain of company.com, you can prefix hostnames to a cookie domain name. For a test resource,
you can prefix test to company.com and have test.company.com resolve to the IP address of
Access Gateway. Access Gateway configuration for the test.company.com proxy service contains
the information for accessing its web servers (test1.com). Figure 2-15 illustrates this type of
configuration for three proxy services.
1 2 3
Firewall
test1.com
test2.com
test3.com
4 5
Access Gateway
DNS Names:
test.company.com
sales.company.com
apps.company.com sales4.com
sales5.com
IP Address:
10.10.195.90:80
6 7 8
apps6.com
apps7.com
apps8.com
Published DNS Name Access Gateway IP Web Server Host Name Web Server IP Address
Address
Configure your DNS server to resolve the published DNS names to the IP address of Access
Gateway.
Path-Based Multi-Homing
Path-based multi-homing uses the same DNS name for all resources, but each resource or resource
group must have a unique path appended to the DNS name. For example, if the DNS name is
test.com, you would append /sales to test.com. When the user enters the URL of
www.test.com/sales, Access Gateway resolves the URL to the sales resource group. Figure 2-16
illustrates this type of configuration.
Figure 2-16 Using a Domain Name with Path Elements
1 2 3
Firewall
test1.internal.com
test2.internal.com
test3.internal.com
4 5
Access Gateway
DNS Names:
www.test.com
www.test.com/sales
www.test.com/apps sales4.internal.com
sales5.internal.com
IP Address:
10.10.195.90:80
6 7 8
apps6.internal.com
apps7.internal.com
apps8.internal.com
Browser URL Using the Published DNS Name Web Server URL
http://www.test.com/sales http://sales4.internal.com/
In this case, the path needs to be removed from the URL that Access Gateway sends to the web
server. Access Gateway does not allow you to set up multiple paths to this type of web server, so all
pages must have the same authentication requirements.
If the path in the published DNS name is a path on the web server, the path needs to be passed to
the web server as part of the URL. For example, suppose you use the following configuration:
Browser URL Using the Published DNS Name Web Server URL
http://www.test.com/sales http://sales4.internal.com/sales
Because the path component specifies a directory on the web server where the content begins, you
need to select to include the path. Access Gateway then includes the path as part of the URL it sends
to the web server. This configuration allows you to set up multiple paths to the web server, such as
sales/payroll
sales/reports
sales/products
Such a configuration also allows you to set up different authentication and authorization
requirements for each path.
Published DNS Name Access Gateway IP Web Server Host Name Web Server IP
Address Address
Configure your DNS server to resolve the published DNS names to the IP address of Access
Gateway.
Set up the back-end web servers. If they have links to each other, set up DNS names for the web
servers.
Create one proxy service that uses test.com as its published DNS name and two path-based
proxy services.
To create a path-based multi-homing proxy service, see “Creating a Second Proxy Service” on
page 176, and select path-based for the multi-homing type.
1 2 3
Firewall
test.internal.com
4 5
Access Gateway
DNS Names:
test.com
sales.com
apps.com sales.internal.com
IP Address:
10.10.195.90:80
6 7 8
apps.internal.com
Virtual multi-homing cannot be used with SSL. You must use this configuration with resources that
need to be protected, but the information exchanged must be public information that does not need
to be secure. For example, you could use this configuration to protect your web servers that contain
the catalog of your shipping products. It isn’t until the user selects to order a product that you need
to switch the user to a secure site.
Whether a client can use one DNS name or multiple DNS names to access Access Gateway depends
upon the configuration of your DNS server. After you have configured your DNS server to allow
multiple names to resolve to the same IP address, you are ready to configure Access Gateway.
To create a virtual multi-homing proxy service, see “Creating a Second Proxy Service” on page 176,
and select Virtual for the multi-homing type.
IMPORTANT: If you create multiple protected resources that exactly match the path-based
multi-homing service, there is no guarantee that a specific protected resource will be used.
For example, if you create protected resources for both of the paths specified above (/
apps and /apps/*) and you have a path-based service with a path of /apps, either of
these protected resources could be assigned to this path-based service in Administration
Console or used when access is requested.
4h Make sure the protected resource you created is enabled. If the resource is disabled, it
does not appear in the Path List for the path-based proxy service.
4i (Optional) Enable the policies the path-based proxy service requires. Click Authorization,
Identity Injection, or Form Fill and enable the appropriate policies.
4j Click OK.
5 Click OK.
6 To apply the changes, click the Access Gateways link, then click Update > OK.
Firewall test1.com
Access Gateway
1 test2.com
DNS Name: Request
www.mytest.com test3.com
2
IP Address:
10.10.195.90:80 3
Access Gateway uses the round robin algorithm by default. You can configure it to use the simple
failover algorithm.
Simple failover sends all the traffic to the first web server as long as it is available. Traffic is sent to
another web server in the list only when the first web server is no longer available. To configure this
option, see “Configuring TCP Connect Options for Web Servers” on page 167.
Connection persistence is enabled by default. This allows Access Gateway to send multiple HTTP
requests to the web server to be serviced before the connection is closed. To configure this option,
see “Configuring TCP Connect Options for Web Servers” on page 167.
Session stickiness option is used if multiple web Servers are configured for a service. Selecting this
option makes the proxy server to use the same web server for all fills during a session. This option is
enabled by default. For more information about persistent connections, see “Configuring
Connection and Session Persistence” on page 168.
You can sort the web servers in the cluster, add the web servers to the cluster, delete the web
servers in the cluster and prioritize the web server list.
1 Select the group device from the Cluster drop-down list to change the web server ordering.
2 Click New to add a web server to the cluster or cluster member in the web server List.
NOTE: If Access Gateway is configured to use Simple Failover, you can prioritize the web server
list at the cluster level and this will reflect the changes in the all the cluster members list. When
the web server is configured from cluster member, order cannot be changed from cluster
because the order would be different from each cluster member.
1 Click New and enter the Web Server IP Address or DNS number. A confirmation dialog displays
the following message”. The web server addition makes this service's web server configuration
as member specific. Henceforth the web server ordering must be changed from each cluster
member”.
2 Click OK to continue.
3 Select the specific web server you ant to delete and click Delete. A message is displayed as
"Delete the selected Web Server(s)?". Click OK to continue.
4 If Access Gateway is configured to use Simple Failover, you can move up or down the web
servers as primary web server. To configure Simple Failover, see “Configuring TCP Connect
Options for Web Servers” on page 167.
When the web server is deleted a message is displayed as "Web Server Address Changed. All cached
content on this Server must be purged. Purge All Cache? " The system will purge the details of the
deleted server. Using the arrow key you can configure the web servers as primary web server.
IMPORTANT: Changing the reverse proxy that is used for authentication is not a trivial task. For
example, if you have customized the logout options on your web servers to redirect the logout
request to the Logout URL of the current authentication reverse proxy, you need to modify these
options to point to a new Logout URL.
If you have set up SSL connections, you need to change your certificate configurations.
IDP
Provides Authentication (SAML, SAML2, Liberty)
Identity Server
ESP
Access Consumes Authentication (Liberty)
Gateway
As an administrator, you determine whether your server is to be used as the identity provider or
service provider in the trust relationship. You and the trusted partner agree to exchange identity
provider metadata, and then you create references to the trusted partner’s identity provider or
service provider in your Identity Server configuration. You can obtain metadata via a URL or an XML
document, then enter it in the system when you create the reference.
Access Gateway
NOTE: For a tutorial that explains all the steps for setting up federation between two NetIQ Identity
Servers, see Section 4.2.1, “Configuring Federation,” on page 456.
IMPORTANT: If you enable the Use Introductions option and you want to allow your users to
select which identity provider to use for authentication rather than use single sign-on, you need
to configure the Introductions class. See “Configuring the Introductions Class” on page 189.
SSL Certificate: Displays the Keystore page that you use to locate and replace the test-consumer
SSL certificate for this configuration.
Identity Server comes with a test-consumer certificate that you must replace for your
production environment. This certificate is used for identity consumer introductions. You can
replace the test certificate now or after you have configured Identity Server. If you create the
certificate and replace the test-connector now, you can save some time by restarting Tomcat
only once. Tomcat must be restarted whenever you assign an Identity Server to a configuration
and whenever you update a certificate key store. See “Managing the Keys, Certificates, and
Trust Stores” on page 994.
3 Click OK, then update Identity Server.
IMPORTANT: The Remember Me option does not work when running the application in the
incognito or private mode.
9 Create a contract for this class. For configuration information, see Section 4.1.4, “Configuring
Authentication Contracts,” on page 405.
10 After the contract is configured, it appears in the list of contracts on the login page.
IMPORTANT: Do not assign this contract as the default identity provider contract.
urn:oasis:names:tc:SAML:2.0:ac:classes:PreviousSession
urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocol
For additional values, refer to the SAML2 and Liberty Authentication Context
Specifications.
3b Set the Property Value to the security level or rank you want for the class. A level of 2 is
higher than a level of 1.
4 Click OK, then update the Identity Server.
IMPORTANT: When selecting which protocol to use, be aware of logout behavior of the SAML 1.1
protocol. The SAML 2.0 and Liberty 1.2 protocols define a logout mechanism whereby the service
provider sends a logout command to the trusted identity provider when a user logs out at a service
provider. SAML 1.1 does not provide such a mechanism. For this reason, when a logout occurs at the
SAML 1.1 service provider, no logout occurs at the trusted identity provider. A valid session is still
running at the identity provider, and no credentials need to be entered. In order to log out at both
providers, the user must navigate to the identity provider that authenticated him to the SAML 1.1
service provider and log out manually.
NOTE: The PID in the login URL must exactly match the entity ID specified in the metadata.
https://idp.sitea.novell.com:8443/nidp/saml/idpsend?PID=https://
idp.siteb.novell.com:8443/nidp/saml/metadata&TARGET=https://
idp.siteb.novell.com:8443/nidp/app
For more information, see “Specifying the Intersite Transfer Service URL for the Login URL
Option” on page 208.
Image: Specify the image to be displayed on the card. Select the image from the drop down list.
To add an image to the list, click <Select local image>.
Procedure
1 Click Devices > Identity Servers > Edit > [Protocol].
2 Click New, then click Service Provider.
NOTE: By default, the Provider Type > General is selected. You can configure an Identity Server
to trust a service provider to establish federation with external service providers. For more
information about pre-configured metadata for Google Applications, Office 365, and
Salesforce.com, see Chapter 4.2.11, “Configuring Authentication Through Federation for
Specific Providers,” on page 666.
NOTE: The trusted providers that are from the metadata repository cannot be reimported from this
option. Go to Shared Settings > > Metadata Repositories and click on the metadata repository created
to reimport the trusted provider.
NOTE: Reimport support is not available for SAML 1.1 and SAML 2.0 protocols.
The Defaults page allows you to specify which contract is used when the authentication request
specifies a class or type rather than a contract. For more information, see Section 4.1.5, “Specifying
Authentication Defaults,” on page 416.
When the service provider sends an authentication request that specifies a specific contract, you
need to ensure that Identity Server has a the contract matches the expected URI. For information
about how to configure such a contract, see “Creating a Contract for a Specific Authentication Type”
on page 417.
To read more about configuring an intersite URL, see “Configuring an Intersite Transfer Service Target
for a Service Provider” on page 211.
If you configure an Intersite Transfer Service URL for an Identity Server that is the Access Manager
Identity Server and the service provider is either another Identity Server or a third-party server, you
can simplify the Intersite Transfer Service URL to the following format:
<identity provider URL>?id=<user_definedID>
For example:
SAML 2.0: https://test.blr.novell.com:8443/nidp/saml2/
idpsend?id=testsaml2&TARGET=https://eng.provo.novell.com
SAML 1.1: https://testsb.blr.novell.com:8443/nidp/saml/
idpsend?id=testsaml&TARGET=https://eng.provo.novell.com
Liberty: https://testsb.blr.novell.com:8443/nidp/idff/
idpsend?id=libertytest&TARGET=https://eng.provo.novell.com
If the Allow any target option is enabled and if the Intersite Transfer Service URL has a target value,
then the user is redirected to target URL.
The Intersite Transfer Service URL for SAML 2.0 will be https://
testsb.blr.novell.com:8443/nidp/saml2/idpsend?id=testsaml2&TARGET=http://
www.google.com where http://www.google.com is the target URL.
NOTE: Depending on the usage, the target parameter serves different purpose. It is case-sensitive.
target: Specifies the idpsend URL with a contract id.
TARGET: Specifies URL of the final destination.
Use case: If authentication with a particular contract is enabled in Intersite URL, you are redirected
to the default target URL. Use the following format: http(s)://<$idp_host_name>/nidp/
app?id=<$contract_to_be_executed>&target=http(s)://<$idp_host_name>/nidp/
saml2/idpsend?id=<$saml_sp_identifier>.
For more information, see How to access an Identity Server Intersite Transfer URL with a specific
contract (https://www.novell.com/support/kb/doc.php?id=7005810).
How it works?
In the above example, identity provider authentication is done with the contract id npbasic. You
are now redirected to the service provider by using the saml_sp_identifier id
(serviceprovider1). After authentication (if configured with persistent federation), the page redirects
you to the available default target, or to the nidp login page of the service provider.
For configuration and ID information, see “Configuring an Intersite Transfer Service Target for a
Service Provider” on page 211.
In the Intersite Transfer Service URL, id can be used for the following purposes:
1. To simplify the intersite URL.<identity provider URL>?id=<user_definedID>
2. To execute a particular contract in Identity Server login service with intersite URL.
http(s)://<$idp_host_name>/nidp/
app?id=<$contract_to_be_executed>&target=http(s)://<$idp_host_name>/
nidp/saml2/idpsend?id=<$saml_sp_identifier>
2.7.10.2 Specifying the Intersite Transfer Service URL for the Login URL Option
Liberty and SAML 2.0 support a single sign-on URL. Because SAML 1.1 does not support a single sign-
on URL, you need to specify the Intersite Transfer Service URL in the Login URL option on the
authentication card for the SAML 1.1 identity provider:
Figure 2-21 SAML 1.1 Authentication Card
For a card to appear as a login option, you must specify a Login URL and select the Show Card option.
Figure 2-22 illustrates a possible configuration that requires the Intersite Transfer Service for the
SAML 1.1 protocol.
Service Provider: 2
DNS: eng.nam.example.com
Web Server
URL: https://eng.nam.example.com/myapp
If you want a card to appear that allows the user to log in to Site A (as shown in Figure 2-21), you
need to specify a value for the Login URL option.
Using the DNS names from Figure 2-22, the complete value for the Login URL option is as follows:
https://idp.sitea.example.com:8443/nidp/saml/idpsend?PID=https://
idp.siteb.example.com:8443/nidp/saml/metadata&TARGET=https://
idp.siteb.example.com:8443/nidp/app
The following actions occur when this link is invoked:
1. The browser performs a Get to the identity provider (Site A).
2. If the identity provider (Site A) trusts the service provider (Site B), the identity provider prompts
the user for authentication information and builds an assertion.
3. The identity provider (Site A) sends the user to the service provider (Site B), using the POST or
Artifact method.
4. The service provider (Site B) consumes the assertion and sends the user to the TARGET URL (the
user portal on Site B).
To configure the settings for the intersite transfer service, see “Modifying the Authentication Card
for SAML 1.1” on page 546.
Identity Provider: A
DNS: idp.sitea.example.com Identity Provider: B Access Gateway
Service Provider: 1
DNS: idp.siteb.example.com
Service Provider: 2
DNS: eng.nam.example.com
Third-Party Server
Site Z
Web Server
URL: https://eng.nam.example.com/myapp
In this example, Site Z places links on its web page, using the Intersite Transfer Service URL of Site A.
These links trigger authentication at Site A. If authentication is successful, Site A sends an assertion
to Site B. Site B verifies the authentication and redirects the user to the myapp application that it is
protecting.
NOTE: If you have defined Unique Id for a specific trusted service provider, you cannot simplify
the Intersite Transfer URL on the Intersite Transfer Service page in Administration Console. You
must specify the complete idpsend URL.
When a trusted service provider is configured with a unique id, the idpsend URL will be in the
following format:
https://idp.sitea.example.com:8443/nidp/saml2/idpsend?PID=https://
idp.siteb.example.com:8443/nidp/saml2/metadata&uniqueId=<unique id
configured in admin console>&TARGET=https://idp.siteb.example.com/
saml2/app
Target: Specify the URL of the page that you want to display to users when they authenticate
with an Intersite Transfer URL.The behavior of this option is influenced by the Allow any target
option. NetIQ recommends you to specify a default target URL, for example, https://
www.serviceprovider1.com.
Allow any target: You can either select or not select this option.
When you select this option,
if the Intersite Transfer URL has a target value, then the user is sent to target URL.
if the Intersite Transfer URL does not have a target value, then the user is sent to the
configured target, that is, www.serviceprovider1.com.
When you do not select this option,
if the Intersite Transfer URL has a target value, then the user is sent to the target
www.serviceprovider1.com irrespective of the target mentioned in the Intersite
Transfer URL.
if the Intersite Transfer URL does not have a target value, the user is sent to
www.serviceprovider1.com.
1 Click Devices > Identity Servers > Edit > [Liberty, SAML1.1, or SAML 2.0] > [Service Provider] >
Intersite Transfer Service.
2 In the Domain List, click New.
3 Specify the domain name, then click OK.
The domain name must be a full domain name, such as www.example.com. Wildcard domain
names, such as www.example.*.com, do not work.
4 To edit an existing domain name, click the name, modify the name, then click OK.
5 To delete an existing domain name, select the check box by the domain, click Delete, then click
OK to delete or Cancel to close the window.
6 Click OK.
7 Update Identity Server.
NOTE: These options must be defined to avoid security issues during an unsigned SAML
Authentication Request.
NOTE: Enable the Satisfiable by a contract of equal or higher level option for contracts with
authentication level 10 or 20 to avoid prompting for authentication when a user is already
authenticated against the contract with level 30.
Identity Provider
Home Page Session consisting
of authenticated
contracts
1 3 8
User 4 9
2 7
Identity Provider
6 10 SP_A Page
Workflow:
1 User tries to authenticate in the identity provider.
2 User is prompted to authentication using the Name Password Basic contract.
3 User enters the credentials.
4 The Name Password Basic contract is authenticated in the identity provider and added to the
user session.
The Name Password Basic contract is the default contract in the identity provider.
5 User logs into the identity provider.
6 User makes an Intersite Transfer Service request to SP_A.
7 The identity provider prompts for the authentication using the Name Password Form contract.
8 User enters the credentials.
9 The Name Password Form contract is authenticated in the identity provider and added to the
user session.
10 User is redirected to SP_A.
NOTE: For information about service provider initiated single sign-on and its example, see
“Contracts Assigned to a SAML 2.0 Service Provider” on page 510.
id While defining the Intersite Transfer Service URL, you can define an id and target for
the SAML service provider being accessed.
For example, if you defined the id as testsaml and TARGET as URL of service provider,
the login URL is https:// <identity provider server >:<port>/nidp/saml/
idpsend?id=testsaml&TARGET=<URL of service provider>.
If TARGET is not specified, the login URL is https:// <identity provider server >:<port>/
nidp/saml/idpsend?id=testsaml.
PID You can use this parameter when another provider is added and an Intersite Transfer
Service id is not defined.
For example, the login URL in this case can be https:// <identity provider
server >:<port>/nidp/saml/idpsend?PID=<https://identity
provider server>:8443/nidp/saml/metadata&TARGET=<URL of
service provider>.
TARGET Specifies URL of the final destination. Format of the URL: <identity provider
URL>?PID=<entityID>&TARGET=<final_destination_URL>
Access Manager supports the following versions of Operating Systems, MS Office, and Internet
Explorer while integrating with SharePoint server:
For information about how to integrate Access Manager with SharePoint 10, see the following
sections in the Access Manager 4.3 Administration Guide (https://www.netiq.com/documentation/
access-manager-43/admin/data/bookinfo.html):
Configuring Protected Resource for a SharePoint Server (https://www.netiq.com/
documentation/access-manager-43/admin/data/b147sg6g.html#bl0y50r)
Configuring a Protected Resource for a SharePoint Server with an ADFS Server (https://
www.netiq.com/documentation/access-manager-43/admin/data/b147sg6g.html#biy0mn0)
NOTE: Microsoft has stopped the mainstream support for SharePoint Server 10.
Integrating Access Manager with SharePoint 2013, 2016, or 2019 includes the following high-level
steps:
Configuring WS Federation Claims-based Authentication between Access Manager and
SharePoint Server
Configuring SharePoint Server as a Protected Resource
Enabling Advanced Options for the Proxy Service
Enabling Global Advanced Options
Modifying the WS Federation Assertion Validity Time
Configuring the Trusted Site in Internet Explorer
Configuring Logout
Field Description
Set Name Specify a name that identifies the purpose of the set. For
example, SP2013-AttrSet.
2c Click Next.
2d To add a mapping for the mail attribute, perform the following steps:
2d1 Click New.
2d2 Specify the following details:
Remote namespace Select the option, and then specify the following namespace:
http://schemas.xmlsoap.org/ws/2005/05/identity/
claims
Field Description
Remote attribute Specify role. This is the name of the attribute that is used to share
roles.
Remote namespace Select the option and then specify the following namespace:
http://schemas.xmlsoap.org/ws/2008/06/identity/
claims
Field Description
Name Specify a name that identifies the service provider. For example, sp2013.
Provider ID Specify the provider ID of the SharePoint server. This value corresponds to
the realm configured on SharePoint Server. It is visible in the incoming
authentication requests from SharePoint Server to Identity Server.
Sign-on URL Specify the URL that the user is redirected to after login. You can construct
this URL by adding _trust at the end of the SharePoint web application
URL.
NOTE: If you use a different published DNS name than the SharePoint web
application URL, then configure the sign-on URL as https://<published
DNS Name:port/_trust/.
Logout URL Do not specify any value. You need to configure the logout URL in SharePoint.
See “Configuring Logout” on page 226.
Service Provider Specify the path to the signing certificate exported from SharePoint Server.
See “Exporting the Certificates” on page 218.
4c Click Next.
4d Confirm the certificate, and then click Finish.
5 Configure the name identifier format.
The default format for a new WS Federation service provider is Unspecified. This name
identifier format does not work with SharePoint Server 2013 and you must change it.
Additionally, the roles claims must be satisfied to gain access to SharePoint Server.
5a Click Devices > Identity Servers > Edit > WS Federation > sp2013 > Attributes.
5b In Attribute set, select the WS Federation attribute set you created.
5c In Send with authentication, move All Roles and Ldap Attribute:mail attributes
from Available to Send with authentication.
5d Click Apply.
5e Click Authentication Response.
5f Select E-mail and then select LDAP Attribute:mail [LDAP Attribute Profile] as
the value.
5g Click OK > OK, and then update Identity Server.
6 Set up roles for SharePoint claims.
Based on roles assigned in Access Manager, users can have different levels of access to
resources on SharePoint Server.
6a Click Devices > Identity Servers > Edit > Roles.
6b Click New, specify a name for the policy, select Identity Server: Roles, and then click OK.
6c On the Rule 1 page, leave Condition Group 1 blank.
Field Description
Certificate name Specify a logical name for the SharePoint trusted root. For example,
SP2013-tr.
Certificate data file Select the previously exported SharePoint trusted root certificate.
(DER/PEM/PKCS7)
See “Exporting the Certificates” on page 218.
7d Click OK.
7e On the Select Trusted Roots page, select the SharePoint trusted root certificate that you
just imported, and then click Add Trusted Roots to Trust Stores.
NOTE: This option does not exist in Access Manger Appliance. All components (Identity
Server, ESP, and Access Gateway share the same key store and trust stores.
$cert = New-Object
System.Security.Cryptography.X509Certificates.X509Certificate2("c:\
users\<administrator>\downloads\<certificate.cer>")
1d Map the claims. The incoming claims are the remote attribute names that are defined in
the Access Manger attribute set.
The name and the case must match with the value in the attribute mapping. For example,
let us assume that you defined emailaddress and role and these are appended to
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/ and http://
schemas.microsoft.com/ws/2008/06/identity/claims/ name spaces
respectively. In this example, the script to define the claims looks similar to the following:
$map1 = New-SPClaimTypeMapping -IncomingClaimType "http://
schemas.microsoft.com/ws/2008/06/identity/claims/role" -
IncomingClaimTypeDisplayName "Role" -SameAsIncoming
$signinurl = http(s)://<$idp_host_name>/nidp/wsfed/ep
When users access SharePoint with claims-based authentication enabled and need a claim
to get authenticated and authorized, they need to send the request to Identity Server to
generate the claim. SharePoint uses this URL to send the authentication requests.
1g Assign the custom IP-STS in PowerShell by using the following script:
NOTE: Ensure that you have disabled Session Assurance for Access Gateway. Else, the integration
between Access Manager and SharePoint may not work.
NAGGlobalOptions AllowMSWebDavMiniRedir=on
For more information about this option, see “NAGGlobalOptions
AllowMSWebDavMiniRedir=on” in Table 3-1, “Access Gateway Global Advanced Options,” on
page 356.
IMPORTANT: To enhance the security, enable the following options in the browser:
Go to Tools > Internet Options > Advanced, and then select Empty Temporary Internet files folder
when browser is closed under Security.
Go to Tools > Internet Options > General, and then select Delete Browsing history on exit.
3 Under the Submit Options section, select the Enable JavaScript Handling check box.
4 Enter document.cookie="PBack=0; path=/" in the Statements to Execute on Submit field.
5 Click OK and apply the changes.
For information about other possible Access Gateway configurations, see “Teaming 2.0: Integrating
with Linux Access Gateway” (http://www.novell.com/communities/node/9580/teaming-20-
integration-linux-access-gateway).
/teaming/*
/ssf/*
10e Click OK.
11 Create a protected resource for WebDAV and AJAX content:
11a In the Protected Resource List, click New, specify a unique name, then click OK.
11b (Optional) Specify a description for the protected resource. You can use it to briefly
describe the purpose for protecting this resource.
11c Click the Edit Authentication Procedure icon.
11d In Authentication Procedure List, click New, specify a name, then click OK.
11e Specify details in the following fields:
/ssfs/*
/ssf/rss/*
/ssf/atom/*
/ssf/ical/*
/ssf/ws/*
/ssr/*
/rest/*
The /ssfs/* path is for WebDAV content and the /ssf/rss/* path enables non-
redirected login for RSS reader connections.
11i Click OK.
12 In the Protected Resource List, ensure that the protected resources you created are enabled.
13 To apply your changes, click Devices > Access Gateways, then click Update.
14 Continue with “Configuring a Rewriter Profile” on page 228.
application/rss+xml
5 In the Variable or Attribute Name to Search for Is section, click New, then specify the following as
the variable to search for:
value
6 Click OK.
7 Ensure that Enable Rewrite Actions remains selected.
8 Click OK.
9 In HTML Rewriter Profile List, move the Word profile you created to be the first profile in the list,
and move the default profile to be the second profile in the list.
10 Click OK.
NOTE: If Vibe is configured to send the binary content in the JSON format, you must disable the
HTML Rewriter to prevent errors.
NOTE: If you do not want Access Manager to cache site information, do not create a Pin List. Instead,
you must configure Access Manager to forward cache control headers to the browser. This is the
recommended configuration for Novell Vibe. For information about how to forward cache control
headers to the browser, see Section 3.3.2, “Controlling Browser Caching,” on page 350.
Active Directory
Kerberos Constrained
Delegation Server
Identity
Server
Browser
Access Manager
1. Access Manager (Identity Server and Access Gateway) is deployed in front of the SharePoint
server. Access Gateway intercepts all requests from the browser to the SharePoint server.
2. Access Gateway prompts the user for authentication at Identity Server.
3. Access Gateway requests KCD to generate a service ticket for the SharePoint server on behalf of
the authenticated user through Constrained Delegation and Protocol Transition extensions.
2.8.4.2 Advantages
The following are the advantages of KCD implementation:
KCD is a more secure protocol. It delegates identities only to specified services.
KCD can transition non-Kerberos incoming authentication protocol to Kerberos so that the user
can be granted or denied access to the kerberized services.
2.8.4.3 Limitations
The following are the limitations of KCD implementation:
It does not support the cross-domain transition.
It is supported only on Windows Access Gateway.
It requires additional setup configuration.
NOTE: Constrained Delegation does not support services hosted in other domains even though
there is a trust relationship to those domains.
Field Description
Proxy Service Name Specify a display name for the proxy service that Administration Console
uses for its interfaces.
Multi-Homing Type Select Domain-Based as the multi-homing method that Access Gateway
must use to identify this proxy service.
Published DNS Name Specify the DNS name you want the public to use to access the kerberized
server. This DNS name must resolve to the IP address you set up as the
listening address.
If the DNS name of the reverse proxy is same as the DNS name of the
kerberized server, no rewriting configuration is required. If they are
different, there is a high probability that the application will respond
incorrectly to user requests.
Web Server IP Address Specify the IP address of the IIS web server.
Web Server Host Name Specify the DNS name of the kerberized server that Access Gateway must
forward to the web server.
IMPORTANT: Web Server Host Name is a mandatory configuration because Delegated Kerberos
in Access Gateway takes the service name from this field to request for a service ticket from the
KCD server.
6 (Path-Based Proxy Service) Set up a proxy service on Access Gateway for Identity Server:
6a Click Devices > Access Gateways > Edit > [Name of Reverse Proxy].
For more information about creating a proxy service, see Section 2.6.3, “Managing Reverse
Proxies and Authentication,” on page 125.
6b In the Proxy Service list, click New.
6c Set the Multi-Homing Type field to Path-Based and set the Path field to /nidp.
6d Set the following fields to the specified values:
Published DNS Name: Specify the same name you have specified for the domain name of
the Base URL of Identity Server. Your DNS server must be set up to resolve this name to
Access Gateway.
Web Server IP Address: Specify the IP address of Identity Server. If the cluster
configuration for Identity Server contains more than one Identity Server, provide the IP
address of one of the servers here. This must be the actual IP address of Identity Server
and not the VIP address if Identity Server is behind an L4 switch.
Host Header: Specify Web Server Host Name.
Web Server Host Name: Specify the domain name of the Base URL of Identity Server. This
entry matches what you specify in the Published DNS Name field.
6e Click OK.
7 Configure a protected resource for the proxy service:
7a In the Proxy Service List, click the link under the Protected Resources column.
For more information about configuring protected resources, see “Configuring Protected
Resources” on page 233.
7b Click New, specify a name, then click OK.
7c Configure the following fields:
Authentication Procedure: Set this field to None.
Identity Server needs to be set up as a public resource.
URL Path: Set the path of the protected resource to the following value:
/nidp/*
7d Click OK.
8 (Path-Based Proxy Service) Verify the configuration:
8a Click the name of your path-based proxy service.
8b Verify that the Remove Path on Fill option is not selected.
8c Verify that the Path List has an entry with /nidp as the path for the protected resource.
Your configuration must look similar to the following:
8d Click OK.
NOTE: If the SuSEFirewall is configured, after starting the firewall, all ports and services are blocked
by default. You need to create filters to allow Access Gateway and any other service to communicate
with Identity Servers.
IMPORTANT: The Access Manager domain name for the IDP must be resolvable through DNS or the
hosts file on the IDP.
You can customize the default user portal page through Branding in Administration Console. For
more information, see Chapter 9, “Branding of the User Portal Page,” on page 793.
Ensure that the value of the name attribute of username is Ecom_User_ID and password is
Ecom_Password.
IMPORTANT: If the login attempt fails, the user will be redirected to the Identity Server login page.
where domain.com is the DNS name of your Identity Server. In this example, the users would
see the Acme website after logging in.
Specify a Hidden Target on your Form: If you have your own login form to collect credentials
and are posting these credentials to Identity Server, you can add a hidden target to your login
form. When authentication succeeds, Access Manager directs the user to this target URL. This
entry on your form should look similar to the following:
<input type="hidden" target="http://www.acme.com">
These methods work only when the user’s request is for the user portal (/nidp/portal or /
nidp/app). If the user’s request is a redirected authentication request for a protected
resource, the protected resource is the target and cannot be changed.
You might want to prevent users from seeing this page for the following reasons:
Security: Users accessing this page have access to sensitive information that administrators
might want to restrict, such as the user’s attributes and federations with other third-party SAML
or Liberty providers.
Help Desk Support: Most users do not need to access this page. They might be confused if they
see it. By preventing access to the page, any potential calls into the help desk are avoided.
When the legacy mode is enabled, all user login pages use the legacy UI. However, Access Manager
issues the URL/nidp and shows the portal page at several places. This is because index.html for
the nidp webapp contains a redirect from /nidp to /nidp/portal.
Now, the legacy user portal can be accessed by entering the URL in the browser of /nidp/portal.
The information displayed on this page depends upon the profiles you enabled. To enable profiles,
click Devices > Identity Servers > Edit > Liberty > Web Service Provider.
If you do not want users to access this page, perform the following steps:
1 Click Devices > Identity Servers > Edit > Options.
2 Click New. Specify the following details:
Property Type: WSF SERVICES LIST
Property Value: Select any one of the following options:
full: To enable users to access the Services page
404: To return an HTTP 404 status code: Not Found
403: To return an HTTP 403 status code: Forbidden
empty: To return an empty services list
3 Restart Tomcat by running the following commands:
Linux: Enter one of the following commands:
/etc/init.d/novell-idp restart
rcnovell-idp restart
Windows: Enter the following commands:
net stop Tomcat8
net start Tomcat8
This section explains how to configure the Access Manager components to allow access to this first
page and how to create and assign policies that protect the other pages.
The example web pages are designed to help network administrators understand the basic concepts
of Access Manager by installing and configuring a relatively simple implementation of the software.
The example serves as a primer for a more comprehensive production installation of Access
Manager.
Section 2.11.1, “Installation Overview and Prerequisites,” on page 252
Section 2.11.2, “Setting Up the Web Server,” on page 254
Section 2.11.3, “Configuring Public Access to Digital Airlines,” on page 256
Section 2.11.4, “Implementing Access Restrictions,” on page 259
After you deploy this example, you must understand the basic features of Access Manager and know
how to configure the software to protect your own web servers and applications.
This document explains how to use a browser machine and two other machines for this
configuration.
Machine 1 X X X X
Machine 2 X
Machine 3 X
The simplified configuration described in this document is for a test environment only. It is not a
recommended or supported configuration for a production environment. For example, the
configuration database installed with Administration Console must not be used as an LDAP user
store in a production environment. In a production environment, you would not want to install
Administration Console, Identity Server, and web server on the same machine. This simplified
configuration is designed to minimize the number of machines required for a tutorial.
Prerequisite Tasks
Before starting with the Digital Airlines example, you must perform the following tasks:
Enable pop-ups on the web browser for managing and configuring the Access Manager
components. For information about supported version of web browsers, see NetIQ Access
Manager 4.5 Installation and Upgrade Guide.
Install Access Manager Administration Console, Identity Server, and Access Gateway as
described in the Installing Access Manager in the NetIQ Access Manager 4.5 Installation and
Upgrade Guide.
Configure Access Manager Identity Server. For configuration details, see Section 2.2,
“Configuring Identity Servers Clusters,” on page 44.
IMPORTANT: The Digital Airlines procedures explain how to add a user to the configuration
store of Administration Console. These instructions assume that you have configured Identity
Server to use this configuration store as the LDAP user store. This is not a recommended
configuration for a production environment. To enable this configuration for a test
environment, specify the IP address of Administration Console for the address of the server
replica.
Do not configure Access Gateway at this time. Other tasks explain how to configure Access Gateway
to allow access to the Digital Airlines site on the web server.
Deployment Tasks
To configure access to the Digital Airlines site, you need to complete the following tasks:
1. Set up the Apache web server on your Identity Server, then install the Digital Airline pages.
For more information, see Section 2.11.2, “Setting Up the Web Server,” on page 254.
2. Configure Access Gateway to protect the web server, but allow public access to the site. See
Section 2.11.3, “Configuring Public Access to Digital Airlines,” on page 256.
3. Configure Access Gateway to allow access to the protected pages. See Section 2.11.4,
“Implementing Access Restrictions,” on page 259.
In this example configuration, you use Access Gateway to protect the Digital Airlines website, which
is installed on your Identity Server. This section describes where your example Digital Airlines
components are located and how to add them to your Identity Server.
1 Download the Digital Airlines Sample Pages (https://www.netiq.com/documentation/access-
manager-44/resources/htdocs.tar.gz).
2 Extract htdocs.tar.gz to a root directory of the web server. For an Apache 2 web server on
SLES 11 SP1 and SP2, extract the files to the following directory:
/srv/www/htdocs/
3 Determine the DNS name and IP address of the SUSE Linux server on which your example files
are installed:
3a Log in to the YaST as the root user.
3b Click Network Services > Host Names, then write down the IP address and hostname of your
server:
IP Address: __________________________
Hostname: __________________________
As required later in the installation (see Step 7 on page 108), you must provide the host
name and server configuration information to establish the network connection between
the web server you are protecting (the server where your web service components are
located) and Access Gateway.
4 Continue with “Configuring Name Resolution” on page 255.
Platform Location
Windows \WINDOWS\SYSTEM32\DRIVERS\ETC\HOSTS
Linux /etc/hosts
An Access Gateway that has not been configured displays a yellow health status.
3 Click Edit > Reverse Proxy / Authentication.
4 In the Identity Server Cluster option, select the configuration you have assigned to Identity
Server.
This sets up the trust relationship between Access Gateway and Identity Server that is used for
authentication.
5 In the Reverse Proxy List, click New, specify DAL as the new Reverse Proxy Name, then click OK.
6 Enable a listening address.
If the server has only one IP address, only one is displayed and it is automatically selected as the
Listening Address. If the server has multiple addresses, you can select one or more IP addresses
to enable. You must enable at least one address by selecting its check box.
7 Configure a listening port.
Non-Secure Port: Select 80, which is the default port for HTTP.
Secure Port: This is the HTTPS listening port. This port is unused and cannot be configured until
you enable SSL. This configuration scenario does not contain SSL configuration instructions.
8 In the Proxy Service List, click New and specify the following information:
9 Click OK.
10 In the Proxy Service List, click Dallistener.
11 Click Protected Resources, then in the Protected Resource List, click New.
12 Type everything in Name, then click OK.
13 In the Authentication Procedure field, select None from the drop-down menu.
Under URL Path List, you must see /*, which includes everything on that server.
Later on, you will be instructed to change the Authentication Procedure field to a Name/
Password - Form, but for now, we want you to learn how the example works without any
authentication.
14 Click OK.
15 In Protected Resource List, verify that the protected resource you created is enabled, then click
OK.
16 Click the Devices > Access Gateways.
17 To apply the changes, click Update > OK.
Until this step, nothing has been saved. The Update status pushes the configuration to the
server. When the configuration update has completed successfully, the server returns the status
of Current.
am3bc.provo.novell.com
Your network needs to be configured so that this published DNS name of the proxy service
resolves to the IP address of Access Gateway. The reverse proxy hides the internal address
of the web server.
You must see the Digital Airlines page.
If you get an error, check the time on Access Gateway and Identity Server. Their time must
be synchronized and must be within 5 minutes of each other.
20 Close the browser.
21 To require authentication for access to the site and to configure access to the protected pages
(the VPN application and the hidden Sales System site), continue with Section 2.11.4,
“Implementing Access Restrictions,” on page 259.
Currently, the Corporate Mail and Medical Benefits Portal buttons do not link to available pages.
They exist to illustrate what you could do when you require your users to authenticate before
accessing the site.
IMPORTANT: Make sure to select the Name/Password - Form from the drop-down menu. Secure
Name/Password does not work correctly if the base URL for Identity Server is HTTP.
2 In the LDAP Attribute Names section, click New, type description in the Name field, then click
OK.
This adds the description attribute to the policy list of available LDAP attributes, and you can
use this attribute to assign a role to your users.
3 Click Close.
4 Continue with “Creating a Sales Role” on page 261.
5 In Condition Group 1, click New > LDAP Attribute, and assign the following values:
LDAP Attribute: Select description. (If description is not included in the LDAP Attribute list, you
can add it from this page. For instructions, see Step 5a through Step 5c.)
Comparison: Select String: Contains Substring.
Mode: Select Case Insensitive.
Value: Select Data Entry Field (from the drop-down box); specify Sales as the value.
Result on Condition Error: Select False.
If the description attribute is not listed in the LDAP Attribute drop-down menu, create it by
following this procedure:
5a In Condition Group 1, click New > LDAP Attribute, scroll to the bottom of the list, then click
New LDAP Attribute.
5b In the Name field, specify description, then click OK.
5c In the LDAP Attribute field, select description from the drop-down menu.
6 In the Actions section, click New > Activate Role, then specify sales_role in the Do Activate Role
field. Your rule must look similar to the following:
10 Click OK.
11 Update Identity Server.
Wait for the Status to return to Current.
12 Continue with “Creating a New User with a Sales Role” on page 264.
1 Click Devices > Access Gateways, then click Edit > DAL > Dallistener > Protected Resources >
everything.
2 Click Identity Injection > Manage Policies.
3 In the Policy List section, click New and specify the following details:
Name: Specify Custom_Injection.
Type: Select Access Gateway: Identity Injection.
4 In the Actions section, click New > Inject into Custom Header.
5 To inject the user’s name, specify the following details:
Custom Header Name: Specify X-Name.
Value: Select Credential Profile. The LDAP Credentials: LDAP User Name is selected automatically
for you.
6 To inject the user’s roles, click New > Inject into Custom Header, and specify the following details
for the second custom header:
Custom Header Name: Specify X-Role.
Value: Select Roles.
Your policy must look similar to the following:
12c Click the Sales System button, and the Sales page appears.
If the Sales System button does not appear, Tom was not assigned the sales_role:
Verify that the role policy is enabled for Identity Server by clicking Policies > Policies,
and confirm that Identity Server is listed in the Used By column for the policy.
On the Policies page, confirm that Access Gateway is listed in the Used By column for
the Identity Injection policy.
Discover whether there was an error in the Role policy evaluation. Click Auditing >
General Logging, then download the catalina.out (Linux) or the stdout.log
(Windows) file for Identity Server. Search for the name of the role policy and
determine whether the role was successfully assigned.
Determine whether there was an error in Identity Injection policy evaluation. Click
Auditing > General Logging, then download the catalina.out (Linux) or the
stdout.log (Windows) file for Access Gateway. Search for the name of the Identity
Injection policy and determine whether its values were successfully injected.
With no conditions in the condition group, this creates a general deny rule that matches
everyone. The users who have been assigned the sales role match the first rule that is
processed. Everyone else matches this general deny rule.
15 Click OK to close the rule editor, then click OK to close the Rule List.
16 In the Policy List window, click Apply Changes, then click Close.
17 In the Authorization Policy List, select the Allow_Sales policy, then click Enable.
18 Click OK.
19 Click the Access Gateways link, then click Update > OK.
20 Test the results:
20a Open a new browser, then enter the URL of the Digital Airlines website you created.
In this example, it is am3bc.provo.novell.com.
20b Log in as the admin user.
20c Add /sales to the URL.
Now, only users with an assigned sales role can access the Sales page.
21 Test the results with a user who has the sales role:
21a Open a new browser, then enter the URL of the Digital Airlines website you created.
In this example, it is am3bc.provo.novell.com.
21b Log in as Tom.
21c Click the Sales System button or add /sales to the URL.
The Sales page is displayed.
21d Close all sessions of the browser.
22 Continue with “Configuring an Identity Injection Policy for Basic Authentication” on page 270.
/etc/init.d/ndsd restart
/etc/init.d/apache2 restart
8 To test that the /sales directory now requires basic authentication:
8a Open a new browser, then enter the URL of the Digital Airlines website you created.
In this example, it is am3bc.provo.novell.com.
8b Log in using the credentials for Tom.
Even though Tom has logged in and been assigned the correct role, he is prompted to log in
again to access the /sales directory. To enable single-sign on, you must create an Identity
Injection policy that injects Tom’s credentials into the authentication header.
9 Continue with “Configuring the Web Server for Basic Authentication” on page 270.
7 Click OK to close the policy editing page, then click OK to close the Rule List page.
8 In the Policy List page, click Apply Changes, then click Close.
9 Select the Basic_Auth check box, click Enable, then click OK.
10 Click OK to return to the Protected Resource List. Your list must look similar to the following:
11 To save your configuration changes, click the Access Gateways link, then click Update > OK.
12 To test the configuration:
12a Open a new browser, then enter the URL of the Digital Airlines website you created.
In this example, it is am3bc.provo.novell.com.
12c Click the Sales System button. You must have access to the Sales System site, as shown
below:
Configuration
Section 3.1, “Identity Server Advanced Configuration,” on page 277
Section 3.2, “Access Gateway Server Advance Configuration,” on page 319
Section 3.3, “Access Gateway Content Settings,” on page 348
Section 3.4, “Access Gateway Advanced Options,” on page 355
Section 3.5, “Cookie Mangling,” on page 373
Section 3.6, “URL Attribute Filter,” on page 374
Section 3.7, “Analytics Server Configuration,” on page 375
Section 3.8, “Email Server Configuration,” on page 379
Section 3.9, “Configuration Files Management,” on page 380
IMPORTANT: The system does not allow you to delete a running Identity Server. You must
first stop the server before deleting it. Deleting removes the configuration object from the
configuration store on Administration Console. To remove the server from the machine
where it is installed, run the uninstall script on the server machine.
Update Health from Server: Performs a health check for the device.
Export Configuration: Enables you to export Identity Server configuration to another
setup. See Section 31.5, “Exporting the Configuration Data,” on page 1248.
Import Configuration: Enables you to import Identity Server configuration from another
setup. See Section 31.6.3, “Importing Identity Server Configuration Data,” on page 1251.
This page also displays links in the following columns:
Column Description
Current: Indicates that the server is using the latest configuration data. If
you change a configuration, the system displays an Update or Update All
link.
Update All: A link displayed for cluster configurations. This lets you update
all Identity Servers in a cluster to use the latest configuration data, with
options to include logging and policy settings.
Alerts Displays the Alerts page, where you can monitor and acknowledge server
alerts.
Statistics Displays the Server Statistics page and allows you to view the server
statistics. See Monitoring Identity Server Statistics.
You can customize any of the following JSP files depending on the part of the page that requires
modification:
nidp_latest.jsp: This is the main user interface (UI) layout workhorse JSP. It allows formatting of
all components that create the Identity Server UI. The HTML div tags with CSS are used for
formatting different areas of the UI. These tags can make an AJAX call to Identity Server to
display the content <div>. You can customize the majority of your layout in this file.
<div id="masthead-namclient">
<div id="branding-namclient"></div>
<!-- If current user is authenticated -->
<div id="username-namclient"></div>
<div id="username-dialog-namclient">
<div id="logoutButton"></div>
</div>
<!-- End if current user is authenticated -->
</div>
<!-- If showing card selection hamburger menu -->
<div id="nam-ham-menu"></div>
<!-- End if showing card selection hamburger menu -->
<div id="globalMessage"></div>
<!-- If showing an authentication method -->
<div id="currentCardDisplay">
<div class="signin-div"></div>
</div>
<!-- End if showing a card (authentication method) -->
<div id="theNidpContent">
<!-- If showing an authentication method -->
javaScript.getToContent([Content URL], "theNidpContent");
<!-- else if showing a pending message -->
<%@ include file="message_latest.jsp" %>
<!-- endif -->
</div>
The customizations are primarily done in nidp_latest.jsp. The following are the other jsp
files, which rarely require customization:
login_latest.jsp: This is the default JSP file for the Name / Password – Form and the Secure Name
/ Password – Form authentication methods. It provides simple form based name / password
authentication. This can be customized to query for other user attributes such as, email.
radius_latest.jsp: This is the default JSP file for the Radius Server authentication method. It
provides simple form based name / password / token authentication to a Radius server.
totp_latest.jsp: This is the default JSP file for the Timed One Time Password authentication
method. It provides user registration of mobile TOTP applications and form based TOTP token
entry with validation.
But when the same JSP file is loaded standalone, it must provide all the required HTML elements to
create a proper HTML document. It cannot rely on any of the JavaScript and CSS that
nidp_latest.jsp provides.
This section explains only how to modify the content of the login_latest.jsp file. If you want to
modify other aspects of this page, you need to select one of the other methods.
The instructions explain how to create a method that sets up the appropriate query so that the user
can be found in the user store with an identifier other than the username (the cn attribute). The
instructions also explain how to create a contract that uses this method and how to modify the
login_latest.jsp page so that it prompts for the appropriate identifier such as an email address
instead of a username.
1 Create a method with the appropriate query:
1a Click Devices > Identity Servers > Edit > Local > Methods.
1b Click New, and then specify a Display Name.
1c In Class, select a username/password class.
1d Keep the Identifies User option selected, and configure the user store option according to
your needs.
1e In the Properties section, click New, and then specify the following values:
Property Name: Query
Property Value: (&(objectclass=person)(mail=%Ecom_User_ID%))
placeholder="<%=handler.getResource(JSPResDesc.USERNAME_UNDER_LABEL
)%>"
6b Replace it with the string you want. For example:
placeholder="Email Address"
6c Copy the modified file to each Identity Server in the cluster.
6d Back up your customized file.
NOTE: For more information, see “Maintaining Customized JSP Files for Identity Server” in the NetIQ
Access Manager 4.5 Installation and Upgrade Guide.
You can query Identity Server to get the required data. The access point into Identity Server internal
data structures is the ContentHandler Java class.
NOTE: The handler variable is used throughout the Identity Server code.
To make an Authentication Contract visible in the user interface, an Authentication Card is associated
with Authentication Contract. Authentication Card displays an icon and a name to the end user for a
defined Authentication Contract.
The nidp_latest.jsp implementation queries Identity Server to gather the following
Authentication Card information:
The set of all available Authentication Cards.
This query is used for populating the drop-down hamburger menu where the user can choose
from the available authentications.
The set of authentications already completed by the current user.
This query is used for placing a check mark next to the completed authentications in the drop-
down hamburger menu.
The authentication that is currently executing.
This query is required to display the current authentication in the content section of the UI.
The Java variable showCards is used for indicating if the drop-down hamburger menu should be
shown. It is initialized to true and the situations that would make it false are tested.
The drop-down hamburger menu is not shown in the following scenarios:
No Authentication Cards.
Only one Authentication Card, and that card is the current Authentication Card.
An error message is displayed.
The logout confirmation page is displayed.
The page is being rendered for a Mobile application.
The drop-down hamburger menu is divided into local, remote, and federated authentication
sections.
A local login is an authentication that Identity Server can use without involving an external identity
provider. LDAP and JDBC logins are examples of local logins. In these cases, Identity Server locally
logs into a local directory or a database to authenticate an end user.
A social media authentication, such as Facebook or Twitter login, is a remote authentication.
GenericURI builderContentDivUrl =
new GenericURI(handler.getJSP(handler.isJSPMsg() ?
handler.getJSPMessage().getJSP() :
NIDPConstants.JSP_CONTENT));
A GenericURI Java object wraps a standard URI allowing easier creation and editing of URLs.
If Identity Server specifically indicates that a particular JSP must be displayed by returning true from
handler.isJSPMsg(), then that JSP name is used to build the URL. Otherwise, the system JSP
content_latest.jsp is used.
A user message can be displayed as a prompt that correlates with the current activity that is
executing in the content div area. For example, Authentication Failed: Invalid
Credentials can be displayed during a Name / Password login while the content <div> refreshes
the login form.
A user message can also be displayed when the Content Area is empty. This situation arises when the
user message is terminal in nature to the previously executed Content Area activity. For example,
when an error occurs during an X509 Mutual Certificate Authentication, the message, Error
occurred during User Certificate Authentication. Please contact
Administrator is displayed in the Global Message Area and the Content Area will be empty.
In the nidp_latest.jsp implementation, many Identity Server conditions are verified that can
lead to setting a value for the Global Message Area. The value is set using code similar to the
following:
strGlobalMessageText =
handler.getResource(JSPResDesc.LOGOUT_SUCCESS_MSG);
The messages that cause the Content Area to be empty are those that are queried from Identity
Server.
NIDPMessage msg = handler.getMessage(true);
If the message is an error message, then it is displayed in the Global Message Area and the
getToContent() JavaScript function is not called to populate the Content Area. This mechanism
uses the message_latest.jsp file to set the Global Message Area value.
The following sections explain how to modify the login page that the JSP files create:
Rebranding the Header
Customizing the Card Display
Customizing the Credential Frame
Customizing the nidp.jsp File to Customize Error Message
Query (&(objectclass=person)(mail=%Ecom_User_ID%))
This property is defined to query the user store for the attribute you want to
use rather than the cn attribute (in this case, the mail attribute of the person
class). Change mail to the name of the attribute in your user store that you
want to use for the user identifier.
For more information about how to use this property, see Query Property.
JSP <filename>
Replace <filename> with the name of the custom login.jsp page you are
going to create, so that the page prompts the user for an e-mail address rather
than a username. This must be the filename without the JSP extension. For
example, if the name of your file is email_login.jsp, then specify
email_login for the property value.
1f Click OK.
2 Create a contract that uses this method:
2a Click Contracts > New.
2b Select the method you just created.
2c Configure the other options to fit your requirements.
If you are creating multiple custom login pages with customized credentials, you might
want to use the URI to hint at which custom login.jsp file is used with which custom
nidp_latest.jsp file. For example, the following URI values have the filename of the
login page followed by the name of the custom nidp_latest.jsp page:
login1/custom1
login2/custom2
login3/custom3
For information about configuring the other options for a contract, see Section 4.1.4,
“Configuring Authentication Contracts,” on page 405.
2d Update Identity Server.
3 Copy the login.jsp file and rename it.
The JSP files are located on Identity Server in the following directory:
Linux: /opt/novell/nids/lib/webapp/jsp
Windows: \Program Files\Novell\Tomcat\webapps\nidp\jsp
4 (Conditional) If you modified the %Ecom_User_ID% variable, find the string in the file and
replace it with your variable.
<label><%=handler.getResource(JSPResDesc.USERNAME)%></label>
5b Replace it with the string you want. For example, <label>Email Address:</label>
5c Copy the modified file to each Identity Server in the cluster.
5d Back up your customized file.
6 (Conditional) If you need to localize the prompt for multiple languages, create a custom
message properties file for the login prompt.
For more information about how to create a custom message properties file, see “Customizing
Messages” on page 308.
The following steps assume you want to change the username prompt to an e-mail address
prompt:
6a Find the following definition in the com/novell/nidp/resource/jsp directory of the
unzipped nidp.jar file.
JSP.50=Username:
6b Add this definition to your custom properties file and modify it so that it prompts the user
for an e-mail address:
JSP.50=Email Address:
6c Translate the value and add this entry to your localized custom properties files.
6d Copy the customized properties files to the WEB-INF/classes directory of each Identity
Server in the cluster.
6e Restart each Identity Server using one of the following commands:
Linux Identity Server: Enter one of the following command:
/etc/init.d/novell-idp restart
rcnovell-idp restart
Windows Identity Server: Enter the following commands:
net stop Tomcat8 net start Tomcat8
7 To specify which customized nidp_latest.jsp to display with the contract, you must modify
the main.jsp file. Continue with “Adding Logic to the main.jsp File” on page 301.
com.novell.nidp.ui.MenuHandler redirectMenuHandler;
com.novell.nidp.NIDPMessage redirectMessage;
String redirectCause;
Modifying the main.jsp file enables you to perform the following actions:
You can create multiple customized nidp_legacy.jsp pages. For example: custom1.jsp,
custom2.jsp, and custom3.jsp.
You can create multiple customized login.jsp pages that request different login credentials.
For example:
login1.jsp: Configured to request username and password.
login2.jsp: Configured to request username, email, and password.
login3.jsp: Configured to request email and password.
With this type of configuration, you must create three different authentication contracts with an
authentication method with a JSP property defined for each of them. These contracts require the
types of values listed in the following table. The URI is defined so that it reflects the custom
login.jsp and the custom nidp_legacy.jps that are used by the contract.
This method does not need a query property unless you are
using an attribute other than the cn attribute for the
username.
Property Value:
(&(objectclass=person)(mail=%Ecom_User_ID%)))
Property Value:
(&(objectclass=person)(mail=%Ecom_User_ID%))
The following procedure explains how to configure Access Manager to display these custom login
pages with custom credentials:
1 Create a unique method for each custom login.jps file:
1a Click Devices > Identity Servers > Edit > Local > Methods > New.
1b Specify the following details:
Display name: Specify a name for the method. Use a name that indicates which login page
is assigned to this method.
Class: Select a name/password class.
Configure the other fields to match your requirements.
1c In the Properties section, add a Query property if the page uses custom credentials.
For example, to add an email address to the login prompts, add the following property:
Property Name: Query
Property Value: (&(objectclass=person)(mail=%Ecom_User_ID%))
If you are creating a method for Contract 1 in the previous example (which prompts for a
username and password), you do not need to add a query property unless you are using an
attribute other than the cn attribute for the username.
1d In the Properties section, add a JSP property to specify which login.jsp file to use with
this method.
For example:
Property Name: JSP
Property Value: login2
<% }
else if(strContractURI != null && strContractURI.equals("login2/
custom2"))
{
%>
<%@ include file="custom2.jsp" %>
<% }
else if(strContractURI != null && strContractURI.equals("login3/
custom3"))
{
%>
<%@ include file="custom3.jsp" %>
These else if statements set up three contracts for customized login pages:
The first else if statement specifies the URI of the login1 contract and configures it
to display the custom1.jsp page for authentication.
The second else if statement specifies the URI of the login2 contract and
configures it to display the custom2.jsp page for authentication.
The third else if statement specifies the URI of the login3 contract and configures it
to display the custom3.jsp page for authentication.
Your file must look similar to the following:
<%@ page language="java" %>
<%@ page pageEncoding="UTF-8" contentType="text/html; charset=UTF-
8"%>
<%@ page import="com.novell.nidp.*" %>
<%@ page import="com.novell.nidp.resource.jsp.*" %>
<%@ page import="com.novell.nidp.ui.*" %>
<%@ page import="com.novell.nidp.common.util.*" %>
<%@ page
import="com.novell.nidp.liberty.wsf.idsis.apservice.schema.*" %>
<%
ContentHandler hand = new ContentHandler(request,response);
String strContractURI = hand.getContractURI();
<% }
else if(strContractURI != null && strContractURI.equals("login2/
custom2"))
{
%>
<%@ include file="custom2.jsp" %>
To customize the logout page when a user logs out of an Access Gateway protected resource, see
Section 3.2.9.3, “Customizing Logout Requests,” on page 345. When you have both Liberty and
SAML 2.0 sessions running on Identity Server and you log out of Access Gateway, the
logoutsuccess_latest.jsp page is not executed with the customization you have made to the
logout page. For information about the workaround, see “Logging Out of Sessions of Access Gateway
and SAML Connectors when Branding Exists in the Customized Logout Page” on page 347.
NOTE: After customizing a JSP file, you need to sanitize the JSP file to prevent XSS attacks. See,
Section 12.7, “Preventing Cross-site Scripting Attacks,” on page 1022.
IMPORTANT: Save a copy of your modified nidp_latest.jsp file. Every time you upgrade Identity
Server, you need to restore this file.
IMPORTANT: Save a copy of your modified logoutSuccess_latest.jsp file. Every time you
upgrade Identity Server, you will need to restore this file.
NOTE: After customizing a JSP file, you need to sanitize the JSP file to prevent XSS attacks. See,
Section 12.7, “Preventing Cross-site Scripting Attacks,” on page 1022.
Customizing Messages
1 To customize the error pages, determine whether you need one custom file or multiple files:
If you do not need to support multiple languages, create one custom file for all customized
messages.
If you need to support multiple languages, create a custom file for each language you want
to customize.
2 Create the custom properties file and name it:
To support one language, name the file nidp_custom_resources.properties.
To support multiple languages, create a nidp_custom_resources_<le_cy>.properties
file for each supported language. Replace <le_cy> with the standard convention for Java
Resource Bundles for the language or the language and country. For example:
com/novell/nidp/resource/strings
com/novell/nidp/resource/logging
com/novell/nidp/resource/jsp
com/novell/nidp/resource/jcc
com/novell/nidp/resource/noxlate
com/novell/nidp/liberty/wsf/idsis/ppservice/model
com/novell/nidp/liberty/wsf/idsis/epservice/model
com/novell/nidp/liberty/wsf/idsis/opservice/model
com/novell/nidp/liberty/wsf/idsis/apservice/model
com/novell/nidp/liberty/wsf/interaction
com/novell/nidp/liberty/wsf/idsis/ssservice/model
com/novell/nidp/servlets/handler/identityeditor
com/novell/nidp/servlets/handler/identityaccesseditor
com/novell/nidp/liberty/wsf/idsis/model
com/novell/nidp/liberty/wsf/idsis/authority/ldap/attribute/plugins/
resources
com/novell/nidp/liberty/wsf/idsis/ldapservice/model
The localized properties files contain messages that end users might see. The properties files
that have not been localized contain messages that the end users must not see.
6 Locate the messages you want to customize and copy them to your custom file.
All messages that you want to customize are placed in this file, even though they come from
different properties files.
Your file must look similar to the following if you selected to customize messages from the
nidp_resources_en_US.properties file and the
SSModelResources_en_US.properties file:
The named Custom Properties File was loaded and will be used:
IMPORTANT: After you customize this page, ensure that you back up this page before doing an
upgrade. The upgrade process overrides any custom changes made to the err_latest.jsp page.
For information about customizing the error message, see “Customizing Messages” on page 308.
You can customize the following items:
The window title and the display title. See “Customizing the Titles” on page 312.
The header image and the Novell logo. See “Customizing the Images” on page 312.
Background colors. See “Customizing the Colors” on page 312.
nidp_custom_resources_fr.properties
nidp_custom_resources_es.properties
If you have already created these files for custom messages (see “Customizing Messages”
on page 308), use the existing files.
7c For each resource ID you have created, add an entry that contains the resource ID and the
text you want displayed for that language. For example:
CUSTOM_NamePwdFormToolTip=Forma de Nombre/Clave
7d Repeat Step 7c for each supported language file.
8 Restart Tomcat.
Linux Identity Server: Enter one of the following commands:
/etc/init.d/novell-idp restart
rcnovell-idp restart
Windows Identity Server: Enter the following commands:
net stop Tomcat8 net start Tomcat8
body {
…
background-color: #bc5854;
}
#theNidpContent{
margin: 0px auto;
width:400px;
}
Edit the following in the nidp_latest.jsp file at opt/novell/nids/lib/webapp/jsp:
$(document).ready(function(){
…
$('#currentCardDisplay, #masthead-namclient, #nam-ham-menu, #nam-ham-
but, #globalMessage, .tabs').css('visibility', 'hidden');
}
body {
…
background-color: #f7ba6f;
}
#theNidpContent{
margin: 0px auto;
width:400px;
}
Edit the following in the nidp_latest.jsp file at opt/novell/nids/lib/webapp/jsp:
$(document).ready(function(){
…
$('#currentCardDisplay, #nam-ham-menu, #nam-ham-but, #globalMessage,
.tabs').css('visibility', 'hidden'); }
body {
…
background-color: #f7ba6f;
}
#mastheadTitle {
margin-left: 2%;
}
#mastheadImage {
margin-left: 35%;
}
#nam-ham-but {
margin-left:93%;
}
#theNidpContent{
margin: 0px auto;
width:400px;
}
$(document).ready(function() {
…
$('#currentCardDisplay, #globalMessage, nam-login-tabs-
div').css('visibility', 'hidden');
}
NOTE: If you create a CSP header, it is recommended to disable the X-Frame option to avoid any
conflicts with the CSP header.
To add a custom response header to the required URL, perform the following steps:
1 Click Devices > Identity Servers > <Identity Server Cluster> > General > Response Headers.
2 Click the Add icon and specify the following details:
Header Name: The name of the required header.
You can choose the required header from the list or specify the name of the header.
Header Value: The value for the header.
URL Patterns: The regular expressions (regex) to identify the URL paths (on which you
require to add this header).
This value is matched with the path that is included after the port number in the
destination URL.
For more information about using regular expressions, refer to Regular Expressions (https:/
/docs.oracle.com/javase/tutorial/essential/regex/).
3 Click Save.
For example, you have an Identity Server cluster with the name as IDP-cluster. If you want to add the
Content-Security-Policy header with the frame-ancestors, the form-action and the frame-src policies
to all the URL paths that include /nidp, perform the following:
1 Click Devices > Identity Servers > IDP-cluster > General > Response Header.
2 Click Add.
3 Specify the following:
NOTE: The source value in this example is ‘self’, but you can use any value from the CSP
source list (https://content-security-policy.com/#source_list) except 'nonce-' and 'sha256-
'.
Option Description
Reverse Proxy / Allows you to configure a reverse proxy so that it hides the IP address of a web
Authentication server and accelerates access by caching the most frequently used pages. This
option displays the list of configured proxies and allows you to add new proxies and
modify existing proxies. To add a new reverse proxy or manage the existing proxies,
click Reverse Proxy / Authentication (see Managing Reverse Proxies and
Authentication). To manage a specific reverse proxy, click its name (see Creating a
Proxy Service).
Tunneling Allows you to tunnel non-HTTP traffic through Access Gateway to a web server. For
more information, see Setting Up a Tunnel.
Date & Time Allows you to configure the server’s time source. See Setting the Date and Time.
Alerts Allows you to select the alerts and then configure whether they are sent to a server,
a log file, or to selected individuals via email. See Managing Access Gateway Alert
Profiles.
Auditing Allows you to select the events to send to a Sentinel or Audit server. See Enabling
Access Gateway Audit Events.
Adapter List Displays the list of configured network cards and allows you to edit an existing
configuration or to add a new one. See Viewing and Modifying Adapter Settings. To
manage a specific adapter, click the name of the adapter.
Gateways Displays the list of configured gateways and allows you to edit an existing
configuration or to add a new one. See (Access Gateway Appliance) Viewing and
Modifying Gateway Settings.
DNS Displays the current DNS configuration that Access Gateway is using to resolve
names and allows you to modify it. See “(Access Gateway Appliance) Viewing and
Modifying DNS Settings” on page 339.
Hosts Allows you to create a static mapping between the host IP addresses and host
names. See “(Access Gateway Appliance) Configuring Hosts” on page 340.
Service Displays information about the certificates assigned to the Embedded Service
Provider Provider component of Access Gateway. See Managing Embedded Service Provider
Certificates Certificates.
Purge List Allows you to prevent web objects from being cached. For more information, see
Section 3.3.4, “Configuring a Purge List,” on page 354.
Pin List Allows you to prepopulate the cache with the web objects that you want cached,
before a user has requested the object. See Configuring a Pin List.
Cache Options Allows you to globally disable caching or configure which objects are cached and
how frequently they are refreshed. For more information, see Configuring Cache
Options.
Advanced Allows you to configure how all reverse proxies handle specific items in the cache.
Options For more information, see Configuring Global Advanced Options.
For information about using OK, Cancel, and Revert buttons, see Section 3.2.2, “Saving, Applying, or
Canceling Configuration Changes,” on page 320.
Option Description
OK Saves the configuration changes to the configuration store. This allows you to return at a later
time to review or modify the changes before they are applied. If your Access Gateways are
clustered and you want to update them one at a time, you need to save the configuration
change. This ensures that the changes are not lost before the last cluster member is updated.
When your session times out or you log out, the configuration changes are flushed from the
browser cache. If this happens before the changes have been applied to some servers in the
cluster, the changes cannot be applied to those servers.
Cancel Cancels changes that are pending in the browser cache. To cancel modifications to specific
services, click the Cancel link by the service. The Cancel button does not affect the changes
that have been saved to the configuration store.
Revert To cancel any saved changes, click Revert, then confirm the cancellation. The saved
configuration is overwritten by the last successfully applied configuration.
If you have applied the changes to one member of the cluster, you cannot revert to the
configuration you had before applying the changes. If you do not want to apply these changes
to other members of the cluster, remove the server that you updated with the changes from
the cluster. Then click Revert to cancel the saved changes. The members of the cluster return
to the last successfully applied configuration. To apply this configuration to the removed
server, add this server to the cluster.
The Revert button and the Cancel button cannot cancel the following configuration changes:
Identity Server Cluster: If you change the Identity Server Cluster option on the Reverse Proxy/
Authentication page, then click OK, the Revert button cannot cancel this change. It is saved, and
the next time you apply a configuration change, Identity Server cluster configuration is applied.
To cancel the change, you need to return to the Reverse Proxy/Authentication page, set the
Identity Server Cluster option to the original selection, then click OK on the Configuration page.
Reverse Proxy for Embedded Service Provider: If you change the Reverse Proxy option on the
Reverse Proxy/Authentication page, then click OK, the Revert button cannot cancel this change.
It is saved, and the next time you apply a configuration change, the Reverse Proxy option change
is applied. To cancel the change, return to the Reverse Proxy/Authentication page, set the
Reverse Proxy option to the original selection, then click OK on the Configuration page.
Port of the Reverse Proxy for the Embedded Service Provider: If you change the port of the
reverse proxy that is used by the Embedded Service Provider (click Edit > [Name of Reverse
Proxy]), then click OK, the Revert button cannot cancel this change. It is saved, and the next
time you apply a configuration change, the port change is applied. To cancel the change, return
to the Reverse Proxy page, set the port to the original value, then click OK on the Configuration
page.
Published DNS Name of the Proxy Service for the Embedded Service Provider: If you change
the Published DNS Name of the proxy service that is used by the Embedded Service Provider
(click Edit > [Name of Reverse Proxy] > [Name of Proxy Service]), then click OK, the Revert button
cannot cancel this change. It is saved, and the next time you apply a configuration change, the
Published DNS Name is changed. To undo the change, return to the Proxy Service page, set the
Published DNS Name to its original value, then click OK on the Configuration page.
Option Description
New Cluster To create a new cluster of Access Gateways. A cluster can be one or more Access
Gateways. See “Creating a New Cluster” on page 116.
Stop To stop an Access Gateway Appliance, select the appliance, then click Stop. You must
have physical access to Access Gateway Appliance machine to start it again. To stop an
Access Gateway Service, select the service, then click Stop. You can use the Restart
option to start Access Gateway Service.
Restart To reboot an Access Gateway Appliance, select the appliance, then click Restart.
Access Gateway Appliance is stopped, the operating system is rebooted, then the
appliance is started. To stop and start an Access Gateway Service, select it, then click
Restart. If Access Gateway Service is already stopped, use Restart to start it.
Refresh To update the list of Access Gateways and the status columns, click Refresh.
3 Select an Access Gateway, and then select one of the following options:
Option Description
Assign to To add the selected Access Gateway to a cluster, select Assign to Cluster, then select
Cluster the cluster. This Access Gateway is reconfigured with the configuration of the primary
cluster server.
Remove from To remove the selected Access Gateway from a cluster, select Remove from Cluster.
Cluster Access Gateway retains its configuration from the cluster, but no traffic is sent to it
until it is reconfigured. You can assign it to a different cluster and have it updated
with this cluster’s configuration, or you can delete all of its reverse proxies and start a
new configuration.
Delete To remove a selected Access Gateway from the list of servers that can be managed
from this Administration Console, select Delete. If Access Gateway is a member of a
cluster, you must first remove it from the cluster before deleting it.
Scheduled To schedule when a selected Access Gateway must be stopped and then started,
Restart select Schedule Restart. On an Access Gateway Appliance, a restart stops the
operating system, then starts the operating system and Access Gateway. On an
Access Gateway Service, a restart stops Access Gateway Service, then starts it. For
information about how to schedule this command, see Scheduling a Command.
Scheduled To schedule when a selected Access Gateway or cluster must be stopped, select
Stop Schedule Stop.
When you stop an Access Gateway Appliance, you shut down Access Gateway
Appliance and the operating system. You must have physical access to the
machine to start it again.
When you stop an Access Gateway Service, you stop just Access Gateway
Service. You can use the Restart option to start it again.
Purge List Click this to purge all objects in the current purge list from the cache of the selected
Now server or cluster.
Purge All Click this to purge the server cache for the selected server or cluster. All cached
Cache content is cleared.
IMPORTANT: Do not issue a purge cache command when an Access Gateway has a
pending configuration change. Wait until the configuration change is complete.
Update Click this to send a request to the server for updated health information. If you have
Health from selected multiple servers, a request is sent to each one. The health status changes to
Server an animated circle until the reply returns.
Service Start Service Provider: Starts Embedded Service Provider (ESP) associated with
Provider the selected Access Gateway. ESP is the module within Access Gateway that
communicates with Identity Server.
You must restart ESP whenever you enable or modify logging on Identity Server.
Stop Service Provider: Stops ESP associated with the selected Access Gateway.
When Access Gateway does not function correctly, stop and start ESP before
stopping and starting Access Gateway.
Restart Service Provider: Restarts ESP associated with the selected Access
Gateway.
When an Access Gateway does not function correctly, restart ESP before
stopping and starting Access Gateway.
Option Description
Name Displays a list of Access Gateways and clusters that you can manage from this
Administration Console.
To view or modify details of a particular server, click the server name.
To view or modify details of a cluster, click the cluster namer.
Status Indicates the configuration status of the clusters and Access Gateways. For more
information, see “Status Options” on page 325.
Health Indicates whether a cluster or an Access Gateway is functional. Click the icon to view
additional information about the operational status of an Access Gateway.
For information about the health of a specific Access Gateway, click the health
icon on Access Gateway row. See Monitoring Health of an Access Gateway.
For information about the health of a Access Gateway cluster, click the health
icon on the cluster row. See Monitoring Health of an Access Gateway Cluster.
Alerts Indicates whether any alerts have been sent. If the alert count is non-zero, click the
count to view more information.
For information about the alerts of a specific Access Gateway, click the link on
the Access Gateway row. See Viewing Access Gateway Alerts.
For information about the alerts sent to the cluster, click the link on the cluster
row. See Viewing Access Gateway Cluster Alerts.
Commands Indicates the status of the last executed command and whether any commands are
pending. Click the link to view more information. For more information, see
Section 25.2, “Viewing the Command Status of Access Gateway,” on page 1200.
Edit Provides a link to the configuration page. If the server belongs to a cluster, the Edit
link appears on the cluster row. Otherwise, the link is on the server row. See
Section 3.2.1, “Configuration Overview,” on page 319.
Status Description
Update Indicates that a configuration change has been made, but not applied.
To apply the changes, click Update, and then select one of the following options:
All Configuration: Access Gateway reads complete configuration file and
restarts ESP.
The configuration update causes logged-in users to lose their connections
unless the server is a member of a cluster. When the server is a member of a
cluster, the users are sent to another Access Gateway and they experience no
interruption of service.
Logging Settings: This option is available when the ESP logging settings have
been modified on Identity Server. This option causes no interruption in
services. When you modify Access Gateway logging settings, this option is not
available because they are considered as configuration settings.
Policy Settings: If a policy is modified for a protected resource of Access
Gateway and the policy change is the only modification that has occurred, the
update option for Policy Settings is available. This option causes no
interruption in services.
Rewriter Profile Changes: When an administrator changes the rewriter
profile, a purge cache command is issued to a Gateway from Administration
Console, the connection is lost and the service is interrupted for a few seconds.
Similar experience is observed during the rewriter profile configuration
change, as this internally triggers the purge cache command.
Changing Certificates: When a certificate configuration is changed from
Administration Console, the service is interrupted due to the Tomcat restart.
Update All This link is available when a server belongs to a cluster. You can select to update all
the servers at the same time, or you can select to update them one at a time. If the
modification is a policy or a logging change, then use Update All. If the modification
is a configuration change, we recommend that you update the servers one at a time.
When you select Update All for a configuration change, users experience an
interruption of service.
When you update servers one at a time for a configuration change, users
experience no interruption of service.
When you make the following configuration changes, the Update All option is the
only option available and your site will be unavailable while the update occurs:
Identity Server configuration that is used for authentication is changed (Access
Gateways > Edit > Reverse Proxy/Authentication, then select a different value
for the Identity Server Cluster option).
A different reverse proxy is selected to be used for authentication (Access
Gateways > Edit > Reverse Proxy/Authentication, then select a different value
for the Reverse Proxy option).
The protocol or port of the authenticating reverse proxy is modified (Access
Gateways > Edit > Reverse Proxy/Authentication > [Name of Reverse Proxy],
then change the SSL options or the port options).
The published DNS name of the authentication proxy service is modified
(Access Gateways > Edit > Reverse Proxy/Authentication > [Name of Reverse
Proxy] > [Name of First Proxy Service], then modify the Published DNS Name
option).
For more information, see “Applying Changes to Access Gateway Cluster Members”
on page 118.
Update If the configuration update contains a configuration error, the Update link is
disabled and the Configuration Error icon is displayed. Click the icon to discover
which objects have been misconfigured. You need to fix the error by canceling or
modifying the changes before you perform an update.
Update All If the configuration update contains a configuration error, the Update All and the
member Update links are disabled and the Configuration Error icon is displayed.
Click the icon to discover which objects have been misconfigured. You need to fix
the error by canceling or modifying the changes before you perform an update.
Pending Indicates that the server is processing a configuration change, but has not
completed the process.
Locked Indicates that another administrator is making configuration changes. Before you
proceed with any configuration changes, you need to coordinate with this
administrator and wait until Access Gateway has been updated with the other
administrator’s changes.
NOTE: Do not push the configuration from Administration Console to devices during peak system
usage times.
System Settings
Date and Time: Changing date and time or the NTP server configuration impacts the existing
user session timeout values. It is critical to keep the time settings in Access Gateways and
Identity Servers synchronized in order to prevent authentication failures and unexpected
session times out. There is no other impact than authentication failures and unexpected session
times out.
Monitoring
Audit Configuration Changes or Audit Server Health: If the audit server is busy or unreachable,
it causes a delay in browsing, including Administration Console access. There is no other impact
than delay in browsing and accessing Administration Console.
Security Settings
You must not change security setting options during the peak system usage hours.
Signing: Before changing it, ensure that Identity Server trust store contains the root CA
certificate and possible intermediate CA certificates to complete the trust chain.
Trust Store: Before changing it, ensure that you have all the root CA certificates and possible
intermediate CA certificates to complete the trust chain to trust any certificates used by Identity
Server.
Content Settings
Cache Options: Be cautious in making changes to the cache options. Changing cache options
can impact the performance of your Access Manager system. You might see an increase or
decline in Access Gateway performance, depending on the changes made to the cache options.
Field Description
Name Scheduled Command Specify a name for this command. This name is used in log files.
Date & Time Select the day, month, year, hour, and minute when the command
must execute.
The following fields display information about the command you are scheduling:
Type: Displays the type of command that is being scheduled, such as Access Gateway
Shutdown, Access Gateway Restart, or Access Gateway Upgrade.
Server: Displays the name of the server that the command is being scheduled for.
5 Click OK.
3.2.4.1 Changing the Name of an Access Gateway and Modifying Other Server
Details
The default name of an Access Gateway is its IP address. You can change this to a more descriptive
name and modify other details that can help you identify one Access Gateway from another.
1 Click Devices > Access Gateways > [Name of Access Gateway] > Edit.
2 Specify the following values:
Field Description
Name Specify Administration Console display name for Access Gateway. The default
name is the IP address of Access Gateway. The name must use alphanumeric
characters and can include spaces, hyphens, and underscores.
Management IP Specify the IP address used to manage Access Gateway. Select an IP address from
Address the list. For information about changing the Management IP Address, see
Changing the IP Address of Access Gateway Appliance.
Port Specify the port to use for communication with Administration Console.
Location Specify the location of Access Gateway. This is optional, but useful if your
network has multiple Access Gateway servers.
Description Describe the purpose of this Access Gateway. This is optional, but useful if your
network has multiple Access Gateways.
IMPORTANT: If the date is set to a time before Access Gateway certificates are valid,
communication to Access Gateway is lost. This error cannot be corrected from Administration
Console. You need to correct it at the Access Gateway machine console by using yast
command and select System > Date and Time.
Set Up NTP: Specify the DNS name or IP address of a Network Time Protocol server. The
installation program enters the name of pool.ntp.org, the DNS name of a public NTP server.
To disable this feature, you must remove all servers from the NTP Server List. This is not
recommended.
Time Zone: Select your time zone, then click OK. Regardless of the method you used to set the
time, you must select a time zone.
4 Click OK > OK > Update > OK.
IMPORTANT: If you enter an IP address that is on a different subnetwork, Access Gateway reports an
error on the Health page, after the configuration is applied.
Field Description
Metric A relative number indicating the bias you can add to the normal flow of the gateway logic.
Specifying a number higher than 1 makes this resource more expensive and alters the
gateway logic used. Valid numbers include 1 through 16.
Ethernet Select the active network interface that will route the traffic from Access Gateway to the
Interface host gateway. For example, eth0, lo, wlan0 and “-”. Selecting the “-” interface routes
the traffic using any available interface. Generally, eth0 is the first Ethernet interface, lo
is the loop-back interface, and wlan0 is the first wireless network interface.
3 Perform the following steps to configure host gateways. The host gateways are used for sending
packets to the specific hosts.
3a Click New under Host Gateway.
3b Specify the following details:
Field Description
Metric A relative number indicating the bias you can add to the normal flow of the gateway
logic. Specifying a number higher than 1 makes this resource more expensive and
alters the gateway logic used. Valid numbers include 1 through 16.
Ethernet Select the active network interface that will route the traffic from Access Gateway
Interface to the host gateway. For example, eth0, lo, wlan0 and “-”. Selecting the “-”
interface routes the traffic using any available interface. Generally, eth0 is the first
Ethernet interface, lo is the loop-back interface, and wlan0 is the first wireless
network interface.
Field Description
Network The subnet address for the destination IP address range. You must enter the valid
Address subnet address.
Mask The subnet mask for the subnet or IP address above. A valid entry must be at least
as large as a class mask where a Class A mask is 255.0.0.0, a Class B mask is
255.255.0.0, and Class C, D, and E masks are 255.255.255.0.
Metric A relative number indicating the bias you can add to the normal flow of the
gateway logic. Specifying a number higher than 1 makes this resource more
expensive and alters the gateway logic used. Valid numbers include 1 through 16.
Ethernet Select the active network interface that will route the traffic from Access Gateway
Interface to the host gateway. For example, eth0, lo, wlan0 and “-”. Selecting the “-”
interface routes the traffic using any available interface. Generally, eth0 is the
first Ethernet interface, lo is the loop-back interface, and wlan0 is the first
wireless network interface.
5 Click OK.
6 On the Server Configuration page, click OK > Update > OK.
When this option is enabled, the following message is displayed before the final redirect to the
requested URL:
Authentication successful, please wait while your requested page loads.
The web page that display this message is a JSP page. Location of this page is /opt/novell/nam/
mag/webapps/nesp/jsp/waitredir.jsp. You can perform further customization on this page.
NOTE: If you are modifying any of the these files, ensure that you retain the original filenames.
You can customize and localize the error template and the error messages:
“Customizing and Localizing Error Messages” on page 342
“Customizing the Error Pages” on page 343
NOTE: You cannot customize an error message that is not available in ErrorMessages.xml.en.
</Message>
<Message id="<ID No>" name="<ERROR_MESSAGE_NAME>" enable="yes">
<EnglishMessage>English Message goes here</EnglishMessage>
<TranslatedMessage>
Localized message goes here
</TranslatedMessage>
</Message>
Do not delete the contents within the <TranslatedMessage></TranslatedMessage> tags
from an English file because, the ErrorPagesConfig.xml file selects the error message
within these tags for display.
4 Save the file.
5 If Access Gateway belongs to a cluster, copy the modified file to each member of the cluster,
then restart that member.
6 Edit the configuration and make dummy changes and push the configuration.
<title>Access Gateway<\title>
2d Replace the Access Gateway string with the content you require.
2e To replace the image in the header, locate the following line:
The err_legacy.jsp file will also log the ESP error messages. For more information about
customizing the err_legacy.jsp page, see “Customizing Identity Server Messages” on page 308.
The procedure for customizing is the same except the paths for Access Gateway. The following are
the path changes:
In Customizing Identity Server Messages, the paths for Access Gateway are as follows:
Access Gateway does not support the following logout pages that were used in previous version of
Access Manager and iChain:
/cmd/BM-Logout
/cmd/ICSLogout
IMPORTANT: Take a backup of nidp_legacy.jsp file before modifications. Every time you
upgrade your Access Gateway, upgrade process overrides any custom changes made to JSP files that
use the same filename as those included with the product. If you want the modified file, you need to
restore the nidp_legacy.jsp file. During an upgrade, you can select to restore custom login
pages, but NetIQ still recommends that you have your own backup of any customized files.
<body>
<script language="JavaScript">
top.location.href='http://<hostname/path>';
</script>
</body>
Replace the <hostname/path> string with the location of your customized logout page.
Replace <ESP Domain> with the same value as the AGLogout value. For example, suppose your
AGLogout value is the following:
https://jwilson1.provo.novell.com:443/AGLogout
If you add a parameter to the URL, it would look similar to the following:
https://jwilson1.provo.novell.com:443/nesp/app/plogout?app=email
Logging Out of Sessions of Access Gateway and SAML Connectors when Branding
Exists in the Customized Logout Page
When you have both Liberty and SAML 2.0 sessions running on Identity Server and you log out of
Access Gateway, the logoutSuccess_legacy.jsp page is not executed with the customizations
you have made to the logout page. You will be able to log out of Access Gateway but the
customizations you made are lost.
If the logutSuccess_legacy.jsp file is not loaded in a frame, the banner will not be displayed,
and Access Gateway will comment out the content in the logoutSuccess_legacy.jsp file. Add
the below line after the <body> tag in the logoutSuccess_legacy.jsp file.
<!-- BANNER LOADS IF THIS PAGE IS NOT LOADED IN REGULAR FRAME -->
<%@include file="logoutHeader.jsp"%>
<context-param>
<param-name>logoutRetirementFrequency</param-name>
<param-value>15000</param-value>
</context-param>
5 Set the <param-value> element to a value between 5000 and 30000 milliseconds (5 seconds
and 30 seconds).
IMPORTANT: For caching to work correctly, the web servers must be configured to maintain a valid
time. If possible, they must be configured to use an NTP server.
The object cache on an Access Gateway is quite different from a browser’s cache, which all users
access when they click the Back button and which can serve stale content that does not’ accurately
reflect the fresh content on the origin web server.
Access Gateway caching system uses a number of methods to ensure cache freshness. Most time-
sensitive web content is flagged by Webmasters in such a way that it cannot become stale unless a
caching system ignores the Webmaster’s settings. Access Gateway honors all RFC 2616 directives
that affect cache freshness such as Cache-Control, If-Modified-Since, and Expires.
Access Gateway can be fine-tuned for cache freshness in the following ways:
Accelerated checking of objects that have longer than desirable Time to Expire headers
Delayed checking of objects that have shorter than desirable Time to Expire headers
Checking for freshness of objects that do not include Time to Expire headers
Both Access Gateway Appliance and Access Gateway Service follow RFC directives. In addition,
Access Gateway Service uses “Apache Module mod_file_cache” (http://httpd.apache.org/docs/2.4/
mod/mod_file_cache.html).
The following sections describe the features available to fine-tune this process for your network:
Section 3.3.1, “Configuring Cache Options,” on page 348
Section 3.3.2, “Controlling Browser Caching,” on page 350
Section 3.3.3, “Configuring a Pin List,” on page 351
Section 3.3.4, “Configuring a Purge List,” on page 354
Section 3.3.5, “Purging Cached Content,” on page 354
Section 3.3.6, “Apache htcacheclean Tool,” on page 355
Field Description
Enable Caching of Objects If this option is selected, a cacheable object is cached if it has a
with a Question Mark question mark in the URL.
Enable Caching of Objects If this option is selected, a cacheable object is cached if it has /cgi in its
with CGI in the Path URL.
Objects that meet these criteria are cached if they are cacheable objects. Web server
administrators can mark objects as non-cacheable. When so marked, these objects are not
cached, even when the above options are selected.
If you disable both of these options, it does not mean that objects with question marks or cgi
in their paths cannot be cached. These objects can match some other criteria and be cached.
4 (Access Gateway Appliance) Configure Cache Tuning.
These options restrict or enable functionality that affects resources protected by Access
Gateway.
Refresh Requests from Browser: When a user clicks Refresh or Reload in the browser, this
action sends a new request to the web server. Select one of the following options to control
how Access Gateway handles the request:
Refill: Causes the proxy service to send the request to the web server.
Ignore: Causes the proxy service to ignore the request and send the data from cache
without checking to see if the cached data is valid.
5 Modify the Cache Freshness settings.
These options govern when the proxy service revalidates requested cached objects against
those on their respective origin web servers. If the objects have changed, the proxy service re-
caches them.
IMPORTANT: Specify whole number values. Decimal values (2.5) are not supported and
generate an XML validation error.
Option Description
HTTP Maximum Specifies the maximum time the proxy service serves HTTP data from cache
before revalidating it against content on the origin web server. No object is
served from cache after this value expires without being revalidated.
You use this value to reduce the maximum time the proxy service waits before
checking whether requested objects need to be refreshed. The default is 6
hours.
HTTP Default Specifies the maximum time the proxy service serves HTTP data for which
Webmasters have not specified a freshness or Time to Expire directive. The
default is 2 hours.
HTTP Minimum (Access Gateway Appliance) Specifies the minimum time the proxy service
serves HTTP data from cache before revalidating it against content on the
origin web server. No requested object is revalidated sooner than specified by
this value.
You can use this value to increase the minimum time the proxy service waits
before checking whether requested objects need to be refreshed. This
parameter does not override No Cache or Must Revalidate directives from the
origin web server.
The default value is 0, which allows the proxy service to honor the Time To
Expire directive of each object (unless it is longer than the HTTP Maximum
option). If the HTTP Minimum option is set to a value other than 0, the value
overrides any object’s Time to Expire directive that is shorter than the value
set. The default is 0.
Continue Fill Time (Access Gateway Appliance) Specifies the how long the proxy service ignores
browser request cancellations and continues downloading objects from the
target web server until the download is complete. The default is 1 second.
HTTP Retries (Access Gateway Appliance) Specifies the number of retry requests to issue to
a web server. The default is 4 retries.
NOTE: The time you specify is the hard limit. For example, If you have specified 6 hours in HTTP
Maximum, and Access Manager caches details at 10:00 a.m. Then, Access Manager revalidates
the cache at 4:00 p.m., even if user accesses something else in between this duration.
6 Click OK.
7 To apply the changes, click the Access Gateways link, and then click Update > OK.
The pin list is global to Access Gateway and affects all protected resources. The objects remain in
cache until their normal cache limits are reached or they are bumped out by more recently
requested objects.
To configure a pin list:
1 Click Devices > Access Gateways > Edit > Pin List.
2 Select the Enable Pin List option to enable the use of pinned objects. If this option is not
selected, the pinned objects in the pin list are not used.
3 In the Pin List section, click New.
4 Fill in the following fields.
URL Mask: Specifies the URL pattern to match. For more information, see “URL Mask” on
page 352.
Pin Type: Specifies how the URL is to be used to cache objects. Select from Normal and Bypass.
For more information, see “Pin Type” on page 353.
5 To save the list item, click OK.
6 To save your changes to browser cache, click OK.
7 To apply the changes, click the Access Gateways link, then click Update > OK.
Level Examples
hostname http://www.foo.gov/documents/picture.gif
http://www.foo.gov/documents/*
http://www.foo.gov
foo.gov/documents/*
foo.gov/*
These are classified as hostnames, and they are ordered by specificity. The first item in the
list is considered the most specific and is processed first. The last item is the most general
and is processed last.
path /documents/picture.gif
/documents/pictures.gif/*
/documents/*
Path entries are processed after hostnames. A leading forward slash must always be used
when specifying a path, and the entry that follows must always reference the root directory
of the web server. In these examples, documents is the root directory.
The /* at the end of the path indicates that the entry is a directory. Its absence indicates
that the entry is a file. In these examples, picture.gif is a file and pictures.gif/*
and documents/* are directories.
If you enter a path without the trailing *, the path matches only the directory. With the
trailing *, the path matches everything in the directory and its subdirectories.
These path entry examples are ordered by specificity. The objects in the /documents/
picture.gifdirectory are processed before the objects in the /documents directory.
filename /picture.gif
/widget.js
/widget.jp*g
/picture*group.gif
/DailyTask
/DailyTask*
Filenames are processed after paths. A leading forward slash must always be used when
specifying a filename. You can add asterisks in the file names.
/*.js
/*.htm
File extensions are processed last. They consist of a leading forward slash, an asterisk, a
period, and a file extension.
NOTE: More than one wildcard is not allowed in a URL mask. For example, /*picture.g*f is not
correct.
Also, the wildcard must be only in the last part of the path. For example:
Correct: /picture/*.gif
Incorrect: /documents/*/picture.gif
Specific rules have precedence over less specific rules. Thus, objects matched by a more specific rule
are always processed according to its conditions. If a less specific rule also matches the object, the
less specific rule is ignored for the object.
For example, assume the following two entries are in the pin list:
http://www.foo.gov/documents/* normal 1
www.foo* bypass N/A
The first entry, because it is most specific, caches the pages in the documents directory and
follows any links on those pages and caches the linked pages. The second entry does not affect what
the first entry caches, but it prevents any other domain extensions such as .com,.net, or .org
whose DNS names begin with www.foo from being cached.
Pin Type
The pin type specifies how Access Gateway caches objects that match the URL mask.
Normal: Access Gateway handles objects matching the mask in the same way it handles any
other requested objects. In other words, the objects are cached but not pinned.
Administrators often use this pin type in combination with a broad URL mask that has a bypass
pin type. This allows them to insulate specific objects from the effects of the bypass rule.
For example, you could specify a URL mask of /*.jpg with a pin type of bypass and a second
URL mask of www.foo.gov/graphics/* with a pin type of normal. This causes all files,
including .jpg files, in the graphics directory on the foo.gov website to be cached as
requested. Assuming there are no other URL masks in the pin list, all other JPG graphics are not
cached because of the /*.jpg mask.
Bypass: Access Gateway does not cache the objects. In other words, you can use this option to
prevent objects from being cached.
www.foo.gov/contracts/* Causes all objects in the contracts directory and beyond to be purged
from cache.
This option also allows you to purge cached objects whose URL contains a specified query string or
cookie. This mask is defined by placing a question mark (?) at the start of the mask followed by text
strings and wildcards as necessary. String comparisons are not case sensitive. For example,
?*=SPORTS purges all objects with the text =SPORTS or any other combination of uppercase and
lowercase letters for =SPORTS following the question mark in the URL.
IMPORTANT: If you also configure a pin list, carefully select the objects that you add to the pin and
purge lists. Make sure you don’t configure a pin list that adds objects to the cache and a purge list
that removes the same objects.
1 Click Devices > Access Gateways > Edit > Purge List.
2 Click New, enter a URL pattern, then click OK.
3 (Optional) Repeat Step 2 to add additional URL patterns.
4 To save your changes to browser cache, click OK.
5 To apply the changes, click the Access Gateways link, and then click Update > OK.
IMPORTANT: Do not issue a purge cache command when an Access Gateway has a pending
configuration change. Wait until the configuration change completes.
NAGGlobalOptions When this option is set to on, an X-Mag header is added with the
DebugHeaders=on debug information. You can see the information in sniffer traces
and with plug-ins such as ieHTTPHeaders, Live HTTP Headers,
and FireBug. You must enable this option with the assistance of
NetIQ Support.
Linux: /var/log/novell-apache2/error_log
Windows: \Program
Files\Novell\Apache\logs\error.log
The Form Fill entries generated by this option begin with a FF:
marker.
NAGGlobalOptions noTOPR Disables the activity based time-out in proxy. The proxy redirects
browser requests after soft timeout of configured timeout
value.
NAGGlobalOptions When this option is set to on, Access Gateway uses the UTF-8
ForceUTF8 character set to serve the Form Fill page to the browser.
NAGGlobalOptions This enables SSO to websites that require the login page to
InPlaceSilent=on remain as is without any modifications to its structure.
If you are using this advanced option for a Form Fill on a page
with multiple forms, by default, the first form is posted. If you
want to post forms other than the first form, use
NAGGlobalOptions
InPlaceSilentPolicyDoesSubmit=on. For more
information, see TID 7011817 (https://www.netiq.com/support/
kb/doc.php?id=7011817).
NAGGlobalOptions This option helps the user to disable the following functionality,
AllowMSWebDavMiniRedir=on which is enabled by default. If a Microsoft Network Places client
sends an OPTIONS request with MS-WebDAV-MiniRedir
useragent to Access Gateway, then it receives 409 conflict
response. The client uses this response to change the user agent
to MS Data Access Internet Publishing Provider
DAV.
NAGGlobalOptions When set to on, this option disables the URL normalization
noURLNormalize=on protection for backend web servers. This option resolves issues
in serving the web content from web servers that have double-
byte characters such as Japanese language characters.
NAGAdditionalRewriterSch When this option is enabled, the rewriter rewrites URLs that
eme <scheme> have the scheme you have specified with the option. For
example, if you want to enable this option for the webcal://
scheme, specify NAGAdditionalRewriterScheme
webcal://.
NAGGlobalOptions Use this option to set the behavior of the SameSite attribute for
SameSiteCookie=on cookies. By default, this option is set to off. When set to on, the
default value is None and the option is applied to each Set-
Cookie header coming from Access Gateway.
NAGGlobalOptions When set to on, this option displays the ESP Provider ID in
AppendProviderID=on Access Gateway authorization audit logs. This option helps to
know the issues related to ESP provider ID in the audit log file.
NAGGlobalOptions In Access Manager 4.3, this option has been merged with
NAGErrorOnIPMismatch=off Advanced Session Assurance and called as Client IP.
NAGGlobalOptions Access Gateway does not insert the path for the links with
NAGDisableExternalRewrit external published DNS when you enable this option.
e=on
By default, this option is set to off and Access Gateway inserts
the path on published DNS URL references.
DisableGWSHealth on When this option is enabled, Access Gateway does not check
health of the web server with the backend server.
NAGStackTraceDump off This option disables logging of stack trace in the /tmp/
debug000.log file when Access Gateway is crashed.
NAGIchainCookieVersion on When this option is enabled, Access Gateway sends the proxy
session cookie to the backend server as IPCZQX01<clusterid>.
IgnoreDNSServerHealth on When this option is used, Access Gateway does not send the
DNS server health status when Access Gateway health is
reported to Administration Console.
EnableWSHandshake on Setup a firewall between Access Gateway and the backend web
server. When Access Gateway performs heartbeat check with a
simple TCP connect to the web server, the web server may
throw a TLS handshake error. This may cause the firewall, after a
certain threshold, to block the connection.This option enables
Access Gateway to perform a SSL handshake while performing a
heartbeat check on the back-end SSL-enabled web server so
that the web server does not respond with a TLS handshake
error. By default, Access Gateway performs a simple TCP
connect while performing a heartbeat check on the back-end
web server.
DumpHeaders on These options ensure that the proxy server logs the user
headers to /var/opt/novell/nam/logs/mag/apache2/
DumpHeadersFacility user error_log for Linux and
\ProgramFiles\Novell\Apache\logs\error.log for
Windows.
NAGGlobalOptions This option prevents the Identity Injection policy from sending
IIRemoveEmptyHeaderValue an empty header with null value when a value is not available.
By default, Access Gateway sends an empty header with a null
value if a value is not available.
SSLProxyVerifyDepth=3 Use this option to specify how many certificates are available in
a web server certificate chain. When you activate the
verification of the web server certificate with Any in Reverse
Proxy Trust Store and the public certificate is part of a chain, you
need to specify the number of certificates that are in the
certificate chain.
SSLHonorCipherOrder on
SSLCipherSuite
!aNULL:!eNULL:!EXPORT:!DSS:!DES:RC4-SHA:RC4-
MD5:ALL
NAGGlobalOptions Set this option to off to prevent the session ID from getting
NAGRenameCookie=on changed automatically. By default, this option is set to on.
ProxyErrorOverride Allows you to specify which errors you want returned to the
browser unchanged by Access Gateway Service.
NAGSendURLinErrorRespons This option does not include a href when you access a protected
es on resource and a 302 redirect occurs.
AllowEncodedSlashes When this option is enabled, URLs are accepted, but encoded
NoDecode slashes are not decoded.
NAGGlobalOptions When this option is set to on, the DNS name is excluded from
ExcludeDNSFull=on being rewritten by that domain. The HTML Rewriting does not
happen when the backend DNS name is included in the Exclude
DNS Name list.
SetStrictTransportSecuri Set this option to off if you want to disable HTTP Strict Transport
ty off Security. By default, it is set to on.
NAGGlobalOptions Access Manager prints only the hashed values of all IPC and
SetHashedCookiesInRespon AGIDC cookies in the log files. When this option is set to on,
se=on Access Gateway sets these hashed values of IPC and AGIDC
cookies into browsers with the name IPCZQX0354154289-
Hash and AGIDC0354154289-Hash.
You can use this option to specify the password as per the
administrator's needs. It is recommended to use passwords with
more characters to increase security.
If you set this option to off, both cookies are sent to the backend
web server.
NoXSSURLs request-urls Disables the XSS attack detection for a request coming from a
URL containing a specific path/filename.
Configure this option and specify the request-urls for which you
want to disable the XSS attack detection.
For example,
Access Manager does not detect the XSS attack for requests that
come from any URL containing /user/dir dir/
form.html.
NAGGlobalOptions Set this option to on if you want to disable the XSS attack
DisableDetectXSS=on detection for all request. By default, this option is set to off.
NoXSSRefererURLs referer- Disables the XSS attack detection for a request coming from a
urls referer header containing a specific path/filename.
Configure this option and specify the referer-urls for which you
want to disable the XSS attack detection. The referer-urls is a
white-space separated list of the path/filename section of the
referer header. Specify a value in double quotes if it contains
white spaces.
For example,
NoXSSRefererURLs /nesp/idff/
spassertion_consumer /portal/user/content
Access Manager will not detect the XSS attack for requests that
come from any referer heading containing /nesp/idff/
spassertion_consumer or /portal/user/content.
NAGGlobalOptions Set this option to on if you want Access Gateway to block any
DisableFavicon=off http request containing the filename favicon.ico and return
HTTP 404 Not Found to the browser.
Using this option, you can enable or disable URL encoding and
decoding of the session key at Access Gateway.
NAGGlobalOptions CookieBrokerEncode=off
NAGWSMangleCookieDomainP Set this option to configure additional domain names and paths
ath that Access Gateway uses while cleaning mangled cookies.
For the list of proxy service level advanced options, see Table 3-2 on page 367.
NAGHostOptions If the value for this option is set to on, it overrides NAGGlobalOptions
EnableWebsocket=on EnableWebsocket=off option.
NAGHostOptions This option invalidates the cookies set by the web server when the user
mangleCookies=on logs out of Access Manager. By default, Access Gateway does not mangle
the cookies that are sent by the web server.
Proxy mangles the cookies that are sent by the web server using the user
information and sets these mangled cookies at the browser. When a
browser sends the mangled cookies to proxy, it de-mangles them using
the user information and sends the de-mangled cookies to the web
server.
NAGHostOptions Use this option to set the behavior of the SameSite attribute for cookies.
SameSiteCookie=on By default, this option is set to off. When set to on, the default value is
None and the option is applied to each Set-Cookie header coming from
Access Gateway.
NoCanonicalization For this option to work, you need to enable the NAGGlobalOptions
on noURLNormalize=on global advanced option and the
AllowEncodedSlashes on proxy service advanced option.
When enabled, this option retains the encoded characters in the URL
while sending the requested URL to a web server. This option adds the
nocanon keyword to the ProxyPass directives.
NAGFilteroutUrlFor You can add this option to proxy service that filters out specific URLs from
Audit auditing (URL Accessed).
All path-based services under the domain-based service inherit the new
value.
CacheMaxFileSize This option allows you to set the size of the file that can be stored in the
cache. By default the size is set to 5 MB. Add the line CacheMaxFileSize
This option is available <bytes>, for example, CacheMaxFileSize 99900000.
only for the domain-
based proxy service. All path-based services under the domain-based service inherit the new
value.
NAGChildOptions Allows the proxy service to handle the specified path. Remove the pound
WebDav=/Path (#) symbol and replace /Path with the path you want the proxy service to
handle.
This option is valid only
for the path-based multi-
homing proxy service.
ProxyPassIgnorePat Use this option to make the path-based multi-homing path URL case-
hCase on insensitive. For example, if you have set up a path based proxy /profile in
Administration Console and the end user wants to access the URL https://
www.lagssl.com/Profile/Security/login.aspx and not https://
www.lagssl.com/profile/Security/login.aspx. By default, the url path is
case-sensitive.
NAGPostParkingSize This option allows you to change the post data parking size limit if an error
InKiloBytes occurs after you post large data (more than 56 KiloBytes in size) after a
session timeout.
SSLProtocol Access Gateway supports this option when listening as a server to clients
(typically browsers). This directive specifies SSL protocols for mod_ssl to
use when establishing the server environment. Clients can only connect
with one of the specified protocols. The accepted values are SSLv3, TLSv1,
TLSv1.1, TLSv1.2 and all of these.
For more information about configuring the SSL versions, see Apache
documentation (http://httpd.apache.org/docs/2.4/mod/
mod_ssl.html#sslproxyprotocol).
SSLProxyProtocol Access Gateway supports this option when a reverse proxy is connecting
to backend web servers. This directive specifies SSL protocols for mod_ssl
to use when establishing a proxy connection in the server environment.
Proxies can only connect with one of the specified protocols. The
accepted values are SSLv3, TLSv1, TLSv1.1, TLSv1.2, and all of these.
For more information about configuring the SSL versions, see Apache
documentation (http://httpd.apache.org/docs/2.4/mod/
mod_ssl.html#sslproxyprotocol).
SSLProxyCACertific This option prevents failure in a SSL connection between Access Gateway
ateFile and a web server, when a self-signed certificate is used. To prevent failure,
import the web server certificates to the proxy trust store. After importing
the web server certificates, use this option.
Windows: C:\Program
Files\Novell\apache\cacerts\myserver.pem
Linux: /opt/novell/apache2/cacerts/myserver.pem
FailOnStatus error Backend servers may return an error code instead of being timed out.
code1,error code Access Gateway keeps sending requests to a web server even if the web
2,error code3 server returns error codes.
Use this option to prevent Access Gateway from sending requests to such
web servers.
NAGAddProxyHeader When this option is set to off, Access Gateway does not send the
on XForwarded headers to the back-end web server.
NAGHostOptions This disables Advance Session Assurance for small lived session IDs.
DisableIDC on
Set to off to enable Advance Session Assurance for session ID.
NAGHostOptions This option enables users who use the Microsoft Network Places client to
primaryWebdav=<pat connect to the WebDAV folders of a SharePoint server when the
h of pbmh service> SharePoint server has been configured as a path-based multi-homing
service on Access Gateway. This must be added to master proxy service
This option is valid only Advanced Options whose path based child services accelerates webdav
for the path-based multi- resources with remove path on fill option enabled.
homing proxy service.
NAGHostOptions You can add this option to a master proxy service that accelerates webdav
webdavPath=/ resources with remove path on fill enabled.
_vti_bin
NAGChildOptions You can add this option to any path based service that accelerates webdav
WebDav=<path of resources with remove path on fill enabled.
pbmh service>
NAGHostOptions Set this option to on to disable the XSS attack detection for all request. By
DisableDetectXSS=o default, this option is set to off.
n
This option overrides NAGGlobalOptions DisableDetectXSS for a
proxy service. For example, setting NAGHostOptions
DisableDetectXSS=on for a proxy service overrides
NAGGlobalOptions DisableDetectXSS=off for that proxy
service.
AdditionalBalancer The proxy server checks the web server for each new session request at
MemberOptions an interval of one minute by default. You can configure this advanced
option to specify a different interval.
NAGPreflightUrls Use this option to configure paths in which you can expect preflight
requests. Configuring this option prevents possible security threats.
The preflight requests must include the origin header and the Access-
Control-Request-Method header. If a preflight request does not
include these headers, Access Gateway does not consider the request as a
preflight request. Therefore, the NAGPreflightURLs option does not work
as expected.
^/test.* allows the requests coming from the path starting with /
test, such as /test/abc
If it is configured for both path-based children and the parent proxy, then
priority is given to the path-based children's configuration.
No limit is set to the number of paths you want to configure in this option.
NAGHostOptions AcceptCORS=on
NAGCORSOriginWhitelist https://abc.example1.com
NAGCORSOriginWhitelist https://xyz.example2.com
NAGPreflightUrls ^/test
NAGSharepointEnabl Set this option to on for enabling SSO to Microsoft SharePoint server.
e on
By default, this option is set to off.
(Deprecated)
This option has been replaced with SharepointEnable on
<version> in Access Manager 4.5 Service Pack 1.
SharepointEnable Set one of these options depending on the version of your SharePoint
on 2013 server for enabling SSO to Microsoft SharePoint server.
SharepointEnable For information about how to enable SSO to SharePoint, see Configuring
on 2016 SSO to SharePoint Server.
SharepointEnable
on 2019
NAGHostOptions This option overwrites any browser cookie if Access Gateway creates a
OverwriteWithIICoo cookie with the same name by using the Identity Injection policy. By
kie=on default, this option is set to on.
If you set this option to off, then both the cookies are sent to the back-end
web server.
If it is configured for both path-based children and the parent proxy, then
priority is given to the path-based children's configuration.
NAGHostOptions Set this option to on if you want Access Gateway to block any http request
DisableFavicon=off containing the filename favicon.ico and return HTTP 404 Not
Found to the browser. By default, this option is set to off.
For the list of global advanced options, see Table 3-1 on page 356.
For information about how to set these options, see Access Gateway Advanced Options.
NAGHostOptions mangleCookies
To enable cookie mangling, add the options NAGHostOptions mangleCookies=on and
NAGWSMangleCookiePrefix <AnyString> in the Global Advanced Option.
NAGWSMangleCookiePrefix
Use the NAGWSMangleCookiePrefix <AnyString> option to specify the string added to the
application cookie after manipulation. You can replace <AnyString> with a string of your choice.
For example, adding the NAGWSMangleCookiePrefix AGMANGLE results in the Set-Cookie:
AGMANGLEa50b_DzkN=5a8G0 application level cookie set in the browser.
NAGWSMangleCookieDomainPath
Access Gateway cannot clean the mangled cookies in the following scenarios:
When the cookie is set without a domain and a path
When the cookie is set with a path that is not “/”
Over a period, a huge number of mangled cookies might get accumulated on the browser. As a
result, Access Gateway might fail to process the new requests.
To avoid this issue, set this option to configure additional domain names and paths that Access
Gateway will use while cleaning mangled cookies.
Use cases:
When both domain and path are set while setting a cookie, set the option as follows:
NOTE: Enable 'URL Accessed' audit events in Access Gateway can overload the Audit subsystem if
the requests sent to Gateway per second is high. This might result in a delayed loading of web page.
It is recommended to use the http common/extended logging option for this purpose.
IMPORTANT: When an Analytics Server is deleted from Administration Console, you can no
longer manage it. To access it again or to access it from another Administration Console, you
must manually import Analytics Server by running reimport_ar.sh in the /opt/novell/
nam/scripts directory. See Section 3.7.5, “Importing Analytics Server,” on page 378.
Status: To check the status of Analytics Server in Status and make changes as necessary.
Status Description
Update A configuration change is made, but not applied. To apply the changes, click Update.
Update All This link is available when a server belongs to a cluster. You can select to update all
the servers at the same time, or you can select to update them one at a time. It is
recommended to update the servers one at a time.
Update If there is an error when you update the server, the Update link is disabled and the
Configuration Error icon is displayed.
Update All If there is an error when you click Update All, the member Update links are disabled
and the Configuration Error icon is displayed.
Pending The server is processing a configuration change, and the process is not completed.
3.7.2.1 Changing the Name of an Analytics Server and Modifying Other Server
Details
The default name of an Analytics Server is its IP address. You can change this to a more descriptive
name and modify other details that can help you identify one Analytic Server from another.
1 Click Devices > Analytics Server > [Name of Analytics Server] > Edit.
2 Modify the values in the following fields as required:
Name: Specify the Administration Console display name for Analytics Server. This is a
mandatory field. The default name is the IP address of Analytics Server. If you modify the name,
the name must include alphanumeric characters and can include spaces, hyphens, and
underscores.
Management IP Address: Specify the IP address that is used for managing Analytics Server.
If you change the IP address, click OK and perform the steps mentioned in Changing the IP
Address and Applying the Changes.
Port: Specify the port to use for communication with the Administration Console.
Location: Specify the location of Analytics Server. This is optional, but useful if your network has
multiple Analytics Server machines.
Description: Describe the purpose of this Analytics Server. This is optional, but useful if your
network has multiple Analytics Server.
NOTE: The Connection will be lost. You must log in again with the new IP address.
NOTE: After performing these steps, you must change the IP address on the Auditing page of
Administration Console.
NOTE: When you change the IP address in Primary Server, the Secure Logging Server settings are
changed. Hence, you must configure Syslog for auditing again. For more information, see
Important Points to Consider When Using Syslog.
3 Click OK.
Info Sends informational messages such as requests sent to web servers and the results of
authentication requests.
3 (Optional) In Dashboard Public IP/DNS, specify the <DNS/IP>:port for launching the
dashboard. This is the IP/DNS of the load balancer. It can also be the IP address of the
individual dashboard server. Port number is optional.
NOTE: If you have configured Analytics Server behind Access Gateway, you can configure the
published DNS name in this field.
4 (Optional) In Audit Event Listener IP/DNS, specify the load balancer or Logstash server IP address
to which the audit events must be sent.
NOTE: Failover in the high availability configuration is directed to any active standby nodes. If
all the standby nodes are inactive, then the failover is directed back to the primary node.
5 Click OK.
In a cluster setup, ensure that the following ports are open for Analytics Server cluster
communication:
8445
22
IP tables can be used to restrict cluster communication. The following is a sample configuration of IP
tables:
Iptables -P INPUT DROP ## By default drop all
iptables -A INPUT -s 164.99.184.0/23 -j ACCEPT ## You can allow traffic
only between Analytics Dashboard cluster nodes and Access Manager Devices
instead of the entire network.
iptables -A INPUT -i lo -j ACCEPT ## Enable Loop back communication
iptables -A INPUT -p tcp --dport 8445 -j ACCEPT ## Enable 8445 for public
access
iptables-save
NOTE: Importing or re-importing Analytics Server does not impact any existing data. Hence, you can
view the required data using Analytics Dashboard even after importing or re-importing Analytics
Server. For information about viewing the data, see Viewing Data in Analytics Dashboard.
Field Description
Enable STARTTLS Select this option if you have selected SMTP as the protocol and want to
upgrade the connection to use SSL/TLS.
If Access Manager does not receive an expected response from the connected
email server within this specified time, the connection is closed.
3 Click Save.
Identity Server is responsible for authenticating users, building the user’s role information, and
distributing it to various components. It also serves as the central point for components that request
identity information.
Section 4.1, “Local Authentication,” on page 383
Section 4.2, “Federated Authentication,” on page 455
Section 4.3, “Advanced Authentication,” on page 703
Section 4.4, “Social Authentication,” on page 714
Section 4.5, “Risk-based Authentication,” on page 722
In addition, you can configure third-party authentication classes. You can also write your own Java
class for authentication. For information about how to write your own class, see the NetIQ Access
Manager 4.5 SDK Guide and Access Manager Developer Resources (https://www.netiq.com/
documentation/access-manager-45-developer-documentation/).
Local External
URI CON
TRA
CON
TRA
URI
CT CT
A B A B
User stores: The user directories to which users authenticate in the back-end. You set up your
user store when you create an Identity Server cluster configuration. See Section 4.1.1,
“Configuring Identity User Stores,” on page 384.
Classes: The code (a Java class) that implements a particular authentication type (name/
password, RADIUS, and X.509) or means of obtaining credentials. Classes specify how Identity
Server requests authentication information, and what it must do to validate those credentials.
See Section 4.1.2, “Creating Authentication Classes,” on page 396.
Methods: The pairing of an authentication class with one or more user stores, and whether the
method identifies a user. See Section 4.1.3, “Configuring Authentication Methods,” on
page 403.
Kim
Lynn
KC
Identity Server
LDAP User Store (2)
Bob
Kelly
Paulo
It is assumed that each LDAP directory contains different users. Ensure that the users have unique
names across all LDAP directories. If both directories contain a user with an identical name, the
name and password information discovered in the search of the first directory is always used for
authentication. You can specify the search order when configuring the authentication method.
When users are added to the configuration store, objects are created for Access Manager profiles. If
you delete a user from the LDAP directory, orphaned objects for that user remain in the
configuration store.
If you add a secondary Administration Console and you have added replicas to the user store of the
primary Administration Console, ensure to add the replicas to the secondary Administration
Console.
All user stores that you add are included in health checks. If health problems occur, the system
displays the user store on the Health page and in the trace log file.
Field Description
Admin Name The distinguished name of the admin user of the LDAP directory, or a proxy
user with specific LDAP rights to perform searches. For the LDAP extension to
work, the proxy user requires write rights on the ACL. Administrator-level
rights are required for setting up a user store. This ensures read/write access
to all objects used by Access Manager. For more information about this user,
see “Configuring an Admin User for the User Store” on page 388.
Each directory type uses a slightly different format for the DN:
eDirectory: cn=admin,ou=users,o=novell
Active Directory: cn=Administrator,cn=users,dc=domeh,dc=test,dc=com
or cn=john smith,cn=users,dc=domeh,dc=test,dc=com
Sun ONE: cn=admin,cn=users,dc=novell,dc=com
Admin Password Specify the password for the admin user and confirm it.
and Confirm
Password
Directory Type You can select eDirectory, Active Directory, or Sun ONE. If you have installed
an LDAP server plug-in, you can select the custom type that you have
configured it to use. For more information, see “LDAP Server Plug-In” in the
NetIQ Access Manager 4.5 SDK Guide.
Install NMAS SAML (eDirectory only) Extends the schema on the eDirectory server and installs an
method NMAS method. This method converts Identity Server credentials to a form
understood by eDirectory. This method is required if you have installed Novell
SecretStore on the eDirectory server and you are using that SecretStore for
Access Manager secrets. If you select this option, ensure that the admin
configured for the user store has sufficient rights to extend the schema and
add objects to the tree.
Enable Secret Store (eDirectory only) Enables Access Manager to prompt users for a passphrase
lock checking when secrets are locked.
If Access Manager shares secrets with other applications and these
applications use the security flag that locks secrets when a user’s
password is reset, you need to select this option.
If Access Manager does not share secrets with other applications, the
secrets are never locked, and you do not need to select this option.
Field Description
LDAP Operation Specify how long a transaction can take before timing out in seconds.
Idle Connection Specify how long before connections begin closing in seconds. If a connection
has been idle for the specified duration, the system creates another
connection.
5 To specify a server replica, click New, then specify the following details:
For an eDirectory server, you must use a replica of the partition where the users reside. Ensure
that each LDAP server in the cluster has a valid read/write replica. One option is to create a
users partition (a partition that points to the OU containing the user accounts) and reference
this server replica.
Field Description
Name The display name for the LDAP directory server. If your LDAP directory is
replicated on multiple servers, use this name to identify a specific replica.
Port The port of the LDAP directory server. Specify 389 for the clear text port, and
636 for the encrypted port.
Use secure LDAP Specifies that the LDAP directory server requires secure (SSL) connections with
connections Identity Server.
This option must be enabled if you use this user store as a Novell SecretStore
User Store Reference in the Credential Profile details. (See “Configuring
Credential Profile Security and Display Settings” on page 562.) If you have
specified that this user store is a SecretStore User Store Reference, this option
is enabled but not editable.
Connection limit The maximum number of pooled simultaneous connections allowed to the
replica. Valid values are between 5 and 50. How many you need depends upon
the speed of your LDAP servers. If you modify the default value, monitor the
change in performance. Larger numbers do not necessarily increase
performance.
IMPORTANT: For Active Directory, do not set the search context at the root level and set the
scope to Subtree. This setting can cause serious performance problems. It is recommended that
you set multiple search contexts, one for each top-level organizational unit.
14 Click Finish.
15 If prompted to restart Tomcat, click OK. Otherwise, update Identity Server.
The admin user needs read rights to any attributes used in policies (Role, Form Fill, Identity
Injection).
If a secret store is used in Form Fill policies, the admin user needs write rights to the attributes
storing the secrets.
If a password management servlet is enabled, the admin user needs read rights to the attributes
controlling grace login limits and remaining grace logins.
If you use an LDAP extension, the user must have write rights on ACL allowing the user to check
for account locks, password expiration, grace logins used, and so on.
To perform these operations, the user must have additional rights. Access Manager uses NMAS
that requires the user to have write rights on ACL.
If you enable provisioning with the SAML or Liberty protocols, the admin user needs write rights
to create users in the user store.
If you use X.509 authentication, the admin user needs write rights to update the user’s login
status attributes.
If your user store is an eDirectory user store, Access Manager verifies that the admin user has
sufficient rights to browse for users in the specified search contexts.
IMPORTANT: This check is not performed for Active Directory or Sun ONE. If your users cannot log
in, verify that the user store admin has appropriate rights to the specified search contexts.
1 Click Devices > Identity Servers > Edit > Liberty > Web Service Provider.
2 Click Credential Profile.
3 Scroll to the Local Storage of Secrets section and configure the following security options:
Encryption Password Hash Key: (Required) Specify the password that you want to use as a seed
to create the encryption algorithm. To increase the security of the secrets, we recommend that
you change the default password to a unique alphanumeric value.
IMPORTANT: Before using Access Manager to store and encrypt secrets, ensure that you
choose your Preferred Encryption Method and change the default Encryption Password Hash Key
value. If any of these options is changed after any secrets are stored, Access Manager will not be
able to retrieve the secrets.
Preferred Encryption Method: Specify the preferred encryption method. Select the method
that complies with your security model:
Password Based Encryption With MD5 and DES: MD5 is an algorithm that is used to verify
data integrity. Data Encryption Standard (DES) is a widely used method of data encryption
that uses a private key.
DES: Data Encryption Standard (DES) is a widely used method of data encryption that uses
a private key. Like other private key cryptographic methods, both the sender and the
receiver must know and use the same private key.
Triple DES: A variant of DES in which data is encrypted three times with standard DES,
using two different keys.
Extended Schema User Store References: Do not specify a user store reference. When this
option contains no values, the configuration datastore is used to store the secrets.
4 Click OK.
5 Update Identity Server.
6 To use the secret store to store policy secrets, see Section 10.5.4, “Creating and Managing
Shared Secrets,” on page 938.
IMPORTANT: Before using Access Manager to store and encrypt secrets, ensure that you
choose your Preferred Encryption Method and change the default Encryption Password Hash Key
value. If either of these options are changed after any secrets are stored, Access Manager will
not be able to retrieve the secrets.
4 To specify where to store secret data, click New under Extended Schema User Store References
and fill in the following:
User Store: Select the user store where you want secret store enabled.
Attribute Name: Specify the LDAP attribute that you have created to store the secrets on the
selected user store.
5 Click OK twice.
6 On Identity Servers page, update Identity Server.
7 To create policies that use the stored secrets, see Section 10.5.4, “Creating and Managing
Shared Secrets,” on page 938.
For troubleshooting information, see “Troubleshooting Secrets Storage” on page 394.
NOTE: While configuring new replicas for the same user store, by default the Use secure LDAP
connections option will be selected and the default port will be 636. The Use secure LDAP
connections option will be non-editable.
If you have enabled a firewall between Administration Console and the user store, and between
Identity Server and the user store, ensure that both LDAP ports (389 and 636) and the NCP port
(524) are opened.
If you are going to configure Access Manager to use secrets that are used by other applications,
you need to plan a configuration that allows the user to unlock a locked SecretStore. See
“Determining a Strategy for Unlocking SecretStore” on page 393.
To configure the user store:
1 Click Devices > Identity Servers > Edit > Local.
2 Click the name of your user store.
3 Select Install NMAS SAML method, then click OK.
This installs a required NMAS method in the eDirectory schema and adds required objects to
the tree.
When SecretStore is locked and users log in, the users are first prompted for their login credentials,
then prompted for the passphrase that is used to unlock SecretStore.
eDirectory Tree
Security
SAML Assertion
Certificates
<SAML_Affiliate_Object>
authsamlCertContainerDN
authsamlTrustedCertDN
authsamlValidAfter
authsamlValidBefore
authsamlProviderID
Some classes require additional configuration to enable their use for authentication. See the
following sections:
“RADIUS Authentication” on page 706
“Mutual SSL (X.509) Authentication” on page 420
“ORed Credential Class” on page 432
“OpenID Authentication” on page 433
“Password Retrieval” on page 434
“Configuring Access Manager for NESCM” on page 436
“Kerberos Authentication” on page 441
“Two-Factor Authentication Using Time-Based One-Time Password” on page 703
“Risk-based Authentication” on page 722
IMPORTANT: To enable CSRF check, perform the steps mentioned in “LOGIN CSRF CHECK”
on page 58 and add a property AntiCSRFCheck=true to the class. You do not need to
add this property to Password Class and TOTP Class.
NOTE: You cannot enable CSRF check for Advanced Authentication class and Social
Authentication class.
4 Click Next to configure the properties for each class. Click New, then enter a name and value.
The names and values you enter are case sensitive. See “Specifying Common Class Properties”
on page 398 for the properties that are used by the basic and password classes.
5 Click Finish.
6 Continue with Section 4.1.3, “Configuring Authentication Methods,” on page 403.
To use an authentication class, the class must have one or more associated methods.
Related Topic
“(Optional) Modifying the LDAP Query Parameter of the Kerberos Method” on page 453
Query Property
Typically, Identity Server uses the username to find a user in the user store. You can change this
behavior by using the Query property. This property determines the username value for
authentication. The default Query string prompts the users for the value of the CN attribute. You can
modify this by requesting a different attribute in the LDAP query.
The Query property can be used by the following classes:
BasicClass
PasswordClass
ProtectedBasicClass
ProtectedPasswordClass
For example, to query for the user’s UID attribute to use for the username, you would specify the
following query:
Property Name: Query
Property Value: (&(objectclass=person)(uid=%Ecom_User_ID%))
The values are case sensitive. The name of the property must be Query with an initial capital. The
%Ecom_User_ID% variable is used in the default login.jsp for the username in the four classes
that support the Query property. The variable is replaced with the value the user enters for his or
her username, and the LDAP query is sent to the user store to see if the user’s attribute value
matches the entered value. You can specify any attribute for the Query that is defined in your user
store for the object class of person and that is used to identify the user.
The Query you define for the BasicClass and the ProtectedBasicClass needs to use an attribute that
your users define as their username. The PasswordClass and the ProtectedPasswordClass do not
have this requirement. They also support the JSP property, which allows you to specify a custom
login.jsp and have it prompt for other attributes that can be used for login.
For example, you can define the following Query to prompt the users for their email address rather
than their username.
Property Name: Query
Property Value: (&(objectclass=person)(email=%EMail Value%))
The %EMail Value% must match the variable in the custom login page that is filled in when the
users enter their credentials. The objectclass value must be a valid object class in the LDAP user
store. The email attribute must be a valid attribute of the person class.
JSP Property
The JSP property allows you to specify a custom login page. This property can be used with the
following classes:
PasswordClass
ProtectedPasswordClass
The property name is JSP and the property value is the filename of the login page you customized
without the .jsp extension of the file. The property value cannot contain nidp in its name.
For example, if you created a custom file named emaillogin.jsp,you would specify the following
values. The values are case sensitive. The property name needs to be entered as all capitals.
Property Name: JSP
Property Value: emaillogin
If you use two methods to create a contract, this property must be set to the same value on both or
set on only one. When it is set on only one method, the value is applied to both. This property needs
to be used with the MainJSP Property. For information about how to create a custom login page, see
“Customizing Identity Server Login Page” on page 287.
MainJSP Property
When the MainJSP property is set to true, it indicates that you want to use the page specified in the
JSP property for the login page. When this property is set to false, which is the default value, the
nidp.jsp is used for the login page. If you use two methods to create a contract, this property must
be set to the same value on both or set on only one. When it is set on only one method, the value is
applied to both.
Property Name: MainJSP
Property Value: true
For information about how to create a custom login page, see “Customizing Identity Server Login
Page” on page 287.
Prerequisites
Ensure that you meet the following prerequisites before configuring the reCAPTCHA:
Active Directory, eDirectory, or both identity sources are configured.
reCAPTCHA supports Active Directory and eDirectory. It does not support other types of identity
sources, such as Microsoft SQL Server or Oracle Database type identity sources that use the
JDBC identity source connector.
Each identity source is configured with an intrusion detection policy. For more information, see
“Configuring Intrusion Detection for Failed Logins” on page 401
A Google reCAPTCHA account is available. For more information, see “Setting Up a reCAPTCHA
Account” on page 402.
eDirectory Intruder Lockout Policy: eDirectory allows you to enable intruder detection and specify
an Intruder Lockout policy for the container object where your user objects reside.
To configure eDirectory Intruder Detection and Intruder Lockout Policy:
1 Log in as the eDirectory administrator user to the eDirectory server management console.
2 Configure Intruder Detection and the Intruder Lockout policy on the container object where
your user objects reside.
For more information, see Setting Up Intruder Detection for All Users in a Container (https://
www.netiq.com/documentation/edirectory-9/edir_admin/data/afxkmdi.html#amm7bjv) in the
eDirectory 9.0 Administration Guide.
3 Verify that the Intruder Lockout value is higher than the number of failed login attempts you
plan to specify for Start reCAPTCHA at in the reCAPTCHA tool.
4 Repeat these steps for each configured eDirectory identity source.
NOTE: By default, the intruder detection is disabled when you create a new container object.
Perform the following steps in Administration Console to enable the intruder detection:
1 Click <username> > Manage Directory Objects > Tree > <container name> > (current level) >
General > Intruder Detection.
2 Select Detect intruders.
3 Select Lock account after detection.
If you do not select this option, no action is taken when intruder detection is activated.
4 Click Apply > OK.
After you configure the intrusion detection for the supported identity sources, continue with
“Setting Up a reCAPTCHA Account” on page 402.
Configuring reCAPTCHA
To configure reCAPTCHA, perform the following steps:
1 Click Devices > Identity Server > Servers > Edit > Local > Classes > Name/Password – Form OR
Secure Name/Password – Form. Click Properties.
2 Select Enable reCAPTCHA.
3 Specify the value that you noted down when setting up your reCAPTCHA account, for the
following fields:
Site Key
Secret Key
For more information, see “Setting Up a reCAPTCHA Account” on page 402.
4 Click OK.
5 Update Identity server.
Field Description
Class The authentication class that will use this method. See Creating
Authentication Classes.
Advanced (Conditional) Select a chain. If you do not specify any chain, the user is
Authentication prompted to select the chain when the user authenticates.
Chains
This option is available when the Advanced Authentication server is
configured and you select AAGenericClass in Class. For more information,
see Configuring Advanced Authentication.
Identifies User Specifies whether this authentication method must be used to identify the
user. While configuring multiple methods for a contract, you might need to
disable this option for some methods.
If you enable this option on just one method in the contract, that method
identifies the user when the authentication method succeeds. The other
methods in the contract must succeed, but might not authenticate the user.
For example, the method that identifies the user could require a name and a
password for authentication, and the other method in the contract could
prompt for a certificate that identifies the user’s computer.
To achieve SSO to back end web applications when the passwordfetch class is
enabled, see TID (https://www.novell.com/support/kb/
doc.php?id=7007376).
Overwrite Temporary If you select this option, the temporary user credentials profile got from the
User previous method in the same session is overwritten with real user credentials
profile got from this authentication method.
Overwrite Real User If you select this option, the real user credentials profile got from the
previous method in the same session is overwritten with real user credentials
profile got from this authentication method.
Field Description
URI Specify a value that uniquely identifies the contract from all other contracts. It is
used to identify this contract for external providers and is a unique path value
that you create. No space is allowed.
/mycompany/name/password/form
http://mycompany.com/login
secure/form/password/bcompany
Password Specify a URL to a page where the user can change password when the
expiration servlet password expires or is within the grace login period. You must use eDirectory to
change the number of grace logins. Grace logins work only with eDirectory.
For more information about how to use this type of servlet, see “Using a
Password Expiration Service” on page 411.
Allow User If you specify a password expiration servlet, you can select this option. This
Interaction allows users to decide whether to go to the servlet and change their passwords
or to skip the servlet. If you always want to force the users to go the servlet to
change their passwords, do not select this option.
Login Redirect URL Specify the URL to which the users will be redirected. Use this setting for the
following scenarios:
Forcing the user to a specific home page after successful authentication.
Forcing the user to configure challenge/response forgotten password
questions.
For more information about the URL parameters, see “Using Login Redirect URL
Parameters” on page 414.
Allow User Select this option to allow the user to decide whether to continue to access a
Interaction pre-configured URL or to continue to the page that the user usually accesses.
For example, the user may frequently access www.a.com and have specified the
redirect URL as https://someservice.com/path/
password?user=<USERID>&store=<STOREID>&returl=<RETURN_UR
L> then, continue will allow the user to continue with that website that is
www.a.com and redirect URL will take the user to the URL https://
someservice.com/path/
password?user=<USERID>&store=<STOREID>&returl=<RETURN_UR
L>&action=expire and then to www.a.com.
Authentication Specify a number to this authentication contract to indicate its security level or
Level rank. This setting preserves authentication contracts of a higher security level.
When you enable the Satisfiable by a contract of equal or higher level option
on this page, the system uses this value as a reference.
Authentication Specify how long the session can be inactive before the user is prompted to log
Timeout in again. The value can be from 5 minutes to 65535 minutes and must be
divisible by 5.
If you modify the time-out value for a contract, the newly assigned value is given
to users as they log in. Currently logged in users retain the old value until they
re-authenticate.
You need to experiment to discover what values are best for your network
configuration, your security requirements, and your users.
Shorter time-outs increase back-channel traffic and require more threads
for authentication checks, but quickly free resources that are being used by
inactive users. If you have slow back-end services, users could get
disconnected waiting for a response, and these disconnects can generate
more authentication traffic.
Longer time-outs, which allow inactive users to remain connected,
increase memory requirements to store session information, but require
fewer threads and don't generate as much back-channel traffic.
For information about how to use this feature with Access Gateway, see
“Assigning a Timeout Per Protected Resource” on page 143.
Activity Realm(s) Specify the name of the realm that can be used to indicate activity. Use a
comma-separated list to specify multiple realms. This allows a user’s session to
be kept alive when the user is accessing resources that are protected by
different contracts. If both contracts belong to the same realm, activity on
either resource keeps the session alive on the other resource.
For more information about this feature, see “Using Activity Realms” on
page 414.
Satisfiable by a Select to allow the system to satisfy this authentication contract if a user has
contract of equal logged in using another contract of an equal or higher authentication level, as
or higher level specified in Authentication Level of an authentication contract.
When you enable this option, you need to be aware of the authentication levels
you have set for other contracts and the level that has been assigned to the
default contract.
Allowable Class Specify the class that instructs a service provider to send a request for a specific
authentication type to the identity provider. You can modify this option only
when you select authentication types.
For example, if the external identity provider sends the following AuthnContext:
<saml:AuthnContext>
<saml:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:a
c:classes:Password</saml:AuthnContextClassRef>
<saml:AuthnContextDeclRef>adroit:login:user:np</
saml:AuthnContextDeclRef> </saml:AuthnContext>
NOTE: The Allowable class field is blank when an inbuilt Authentication Class is
used in Identity Server.
Methods and Specify the authentication method to use for the contract. You can specify the
Available Methods order in which the methods are executed for login; however, this is not a graded
list, so all the methods you specify are required. Available methods are the
authentication methods you have set up.
You can enable the multi-factor authentication by associating more than one
methods to a contract.
If you add more than one X.509 method, only the first one is used and it is
automatically moved to the top of the list.
5 Click Next.
6 Specify the following details to configure a card for the contract:
Field Description
ID (Optional) Specify an alphanumeric value that identifies the card. If you need
to reference this card outside of Administration Console, specify a value here.
If you do not assign a value, Identity Server creates one for its internal use.
Text Specify the text that is displayed on the card to the user.
Image Select the image to be displayed on the card. To add an image to the list, click
Select local image.
Show Card Determine whether the card is shown to the user, which allows the user to
select and use the card for authentication. If this option is not selected, the
card is only used when a service provider makes a request for the card.
Passive Select this option if you do not want Identity Server to prompt the user for
Authentication Only credentials. If Identity Server can fulfill the authentication request without
any user interaction, the authentication succeeds. Otherwise, it fails.
AUTHENTICATE WITH EXPIRED PASSWORD Select the Property Value as true if you want to
redirect a user logging with an expired password to the
password management URI protected by an Access
Gateway.
HIDE CARDS WITH EQUAL LEVEL Select the Property Value as true if you want to disable
showing any other higher level authentication cards, if
Satisfiable by a contract of equal or higher level is
enabled.
4 Click OK.
URL Parameters
When you are defining the URL for the password service on the Contracts page, the following
optional tags can be used in the parameter definitions of the URL. You need to use parameter names
that are understood by the service you have selected to use. Identity Server does not need to
understand these parameters, but the password expiration service needs to understand them.
The following table lists common parameters. Your service might or might not use these, and might
require others.
<USERID> Provides the DN of the user with a password that is expired or expiring.
<STOREID> Provides the name of the user store that authenticated the user before redirecting the
user to the password expiration service.
<RETURN_URL> Provides the URL at Identity Server to which the user can be redirected after the
password service completes.
action=expir Causes the password expiration service to behave as though the user’s password policy
e is set to allow the user to reset the password even though the user’s policy might be
set to show the user a hint. The user sees the page to create a new password rather
than seeing a hint for an existing password.
For example:
https://someservice.com/path/password?user=<USERID>&store=<STOREID>
&returl=<RETURN_URL>&action=expire
NOTE: If you copy and paste this text, ensure that you remove the white space between <STOREID>
and &returl.
Identity Server fills in these values, which results in the following URL:
https://someservice.com/path/password?user=joe.novell&store=userstore1&
returl=https://myidp.com/nidp/idff/sso&action=expire
Parameter Description
forceAuth=TRUE When the user is returned to Identity Server, this parameter forces the user to
authenticate with the new password. This eliminates the possibility of an old
password being used in an Identity Injection policy.
Federated Accounts
A user’s password does not expire and grace logins are not decremented when you have the
following setup:
Identity Server is configured to act as a service provider
User identification is configured to allow federation
Federation is set up with SAML 2.0, Liberty, or WS Federation protocols
The password expiration service is not called because the user is not using a password for
authentication. The service can only be called when the user’s account is defederated. After the user
has defederated the account, the next time the user logs in, a password is required and the service is
called.
Parameter Description
<USERID> Provides the DN of the user with a password that is expired or expiring.
<STOREID> Provides the name of the user store that authenticated the user before
redirecting the user to the password expiration service.
<RETURN_URL> Provides the URL at Identity Server to which the user can be redirected after the
password service completes.
For example:
https://someservice.com/path/password?user=<USERID>&store=<STOREID>
&returl=<RETURN_URL>
NOTE: If you copy and paste this text, ensure that you remove the white space between <STOREID>
and &returl.
Identity Server fills in these values, that results in the following URL:
https://someservice.com/path/password?user=joe.novell&store=userstore1&
returl=https://myidp.com/nidp/idff/sso
In addition to the above three parameters you can also configure other parameters.
0 5 10 15 20 25 30 35 40 45 minutes
PR1,C1,30 x x x x x x x x
timeline
shared1
PR2,C2,15 x x
In Figure 4-3, the user logs into PR1 at time 0, then logs into PR2 at time 6. During the next 30
minutes, the user is active on PR1. The time line for the shared1 activity realm is updated with the
user’s activity. The user then access PR2 at time 38. Even though no activity has taken place on PR2
for more than the 15-minute contract time-out, PR2 does not time out because activity has occurred
within this time at PR1 and because the resources share the same activity realm. Assigning two or
more contracts to the same activity realm allows the contracts to influence the time-outs of the
other contracts in the activity realm.
When you configure protected resources to use different contracts with different time-outs, they
can keep each other alive when they share the same activity realm. If protected resources must not
affect each other's activity, they must not share a common activity realm.
You can assign a contract to multiple activity realms. With this configuration, activity on a resource
updates the time lines of all activity realms associated with the contract. As long as one of the
activity realms has activity within the contract’s time-out limit, the user’s session remains
authenticated.
Activity realms are defined by specifying a name, and the names are case insensitive. Use a comma-
separated list to specify multiple names. The system has two default realms that you can use:
Any: Leave the field blank or specify any when you want the user’s session to remain alive as
long as there is some activity by the user at Access Gateway or at Identity Server.
When Identity Server receives an assertion from another Identity Server that cannot be
mapped to a contract, the activity realm is set to any with the time-out value equal to the value
of the Tomcat session. (The Tomcat session timeout is set to the greatest time-out value of the
contracts configured for Identity Server.)
NIDPActivity: Specify NIDPActivity for the realm when any activity at Identity Server by the
user can be used to keep the user’s session alive.
When you place multiple contracts in the same activity realm, you need to plan carefully so that
security limits aren’t overruled by activity on less critical protected resources. You also need to
carefully balance the desire for single sign-on with the need to require reauthentication for sensitive
data. Highly sensitive resources are most secure when they are protected by a contract that is
created from its own unique method and that is assigned its own unique activity realm. For more
information, see “Assigning a Timeout Per Protected Resource” on page 143.
NOTE:
Ensure that you add MainJSP and JSP in the method property.
This class does not replace the form-based contract. For more information, see “Customizing
Identity Server Login Page” on page 287.
Option Description
Trust validation occurs if the certificate chain is verified in the NIDP Trust
Store. In addition to usual certificate validations, Identity Server supports CRL
(certificate revocation list) and OCSP (Online Certificate Status Protocol)
validations for each authentication request.
Access Manager caches CRLs. The status of a newly revoked certificate is not
picked up until the next cache refresh. For higher security requirements, use
OCSP validation with CRL validation. You can select None, CRL, OCSP, OCSP-
CRL, or CRL-OCSP validation. In a production environment, select either OCSP-
CRL or CRL-OCSP validation for highest security. The default setting is to check
OCSP first, then CRL.
CRL Validation Checks the CRL. If you enable CRL validations, the CRL distribution point
extension is read out of the user’s X.509 certificate. The CRL distribution point
contains the URL where the complete CRL can be found, as published by the
certificate authority. The system checks the CRL itself and then checks to see if
the user certificate is on the revoked list. The system can get the CRL over
HTTP and LDAP. If you are not expecting the distribution point in user
certificates, you can specify a value in the LDAP URL option to get the CRL.
Access Manager supports two schemes for a URL: http:// and ldap://.
OCSP Validation If OCSP validation is enabled, the Authority Info Access point (AIA) is read out
of the user certificate, which contains the URL for the OCSP responder. A
signed OCSP request for the user certificate is sent to OCSP responder. A
signed OCSP response is received from the responder that has the revoked
status for the user certificate. Alternately, if you are not expecting an AIA in a
user certificate, you can specify a value in the OCSP responder URL field. The
value you enter here overrides any OCSP responder URLs in a certificate.
Access Manager supports two schemes for a URL: http:// and ldap://.
Disable Root CA Select to disable checking if a certificate authority has been revoked. This
Revocation Check option checks CRL and OCSP for the trusted root certificate in the chain. You
can enable or disable this option for X.509 user authentication performance.
If you do not select this option, checks performed by Identity Server depends
on the certificates that have been added to the Identity Server trust store. If
the root certificate and the intermediate certificates in the chain are in the
trust store, Identity Server only validates the client (leaf) certificate. If the
trust store only contains the root certificate, the browser sends the
intermediate and leaf certificates, which are then validated by Identity Server.
Option Description
Show certificate errors Select to displays an error page when a certificate error occurs. This option
is not selected by default.
Auto Provision X509 Select to enables automatic provisioning of users for X.509 authentication.
When Auto Provision X509 is enabled and the attribute that is used for
subject name mapping is changed from the default
sasAllowableSubjectNames, ensure that the LDAP attribute that is used
can store string values as long as the longest client certificate subject
name. For example, if you use the LDAP attribute title (which has an upper
bound of 64 characters), the Auto Provision X509 fails the provisioning
part of the authentication if the client certificate subject name is longer
than 64 characters. The authentication works if a valid name and password
is given, but provisioning fails.
Attributes Select attributes from Available attributes used for matching. If multiple
attributes are specified, the evaluation of these attributes must resolve to
only one user in the user store.
Access Manager first does a DN lookup for subject name or directory name
mapping. If this fails, the rest of the mappings are looked up in a single
LDAP query.
Available attributes The list of available X.509 attributes. To use an attribute, select it and move
it to Attributes.
Directory name: Searches for the directory address in the client
certificate and tries to match it to the DN of a user in the user store. If
that fails, it searches the sasAllowableSubjectNames attribute of all
users for a value that matches. The sasAllowableSubjectNames
attribute must contain values that are comma-delimited, with a space
after the comma. (For example, O=CURLY, OU=Organization CA or
OU=Organization CA, O=CURLY.)
Email: Searches for the email attribute in the client certificate and
tries to match it with a value in the LDAP mail attribute.
Serial number and issuer name: Lets you match a user’s certificate
by using the serial number and issuer name. The issuer name and the
serial number must be put into the same LDAP attribute of the user,
and the name of this attribute must be listed in the Attribute
Mappings section.
When using a Case Ignore String attribute, both the issuer name and
the serial number must be in the same attribute separated by a dollar
sign ($) character. The issuer name must precede the $ character,
with the serial number following the $ character. Do not use any
spaces preceding or following the $ character. For example: O=CURLY,
OU=Organization CA$21C0562C5C4
The issuer name can be from root to leaf or from leaf to root. The
issuer name must be comma-delimited with a space after the
comma. (For example, O=CURLY, OU=Organization CA or
OU=Organization CA, O=CURLY.)
The serial number cannot begin with a zero (0) or with a hexadecimal
notation (0x). If the serial number is 0x0BAC05, the value of the serial
number in the attribute must be BAC05. The certificate number is
displayed in Internet Explorer with a space after every fourth digit.
However, you must enter the certificate number without using
spaces.
The LDAP attribute can be any Case Ignore List or Case Ignore String
attribute of the user. If you are configuring your own attribute, ensure
that the attribute is added to the Person class. When using a Case
Ignore List attribute, both the issuer name and the serial number
must be on the same list. The issuer name needs to be the first item
on the list, with the serial number being the second and last item on
the list.
Subject name: Searches for the Subject name of the client certificate
and tries to match it to the DN of a user in the user store. If that fails,
it searches the sasAllowableSubjectNames attribute of all users for a
value that matches the Subject name of the client certificate. The
sasAllowableSubjectNames attribute must contain values that are
comma-delimited, with a space after the comma. (For example,
O=CURLY, OU=Organization CA or OU=Organization CA, O=CURLY.)
Attribute Mappings This option allows you to specify how Identity Server maps the certificate
to a user in the user store. Subject name is the default map.
You can also configure regular expression for attributes to use a partial
value of the X.509 certificate attribute for searching users. See “Regular
Expression for Extracting the Partial String from DN” on page 426.
3 Click Finish.
4 Create a method for this class.
During step-up authentication with X509 method as primary method, if a user specifies a
different username while authentication for secondary method, an error is displayed. While
configuring a method, configure the following property to enable customizing this error
message.
Property: PRINCIPAL_MISMATCH_ERR
Value: provide string to display on user principal mismatch
If this property is not configured, the default intruder detection error is displayed to users.
For instructions, see Section 4.1.3, “Configuring Authentication Methods,” on page 403.
5 Create a contract for the method:
For instructions, see Section 4.1.4, “Configuring Authentication Contracts,” on page 405.
If you want the user’s credentials available for Identity Injection policies, add the password
fetch method as a second method to the contract. For more information about this class and
method, see Section 4.1.10, “Password Retrieval,” on page 434.
6 Update Identity Server.
HR X509_HR CA_HR
Employees of the HR department use the certificate signed by CA_ HR and employees of the Finance
department use the certificate signed by CA_ Finance. Both certificates are imported into the trust
store.
If not specified, Access Manager does not validate certificates with any specific CA. In this case,
employees can authenticate with any certificate that is imported to the trust store irrespective of
the contracts they use. As a result, employees of the HR department can use the certificate signed by
CA_ Finance and employees of the Finance department can use the certificate signed by CA_ HR for
authentication.
When you specify the CA, Access Manager validates the certificates with the configured CA.
Therefore, you can restrict employees of the HR department to use the X509_ HR contract and
employees of the Finance department to use the X509_ Finance contract. Access Manager validates
the certificate with the CA configured in the Access Manager authentication method property.
For information about how to configure X.509 authentication, see “Configuring X.509
Authentication” on page 421.
Mutual SSL provides the same things from the server to the client as SSL. It provides authentication
and non-repudiation of the client, using digital signatures.
1 Set up Access Manager certificates for security, and import them into the Access Manager
system. (See Section 15, “Creating Certificates,” on page 1041.)
2 Create an X.509 authentication class. (See Section 4.1.7, “Mutual SSL (X.509) Authentication,”
on page 420.)
3 Create an authentication method using this class. (See Section 4.1.3, “Configuring
Authentication Methods,” on page 403.)
4 Create an authentication contract using the X.509 method. (See Section 4.1.4, “Configuring
Authentication Contracts,” on page 405.)
5 Update Identity Server cluster configuration. (See “Updating Identity Server Configuration” on
page 279.)
6 Update any associated Access Gateways to read the new authentication contract.
7 Assign the contract to protect resources.
See Section 2.6.5, “Configuring Protected Resources,” on page 134.
8 Update Access Gateway.
NOTE: If you use clientAuth=want in a connector, ensure that the connector contains
protocol="org.apache.coyote.http11.Http11Protocol".
3 Save the file and restart Identity Server by using the rcnovell-idp restart command.
This setting ensures that the certificate is exchanged between the client and the server.
IMPORTANT: Add the DNS name of the second connector in the browser exception list or proxy
settings.
You can specify the port and URL name as per your environment. The URL name and port number
specified in the following procedure is an example.
NOTE: Before you proceed to the next step, ensure that you have configured the X.509
class, method and contract. For more information, see Section 4.1.7, “Mutual SSL (X.509)
Authentication,” on page 420.
For X.509Class-based redirection, this property will redirect X.509 to the new connector. The
DNS named onbox is a sub-domain as indicated in the prerequisite.
Use a wildcard name for the identity server certificate. For example, *.nam.example.com.
8 Restart Tomcat by using the following commands:
Linux: /etc/init.d/novell-idp restart
Windows:
net stop Tomcat8
net start Tomcat8
1 Create an X.509 authentication class and method. See Configuring X.509 Authentication and
Configuring Attribute Mappings.
2 Navigate to Devices > Identity Servers > Edit > Local > Methods.
3 Select the X.509 authentication method and click New under Properties.
Specify the following details:
Property Name: CONNECTOR_HOST
Property Value: https://auth.idp.com:8448
NOTE: Check the log files and ensure that there are no errors.
12 Create a user certificate. See Chapter 15, “Creating Certificates,” on page 1041.
13 Import the certificate to the browser.
14 Create a contract for the method. See Section 4.1.4, “Configuring Authentication Contracts,” on
page 405.
A successful login to the User Portal verifies that the dual connector setup configuration is complete.
1 Click Devices > Identity Servers > Edit > Local > Classes.
2 Click New, then fill in the following fields:
Display name: Specify a name for the class.
Java class: Select OpenIdClass.
The Java class path is configured automatically.
3 Click Next, then configure the following properties:
Open ID Provider Substrings: Specify at least one URL substring of an OpenID provider. The
OpenID URL that user enters during the login process must contain one of the strings as a
subset of the OpenID URL. For example, if user enters https://user123.myopenid.com,
this field needs to contain one of the following strings:
myopenid.com
.myopenid.com
To specify multiple URLs, separate them with a semicolon (;)
NOTE: Set the Universal Password Retrieval options in the configuration of the Universal
Password policy, so that the policy allows the password to be retrieved from the user store.
User must reset the password after configuring the password policy for universal password.
For more information about unable to retrieve universal password from eDirectory by using
PasswordFetchClass issue, see TID 7007114 (http://www.novell.com/support/
search.do?cmd=displayKC&docType=kc&externalId=7007114&sliceId=1&docTypeID=DT_TID_1
_1&dialogID=195771684&stateId=0 0 195769770).
The user object must be looked up and found in an eDirectory user store for retrieval to
succeed. This is done by matching the currently authenticated user by using the CN attribute. If
your CN does not match in both of your directories (common when using Active Directory and
eDirectory), then use the DN of the user to locate the matching user object. When NetIQ
Identity Manager is used between Active Directory and eDirectory, you will find the Active
Directory DN value populated in the DirXML-ADContext attribute, which can be used for lookup
or matching. If no attribute has the DN value populated, then use the Auto Provision feature.
4 Configure the following userstore lookup settings:
Based on the CN of the user object: CN of users are mapped between two different user
stores. CN is mapped with for retrieving the password from the user store. For example, Active
Directory CN is mapped with eDirectory CN for retrieving the password from the eDirectory
user store.
Based on the Attribute value of the user object: The user names are detected and handled in
the LDAP attribute or DN of users of the Active Directory are mapped with LDAP attribute of the
eDirectory. If you select this option, then specify the attribute value in attribute details of the
Attribute name of DN and select Auto Provision if required.
Attribute Name of the DN: Specify the attribute name of DN.
This attribute must contain CN of user whose password you want to obtain. For example, if you
are trying to obtain a password from eDirectory for a user with cn=a,dc=b, then you need to
specify name of the attribute, which value is cn=a,dc=b.The passwordfetchclass tries fetching
the password from the current user store based on the value of the LDAP attribute specified,
which are mapped to user's DN of in Active Directory.
NOTE: You can use PasswordFetchClass as the second method of authentication for any of the
protocols supported by Identity Server.
To configure Identity Server for the eDirectory replica that has the NESCM method:
1 Click Devices > Identity Servers > Edit > Local> User Stores > New.
2 On the Create User Store page, fill the following fields:
Name: A display name for the eDirectory replica (for example, nescm_replica).
Admin Name: The distinguished name of the admin user of the directory. Administrator-level
rights are required for setting up a user store.
Admin Password and Confirm Password: The password for the admin user and the
confirmation for the password.
NOTE: If the admin account's password needs to be changed in the LDAP directory due to some
issue, then change the admin password in the Create User Store page accordingly and apply the
change. Else, this admin account of the user store will get locked.
If the Smart Card contains a certificate that meets the defined criteria (in this example, a matching
Subject name and trusted signing CA), the user is now successfully authenticated to the IDP and is
connected through Access Gateway to the protected resource.
4.1.11.6 Troubleshooting
Error Resolution
Authentication fails without Verify that you have configured the class and method correctly. See
prompting the user for the token “Creating an NMAS Class for NESCM” on page 438 and “Creating a
Method to Use the NMAS Class” on page 439.
Certificate validation fails Verify that a trusted root object created for the signing CA of the
certificate on the smart card exists in the eDirectory trusted root
container.
Web Server
Identity Server
Files: nidpkey.keytab,bcsLogin.conf
Kerberos: class, method, contract
User store: Active Directory
Access Gateway
Protected Resource for Web Server
Contract: Kerberos contract
To make Kerberos work with Internet Explorer, you need to enable integrated Windows
authentication. For information about how to enable this feature, see “Authentication Uses
NTLM instead of Kerberos” (http://technet.microsoft.com/en-us/library/cc779070.aspx).
Active Directory must be configured to contain entries for both users and their machines.
Active Directory and Identity Server must be configured to use a Network Time Protocol server.
If time is not synchronized, authentication fails.
If a firewall separates the Active Directory Server from Identity Server, ports TCP 88 and UDP 88
are opened. So that Identity Server can communicate with Key Distribution Centre (KDC) on the
Active Directory Server.
Field Description
First name Specify the hostname of Identity Server. This is the username. For the example
configuration, this is amser.
You can verify the hostname by running the hostname command on Identity
Server.
HTTP/amser.nam.example.com
(Complete this step regardless of the Windows version you are using.)
4 Click Next, configure the password, and perform the following actions:
Field Description
NOTE: For Domain Services for Windows, set HOST spn also by using this command: setspn -
A HOST/<userLogonName> <userName>
7 (Optional) Verify that the user has the required servicePrincipalName attribute with a valid
value. Enter the following command:
/out <outputFilename> Specify a name for the file, with .keytab as the
extension. For example: nidpkey.keytab
For this configuration example, specify the following command to create a keytab file named
nidpkey:
These instructions assume that you have installed and configured an Identity Server cluster
configuration.
See Installing Access Manager in the NetIQ Access Manager 4.5 Installation and Upgrade Guide and
Section 2.2, “Configuring Identity Servers Clusters,” on page 44.
Topics include:
“Enabling Logging for Kerberos Transactions” on page 446
“Configuring Identity Server for Active Directory” on page 447
“Creating the Authentication Class, Method, and Contract” on page 448
“Creating the bcsLogin Configuration File” on page 450
“Verifying the Kerberos Configuration” on page 451
“(Optional) Excluding Kerberos Authentication for Specific IP Addresses” on page 452
“(Optional) Configuring the Fall Back Authentication Class” on page 452
“(Optional) Modifying the LDAP Query Parameter of the Kerberos Method” on page 453
Field Description
Admin name Specify the name of the administrator of the Active Directory server.
Administrator-level rights are required for setting up a user store.
This ensures read/write access to all objects used by Access
Manager.
Admin password and Confirm Specify the password for the administrator of the Active Directory
password server and confirm the password.
Search Contexts For a new user store, click New and specify the context of the
administrator of the Active Directory server. For an existing user
store, verify that you have an entry for the context of the
administrator and add one if it is missing.
Field Description
Service Principal Name (SPN) Specify the value of the servicePrincipalName attribute of
the Identity Server user.
Kerberos Realm Specify the name of the Kerberos realm. The default value for this
realm is the domain name of the Active Directory server, entered in
all capitals. The value in this field is case-sensitive.
JAAS config file for Kerberos Verify the default path. This must be the same path to which you
copied the keytab file (see Step 2 in “Configuring the Keytab File”
on page 445) and end with the name of the configuration file,
bcsLogin.conf.
For information about creating this file, see “Creating the bcsLogin
Configuration File” on page 450.
Kerberos KDC Specify the IP address of KDC. If multiple KDCs are present for fail-
over support, then specify the IP addresses separated by colon (:).
You can configure up to four IP addresses.
User Attribute Specify the name of the Active Directory attribute that combines
the cn of the user with the DNS domain name to form its value.
5 (Conditional) If you have configured your users to have multiple User Principal Names (UPN) so
they can log in using different names (such as [email protected], [email protected], and
[email protected]), click New, specify the suffix (such as @abc.com), then click OK.
6 Click Finish.
Field Description
Display name Specify a name that you can use to identify this method.
User stores Move the Active Directory user store to the list of User stores.
If you have only one installed user store, <Default User Store> can be used.
If you have multiple user stores, the Active Directory user store must be in this list
(or if it is configured to be the default user store, <Default User Store> must be in
this list).
NOTE: The testing procedure to verify Kerberos authentication depends on whether the Active
Directory user store configured as the default user store. See Step 13.
Field Description
Display name Specify a name that you can use to identify this method.
URI Specify a value that uniquely identifies the contract from all other contracts.
Methods From the list of Available methods, move your Kerberos method to the
Methods list.
NOTE: Before setting the value to false, it is recommended that you access the protected site
via https and the keytab file is secure.
To configure this option, add the following entry in the kerb.properties file:
kerberos.exclude=IP Address/Range separated by comma.
kerberos.include=IP Address/Range separated by comma.
For example:
kerberos.exclude=1.1.1.1-9.255.255.255,10.50.1.1 - 10.50.1.50,11.1.1.1-
255.255.255.255
or
kerberos.include=10.1.1.1-10.49.255.255,10.50.1.51-10.255.255.255
For the clients coming from the IP addresses specified in kerberos.exclude, Kerberos
authentication will be skipped and will fall back to the custom authentication class. See “(Optional)
Configuring the Fall Back Authentication Class” on page 452.
For the clients coming from the IP addresses that are not specified in kerberos.include, kerberos
authentication will be skipped and will fall back to the custom authentication class. See “(Optional)
Configuring the Fall Back Authentication Class” on page 452.
The kerb.properties file is available at the following locations:
Linux: /opt/novell/nam/idp/webapp/nidp/WEB-INF/classes
Windows Server: \\Program Files\\Novell\\Tomcat\\webapps\\nidp\\WEB-
INF\\classes
If you want to fall back to basic authentication, configure any one of the following properties:
Property Name: FALLBACK_AUTHCLASS
For example, if you want to fall back to RADIUS, configure the following properties for the kerberos
method:
FALLBACK_AUTHCLASS=com.novell.nidp.authentication.local.RadiusClassJSP=rad
iusloginServer=<<radius IPs with comma separate>>SharedSecret=<<secret
string>>Port=<<port>>ReplyTime=7000 (in milli seconds, this is
optional)ResendTime=2000 (in milli seconds, this is optional)Retry=5 (this
is optional)Password=false
You can configure fall back to other mechanism based on the incoming header. In the kerberos
method, add property as NO_NEGO_HEADER_NAME in Property and specify the header that needs to
be ignored for the kerberos authentication in value.
For example, you have configure the name as NO_NEGO_HEADER_NAME with the value X-NovINet
in the kerberos method properties. Then, if the client comes with header X-NovINet, the kerberos
class will not be executed and it will fall back to the name password form by default or to the
configured fall back mechanism.
NOTE: If you have configured Internet Explorer settings, then you do not need to perform these
steps. Chrome in Windows uses the Internet Explorer settings.
6 In URL, specify Base URL of Identity Server with port and application. For this example
configuration, specify the following:
http://amser.nam.example.com:8080/nidp
In this configuration, Site A is identity provider for the corporate resources, and the employees
authenticate to this site and have access to the resources on the web server with the URL of
https://nam.example.com/inner.
Site B is identity provider for the Bugzilla application. Both employees and customers authenticate
to this site to access to the resources of the web server with the URL of https://
nam.example.com/bugz. After an account has been federated, the user can log in to Site A and
access to the resources on the web servers of both Site A and Site B.
In this scenario, Site B is not as secure a site as Site A, so federation is configured to go only one way,
from Site A to Site B. This means that users who log in to Site A have access to the resources at Site A
and B, but users who log in to Site B have access only to the resources at Site B. Federation can be
configured to go both ways, so that it does not matter whether the user logs into Site A or Site B.
When federation is configured to be bidirectional, both sites need to be equally secure.
Access Gateways in Figure 4-5 are service providers and are configured to use Identity Servers as
identity providers. The trusted relationship is automatically set up for you when you specify
authentication settings for Access Gateway and select an Identity Server Cluster.
Site A must be configured to trust Site B as a service provider, and Site B must be configured to trust
Site A as an identity provider. Until this two-way trust is established, federation cannot occur.
Before setting up a trusted relationship, you must make the following decisions:
Protocol: Identity Server supports SAML 1.1, SAML 2.0, and Liberty. You need to decide which of
these protocols to use. If no user interaction is needed, SAML 1.1 is probably a good choice. The
SAML 2.0 and Liberty protocols permit user interaction when federating. The user decides whether
to federate (link) the accounts and must be logged in at both sites to accomplish this. Liberty offers
an additional service, not available with SAML 2.0, that allows the user to select attributes that can
be shared with the service provider.
The instructions in this documentation, starting in “Prerequisites” on page 459, use the Liberty
protocol. They also indicate how to configure for the SAML 2.0 and SAML 1.1 protocols.
Trust Relationship: You need to decide whether the trusted relationship is going to be from Site A to
Site B, from Site B to Site A, or bidirectionally from Site A to Site B and from Site B to Site A.
Federation is set up to go from the most secure site to the less secure site. The only time federation
is set up to be bidirectional is when both sites are equally secure. The scenario described in Figure 4-
5 on page 457 is an example of a trusted relationship that you would want to go only one way, from
Site A to Site B, because Site B is not as secure as Site A.
The instructions, starting in “Prerequisites” on page 459, explain how to set up the trusted
relationship between Site A and Site B. You can easily modify them to set up the bidirectional trust
relationships by substituting Site B for Site A (and vice versa) in the instructions and then repeating
them for Site B
The configuration instructions, starting in “Prerequisites” on page 459, use the Login method for the
SAML 2.0 and Liberty protocols and Mapped Attributes method for the SAML 1.1 protocol.
The instruction for setting up a trusted relationship between two Access Manager Identity Servers
have been divided as follows:
“Prerequisites” on page 459
“Establishing Trust between Providers” on page 460
“Configuring SAML 1.1 for Account Federation” on page 467
Prerequisites
A basic Access Manager configuration with Identity Server and Access Gateway configured for
SSL.
This can be the one you set up using the instructions in either Chapter 2, “Setting Up a Basic
Access Manager Configuration,” on page 43 or Chapter 2.11, “Sample Configuration for
Protecting an Application Through Access Manager,” on page 251. For SSL configuration, see
Chapter 19.1, “Enabling SSL Communication,” on page 1071.
Identity Server from this configuration becomes Site B in Figure 4-6.
A second Identity Server with a basic configuration, an LDAP user store, and SSL. This Identity
Server is configured to be Site A in Figure 4-6.
Time synchronization must be set up for all the machines, or authentication can fail if assertions
expire before they can be used.
Field Description
Server IP/DNS Specify the IP address or DNS name of Site B. For Site B in
Figure 4-6, specify the following value:
idp.siteb.example.com
2d Click OK, then specify an alias for the certificate (for example, SiteB).
You will get two certificate options: Root CA Certificate and Server certificate. Select Root
CA Certificate.
2e Examine the trusted root that is selected for you.
If the trusted root is part of a chain, ensure that you select the parent and all intermediate
trusted roots.
Fields Description
Name Specify a name for the provider. If you plan on configuring more than one
protocol, include the protocol as part of the name, such as, SiteB_Liberty
Metadata URL Specify the URL of the Liberty metadata on Site B. For Site B in Figure 4-6,
specify the following:
http://idp.siteb.example.com:8080/nidp/idff/metadata
This example uses port 8080 to avoid any potential certificate problems that
occur when Identity Server and Administration Console are installed on
separate machines.
SAML 2.0 If you are using SAML 2.0, the metadata path is /nidp/saml2/metadata.
For Site B in Figure 4-6, specify the following value:
http://idp.siteb.example.com:8080/nidp/saml2/metadata
SAML 1.1 If you are using SAML 1.1, the metadata path is /nidp/saml/metadata. For
Site B in Figure 4-6, specify the following value:
http://idp.siteb.example.com:8080/nidp/saml/metadata
Field Description
Server IP/DNS Specify the IP address or DNS name of Site B. For Site B in
Figure 4-6, specify the following value:
idp.sitea.example.com
2d Click OK, then specify an alias for the certificate (for example, SiteA).
You will get two certificate options: Root CA Certificate and Server certificate. Select Root
CA Certificate.
2e Examine the trusted root that is selected for you.
If the trusted root is part of a chain, ensure that you select the parent and all intermediate
trusted roots.
2f Click OK.
The trusted root certificate of Site A is added to the NIDP trust store.
2g Click Close.
2h Click Identity Servers > Update > OK.
Wait for the health status to return to green.
3 Configure an identity provider for Site B.
3a Click Identity Servers > Edit > Liberty [or SAML 2.0 or SAML 1.1].
3b Click New and select Identity Provider.
3c Specify the following details:
Field Description
Name Specify a name for the provider. If you plan on configuring more than one
protocol, include the protocol as part of the name, such as SiteA_Liberty
Metadata URL Specify the URL of the Liberty metadata on Site A. For Site A in Figure 4-6,
specify the following:
http://idp.sitea.example.com:8080/nidp/idff/metadata
This example uses port 8080 to avoid any potential certificate problems that
occur when Identity Server and Administration Console are installed on
separate machines.
SAML 2.0 If you are using SAML 2.0, the metadata path is /nidp/saml2/metadata.
For Site A in Figure 4-6, specify the following for SAML 2.0:
http://idp.sitea.example.com:8080/nidp/saml2/metadata
SAML 1.1 If you are using SAML 1.1, the metadata path is /nidp/saml/metadata.
For Site B in Figure 4-6, specify the following for SAML 1.1:
http://idp.siteb.example.com:8080/nidp/saml/metadata
Field Description
Text Specify the text that is displayed on the card to the user
Image Specify the image to be displayed on the card. Select the image from the drop
down list. To add an image to the list, click Select local image.
Login URL (Conditional) If you are configuring an authentication card for SAML 1.1,
specify an Intersite Transfer Service URL. For Figure 4-5 on page 457, specify
the following value:
https://idp.sitea.example.com:8443/nidp/saml/
idpsend?PID=https://idp.siteb.example.com:8443/nidp/saml/
metadata&TARGET=https://idp.siteb.example.com:8443/nidp/
app
For more information, see “Specifying the Intersite Transfer Service URL for
the Login URL Option” on page 208.
Show Card Determine whether the card is shown to the user. If this option is not selected,
the card is only used when a service provider makes a request for the card. For
this scenario, select this option.
NOTE: To disable this prompt, add the following parameter in the web.xml file under the
ldapLoadThreshold context parameter:
<context-param><param-name>federationConsent</param-name><param-
value>true</param-value></context-param>
Linux: /opt/novell/nids/lib/webapp/WEB-INF/web.xml
Windows: \Program Files\Novell\Tomcat\webapps\nidp\WEBINF\web.xml
After updating web.xml, restart Identity Server.
4 Click Yes.
You are returned to the login page for Site B.
5 Enter the credentials of a user from Site B that you want to federate with the user from Site A.
These two accounts are now federated. You can enter the URL to the user portal on Site A or
Site B, and you are granted access without logging in again.
If you log out and log back in, the accounts are still federated, but you might be prompted for
login credentials as you access resources on Site A and Site B. To enable a single sign-on
experience, Identity Server at Site A, Identity Server at Site B, and the protected resources of
Access Gateways must be configured to share a contract.
6 To enable a single sign-on experience, continue with “Configuring User Authentication” on
page 464.
NOTE: If site A only understands authentication class or type, select Use Types in the
Requested By field and specify the authentication class in the Allowable Class field. Record
the allowable class for the contract you are using. This allowable class must exist as a
contract on site B. The name of the contract can be different at each site, but the allowable
class must be the same.
NOTE: Match the allowable class if you have selected Use Types in the Requested By field at
site B.
If such a contract does not exist, you need to create it. For help, see Section 4.1.4,
“Configuring Authentication Contracts,” on page 405.
5d Click OK.
6 In Administration Console for Site A, click Identity Servers > Edit > Local > Defaults.
7 For the Authentication Contract, select the name of the contract from step 5c.
8 (Conditional) If you have multiple user stores, set the default contract for each user store.
9 Click OK, then update Identity Server.
10 Test the configuration:
10a Enter the URL to the user portal of Site B.
10b Click the federated login link to Site A.
10c Enter the credentials for Site A and log in.
10d Enter the URL for a protected resource at Site B.
You are granted access without being prompted for credentials.
11 If you want to allow federated users to log in at Site A rather than using the card at Site B to
redirect them to Site A, complete the following tasks:
11a In Administration Console for Site B, click Devices > Identity Servers > Edit > Local > Defaults.
11b For the Authentication Contract, select the name of the contract whose URI matches the
URI of the contract used by Site A.
11c Click Liberty [or SAML 2.0] > [Name of Identity Provider] > Authentication Card >
Authentication Request.
11d In the Options section, enable the Use automatic introduction option.
This enables single sign-on to Site B when the user has already federated the accounts at
the two sites.
11e Click OK, then update Identity Server.
11f To test single sign-on, log in to the user portal on Site A, then enter a URL for a protected
resource at Site B.
Web Server
URL: https://nam.example.com/bugz
The key to sharing roles is to set up the configuration so that the SAML assertion that the identity
provider (Site A) sends to the service provider (Site B) contains the roles that the user has been
assigned. Site B evaluates the roles and assigns them to the federated users at Site B. Access
Gateway can use these roles in its policy evaluations, and grant or deny access based on the assigned
roles.
For example, when user tsmith authenticates to Site A, tsmith is assigned the role of doc. Tom, a user
at Site B, is federated with the tsmith user. The doc role is shared with Site B, and Site B contains a
policy that assigns users with the shared doc role to the tester role. Access Gateway is configured
with an Authorization policy that grants access to a resource when the requester is assigned the
tester role. However, Tom does not have the qualifications at Site B to be assigned the tester role.
When Access Gateway evaluates the credentials of Tom, Tom is granted access to the protected
resource because he now has the tester role.
This section describes how to set up such a configuration. It assumes that the following have already
been done:
The trusted relationship between the identity provider and service provider is set up. For
configuration instructions, see “Establishing Trust between Providers” on page 460.
The following policies have been created: the doc role policy at Site A, the tester role policy at
Site B, and the Authorization policy (that uses the tester role) for Access Gateway. For
information about creating a Role policy, see Chapter 10.2, “Role Policies,” on page 807, and for
the Authorization policy, see “Assigning an Authorization Policy to a Protected Resource” on
page 140. The following instructions explain how to set up the shared policy.
This section explains how to configure Site A and Site B so that Site A shares its roles with Site B.
“Configuring Role Sharing” on page 471
“Verifying the Configuration” on page 474
~~PA~ActionID_1203705845727~~AddRole~tester~~~Success(0)
Web Page (User Portal): A web page (user portal) is created with a list of URLs called Brokered URLs,
which provide access to various target applications.
Originating Identity Providers: The Originating Identity Provider is the identity provider with which
the user credentials are stored for authentication. The Origin IDP must be configured as a Liberty/
SAML1.1/SAML2.0 trusted identity provider in the SP Broker.
Federation Gateway or SP Broker: The Federation Gateway or SP Broker is a Access Manager
identity provider that can be configured to control the authentication between several Origin IDPs
and Allowed SPs in a federation circle.
Allowed Service Provider: The Allowed SP is the service provider in which the SP Broker provides
authentication. The allowed SP must be configured as a Liberty/SAML1.1/SAML2.0 trusted service
provider on SP Broker.
Target Application: The target application is the application running on a web sever that is protected
by the service provider.
Broker URL: A Broker URL is a specially designed Intersite Transfer URL, which consists of four parts.
You can click the brokered URL, which results in the following:
1. You must authenticate with the Originating IDP (https://idp1.com/idpsend).
2. The Origin IDP causes an authentication to occur at the SP Broker (?PID=SPBroker).
Prerequisites
1. Identify the Origin identity providers and their Allowed service providers. For example,
Company 1 establishes a business partnership with Partner 1, at which Company 1 users can
access the application of Partner 1. In this case, identity provider at Company 1, is now the
Origin identity provider and Allowed service provider is the service provider at Partner 1, and
controls access to its applications.
Configuration Flow
The following diagram depicts the various configuration steps involved in enabling the SP
Brokering feature assuming SP Brokering is enabled between Company 1 and Partner 1:
NOTE: Step 1 must be repeated for each of the origin identity provider in the federation circle and
step 1a must be repeated for each of the allowed service provider in the federation circle.
Step 2: Establish Federations at SP Broker for Origin Identity Providers and their
Allowed Service Providers
At the SP Broker, configure origin identity provider of Company 1 as the identity provider. The
federation protocol (SAML 1.1/ SAML 2.0/ Liberty) and the federation type (Persistent or Transient)
must match the federation protocol and federation type that is used for the respective origin identity
provider in the step 1 above.
For more information, see “Creating a SAML 1.1 Service Provider” on page 545, “Creating a Liberty
Service Provider” on page 550, and “Creating a Trusted Service Provider” on page 194.
Step 2a:
At the SP Broker, configure the allowed service provider of Partner 1 as the service provider. The
federation protocol (SAML 1.1/ SAML2.0/ Liberty) and the federation type (Persistent or Transient)
must match the federation protocol and the federation type that is used for the respective allowed
service provider in the Step1a above.
For more information, see “Creating a Trusted Identity Provider” on page 192.
For more information, see “Creating a Trusted Service Provider” on page 194.
NOTE: Step 2 must be repeated for each of the origin identity provider in the federation circle and
Step 2a must be repeated for each of the allowed service provider in the federation circle.
Step 4: Create Brokering Group for the Federation Circle with the Origin Identity
Providers and their Allowed Service Providers
Create a new brokering group in the SP Broker. Company 1 identity provider and Partner 1 service
provider must be selected as the origin identity provider and their allowed service provider.
For more information, see “Creating a Brokering Group” on page 484.
The SP Brokering is enabled when at least one brokering group is enabled. Origin identity providers
and their allowed service providers can either be added while creating the brokering group or
added/deleted by editing the brokering group.
The brokering is not allowed between the logical customers of Company 1 Brokering Group and
Company 2 Brokering Group.
Brokering is allowed among different partners of the company group.
Brokering is allowed between the brokering groups of Company 1 Brokering Group and
Company 2 Brokering Group.
Role based brokering is allowed among Company 1 and Partner 1 logical customers.
Role based brokering is allowed among Company 2 and Partner 2 logical customers.
Brokering is allowed among different partners based on roles and groups authentication of the
company.
To create a new broker group follow these steps:
1 Click Devices > Identity Servers > Brokering.
2 Click New. The Creating Brokering Group page displays.
3 Specify the following details:
Display Name: Brokering group display name.
Selected IDPs: At least one trusted IDP using navigation button.
Selected SPs: At least one trusted SP using navigation button.
Available Trusted IDPs: Displays Liberty/SAML1.1/SAML2.0 trusted IDP configured on the given
IDP cluster (idp_cluster1).
Available Trusted SPs: Displays Liberty/SAML1.1/SAML2.0 Trusted Service Providers configured
on the given Identity Provider Cluster (idp_cluster1).
4 Click Finish to complete creation of the brokering group creation.
NOTE: When you log out from Access Gateway device, then the logout is not propagated on the
other Identity Servers if you have SAML 1.1 as one of the trusted provider in the brokering group.
NOTE: The default rule specified during creation of the group has a priority of 1. Additional rules
can be added, and existing rules can be deleted or modified. You can use the Edit Rules Page to
modify the priority of the rules.
Origin IDP: Displays all Identity Servers or one or more Identity Servers that are available in the
group.
Allowed SP: Displays all service providers or one or more service providers that are available in
the group.
Role Conditions: Displays the brokering group role condition such as manager and employee,
configured on the rule page.
Actions: Select the Permit or Deny action radio button for the rule you configure to the
brokering group.
NOTE: By default, Access Manager allows any role. If you want to allow access to only particular
roles, configure a permit condition for roles with higher priority and configure a deny condition
in which no roles are defined with lower priority.
NOTE: If the Origin IDP drop-down list does not list any trusted providers, it is because a local
Identity Server exists as a trusted provider. To resolve this, add another Identity Server to the
Access Manager brokering group
NOTE: If the rule has the evaluate State as Pass 1 action as Deny, then the remaining rules are in
the non-executed state.
After a rule has the evaluate state as Pass 2, regardless of the action, the remaining rules are in
the non-executed state.
The rules before Pass 1, must have the evaluate state of Ignored. All these ignored rules must
have the role condition as Any, without specifying any role condition.
Pass 1 evaluation stops, as soon as a match for the Origin identity provider and allowed service
provider is found with specific to some role condition.
4.2.2.4 Generating the Brokering URLs by Using an ID and Target in the Intersite
Transfer Service
You can generate the brokering URL’s using the ID of the target. You can use this value to simplify the
Intersite Transfer Service URL that must be configured at the service provider. For more information,
see “Configuring an Intersite Transfer Service Target for a Service Provider” on page 211.
1 Click Devices > Identity Servers > Brokering or click Devices > Identity Servers > Edit > SAML 2.0 >
Trusted Providers > > (Broker Identity under the Service Providers list) >Intersite Transfer Service.
2 ID: Specify the ID value of the target.
3 Target: Specify the URL of the page that you want to display to users when they authenticate
with an Intersite Transfer URL.The behavior of this option is influenced by the Allow any target
option. If you are using the target ID as part of the Intersite Transfer URL and did not specify a
target in the URL, you need to specify the target in this field. For example, if you enter the target
URL as it appears below, then it will be displayed when you select Allow Any Target option.
https://login.company1.com:8443/nidp/saml2/
idpsend?id=217ID&TARGET=https%3A%2F%2Ffanyv88.com%3A443%2Fhttps%2FSPBROKER1.labs.blr.novell.com%3A
8443%2Fnidp%2Fsaml2%2Fidpsend%3FPID%3Dhttps%3A%2F%2Ffanyv88.com%3A443%2Fhttps%2Flogin.partner2B.co
m%3A8443%2Fnidp%2Fsaml2%2Fmetadata%26TARGET%3Dhttps%3A%2F%2Ffanyv88.com%3A443%2Fhttps%2Fpartner2b.
com
4 Allow any Target: Select this option to use the target that was specified in the Intersite Transfer
URL. If this option is not selected, the target value in the Intersite Transfer URL is ignored and
you can see the URL specified in the Target option.
4.2.2.5 Assigning The Local Roles Based On Remote Roles And Attributes
You are able to configure the attributes based on the roles you select in the Attribute set field. You
are able to log in and authenticated based on roles federated in the Origin Identity Provider, Target
Service Provider and the Brokering Service Provider configuration.
User
Store
Digital Airlines
5
4
1
2
9
ACME
8 10
11
12
Application / WebServer
( TARGET )
Workflow:
1. A user is authenticated at Digital Airlines identity provider. The user clicks Broker URL. Digital
Airlines checks if this user is authenticated. If not, it asks for user credentials and authenticates
the user.
2. Digital Airlines identity provider processes an intersite URL and creates an assertion for SP
Broker (Access Manager Identity Server).
NOTE: If you have selected Transient user mapping while configuring the name identifier
format, the Authenticate and Provision account options are not displayed for SAML 2.0.
NOTE: To enable the audit events for step up authentication, select the Federation Step-up audit
event.
5 Configure the post authentication method. These are the existing methods that can be used
after the authentication is successful. These are not used for authenticating a user but to
perform custom tasks post authentication, such as password fetch. For information about
password fetch, see Section 4.1.10, “Password Retrieval,” on page 434. If the post
authentication method fails, the session will remain valid.
Selected Methods: Using the arrow keys to move methods from the Available Methods list to
the Selected Methods list. The selected method is executed when post remote authentication
completes.
For example if you select the passwordfetch method, this method is executed at the service
provider after the identity provider authentication and federation completes.
Logout on method execution failure: If you select this check box, then whenever there is a
session failure, the user is logged out automatically.
6 Configure the session options.
Allow IDP to set session timeout: Select Allow Identity Provider to set session time-out
between the principal identified by the subject and the SAML authority based on
SessionNotOnOrAfter attribute in SAML assertion of authnStatement.
Overwrite Temporary User: If you select this check box, then the temporary user credentials
profile got form previous authentication method in the same session will be overwritten with
real user credentials profile got from this authentication method.
Overwrite Real User: If you select this check box, then the real user credentials profile got form
previous authentication method in the same session will be overwritten with real user
credentials profile got from this authentication method
Assertion Validity Window: You can manually set the assertion validity time for SAML Service
Provider (SP) to accommodate clock skew between Service Provider and SAML Identity (IDP)
Server.
7 Click OK twice, then update Identity Server.
IMPORTANT: Do not select this option if the expected name format identifier is persistent.
A persistent name format identifier requires that the user be identified so that information
can be stored with that user. To support the Do nothing option and allow anonymous
access, the authentication response must be configured for a transient identifier format. To
view the service provider configuration, see Section 2.7.8, “Configuring an Authentication
Response for a Service Provider,” on page 205.
Prompt user for authentication: Allows the user to specify the credentials for a user that
exists on the service provider. Sometimes users have accounts at both the identity provider
and the service provider, but the accounts were created independently, use different
names (for example, joe.smith and jsmith) and different passwords, and share no common
attributes except for the credentials known by the user.
Provision account: Assumes that the user does not have an account at the service provider
and creates one for the user. You must create a provisioning method.
6 Click OK.
7 (Conditional) If you selected Provision account when no match is found, select the Provision
settings icon. For information about this process, see “Defining the User Provisioning Method”
on page 498.
8 Click OK twice, then update Identity Server.
IMPORTANT: When a user object is created in the directory, some attributes are initially created
with the value of NAM Generated. Afterwards, an attempt is made to write the required and
optional attributes to the new user object. Because required and optional attributes are profile
attributes, the system checks the write policy for the profile’s Data Location Settings (specified in
Liberty > Web Service Provider) and writes the attribute in either LDAP or the configuration store. For
the LDAP write to succeed, each attribute must be properly mapped as an LDAP Attribute.
Additionally, you must enable the read/write permissions for each attribute in the Liberty/LDAP
attribute maps. See “Mapping LDAP and Liberty Attributes” on page 565.
Junction Junction
Username length cannot exceed (?) The user entered more characters for a user name
characters. than is allowed, as specified by the administrator.
Username is not available. The user entered a name that already exists in the
directory.
Passwords don't match. The user provided two password values that do not
match.
Passwords must be between (x) and (y) The user provided password values that are either
characters in length. too short or too long.
IMPORTANT: The SAML 2.0 and Liberty 1.2 protocols define a logout mechanism whereby the
service provider sends a logout command to the trusted identity provider when a user logs out at a
service provider. SAML 1.1 does not provide such a mechanism. When a logout occurs at the SAML
1.1 service provider, no logout occurs at the trusted identity provider. A valid session still runs at the
identity provider, and no credentials need to be entered. To log out at both providers, users must
navigate to the identity provider that authenticated them to the SAML 1.1 service provider and log
out manually.
Authorization Services
When a user authenticates to a site or an application, the user has access to the resource controlled
by Policy Enforcement Point (PEP). PEP checks for user access to the desired resource. The user is
either granted or denied access to the resource. SAML is used as the communication mechanism
between PEP and Policy Decision Point (PDP). In NetIQ product terminology, a PEP could be thought
of as the NetIQ Access Gateway, and the PDP as the NetIQ Identity Server.
a PP: sn
PP: ph#
4 5
3
Mapped Attributes to SAML Service Provider
1 2 b PP: sn = lastname
User/Browser PP: ph# = phonenumber
3
1. A user is logged in to Identity Server at abc.com (the user’s identity provider) and clicks a link to
xyz.com, a trusted SAML service provider.
Identity Server at abc.com generates the artifact. This starts the process of generating and
sending the SAML assertion. The HREF would look similar to the following:
User/Browser
1 Liberty/LDAP Local Attributes for Assertion
5 a PP: sn
PP: ph#
5 2
Target Resource
Mapped Attributes to SAML Service Provider
b PP: sn = lastname
3
PP: ph# = phonenumber
User Authentication 4
NOTE: If you enable the Show logged out providers option (Identity Servers > Edit > Identity
Providers) with HTTP Post profile, Access Manager does not complete a logout request
from the service provider. This occurs because of the difference in the HTTP method used
in the logout request. It is recommended to use HTTP Redirect method when Show logged
out providers option is enabled.
Name Management: Specifies the communication channel for sharing the common identifiers
for a user between identity providers and service providers. When an identity provider has
exchanged a persistent identifier for the user with a service provider, the providers share the
common identifier for a length of time. When either the identity provider or service provider
changes the format or value to identify the user, the system can ensure that the new format or
value is properly transmitted. Select one or more of the following options:
HTTP Post: A browser-based method used when the SAML requester and responder need
to communicate by using an HTTP user agent. This occurs, for example, when the
communicating parties do not share a direct path of communication. You also use this
when the responder requires user interaction to fulfill the request, such as when the user
must authenticate to it.
HTTP Redirect: A browser-based method that uses HTTP 302 redirects or HTTP GET
requests to communicate requests from this identity site to the service provider. SAML
messages are transmitted within URL parameters.
SOAP: Uses SOAP back-channel over HTTP messaging to communicate requests from this
identity provider to the service provider.
3 Click OK, then update Identity Server.
4 (Conditional) If you have set up trusted providers and have modified these profiles, reimport
providers’ metadata from this Identity Server.
NOTE: After federation, if you change the unique ID, Access Manager’s metadata gets changed for
the service provider. The metadata URL will not be same as the entity ID. The metadata link is
displayed within a note mentioned on the Trust tab of the trusted service provider page in
Administration Console.
Hence, the service provider must ensure to re-import the Access Manager metadata.
NOTE: This option will be displayed for updating Identity Server when a trusted service
provider setting is changed without changing Unique ID and Provider ID.
If you modify a certificate that is assigned to multiple service providers, the certificate
changes done for a single service provider will change it for all service providers even when
a specific SAML 2.0 trusted provider is updated.
If you change the Attributes setting, you must perform update for complete Identity Server
cluster configuration.
Two web applications Payroll Portal and HR Portal that are protected through different service
providers use Access Manager Identity Server as an identity provider. A user wants to use the name/
password form contract whenever the user accesses the HR application and wants to use the higher
level contract X509 for the Payroll application. Identity Server provides ability to execute the
appropriate contract that has been assigned to the service provider instead of executing the default
contract.
Perform the following steps to assign a specific contract to a service provider:
1 Click Devices > Identity Servers > Edit > SAML 2.0.
2 Click the configured service provider.
3 Go to Options > Step Up Authentication contracts and select the contracts from the Available
contracts list.
The following table lists the behavior of a service provider request:
1. Identity Server has no contracts set for this Execute default contract for validating the user
service provider as in Step 3. and default contract name is sent in the response.
2. Identity Server has contract C1 set for this C1 is executed for validating the user and C1 is
service provider as in Step 3. sent in the response.
1. Identity Server has no contracts set for this C1 is executed for validating the user and C1 is
service provider as in Step 3. sent in the response.
2. Identity Server has contract C1 set for this C1 is executed for validating the user and C1 is
service provider as in Step 3. sent in the response.
3. Identity Server has contract C2 set for this C2 is executed for validating the user and C2 is
service provider. C2 has trust level check disabled. sent in the response.
4. Identity Server has contract C2 set for this If trust level of C2 >= trust level of C1, then C2 is
service provider. C2 has trust level check enabled. executed and C2 is sent in the response.
NOTE: When using the service provider (SP) initiated login with a SAML 2.0 SP federation, the SP
configuration can impact the selection of the Access Manager contract for authentication depending
on the values sent in SAML authentication request. To make it work properly, you must define your
Access Manager contract URI to match with the request sent by the service provider.
For more information, see “Allowable Class” in Section 4.1.4, “Configuring Authentication
Contracts,” on page 405.
NOTE: The post binding can be configured to be sent as a compressed option. Perform the
following steps to achieve this:
1. Click Devices > Identity Servers > Edit > Options > New.
2. Select IS SAML2 POST INFLATE in Property Type and true in Property Value. This provider will
receive deflated SAML2 POST messages from its trusted providers.
3 Specify the identity formats that Identity Server can send in its response. Select one or more of
the following options:
Option Description
Persistent Specifies that a persistent identifier, which is written to the directory and remains
intact between sessions, can be sent.
Transient Specifies that a transient identifier, which expires between sessions, can be sent.
Unspecified Specifies that an unspecified format can be used and any value can be used. The
service provider and the identity provider need to agree on the value that is placed in
this identifier.
4 Click Default to select the name identifier that Identity Server must send if the service provider
does not specify a format.
If you select E-mail, Kerberos, x509, or unspecified as the default format, you must also select a
value. See Step 5.
IMPORTANT: If you have configured the identity provider to allow a user matching expression
to fail and still allow authentication by selecting the Do nothing option, you need to select
Transient identifier format as the default value. Otherwise, the users who fail matching
expression are denied access. To view the identity provider configuration, see “Defining User
Identification for Liberty and SAML 2.0” on page 493.
Executing Authorization Based Roles Policy During SAML 2.0 Service Provider
Initiated Request
Access Manager service provider federation profiles do not allow control based authorization
policies. Usually, the service providers enforce authorization rules. However, every service provider
does not have this flexibility. It is recommended not to trust the service provider to enforce such
rules. You can now apply an authorization policy to a configured service provider to either allow or
not to allow access to the service provider. Identity Server evaluates service providers and generates
assertions.
Scenario: Company xyz.com uses a CRM application that is protected through a SAML 2.0 service
provider. This application must only be accessible to the sales team. Whenever a user accesses the
application through the service provider, it redirects to Identity Server for validating the user.
Figure 4-12 Executing Authorization Policy Based on Role
For more information about configuring a brokering for authorization of service providers, see
“Configuring a Brokering for Authorization of Service Providers” on page 482.
NOTE: When you assign custom certificates to each service provider while configuring
Identity Server, ensure that you export these certificates and custom metadata to the
service provider. To retrieve the metadata, click on the metadata link. This link is available
in the note on the Trust page.
For example, the default certificates have the following default metadata URL: <IDP URL>/
nidp/saml2/metadata.
The custom certificates have the following custom metadata URL for a service provider:
<IDP URL>/nidp/saml2/metadata?PID=<SP Entity ID >.
Certificate Revocation Check Periodicity: Specifies if the certificate is valid or not. Select
periodicity to validate the certificate.
SOAP Back Channel Security Method: Select one of the following security methods:
Message Signing: Relies upon message signing by using a digital signature.
Mutual SSL: Specifies that this trusted provider provides a digital certificate (mutual SSL)
when it sends a SOAP message.
SSL communication requires only the client to trust the server. For mutual SSL, the server
must also trust the client. For the client to trust the server, the server’s certificate authority
(CA) certificate must be imported into the client trust store. For the server to trust the
client, the client’s CA certificate must be imported into the server trust store.
Basic Authentication: Specifies standard header-based authentication. This method
assumes that a name and password for authentication are sent and received over the SOAP
back-channel.
Send: The name and password to be sent for authentication to the trusted partner. The
partner expects this password for all SOAP back-channel requests, which means that the
name and password must be agreed upon.
Verify: The name and password used to verify data that the trusted provider sends.
3 Click OK > OK.
4 Update Identity Server.
If you want to update only the metadata for a specific service provider, you can select Devices >
Identity Servers > Update All > SAML2 Trusted Provider Update > OK.
NOTE: You can configure the post binding to be sent as a compressed option. Perform the
following steps to achieve this:
1. Click Devices > Identity Servers > Edit > Options > New.
2. Select IS SAML2 POST INFLATE in Property Type and true in Property Value.
3. Click OK.
4. Click Devices > Identity Servers > Edit > SAML 2.0 > Service Provider or Identity Provider>
Options > New.
5. Select SAML2 POST DEFLATE TRUSTEDPROVIDERS in Property Type and enter trusted
provider′s name, metadata URI, or provider ID in Property Value. You can specify multiple
trusted providers in a comma separated format. These are the trusted providers who
expect SAML2 POST messages in deflated format. In other words, this provider has to send
deflated SAML2 POST messages to the listed trusted providers.
6. Click OK.
7. Restart Identity Server by using this command: /etc/init.d/novell-idp restart.
IMPORTANT: Enable the Use automatic introduction option only when you are confident the
identity provider will be up. If the server is down and does not respond to the authentication
request, the user gets a page-cannot-be-displayed error. Local authentication is disabled
because the browser is never redirected to the login page.
This option must be enabled only when you know the identity provider is available 99.999% of
the time or when the service provider is dependent upon this identity provider for
authentication.
Comparison Description
Context
Exact Indicates that the class or type specified in the authentication statement must be an exact
match to at least one contract.
For example, when the comparison context is set to exact, the identity provider uses the
URI in the request to find an authentication procedure. If an exact URI match is found, the
user is prompted for the appropriate credentials. If an exact match is not found, the user is
denied access.
Better Indicates the contract that must be stronger than the class or type specified in the
authentication statement.
If the identity provider is a NetIQ Identity Server, Identity Server first finds the specified
class or type and its assigned authentication level. It then uses this information to find a
contract that matches the conditions. For example if the authentication level is set to 1 for
the class or type, the identity provider looks for a contract with an authentication level that
is higher than 1. If one is found, the user is prompted for the appropriate credentials. If
more than one is found, the user is presented with the matching cards and is allowed to
select the contract. If a match is not found, the user is denied access.
Minimum Indicates that the contract must be as strong as the class or type specified in the
authentication statement.
If the identity provider is a NetIQ Identity Server, Identity Server first finds the specified
class or type and its assigned authentication level. It then uses this information to find a
contract that matches the conditions. For example if the authentication level is set to 1 for
the class or type, the identity provider looks for a contract with an authentication level of 1
or higher. If one is found, the user is prompted for the appropriate credentials. If more than
one is found, the user is presented with the matching cards and is allowed to select the
contract. If a match is not found, the user is denied access.
Maximum Indicates that contract must as strong as possible without exceeding the strength of at least
one of the authentication contexts specified.
If the identity provider is a NetIQ Identity Server, Identity Server first finds the specified
classes or types and their assigned authentication levels. It then uses this information to
find a contract that matches the conditions. For example if the authentication level is set to
1 for some types and 3 for other types, the identity provider looks for contracts with an
authentication level of 3. If a match or matches are found, the user is presented with the
appropriate login prompts. If there are no contracts defined with a authentication level of
3, the identity provider looks for a match with an authentication level of 2, or if necessary,
level 1. It cannot search below the lowest level of class in the authentication request or
higher than the highest level of a class in the authentication request.
When you configure the authentication request, you specify the comparison context for a type or a
contract.
Defining Session Synchronization for the A-Select SAML 2.0 Identity Provider
If a user session is active on the service provider, the service provider periodically sends session
synchronization to Identity Server to maintain the session. You must configure the properties for the
session synchronization between the service provider and the target identity provider.
1 Click Devices > Identity Servers > Servers > Edit > Liberty or SAML 2.0 > Identity Provider >
Options.
2 Click New.
3 Select Other in Property Type.
4 Specify the following values:
Property Name: config.aselect.sessionsync.enabled
Property Value: true
5 For session synchronization, add two options, one to enable the session synchronization and
the other to provide the URL to which synchronization message must be sent.
The session synchronization message is sent from the Access Manager service provider to the A-
Select identity provider, in tandem with Access Gateway ESP's activity update. The session
synchronization message is sent only if the user session is active at Access Gateway portal,
which is the ESP to the Access Manager service provider. If you log in directly to the Access
Manager service provider, even if the session is active, the session synchronization message is
not sent to the A-Select identity provider.
6 Click OK, then update Identity Server.
NOTE: Access Manager 4.2 onwards, configuring the following options through files is
deprecated. You must configure these option by using Administration Console.
Extensions Specify the value in this format: <samlp:Extensions>. This value is sent in
the authentication request to this identity provider.
SAML ASSERTION Select true to get SAML requests for this identity provider including the
INCLUDE MILLISECS timestamp in millisecond in IssueInstant.
SAML2 AVOID CONSENT Select true to not include Consent as part of the SAML 2.0 request to
this identity provider.
SAML2 AVOID ISPASSIVE Select true to not include IsPassive in a SAML 2.0 request to this identity
provider.
SAML2 AVOID If you select true, NameIDPolicy is not included in a SAML 2.0 request to
NAMEIDPOLICY this identity provider.
SAML2 AVOID If you select true, ProtocolBinding is not included in a SAML 2.0 request
PROTOCOLBINDING to this identity provider.
SAML2 AVOID If you select true, ProxyCount is not included in a SAML 2.0 request to
PROXYCOUNT this identity provider.
SAML2 ASSERTION Set the value to true for sending the SAML 2.0 assertion request audit log
REQUEST AUDIT EVENT to the specified audit server. The name of the audit event is displayed in
the reports as NIDS: Sent a federation request event. The audit log
includes the assertion details based on the request that is sent to the
configured identity provider. By default, this option is set to false.
To use this property ensure that you have configured auditing details and
enabled Audit Logging in the Auditing and Logging page of Identity
Server.
SAML2 ASSERTION Set the value to true for sending the SAML 2.0 assertion response audit
RESPONSE AUDIT EVENT log to the specified audit server. The name of the audit event is displayed
in the reports as NIDS: Assertion Information. The audit log includes the
assertion details based on the response received from the configured
identity provider. By default, this option is set to false.
To use this property ensure that you have configured auditing details and
enabled Audit Logging in the Auditing and Logging page of Identity
Server.
SAML2 AVOID SIGN AND If you select true, the cluster will accept SAML 2.0 POST responses from
VALIDATE ASSERTIONS this provider when the response is signed and assertion is not.
TRUSTED PROVIDERS
SAML2 CHANGE ISSUER Specify the provider ID to be sent as issuer in the SAML requests to this
identity provider.
SAML2 CUSTOM Set this option to specify custom authentication class references. Use
AUTHNCONTEXT CLASS delimiter & to specify more than one class reference. The value of this
REF LIST property is set to the value of AuthnContextClassRef element of
AuthnRequest.
SAML2 POST DEFLATE If you select true, the cluster will send deflated post messages to this
TRUSTEDPROVIDERS provider.
SAML2 SEND ACS INDEX Select true to send AssertionConsumerServiceIndex with AuthnRequest
to this identity provider.
SAML2 SEND ACS URL Select true to send AssertionConsumerServiceURL with AuthnRequest to
this identity provider.
SAML2 SIGN The default algorithm that is used as signing algorithm for SAML 2
METHODDIGEST SHA256 assertions is SHA256. Set the value to false if you want to use SHA1
algorithm as signing algorithm for assertions.
OTHER Specify Property Name and Value if you want to configure any other
property for this identity provider.
Sample XML File When All SAML Options Are Set to True
<samlp:AuthnRequest xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" AssertionConsumerServiceIndex="2"
ForceAuthn="false" ID="id5R6u1JFtay7eK.il97Q3eRl34u8" IssueInstant="2013-01-18T06:11:26Z"
Version="2.0">
<saml:Issuer> https://nam.rtreyresearch.net:8443/nidp/saml2/metadata</saml:Issuer>
</samlp:AuthnRequest>
Sample XML File When All SAML Options Are Set to False
<samlp:AuthnRequest
xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"xmlns:saml="urn:oasis:names:tc:SAML:2.0:ass
ertion" AssertionConsumerServiceIndex="0"
AttributeConsumingServiceIndex="2"Consent="urn:oasis:names:tc:SAML:2.0:consent:unav
ailable" ForceAuthn="false" ID="idoeZTKq7FOs5MsCigBBCwp30lqD0"
IsPassive="false"IssueInstant="2013-01-
23T05:25:32Z"ProtocolBindingProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTT
P-POST"Version="2.0">
<saml:Issuer> https://saml.mariagerfjord.dk:8443/nidp/saml2/metadata</saml:Issuer>
<samlp:NameIDPolicyAllowCreate="true"Format="urn:oasis:names:tc:SAML:2.0:nameid-
format:persistent"SPNameQualifier="https://nam.rtreyresearch.net:8443/nidp/saml2/metadata"/
><samlp:Scoping ProxyCount="5"/>
</samlp:AuthnRequest>
NOTE: For SAML 2.0, this step up authentication is supported for Intersite Transfer Service (for both
identity provider initiated and service provider initiated requests). For Liberty, it works only for
identity provider initiated requests.
Perform the following steps to define options for a SAML 2.0 service provider:
1 Click Devices > Identity Servers > Servers > Edit > SAML 2.0 > Service Provider > Options.
2 Select OIOSAML Compliance to make the service provider OIOSAML compliant.
The OIOSAML attribute set is automatically populated with the required attributes to send with
authentication after selecting this option.
3 Select the required step up authentication contracts from the Available contracts list and move
them to the Selected contracts list. This is to provide the step up authentication for the service
provider.
NOTE: Only the contract that is configured first in the Selected contracts list will be executed.
This is applicable only for SAML 2.0.
4 Click New.
The following table lists the available properties:
NOTE: Access Manager 4.2 onwards, configuring the following options through files is
deprecated. You must configure these option by using Administration Console.
SAML ASSERTION INCLUDE MILLISECS Select true to get SAML responses for this
service provider including the timestamp in
millisecond in IssueInstant.
SAML2 AVOID AUDIENCE RESTRICTION Select true to avoid sending the audience
restriction information with assertion to this
service provider.
SAML2 AVOID SIGN AND VALIDATE ASSERTIONS If you select true, the cluster will sign SAML 2.0
TRUSTED PROVIDERS POST responses (excluding the assertion) for
this provider.
SAML2 CUSTOM AUTHNCONTEXT CLASS REF LIST This property helps in identifying the contract
that Identity Server can use for authenticating
users for a specific service provider.
<saml:AuthnContextClassRef>urn:oa
sis:names:tc:SAML:2.0:ac:classes:
Password</
saml:AuthnContextClassRef>
SAML2 NAMEID ATTRIBUTE NAME Specify the LDAP attribute name that will be
sent in the name identifier in a SAML response
for this service provider.
SAML2 POST DEFLATE TRUSTEDPROVIDERS If you select true, the cluster will send deflated
post messages to this provider.
SAML2 POST SIGN RESPONSE TRUSTEDPROVIDERS If you select true, the identity provider will sign
the entire SAML 2.0 response for this service
provider.
SAML2 REQUEST IGNORE AUTHCONTEXT If you select true, the identity provider ignores
any specific authentication available in a SAML
request from this service provider.
SAML2 SHOW SHARED ATTRIBUTE NAMES If you select true, the attributes shared with the
SAML 2 service provider are displayed on the
user portal page.
SAML2 SIGN METHODDIGEST SHA256 If you select true, assertion will use the SHA 256
algorithm as a hashing algorithm for this service
provider.
NOTE: Do not disable the Show Card option for default contracts.
Passive Authentication Only: Select this option if you do not want Identity Server to prompt
the user for credentials. If Identity Server can fulfill the authentication request without any user
interaction, the authentication succeeds. Otherwise, it fails.
Satisfies Contract: Select the required contracts from the Available contracts list and move
them to the Satisfies contract list.
If the Access Manager identity provider is unable to execute the requested authentication
contract, it looks for the configured external identity provider. This happens when the
Satisfiable by External Contract option is enabled that satisfies the incoming authentication
(contract) request. If the match is found, the identity provider lists all the satisfiable contracts to
select the appropriate contract. If only a single match is found, the identity provider redirects it
to an external contract.
If the local identity provider is able to authenticate by using a local contract, which is satisfiable
by an external provider, then the first preference is given to the local contract along with the
other authentication cards listed.
To configure the contract matching criteria, see “Allowable Class” in Section 4.1.4, “Configuring
Authentication Contracts,” on page 405.
3 Click OK > OK and update Identity Server.
NOTE: This is possible only when the identity provider and service providers are deployed on Access
Manager.
4.2.4.9 Configuring Active Directory Federation Services with SAML 2.0 for Single
Sign-On
This section describes step-by-step instructions for configuring a basic identity federation
deployment between Microsoft Active Directory Federation Services 2.0 (AD FS 2.0) and Access
Manager by using SAML 2.0, specifically its Web Browser SSO Profile and HTTP POST binding.
You can configure AD FS 2.0 as the claims provider and Access Manager as the relying party, or you
can configure Access Manager as the claims provider and AD FS 2.0 as the relying party or service
provider.
“Prerequisites and Requirements” on page 531
“Configuring Access Manager as a Claims or Identity Provider and AD FS 2.0 as a Relying Party or
Service Provider” on page 532
“Configuring AD FS 2.0 as the Claims or Identity Provider and Access Manager as the Relying
Party or Service Provider” on page 539
NOTE: You can download the evaluation version of Access Manager from NetIQ’s download portal
(https://dl.netiq.com/).
Linux Environment
Access Manager 4.x.x.
SUSE Linux Enterprise Server (SLES) 11 SP4 64-bit or a higher version.
NOTE: Access Manager supports both Windows and Linux. This section discusses only the Linux
environment.
Name Resolution
The hosts file on the AD FS 2.0 computer (fsweb.contoso.com) is used to configure name resolution
of the partner federation servers and sample applications.
Clock Synchronization
Federation events have a short time to live (TTL). To avoid errors based on time-outs, ensure that
both computers have their clocks synchronized.
NOTE: For information about how to synchronize a Windows Server 2012 domain controller to an
Internet time server, see article 816042 (http://go.microsoft.com/fwlink/?LinkID=60402) in the
Microsoft Knowledge Base.
On SLES 11 SP1 64-bit or a higher version, use the command sntp -P no -p pool.ntp.org to
synchronize time with the Internet time server.
NOTE: To deploy this identity federation, create a new contract with the
“urn:oasis:names:tc:SAML:2.0:ac:classes:Password” URI and with the name password form method.
Configure this contract as the default contract.
Using ADFS Metadata to Add a New Service Provider for Access Manager
Getting the AD FS 2.0 Metadata
Adding a New Service Provider Connection
Adding an AD FS Server Trusted Certificate
Creating an Attribute Set in Access Manager
Configuring the Service Provider in Access Manager
Configuring AD FS 2.0
Using Metadata to Add Claims Provider
Editing Claim Rules for the Claims Provider Trust
Editing Claim Rules for the WIF Sample Application
Editing Claim Rules for the SharePoint 2010 Application
Disabling CRL Checking in the Linux Identity Server
6 Select the Pass through all claim values option and click Finish.
7 Click Add Rule.
8 On the Select Rule Template page, select the Pass Through or Filter an Incoming Claim option.
9 Click Next.
10 On the Configure Claim Rule page, under Claim rule name, specify the following values:
Name Value
11 Keep Pass through all claim values selected and click Finish.
12 To acknowledge the security warning, click Yes.
13 Click OK.
14 Click Add Rule.
15 On the Select Rule Template page, select Pass Through or Filter an Incoming Claim.
16 Click Next.
17 On the Configure Claim Rule page, specify the following values under Claim rule name:
Name Value
18 Keep Pass through all claim values selected and click Finish.
19 To acknowledge the security warning, click Yes.
20 Click OK.
Name Value
6 Keep Pass through all claim values selected, then click Finish.
7 On the Issuance Transform Rules tab, click Add Rule.
8 On the Select Rule Template page, click Pass Through or Filter an Incoming Claim.
9 Click Next.
10 On the Configure Claim Rule page, specify the following values:
Name Value
11 Keep Pass through all claim values selected, then click Finish.
12 Click OK.
NOTE: If you changed the rules while federating AD FS 2.0 with the WIF sample application, ensure
that you add the Permit All Users issuance rules back to the WIF sample application. See Step 6: –
Change Rules in the AD FS 2.0 Federation with a WIF Application Step-by-Step Guide (http://
technet.microsoft.com/en-us/library/adfs2-federation-wif-application-step-by-step-
guide%28WS.10%29.aspx).
Or, as an alternative, add a new Permit or Deny Users Based on an Incoming Claim rule allowing
incoming Name ID = [email protected] to access the application.
6 Leave the Pass through all claim values option selected and click Finish.
NOTE: You can make many configuration changes to AD FS 2.0 by using the Windows PowerShell
command line and scripting environment. For more information, see AD FS 2.0 Windows PowerShell
Administration (http://go.microsoft.com/fwlink/?LinkId=194005) of the AD FS 2.0 Operations Guide
and AD FS 2.0 Cmdlets Reference (http://go.microsoft.com/fwlink/?LinkId=177389).
NOTE: Clear all the cookies in the Internet Explorer on the AD FS 2.0 computer (fsweb.contoso.com).
To clear cookies, click Tools > Internet Options > Delete under Browsing History, and then select
cookies for deletion.
NOTE: Clear all the cookies in the Internet Explorer on the AD FS 2.0 computer (fsweb.contoso.com).
To clear cookies, click Tools > Internet Options > Delete under Browsing History, then select cookies
for deletion.
1 Ensure that an email ID has been configured for the user in the Access Manager user store.
For this example, use [email protected].
2 Access the SharePoint 2010 application.
The user is redirected to AD FS 2.0.
3 Select NetIQ Identity Server.
The user is redirected to the NAM IDP nidp page for authentication.
4 Provide namuser1 as the username and password.
After authentication, the user is redirected to the SharePoint application.
Configuring AD FS 2.0 as the Claims or Identity Provider and Access Manager as the
Relying Party or Service Provider
This section explains how to configure an application through AD FS 2.0 that gets federated access to
an application by using Access Manager. The setup uses the SAML 2.0 POST profile.
“Configuring Access Manager” on page 540
“Configuring AD FS 2.0” on page 541
Configuring AD FS 2.0
“Using the Metadata to Add a Relying Party” on page 541
“Editing Claim Rules for a Relying Party Trust” on page 541
“Disabling the Certificate Revocation List” on page 542
“AD FS 2.0 Encryption Strength” on page 543
User-Principal-Name UPN
7 Click OK.
8 Click Apply > OK.
9 On the Issurance Transform Rules tab, click Add Rules.
10 On the Select Rule Template page, select Transform an Incoming Claim, then click Next.
11 On the Configure Claim Rule page, use the following values:
Name Value
AD FS 2.0 Basics
“Configuring the Token-Decrypting Certificate” on page 543
“Adding CA Certificates to AD FS 2.0” on page 543
NOTE: The PID in the login URL must exactly match the entity ID specified in the metadata.
Liberty Profile Service Specifications Liberty Alliance ID-SIS 1.0 Specifications (http://
www.projectliberty.org/resources/
specifications.php#box3)
IMPORTANT: Enable the Use automatic introduction option only when you are confident the
identity provider will be up. If the server is down and does not respond to the authentication
request, the user gets a page-cannot-be-displayed error. Local authentication is disabled
because the browser is never redirected to the login page.
This option must be enabled only when you know the identity provider is available 99.999% of
the time or when the service provider is dependent upon this identity provider for
authentication.
NOTE: This step up authentication is supported only for Intersite Transfer Service (identity provider
initiated) requests on Liberty and works for both identity and service provider initiated requests for
SAML 2.0.
For additional resources about the Liberty Alliance specifications, visit the Liberty Alliance
Specification (http://www.projectliberty.org/resources/specifications.php) page.
WARNING: Do not delete this profile. In normal circumstances, this profile is used only by the
system.
Credential Profile: Allows users to define information to keep secret. It uses encryption to store
the data in the directory the user profile resides in.
Custom Profile: Used to create custom attributes for general use.
Discovery: Allows requesters to discover where the resources they need are located. Entities
can place resource offerings in a discovery resource, allowing other entities to discover them.
Resources might be a personal profile, a calendar, travel preferences, and so on.
Employee Profile: Allows you to manage employment-related information and how the
information is shared with others. A company address book that provides names, phones, office
locations, and so on, is an example of an employee profile.
LDAP Profile: Allows you to use LDAP attributes for and general use.
Personal Profile: Allows you to manage personal information and to determine how to share
that information with others. A shopping portal that manages the user’s account number is an
example of a personal profile.
User Interaction: Allows you to set up a trusted user interaction service, used for identity
services that must interact with the resource owner to get information or permission to share
data with another web service consumer. This profile enables a web service consumer and web
service provider to cooperate in redirecting the resource owner to the web service provider and
back to the web service consumer.
3 Click OK.
4 On the Servers page, update Identity Server.
Modifying Details for Authentication, Discovery, LDAP, and User Interaction Profiles
This page allows you to specify information for Discovery, LDAP, and User Interaction web service
profiles. If you are creating a web service type, this is Step 2 of the Create Web Service Wizard.
For conceptual information about profiles, see Managing Web Services and Profiles.
1 Click Devices> Identity Servers > Edit > Liberty > Web Service Provider > [Profile].
2 Click Authentication, Discovery, LDAP, or User Interaction, depending on which profile you want
to edit.
3 Configure the following fields:
Display name: The web service name. This specifies how the profile is displayed in
Administration Console.
Have Discovery Encrypt This Service’s Resource Ids: (Not applicable for the Discovery profile)
Specifies whether the Discovery Service encrypts resource IDs. A resource ID is an identifier
used by web services to identify a user. The Discovery Service returns a list of resource IDs when
a trusted service provider queries for the services owned by a given user. The Discovery Service
The interface allows these changes to simplify switching between configurations if, for example,
you want to remove an inherited policy.
Inherited: Specifies the settings inherited from the parent attribute policy, when you view a
child attribute. In the User Portal, settings displayed under Inherited are not modifiable by the
user. At the top-level policy in the User Portal, the values are inherited from the settings in
Administration Console. Thereafter, inheritance can come from the service policy or the parent
data item’s policy.
Ask Me: Specifies that the service provider requests from the user what action to take.
Always Allow: Specifies that the identity provider always allows the attribute data to be sent to
the service provider.
Never Allow: Specifies that the identity provider never allows the attribute data to be sent to
the service provider.
When a request for data is received, Identity Server examines policies to determine what action
to take. For example, if a service provider requires a postal address for the user, Identity Server
performs the following actions:
Checks the settings specified in All Service Providers.
If no solution is found, checks for the policy settings configured for the service provider.
6 Click OK until the Web Service Provider page is displayed.
7 Click OK, then update Identity Server as prompted.
NOTE: Do not use this LDAP attribute in Policy configuration as shared secrets. Instead
you create the shared secrets attributes. The Shared secret attributes are populated in
the configured LDAP attribute, and are used by policy for mapping. For more
information about how to create shared secret, see Chapter 10.5, “Form Fill Policies,”
on page 916.
To use Novell SecretStore to remotely store secrets, click New under Novell Secret
Store User Store References.
Click the user store that you have configured for SecretStore.
Secure LDAP must be enabled between the user store and Identity Server to add this
user store reference.
5c Click OK twice.
6 On Identity Server page, update Identity Server.
Customizable String (1 - 10): The Custom Profile allows custom single-value and multiple-value
attributes to be defined without using the Data Model Extension XML to extend a service’s schema.
To use a customizable attribute, navigate to the Custom Attribute Names tab on the Custom Profile
Details page (see “Customizing Attribute Names” on page 564). Use the page to customize the name
of any of the predefined single-value or multiple-value customizable attributes in the Custom Profile.
After you customize a name, you can use that attribute in the same way you use any other profile
attribute.
Section 4.2.8.1, “Using Identity Server as an Identity Provider for ADFS,” on page 574
Section 4.2.8.2, “Using the ADFS Server as an Identity Provider for an Access Manager Protected
Resource,” on page 586
Section 4.2.8.3, “Managing WS Federation Providers,” on page 592
Section 4.2.8.4, “Modifying a WS Federation Identity Provider,” on page 595
Section 4.2.8.5, “Modifying a WS Federation Service Provider,” on page 599
Section 4.2.8.6, “Configuring STS Attribute Sets,” on page 602
Section 4.2.8.7, “Configuring STS Authentication Methods,” on page 602
Section 4.2.8.8, “Configuring STS Authentication Request,” on page 602
Identity Server
Browser ADFS
Server
3
Active Directory
Server
2
5
1
SharePoint
Server
Prerequisites
You have set up the Active Directory Federation Services, Active Directory, and SharePoint
servers and the client as described in the ADFS guide from Microsoft. See the “Step-by-Step
Guide for Active Directory Federation Services” (https://technet.microsoft.com/en-us/library/
adfs2-getting-started(v=ws.10).aspx).
You have set up the Access Manager system with a site configuration that is using SSL in Identity
Server's base URL. See Chapter 19, “Enabling SSL Communication,” on page 1071.
Field Description
Satisfiable by External Select this option. The ADFS server needs to satisfy this contract.
Provider
Field Description
ID Leave this field blank. Supply a value when you want a reference that you can use
externally.
Text Specify a description that is available to the user when the user hovers over the
card.
Image Select an image, such as Form Auth Username Password. This is the default
image for the Name/Password - Form contract.
Show Card Select this option so that the card can be presented to the user as a login option.
5 Click Finish.
6 Continue with “Setting the WS-Fed Contract as the Default Contract” on page 577.
Field Description
This is the attribute that this scenario uses for user identification.
Remote namespace Select the option, and then specify the following namespace
http://schemas.xmlsoap.org/claims
4c Click OK.
5 To add a mapping for the All Roles attribute, perform the following steps:
5a Click New.
5b Specify the following details:
Field Description
Remote namespace Select the option, and then specify the following
namespace
http://schemas.xmlsoap.org/claims
5c Click OK.
6 Click Finish.
7 Continue with “Enabling the Attribute Set” on page 578.
Provider ID urn:federation:treyresea This is the value that the ADFS server provides to
rch Identity Server in the realm parameter of the query
string. This value is specified in the Properties of the
Trust Policy page on the ADFS server. The parameter
label is Federation Service URI.
Sign-on URL https:// The identity provider redirects this value to the user
adfsresource.treyresearc after login. Although it is listed as optional, and is
h.net/adfs/ls/ optional between two Access Manager Identity
Servers, the ADFS server does not send this value to
the identity provider. It is required when setting up
a trusted relationship between an ADFS server and
a Access Manager Identity Server.
Field Description
Name Specify a name that identifies the service provider, such as TreyResearch.
Provider ID Specify the provider ID of the ADFS server. The default value is
urn:federation:treyresearch.
Sign-on URL Specify the URL that the user is redirected to after login. The default value is
https://adfsresource.treyresearch.net/adfs/ls/.
Logout URL (Optional) Specify the URL that the user can use for logging out. The default value
is https://adfsresource.treyresearch.net/adfs/ls.
Service Specify the path to the signing certificate of the ADFS server.
Provider
Field Description
Send with Move the All Roles attribute to the Send with authentication list.
authentication
https://<DNS_Name>:8443/nidp/wsfed/
Replace <DNS_Name> with the DNS name of Identity Server.
This URI is the base URL of your Identity Server with the addition of /wsfed/ on the end.
https://<DNS_Name>:8443/nidp/wsfed/ep
Replace <DNS_Name> with the DNS name of Identity Server.
This URL is the base URL of your Identify Server with the addition of /wsfed/ep at the
end.
For the verification certificate, import the trusted root of the signing certificate on your
Identity Server.
If you have not changed it, you need the Organizational CA certificate from your
Administration Console. This is the trusted root for the test-signing certificate.
Select Federated Web SSO.
Identity Server is outside of any forest, so do not select Forest Trust.
Select the E-mail claim.
Add the suffix that you will be using for your e-mail address.
You need to have the e-mail end in a suffix that the ADFS server is expecting, such as
@novell.com, which grants access to any user with that e-mail suffix.
4 Enable this account partner.
5 Finish the wizard.
6 Continue with “Enabling ClaimApp and TokenApp Claims” on page 583.
Logging In
1 In a browser on your client machine, enter the URL of the SharePoint server. For example,
https://adfsweb.treyresearch.net/default.aspx
2 Select the IDP from the drop-down list of home realm, then submit the request.
If you are not prompted for the realm, clear all cookies in the browser and try again.
3 Log in as a user at the Access Manager Identity Provider
4 Verify that you can access the SharePoint server. If you see only a page that says Server
Error in '/adfs' Application, see “Enabling Logging on the ADFS Server” on page 585
and follow the instructions in “Common Errors” on page 585.
Troubleshooting
“Enabling Logging on the ADFS Server” on page 585
“Common Errors” on page 585
Common Errors
“[ERROR] SamlViolatesSaml:” on page 585
“[ERROR] Saml contains an unknown NameIdentifierFormat:” on page 585
“CRL Errors” on page 585
“[ERROR] EmailClaim.set_Email:” on page 586
[ERROR] SamlViolatesSaml:
Error parsing AuthenticationMethod: Invalid URI: The format of the URI could not be determined.
Cause: This is because the contract has the wrong format for its URI. The URI must start with urn: or
http://. Change the contract and try again.
CRL Errors
2008-08-01T19:56:55 [WARNING] VerifyCertChain: Cert chain did not verify - error code was
0x80092012
2008-08-01T19:56:55 [ERROR] KeyInfo processing failed because the trusted certificate does
not have a a valid certificate chain. Thumbprint =
09667EB26101A98F44034A3EBAAF9A3A09A0F327
[ERROR] EmailClaim.set_Email:
Email 'mPmNXOA8Rv+j16L1iNKn/4HVpfeJ3av1L9c0GQ==' has invalid format
Cause: The drop-down list next to E-mail in the identifier format was not changed from <Not
Specified> to a value with a valid e-mail address in it.
4.2.8.2 Using the ADFS Server as an Identity Provider for an Access Manager
Protected Resource
You can configure the ADFS server to provide authentication for a resource protected by Access
Manager.
Figure 4-14 Using an ADFS Server for Access Manager Authentication
Identity Server
5
3
6
2
Browser Access
Gateway
1
Prerequisites
You have set up ADFS, Active Directory, and SharePoint servers and the client as described in the
ADFS guide from Microsoft. See the “Step-by-Step Guide for Active Directory Federation
Services” (https://technet.microsoft.com/en-us/library/adfs2-getting-
started%28v=ws.10%29.aspx).
You have set up Access Manager with a site configuration that is using SSL in Identity Server's
base URL. See Chapter 19, “Enabling SSL Communication,” on page 1071.
Enable the Liberty Personal Profile.
Click Identity Servers > Edit > Liberty > Web Service Provider. Select the Personal Profile, then
click Enable > Apply. Update Identity Server.
The ADFS server provides this value to the service provider in the realm parameter
in the assertion. You set this value in the Properties of the Trust Policy on the ADFS
server. The label is Federation Service URI.
The service provider uses this value to redirect the user for login. This URL is listed
in the Properties of the Trust Policy on the ADFS server. The label is Federation
Services endpoint URL.
The ADFS server makes no distinction between the login and logout URL. Access
Manager has separate URLs for login and logout, but from an Access Manager
Identity Server to an ADFS server, they are the same.
Signing Certificate This is the certificate that the ADFS server uses for signing.
You need to export it from the ADFS server. It can be retrieved from the properties
of the Trust Policy on the ADFS Server on the Verification Certificates tab.This
certificate is a self-signed certificate that you generated when following the step-
by-step guide.
Field Description
Name Specify a name that identifies the identity provider, such as Adatum.
Provider ID Specify the federation service URI of the identity provider. For example,
urn:federation:adatum.
Sign-on URL Specify the URL for logging in, such as https://
adfsaccount.adatum.com/adfs/ls/.
Logout URL Specify the URL for logging out, such as https://
adfsresource.treyresearch.net/adfs/ls/
Identity Provider Specify the path to the signing certificate of the ADFS server.
Text Specify a description that is available to the user when the user hovers the
mouse over the card.
Show Card Select this option to display the card as a login option.
5 Click Finish.
6 Continue with “Modifying the User Identification Specification” on page 589.
Continue with “Configuring the ADFS Server to Be an Identity Provider” on page 590.
https://<DNS_Name>:8443/nidp/wsfed/
Replace <DNS_Name> with the name of your Identity Server.
This is the base URL of your Identity Server with the addition of /wsfed/ at the end.
For the Federation Services endpoint URL, specify the following:
https://<DNS_Name>:8443/nidp/wsfed/spassertion_consumer
Replace <DNS_Name> with the name of your Identity Server.
This is the base URL of your Identity Server with the addition of /wsfed/
spassertion_consumer at the end.
Select Federated Web SSO.
Identity Server is outside of any forest, so do not select Forest Trust.
Select the E-mail claim.
Select the Pass all E-mail suffixes through unchanged option.
4 Enable this resource partner.
5 Finish the wizard.
6 To test the configuration, continue with “Logging In” on page 591.
Logging In
1 In a client browser, enter the base URL of your Identity Server.
2 From the list of cards, select the Adatum contract.
3 (Conditional) If you are not joined to the Adatum domain, enter a username and password in
the browser pop-up. Use a name and a password that are valid in the Adatum domain.
If you are using the client that is joined to the Adatum domain, the card uses a Kerberos ticket
to authenticate to the ADFS identity provider (resource partner).
4 When you are directed back to Identity Server for Federation User Identification, log in to
Identity Server with a username and password that is valid for Identity Server (the service
provider).
Name Specify a name that identifies the identity provider, such as Adatum.
Provider ID Specify the federation service URI of the identity provider. For example,
urn:federation:adatum.
Sign-on URL Specify the URL for logging in, such as https://
adfsaccount.adatum.com/adfs/ls/.
Logout URL Specify the URL for logging out, such as https://
adfsresource.treyresearch.net/adfs/ls/
Identity Provider Specify the path to the signing certificate of the ADFS server.
Field Description
Text Specify a description that is available to the user when the user hovers the
mouse over the card.
Show Card Select this option to display the card as a login option.
5 Click Finish.
For information about additional configuration steps required to use this identity provider, see
“Using the ADFS Server as an Identity Provider for an Access Manager Protected Resource” on
page 586.
If you want to use Access Manager as a WS Federation identity provider and consumer, perform the
following steps:
NOTE: Use this setup only in the test environment and not in the production environment.
Field Description
Provider ID https://240onbox.nam.example.com:8443/nidp/wsfed/
NOTE: You can get the test-signing certificate from Dashboard > Certificates > test-signing >
Export Public Certificate > DER File.
4 Click Next.
5 For the authentication card, specify the following values:
Field Description
If you do not assign a value, Identity Server creates an internal value that keeps
changing whenever you restart the Identity Server.
This description is displayed when the user hovers over the authentication card.
Show Card Select this option to display the card as a login option.
6 Click Finish.
Field Description
Name Specify a name that identifies the service provider, such as TreyResearch.
Provider ID Specify the provider ID of the ADFS server. The default value is
urn:federation:treyresearch.
Sign-on URL Specify the URL that the user is redirected to after login. The default value is
https://adfsresource.treyresearch.net/adfs/ls/.
Logout URL (Optional) Specify the URL that the user can use for logging out. The default value
is https://adfsresource.treyresearch.net/adfs/ls.
Service Provider Specify the path to the signing certificate of the ADFS server.
For information about additional configuration steps required to use this service provider, see “Using
Identity Server as an Identity Provider for ADFS” on page 574.
If you want to use Access Manager as a WS Federation service provider, perform the following steps:
Field Description
Provider ID https://240onbox.nam.example.com:8443/nidp/wsfed/.
NOTE: You can get the test-signing certificate from Dashboard > Certificates > test-signing >
Export Public Certificate > DER File.
1 Click Devices > Identity Servers > Edit > WS Federation > [Identity Provider] > Metadata.
The following values need to be configured accurately:
ID: This is provider ID. The ADFS server provides this value to the service provider in the realm
parameter in the assertion. You set this value in the Properties of the Trust Policy on the ADFS
server. The label is Federation Service URI. The default value is urn:federation:adatum.
sloUrl: This is the sign-on URL. This URL is listed in the Properties of the Trust Policy on the ADFS
server. The label is Federation Services endpoint URL.
ssoUrl: This is the logout URL. The default value is https://
adfsresource.treyresearch.net/adfs/ls/. The ADFS server makes no distinction
between the login URL and the logout URL.
If the values do not match the ADFS values, you need to edit the metadata.
2 To edit the metadata, click Edit. For configuration information, see “Editing the WS Identity
Provider Metadata” on page 598.
1 Click Devices > Identity Servers > Edit > WS Federation > [Identity Provider] > Metadata > Edit.
2 Configure the following fields:
Provider ID: This is the provider ID. The ADFS server provides this value to the service provider
in the realm parameter in the assertion. You set this value in the Properties of the Trust Policy on
the ADFS server. The label is Federation Service URI. The default value is
urn:federation:adatum.
Sign-on URL: This is the sloUrl. This URL is listed in the Properties of the Trust Policy on the ADFS
server. The label is Federation Services endpoint URL.
Logout URL: This is the ssoUrl. The default value is https://
adfsresource.treyresearch.net/adfs/ls/. The ADFS server makes no distinction
between the login URL and the logout URL.
3 If you need to import a new signing certificate, click the Browse button and follow the prompts.
4 To view information about the signing certificate, click Certificates.
5 Click OK twice, then update Identity Server.
1 Click Devices > Identity Servers > Edit > WS Federation > [Service Provider] > Metadata.
The following values need to be configured accurately:
ID: This is provider ID. This is the value that the ADFS server provides to Identity Server in the
realm parameter of the query string. This value is specified in the Properties of the Trust Policy
page on the ADFS server. The parameter label is Federation Service URI. The default value is
urn:federation:treyresearch.
sloUrl: This is the sign-on URL. This URL is listed in the Properties of the Trust Policy on the ADFS
server. The label is Federation Services endpoint URL. The default value is https://
adfsresource.treyresearch.net/adfs/ls/.
ssoUrl: This is the logout URL. The default value is https://
adfsresource.treyresearch.net/adfs/ls/. The ADFS server makes no distinction
between the login URL and the logout URL.
If the values do not match the ADFS values, you need to edit the metadata.
2 To edit the metadata, click Edit. For configuration information, see “Editing the WS Federation
Service Provider Metadata” on page 601.
3 To view information about the signing certificate, click Certificates.
4 Click OK twice.
4.2.9.1 Overview
Web services are software applications that interact over network by using the Hyper Text Transfer
Protocol (HTTP). World Wide Web Consortium (W3C) describes web services as a standard means of
interoperating between software applications running on a variety of platforms and frameworks. A
web service provides a fine-grained service to its client.
Web services use network for communication and data exchange spanning from protected network
(intranet) to unprotected network (internet). This demands for security requirements such as client
authentication, access control, data integrity, and confidentiality.
You can secure web services and protect your information against authentication attacks and
unauthorized access by using security tokens. A security token contains a set of claims made by a
client that includes details such as a user name, password, identity, key, and certificate.
Access Manager addresses the need for a secure token mechanism through WS-Trust STS that is
based on the WS-Trust protocol. WS-Trust is built on top of the WS-Security specification. It enables
web applications to construct trusted SOAP message exchanges.
WS-Trust STS provides secure communication and integration between services. It issues and
validates security tokens to establish trust relationships between a web service client and a web
service provider. If the requestor (web service client) does not have the necessary token to provide
required claims to a service, it contacts WS-Trust STS and requests the needed tokens with proper
claims. WS-Trust STS may in turn require its own set of claims for authenticating and authorizing the
request for security tokens.
Enterprise
UserName
Token
RST
WS-Trust STS
RSTR
SAML
Token
Web Service
Client
SAML
Token
Web Service
Response Provider
WS-Trust STS is designed to interoperate with many different web service environments and
supports SOAP and WS-Trust specifications.
Web services must implement the protocol defined in the WS-Trust 1.3 or 1.4 specification by
making assertions based on evidence that it trusts, to whoever trusts it, or to specific recipients. For
more information about WS-Trust specification, see WS-Trust 1.3 Specification (http://docs.oasis-
open.org/ws-sx/ws-trust/v1.3/ws-trust.html) and WS-Trust 1.4 Specification (http://docs.oasis-
open.org/ws-sx/ws-trust/v1.4/ws-trust.html).
The following table lists supported SOAP and WS-Trust versions and corresponding namespaces:
1.2 http://www.w3.org/2003/05/soap-envelope
1.4 http://docs.oasis-open.org/ws-sx/ws-trust/200802
4.2.9.2 Benefits
WS-Trust STS offers the following benefits:
Enables the secure exchange of SOAP messages among web services.
Facilitates identity delegation (through ActAs) and impersonation (through OnBehalfOf) where
an authenticated user is granted access to downstream web services.
Reduces complexity for the web service consumer as the web service consumer does not need
token specific knowledge.
4.2.9.3 Scenarios
This section describes the basic scenarios supported by WS-Trust STS.
“Scenario 1: Web Service Client Communicating with Token Protected Web Service Provider” on
page 605
“Scenario 2: Web Single Sign-On and STS” on page 606
“Scenario 3: Identity Delegation and Impersonation” on page 607
“Renewing a Token” on page 609
“Authentication by Using SAML Tokens” on page 610
Scenario 1: Web Service Client Communicating with Token Protected Web Service
Provider
In this scenario, a web service client situated outside the enterprise tries to access a web service
provider hosted inside the enterprise.
This process consists of requesting a token by means of the request-response message pairs of a
Request Security Token (RST) and a Request Security Token Response (RSTR). The tokens are included
in SOAP messages.
Enterprise
Username
Token
SAML
Token WS-Trust STS
Validate Valid
Web Service
Client
SAML
Token
1. A web service client, which is outside the enterprise, sends its credentials to WS-Trust STS and
request for the security token through RST.
2. WS-Trust STS verifies the client’s credentials and then issues a security token (SAML token)
through RSTR.
The web service client caches the security token and then uses it in multiple requests to the
web service provider.
3. The web service client presents the token to the web service provider.
4. The web service provider validates the token and sends the response to the web service client.
Web SSO
WS-Trust STS
Web
Firewall Application Web Service
Web Service
Provider
Alice Provider Alice
1. A web application sends a single sign-on authentication request to WS-Trust STS on behalf of
Alice.
The web application is residing within the enterprise.
2. The web application passes the credentials corresponding to the single sign-on session to the
web service client.
3. The web service client requests for security token by using the passed on credentials.
4. WS-Trust STS verifies the credentials. After checking the credentials, it verifies if the web service
provider for which the token has been requested for is a trusted service provider. Then it issues
a security token consumable by the service provider.
5. The web service client residing within the web application presents the token to the web
service provider. The web service client caches the security token and then uses it in multiple
requests to the web service provider.
6. The web service provider validates the token and sends the response to the web service client
residing within the web application.
The tokens are included in SOAP messages.
1
2
WS-Trust STS
5
4
Web Service
Client Web Service
Client
3 6
8 7
Web Service
Web Service Provider
Provider
IMPORTANT: Starting from Access Manager 4.0 SP1 release, the default binding supported is SOAP
1.2. If you want to use SOAP 1.1 instead, perform the following steps on all instances of Identity
Server:
1. Traverse to the /opt/novell/nam/idp/webapps/nidp/WEB-INF folder and edit the sun-
jaxws.xml file.
2. Remove all instances of bindings from the endpoints in the sun-jaxws.xml file and save the
changes. A binding is represented by the following line in this file:
binding="http://java.sun.com/xml/ns/jaxws/2003/05/soap/bindings/HTTP/"
3. Restart Identity Server using the /etc/init.d/novell-idp restart command.
Renewing a Token
The renew token operation helps in renewing a token issued by WS-Trust Security Token
Service(STS). Only a token that is issued by an Identity Server that is part of the same cluster can be
renewed. Tokens issued by a different Identity Server in a different cluster or by a third-party STS
cannot be renewed.
Each token generated by the STS is valid for the duration specified using the Token Lifetime setting. A
token can be renewed only before lapse of the expiry period. For example: if the Token Lifetime has
been specified as 180 seconds, token renew operation will succeed only till the 179th second.
Workflow:
1 4
Issue Renew
Token Token WS-Trust STS
Validate
Web Service 3
Client
2 5
1. The web service client sends a RST to WS-Trust STS for its authentication and WS-Trust STS
returns a SAML token to the client in the RSTR
2. The web service provider uses the SAML token from STS and requests access to resources
hosted on the web service provider.
3. The web service provider validates the SAML token and provides access to the resources.
4. When the token is nearing expiry, the web service client sends a RST to WS-Trust STS to renew
the token previously issued. The STS renews the validity of the token and sends a renewed
token to the web service client for any further requests.
5. The web service client uses the renewed SAML token from STS and requests access to resources
hosted on the web service provider.
2 WS-Trust STS
Third-party STS
SAML token 1
SAML token 2
1
5
SAML token 1
3
SAML token 2
6 Valid
SAML token 2
4
Web Service
Client 7
Web Service
Data
Provider
Workflow:
1. The web service client sends a RST to third-party STS. The third-party STS returns a SAML token
to the client in the RSTR.
2. The web service client uses SAML token issued by the third-party STS and requests WS-Trust STS
to grant access to resources hosted on the web service provider.
3. WS-Trust STS authenticates the client using the third-party SAML token and issues a new SAML
token.
4. The web service client uses this new SAML token to get access to resources hosted on the web
service provider.
5. The web service provider validates the SAML token with WS-Trust STS.
6. The web service client can access the resources on the web service provider if the SAML token is
valid.
Enabling WS-Trust
Access Manager ships with only SAML 1.1, Liberty, and SAML 2.0 enabled by default. To use the WS-
Trust protocol, you must enable it on Identity Server.
To enable WS-Trust, perform the following steps:
1 Click Devices > Identity Servers > Edit.
2 In the Enabled Protocols section, select WS-Trust.
3 Click OK.
4 Update Identity Server.
Service Name: The name of the STS service endpoint that is configured in the web service client.
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” on page 615
WSTRUST AUTHORIZATION ALLOWED Specify the user names who can perform ACTas operations.
ACTAS VALUES Allowed user names are the user accounts that the
intermediate web service provider uses to authenticate with
STS when sending a request with Actas elements.
WSTRUST AUTHORIZATION ALLOWED Specify the user names who can perform OnBehalfOf
ONBEHALF VALUES operations. Allowed user names are the user accounts that
the intermediate web service provider uses to authenticate
with STS when sending a request with OnBehalfOf elements.
WSTRUST AUTHORIZATION ALLOWED Specify the user names who can perform both Actas and
VALUES onBehalfOf operations.
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.
For more information about configuring Metro-based web service clients, see To Specify an STS on
the Service Side and To Specify an STS on the Client Side in Configuring A Secure Token Service (STS)
(https://metro.java.net/2.1.1/guide/Configuring_A_Secure_Token_Service__STS_.html).
<ds:SignatureValue>ZxeqeuD7NXfNRPiaYY3v2Nfo9vTx+ceASiAFBDzOfaWGczHBT0eYU+A
QM99vdX1GCBCdWqO9qQR8
2WP71mzREC6ndg+8g/zJ6UH+Jzsf05hIxCAu7d7fg5qP5/
BP++x8vUlpUQ32D8daxx+GIwuZjlOs
8KhdbgLReYSWyX6PV0UbjbnAtDFaBTTJ5lpEqHdK7FGUiISXg679o16BTJSs/
V2bBOrX7cZGRGte
PMBGz19qX0rzoeNpLJFpJi23+/
wAYaqzz0kyRGeyA0De0ugsqw2XRvUPciaYhbqqOraFUfmpyspC
o7ClzwsvnO1h1gVX/lDBwfLokrBeijsG3FN3Hg==</ds:SignatureValue>
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>MIIFBDCCA+ygAwIBAgIkAhwR/
6b9CQnrHMhxuBSYqOCbHugRb+e4U/9jWi9kAgIWCzKcMA0GCSqG
SIb3DQEBBQUAMDExGjAYBgNVBAsTEU9yZ2FuaXphdGlvbmFsIENBMRMwEQYDVQQKFApuYW1zYl
90
cmVlMB4XDTE0MDUyMTE4NTQwMVoXDTI0MDUyMTE4NTQwMVowHzEdMBsGA1UEAxMUbmFtc2IuYm
xy
Lm5vdmVsbC5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDRTsdCFBM3ImpIyR
Aj
OdFFEYbC/ykQUEZFwGp62BAUxoLIOpmDZyxpbqIh+l462GFByuCvkLOhnelOGV6Ii/
cTAbaHko7h
T7cfUC3N4kmhnc3IXWgjodRIXMlaUSYDYd79guyVjG0brOWJMxJxvm1eo3p8bFzPLnpkEdJ7c8
HM
BRqckecaGT8nbpm1KGZFAStrRRTryu2aG670FP3+MHWZmydqLlvrK1NCfe+7DlpOUwA13sSgMs
lf
6UCI4E50gn6pQ26rctGKrBsFfrX76t6ESZuaqFlWS+YA11cWS3irtihT0p2GsoxcJzq+IvHosH
Y+
pvrt4gcJiZJN6P3e6yrrAgMBAAGjggIUMIICEDAdBgNVHQ4EFgQUpSkUiviZFQ7yIDLb9sJT+m
ZH
kngwHwYDVR0jBBgwFoAUfFLP7EF6tU2u2qquPNTvLDdV7e8wggHMBgtghkgBhvg3AQkEAQSCAb
sw
ggG3BAIBAAEB/
xMdTm92ZWxsIFNlY3VyaXR5IEF0dHJpYnV0ZSh0bSkWQ2h0dHA6Ly9kZXZlbG9w
ZXIubm92ZWxsLmNvbS9yZXBvc2l0b3J5L2F0dHJpYnV0ZXMvY2VydGF0dHJzX3YxMC5odG0wgg
FI
oBoBAQAwCDAGAgEBAgFGMAgwBgIBAQIBCgIBaaEaAQEAMAgwBgIBAQIBADAIMAYCAQECAQACAQ
Ci
BgIBFwEB/
6OCAQSgWAIBAgICAP8CAQADDQCAAAAAAAAAAAAAAAADCQCAAAAAAAAAADAYMBACAQAC
CH//////////AQEAAgQG8N9IMBgwEAIBAAIIf/////////
8BAQACBAbw30ihWAIBAgICAP8CAQAD
DQBAAAAAAAAAAAAAAAADCQBAAAAAAAAAADAYMBACAQACCH//////////AQEAAgQR/
6b9MBgwEAIB
AAIIf/////////8BAQACBBH/pv2iTjBMAgECAgEAAgIA/
<saml2:AuthnContextClassRef>urn:oasis:names:tc:SAML:1.0:am:password</
saml2:AuthnContextClassRef>
</saml2:AuthnContext>
</saml2:AuthnStatement>
<saml2:AttributeStatement>
<saml2:Attribute AttributeName="emailaddress"
AttributeNamespace="http://schemas.xmlsoap.org/ws/2005/05/identity/claims"
Name="emailaddress" NameFormat="http://schemas.xmlsoap.org/ws/2005/05/
identity/claims">
<saml2:AttributeValue>[email protected]</
saml2:AttributeValue>
</saml2:Attribute>
</saml2:AttributeStatement>
</saml2:Assertion>
</wst:RenewTarget>
</wst:RequestSecurityToken>
<ns:RequestSecurityToken xmlns:ns="http://docs.oasis-open.org/ws-sx/
ws-trust/200512/"/>
</soap:Body>
</soap:Envelope>
<saml2:AuthnContextClassRef>urn:oasis:names:tc:SAML:1.0:am:password</
saml2:AuthnContextClassRef>
</saml2:AuthnContext>
</saml2:AuthnStatement>
<saml2:AttributeStatement>
<saml2:Attribute AttributeName="emailaddress"
AttributeNamespace="http://schemas.xmlsoap.org/ws/2005/05/identity/claims"
Name="emailaddress" NameFormat="http://schemas.xmlsoap.org/ws/2005/05/
identity/claims">
Authorization Server Access Manager Identity Server is Identity Server issues OAuth
the OAuth authorization server tokens
JSON Web Token (JWT) The JWT token is signed as per JWS Access token, refresh token and ID
(JSON Web Signature) standard tokens are in the JWT format.
and encrypted as per JWE (JSON
Web Encryption) standard by
default.
Access Token The token contains the attributes, The access token can be consumed
such as scope, claims and duration by resource server to validate the
specified in Access Manager for a token by itself or by sending it to
resource server. Access Manager. For more
information, see “Encrypting
Access Token” on page 662.
Refresh Token The client applications use this This token can be revoked, which
token to obtain a new Access token in turn invalidates Access token.
when the current Access token
expires or is no longer valid.
ID Token This token contains a user’s claims The client application can request
such as identity, email address, and for ID token to verify the identity of
other profile information. This the user.
token is signed based on the
algorithm that you specify during a
client application configuration in
Identity Server. It also specifies the
issuing authority.
Client Key and Secret The authorization server assigns a The client applications can use the
key and a secret to a client client key and secret to identify
application while registering it. itself to authorization server for
retrieving the access tokens.
Resource Server You can add a resource server in The client application can request
Identity Server to define the type for any scope defined in any of the
of token that Identity Server can Identity Server resource servers
send for an OAuth request. For irrespective of the resource server
example, if you add a resource name mentioned in the request.
server in Identity Server with the Identity Server will send the scopes
details for encrypting the token in the token after the user
using resource server keys, then authorizes it (for user attributes).
based on the defined settings,
Identity Server generates the
token.
Authorization Grants Access Manager supports the The client application can use any
following grants: of the available grants to request
authorization.
Authorization Code Grant
Implicit Grant
Resource Owner Credential
Grant
Client Credential Grant
Security Assertion Markup
Language (SAML) 2.0 Bearer
Grant
NOTE: Access Manager uses variable length Access tokens and authorization codes. The client
applications and web servers must not assume any fixed size of tokens and codes and must allocate
necessary memory to handle the token. Token size depends on the size of scope names. Some
servers may have size limitations on query string and HTTP headers. Ensure that an application uses
only necessary scopes to avoid any issue.
1
Develop a resource
server (web application
or REST service).
5
Develop a client
application.
6 7
Identity Server assigns
By using the By using the a unique client ID and
Administration Console or
Identity Server or By using the REST API
client secret to this
client application.
8 9 10
Configure the client ID Deploy the resource Deploy the client
and secret in the server. application.
application.
Access Manager Interface
NOTE: NTS will support the Access Manager setup and any app issues where the API request is sent
to the right Access Manager endpoint. Any other code changes that are needed to integrate with
Access Manager are outside the scope of traditional NTS support and need to go through the
[email protected] channel.
The following is the sequence of the OAuth and OpenID Connect configuration:
1. Enable the OAuth protocol in Administration Console
2. Define the global settings
3. Configure a resource server
4. Configure scopes (user attributes and claims) for a resource server
5. Register client applications
NOTE: Use Internet Explorer 10 or later, Firefox, or Chrome for configuring OAuth 2.0.
NOTE: For OAuth authorization, Identity provider and ESP must be enabled with SSL.
NOTE: The LDAP super administrator must have write access to this user attribute to allow saving
the token information. Access Manager uses this attribute to revoke refresh tokens.
Example for extending the schema of a user object in Active Directory Lightweight Directory
Services
1 Go to Active Directory Lightweight Directory Services (AD LDS) schema.
2 Right-click the schema name, then click New > Object.
3 Select attributeSchema and click Next.
4 Specify a common-name and click Next.
5 Specify 4 for the oMSyntax attribute and click Next.
NOTE: While creating a new user, the msDS-UserAccountDisabled attribute is set to true by
default. Change the value to false.
Field Description
Issuer Specify the name of the authorization server. This name will be part of
the ID token.
Authorization Grant LDAP Specify a binary or a stream (for eDirectory) attribute that exists in the
Attribute user store. For example, nidsOAuthGrant.
The super administrator must have the write access to the specified
Authorization Grant LDAP Attribute. This attribute stores user consent
and the refresh token information. This attribute gets updated when
Identity Server performs the following actions:
Issues a refresh token
Revokes the issued refresh token
Include user consent information
For information about creating the attribute in the user store, see
“Extending a User Store for OAuth 2.0 Authorization Grant Information”
on page 632.
NOTE: This is a mandatory field. This attribute stores the refresh token
information. This information can be used later for a JWT token to check
for revocation. Ensure that no other application uses this attribute.
CORS Domains Select any one of the following options based on the requirement:
None: If you want to deny access for requests from all domains
other than the domain of the resource. The resource referred here
are resources such as Javascript on the client application.
Allow All: If you want to allow access for requests from any
domains.
Limit to: If you want to allow access for requests from only selected
domains. Specify the domain with the port number. Do not specify
the port if you are using port 80 or 443.
NOTE: Access Manager provides an access token even when the request
does not include the listed domain. But, the token is validated on the
following endpoints:
UserInfo
TokenInfo
Revocation
Token Introspect
This invalidates the access token if the request comes from a different
domain.
Access-Control-Allow- Select this option to allow the Access Manager CORS filter to send the
Credentials Header Access-Control-Allow-Credentials header with the response.
Grant Type(s) Select the types of grants that the authorization server will support.
Based on the grant type you select, the system selects corresponding
token type by default.
Token Type(s) Select the types of tokens that the authorization server will support.
ID Token: A security token that contains claims about the
authentication of an end user by an authorization server to the
relying party.
Access Token: Includes the specific scopes and durations of granted
access.
Refresh Token: Used to obtain a new access token when an Access
token becomes invalid or expires.
Token Revocation This option is enabled by default. If you do not require to revoke the
refresh token, you can disable this option.
When you disable this option the token information does not get saved
in the authorization grant LDAP attribute.
To revoke a refresh token the super administrator must have the write
access to the specified Authorization Grant LDAP Attribute. In case you
do not want to use this attribute or do not have write access to this
attribute, you must disable this option.
Perform Revocation Check Specify the duration in seconds. After this duration, Access Manager
After verifies whether the token is revoked.
(Access Manager 4.5 Service Use this option if you have configured a user store as an LDAP load
Pack 2 and later versions) balancer, which has a read-only and write-only replica. The Authorization
Server reads the user attributes in LDAP for token verification. However,
the token verification fails if any delay occurs in data synchronization
across the user store LDAP replicas.
Using this option, you can delay the token verification for a specific time.
During this delay period, the Authorization Server will not read the user
attribute in LDAP for token verification. However, it will verify other
required checks.
Authorization Code Timeout Specify the duration in minute after how long the authorization code
becomes invalid.
Access Token and ID Token Specify the duration in minute after how long the Access token and ID
Timeout token become invalid.
Refresh Token Timeout Specify the duration in minute after how long the Refresh token
becomes invalid.
Signing Certificate Select a signing certificate to sign the tokens. By default test-signing
certificate is assigned with hashing algorithm details. The signing keys
can be retrieved from JSON Web Key Set endpoint.
Contracts for Resource Select the supported contracts from the Available contracts list and
Owner Credentials move them to the Contracts Field.
Authentication
This option allows the administrator to configure the Resource Owner
flow to execute specific authentication contract. It supports Name/
Password based contracts only.
3 Click OK.
The access and ID tokens contains scopes (user’s claims) in the form of user attributes or permissions
for the clients to use the protected resource. You can configure scopes for each resource server.
When a client application requests for a token with specific scopes and the user provides the
consent, Identity Server (authorization server) checks if the scope is available in any of the added
resource servers. If available, the scope is added to the access token irrespective of the name of the
resource server specified in the request.
Now, when the client application sends a token request with scope parameter as Scope1 and
resourceServer parameter as RS2, Identity Server adds Scope1 to the token with the encryption
mechanism specified in RS2.
Request Response
NOTE: If the specified key encryption algorithm does not match with the value of the
algorithm in Resource Server Encryption Keys, Access Manager fails to send the token.
6 Click Next.
Continue with “Defining Scopes for a Resource Server” on page 640.
Field Description
Description Specify a description for the scope. The consent page shows
this description.
Include claims of type Select the type of the user’s claim that should be used in the
scope. You can select any of the following types:
User Attributes: Select this option if you require using any
of the user’s LDAP attributes in the scope.
You can also use virtual attributes in the scope.
NOTE: Virtual attributes can be used for LDAP based
attributes and for constant values.
Custom Claims/Permissions: Select this option if you
want to restrict specific permissions for this scope. This
option is useful when a client application requires specific
permission, such as read, write and so on to access a
resource.
For example, when you configure a read permission for
the scope, the client application can request for this scope
and get the token.
Require user permission Select this option if this scope requires user’s consent before
providing access to the protected resources. It is recommended
to keep this option selected when user attribute is used in the
scope.
NOTE: If you deselect this option, the scope will not get listed
in the scopes_supported field of the metadata endpoint.
Also, the claims_supported field of the metadata endpoint
will not display the claims for this scope even if the user
attribute or the custom claims/permissions are configured.
Allow modification in consent Select this option to allow modification in consent. When
selected, the resource owner can choose not to share the
scope with the client application.
The consent page will display a check box against each scope to
choose the scopes that can be shared with the client
applications.
5 Click Next.
Continue with “Configuring User Claims or Permission in Scope” on page 642.
NOTE: You can add any configured LDAP based virtual attribute to the scope of the access
token. You can add a virtual attribute by creating an attribute set that includes the virtual
attributes. For more information about creating an attribute set, see Section 2.3.1,
“Configuring Attribute Sets,” on page 63.
1b To add the user attribute scope to the access token, select the required attributes that
should be added to the access token, then click Add > Add to Access Token.
If you want to remove a specific attribute from the access token, click Remove > Remove
from Access Token. When you remove the attribute from the access token, the attributes
will not be removed from the already issued token.
1c To add the user attribute scope to the ID token, select the required attributes that should
be added to the ID token, then select Add > Add to ID Token.
NOTE: The token size varies based on the attribute value that is included in the token.
Hence, it is recommended to include only the required attribute to the token.
NOTE: The attributes are not added to or removed from an already issued ID token.
1d (Conditional) If you require the selected attributes to be available in both ID token and
access token, then after selecting the attributes click Add > Add to Both.
If you require to remove specific attributes from both access token and ID token, then after
selecting those attributes click Remove > Remove from Both.
2 (Conditional) If you have used Custom Claims/Permissions, perform the following:
2a Click New to create a new custom claim.
2b In Add claim/permission, specify the permission that the client is allowed after consuming
the access token.
2c You can select the required claim that should be added to the access token, then select Add
> Add to Access Token.
To remove a specific claim from the access token, click Remove > Remove from Access
Token.
NOTE: The claims are not added to or removed from an already issued access token. You
can view the new Claims/Permissions in the claims set. The key name is claims and the
value is a list of strings.
2d You can select the required claim that should be added to the ID token, then select Add >
Add to ID Token.
To remove a specific claim from the ID token, click Remove > Remove from ID Token.
NOTE: The claims are not added to or removed from an already issued ID token. You can
view the new Claims/Permissions in the claims set. The key name is claims and the value
is a list of strings.
2e (Conditional) If you require to select the claims that must be available for both access
token and ID token, then after selecting the claims click Add > Add to Both.
If you require to remove claims from both the tokens, then after selecting the claims click
Remove > Remove from Both.
NOTE: The claims are not added to or removed from the already issued tokens. These
claims are displayed as list of strings under the claims attribute in the access and the ID
tokens.
Field Description
https://www.namnetiq.in/
x-com.netiq.sample://
www.namnetiq.in/
urn:ietf:wg:oauth:2.0:oob (This is
supported only for the authorization code flow).
Grants Required Select the grant types required for this client
application. Available grant types include:
Authorization Code (default)
Implicit
Resource Owner Credentials
Client Credentials
SAML 2.0 Assertion
Token Types Select the token type that the authorization server
will return to this client application. The following
are available tokens:
Code
ID Token
Refresh Token
Access Token
3 (Conditional) If you have selected ID Token in Token Types under Client Configuration, then click
OpenID Connect Configuration and configure the following settings:
JSON Web Key Set URI: If you require to encrypt the ID token using the public key of the
client application, then specify the client’s JSON Web Key Set URI. This is required to
retrieve the encryption key that are defined in the JSON Web Key Set URI.
ID Token Signed Response Algorithm: This is a mandatory field for issuing ID token to a
client application. If you require Identity Server to sign the ID token using a JWS algorithm,
then select the appropriate signing algorithm. The signing algorithm depends on the
certificate that is specified under Certificate Settings in the Global Settings page.
For example, if in the Global Settings page, Signing Algorithm is RS256, then select RS256 in
this field.
NOTE: If you select the None option, the ID token is sent as an unsigned token. Ensure that
you select this option only if you can trust the integrity of an unsigned ID token.
ID Token Encrypted Response Algorithm: Specify the JWE algorithm that is required to
encrypt the key of the encrypted content in the ID token.
NOTE: Ensure to specify the algorithm that is defined in the specified JSON Web Key Set URI
so that the client application can use the private key to decrypt the token.
ID Token Encrypted Response Enc: This field gets auto-populated based on the algorithm
specified in ID Token Encrypted Response Algorithm.
This is the JWE enc algorithm that is required to encrypt the content of the ID token.
4 Click Token Configuration.
NOTE: This option is available in Access Manager 4.5 Service Pack 1 and later.
Default: Select this option to use the token format as either binary or JWT. The format
will be set based on the value you set in the OAUTH TOKENS IN BINARY FORMAT
property of the Identity Server. The values are described in the proceeding table:
Unspecified JWT
When you update the value or add the OAUTH TOKENS IN BINARY FORMAT property,
any client application with the Default option will consequently receive the
succeeding tokens (access and refresh) in the changed format.
Binary: Select this option if the client application requires the tokens in binary format.
When you select this option, the token format will always be binary irrespective of the
value set in the OAUTH TOKENS IN BINARY FORMAT property of the Identity Server.
The binary tokens are always encrypted using Access Manager keys. To validate the
token, the resource server uses the Access Manager UserInfo and the TokenInfo
endpoint.
If the tokens are in binary format, the following features are unavailable:
Encrypting access token using the resource server key
Revoking a refresh token
The Binary option is recommended only if you have an existing client application that
cannot use JWT because some browsers restrict the length of the parameter values.
JWT: This is the recommended format. Select this option if you require the client
application to use tokens in JWT format. When you select this option, the token
format will always be JWT irrespective of the value set in the OAUTH TOKENS IN
BINARY FORMAT property of the Identity Server.
5 Click Consent Screen Configuration.
Specify the following details:
Client Logo URL Specify the URL of the logo that you want to include in the consent
page.
Privacy Policy URL Specify the URL of the privacy policy you want to include in the
consent page. You can define your own privacy policy.
6 Click Authorized JavaScript origins (CORS) and add Domains. The domains configured here can
access restricted resources available on the client application. This is an optional step. Do not
specify the port if you are using port 80 or 443.
Examples: beem://www.test.com:port, fb://app.local.url:port, https://
namapp.com:port
7 Click Register Client.
Identity Server assigns a client ID and a client secret. To see this ID and secret, go to the list of
registered client applications on the Client Application page and click the view icon for this
client application.
Field Description
Created By User name of the person who has registered the client application.
Actions List of icons associated with actions that you can perform on an
application. You can perform the following actions:
View details of a registered client application
Delete a registered client application
Modify details of a registered client application.
2 Click the edit icon under Actions. The Client Configuration page opens. Modify the details as
required. For more information about fields, see “Registering OAuth Client Applications” on
page 644.
3 Click Modify Client.
Legacy/New 1
REST Service
Basic Authentication or
No Authentication
Enable Validate
Create a Reverse Create a
OAuth Token for the
Proxy Service Protected Resource
Protected Resource
Apply Configuration 6
Update All
1. Determine the web application or REST service for which you want to implement this
configuration.
2. Create a reverse proxy in Access Gateway and enable OAuth in Access Gateway for this reverse
proxy. See “Enabling OAuth in Access Gateway” on page 651.
Field Action
Priority Specify the order in which a rule is applied in the policy, when the policy has
multiple rules. The highest priority is 1 and the lowest priority is 10.
NOTE: If two rules have the same priority, a Deny rule is applied before a Permit
rule.
Field Action
Priority Specify the sequence in which you want to apply the rule in the policy, if the
policy has multiple rules. The highest priority is 1 and the lowest priority is 10.
Web applications (Resource Server) validate an Access token before allowing a client
application to access resources
Identity Server (authorization server) issues an Access token and web applications (hosted on
resource server) validate the token before granting a client application to access the resources. This
configuration is suitable in the following scenarios:
Web server authentication: In a typical web authentication model, a client application uses the
resource owner’s credentials to access the resource owner’s information that is hosted on a
server.
For example, a user (resource owner) can allow a printing service (client application) to access
private photos stored at a photo sharing service (server), without sharing credentials with the
printing service. Instead, the user authenticates directly with the photo sharing service that
issues the printing service delegation-specific credentials.
For example, a user named Alice accesses an application running on a web server at
www.printphotos.example and instructs it to print her photographs that are stored on a
server at www.storephotos.example. The application at www.printphotos.example
receives Alice's authorization consent for accessing her photographs without learning her
authentication credentials of www.storephotos.example.
Code
Alice’s token
6
Print my photo
Alice 5
(user) Print photo
Code 10
Photo Printing Service
www.printphotos.example
8
Alice’s photo
Alice’s token
Accessing resources without using owner’s credentials: OAuth allows a client application to
access resources that are controlled by the resource owner and provides a method to obtain
permission from the resource owners to access their resources. The resource owners provide
this permission in the form of a token and a matching shared-secret. The resource owner does
not need to share credentials with the client application. Tokens are issued with a restricted
scope and limited life.
For example, a user named Alice has installed a gaming application that runs in her browser and
uses OAuth for accessing a social site at www.example.com. The gaming application updates
scores in a database at www.example.com. The gaming application is registered with the social
site and has an identifier. Alice has registered with the social site for identification and
authentication. To upload Alice's scores, the gaming application accesses the score database
when Alice authorizes it. When Alice accesses the page from the redirect URI in the game
RESTful applications security: OAuth provides a way to secure REST APIs. For example, an
enterprise acme.com exposes REST APIs that provide various functions. Using OAuth,
acme.com can provide secure authorization control on APIs to ensure that the right people
have access to these APIs. In addition, they can also enable applications to call APIs on behalf of
a user. acme.com can also revoke access to an API even if an application uses it.
Figure 4-15 OAuth Flow
1. The client application requests authorization from the user (resource owner). Client
applications can make the authorization request directly to the resource owner or through the
authorization server (Identity Server) as an intermediary.
2. The client application receives an authorization grant from the authorization server. An
authorization grant represents the resource owner's authorization. The user communicates the
authorization by using one of four grants types (see “OAuth Authorization Grant” on page 1606)
or by using an extension grant.
3. The client application authenticates itself at the authorization server, sends the authorization
grant, and requests an Access token.
Access Manager
Identity Server
OAuth 2.0
Token 4
OAuth 2.0
Token
3 Basic
Authentication
401 Unauthorized 5 6
Authorization
7 Policy
Client Access Manager Legacy Web Application/
Access Gateway API Service
1 A client application requests access to a web resource and provides authentication details to
Identity Server.
2 Identity Server authenticates the client application, gets the user’s consent, generates an OAuth
token, and sends the token to the client application.
3 The client application provides the token to Access Gateway.
4 Access Gateway sends the token to Identity Server for validation.
5 If the token is not valid, Access Gateway returns a 401 error.
Access Manager
2 Identity Server
3
Session ID
OAuth 2.0 Token
4
1 5
1 The user sends request to access a web application protected by Access Gateway.
2 Access Gateway redirects the user to Identity Server, which prompts for user authentication.
3 On successful authentication, Access Gateway shares the session details with Identity server to
fetch the OAuth token.
4 Identity server authenticates the session details and issues an Access token to Access Gateway.
5 Access Gateway injects the Access token into the authorization header.
NOTE: The access token received after exchanging with assertion includes the scopes based on the
previous user consent that can be from using the authorization code flow.
The token time-out is based on the assertion time-out. For example, if the assertion is issued for
10 minutes and after 2 minutes the token is requested, the token will be valid for the remaining
8 minutes.
If an assertion is valid for longer duration, you can exchange the assertion with access token
multiple times.
The assertion must be encoded with Base64 URL.
4. Exchange SAML2
Enterprise Application Assertion for OAuth2 Token Authorization Server
1. Login (SAML SP) (Identity Server)
5. OAuth Token
NOTE: In an assertion, a user is identified based on the SAML 2 name identifier and not the
SAML 2 attributes. Hence, you must configure the name identifier for the required Assertion
Issuer.
4 (Conditional) To use a self-issued assertion (an assertion generated by a client application), click
Create New Assertion Issuer.
5 Specify the values for the following fields:
Issuer Name: The name of the identity provider that generates the assertion.
Entity ID: The entity ID that identifies the identity provider.
Audience Alias: This is used for identifying the intended audience. Authorization server’s
token endpoint is the intended audience by default. If the assertion does not contain the
Identity Server’s token endpoint as the audience, you can configure an audience alias. The
default value is https://<DNS name>:8443/nidp/oauth/nam/token.
Issuer Signing Certificate: This gets auto-populated if you have imported an existing
trusted identity provider’s configuration. If you are creating an assertion issuer, click
Upload Certificate to upload the signing certificate used by the identity provider.
NOTE: If there are multiple certificates available for the trusted Identity provider, the first
certificate is imported.
Selected UserStores: This is used for identifying the users in an assertion. You can choose a
list of user stores from the available list.
6 Select the required name identifiers in the assertion
Persistent: Select this option if the assertion includes the name identifier in the persistent
format. You can choose the required LDAP attribute that is used as the persistent value in
the assertion.
NOTE: Access Manager supports only the LDAP attribute as persistent value.
Email: Select this option if the assertion includes the name identifier in email format. You
can choose the required LDAP attribute that is used as the email value in the assertion.
Unspecified: Select this option if the assertion includes the name identifier in unspecified
format. You can choose the required LDAP attribute that can be used as the unspecified
value in the assertion.
For information about requesting the token, see the NetIQ Access Manager 4.5 Administration API
Guide.
The access token can include user attribute or custom claims based on the resource server’s
requirement. This helps when you encrypt an access token by using the resource server key. The
resource server can decrypt and validate the token without the need to request for user attribute
information from Access Manager.
NOTE: The size of the token is variable. You must ensure that the token size does not increase when
you are using multiple user attributes or claims along with a specific algorithm.
Access Manager can encrypt the access token by using any of the following methods.
“Encrypting the Token with Access Manager Key” on page 662
“Encrypting the Token with Resource server Key” on page 662
NOTE: By default, Access Manager encrypts the access token with Access Manager key. To use
resource server key to encrypt the access token, the OAuth request must contain the
resourceServer parameter. If a request is sent without the resourceServer parameter, then
Access Manager uses its key to encrypt the token.
Authorization EndPoint: Enables client applications to interact with the resource owner and
obtain an authorization grant. It is located on an authorization server.
Registration EndPoint: Enables registering client applications on the authorization server. It is
located on the authorization server.
Token EndPoint: Enables client applications to obtain an Access token by providing its
authorization grant or Refresh token. It is located on an authorization server. This endpoint
supports SAML bearer assertion. A SAML assertion can be sent to this endpoint to generate a
token.
TokenInfo Endpoint: Enables the resource server to validate the access and refresh tokens
when the client sends the token. Also, you can get the details of the tokens to introspect the
token.
This endpoint is deprecated. To validate and check the status of the access or the refresh
tokens, send the request to Token Introspect Endpoint.
Token Introspect Endpoint: Enables the protected resource server to check the status and
details (meta-information) of an access or a refresh token.
This endpoint provides the token status in a JSON format. For details about the request and
response, see Token Introspect Endpoint in the Access Manager 4.5 OAuth Application
Developer Guide.
UserInfo EndPoint: Provides information about the user associated with the access token in
the standard OpenID Connect format.
OpenID Metadata EndPoint: Provides information about OpenID provider metadata. It includes
information about supported algorithms, authorization endpoints, scope, response type,
response mode, and authentication methods. For example, this lists the supported Proof Key
for Code Exchange by OAuth Public Clients (PKCE) methods,
code_challenge_methods_supported":["plain","S256"]. For more information
about PKCE flow, see API documentation.
NOTE: If a scope does not require user’s permission, the claims_supported field and the
scopes_supported field of the metadata does not display the defined claims and the defined
scopes respectively.
Revocation Endpoint: Enables Authorization server to revoke refresh tokens (JWT) and its
corresponding access tokens (JWT) with the defined claims.
JSON Web Key Set Endpoint: Provides the information about the signing certificate that is used
by Access Manager.
NOTE: As per OAuth specifications, endpoints must not accept any non-HTTPS request. However,
Access Manager supports non-HTTPS requests also. This is required to enable OAuth in scenarios
when Access Manager is deployed behind a third-party SSL accelerator.
For more information about auditing the events, see Section 21.4, “Enabling Identity Server Audit
Events,” on page 1121.
4.2.10.15 Managing OAuth 2.0 Resource Server and Scope by Using REST API
For information about registering, deleting, and viewing registered resource servers along with
creating, modifying, deleting, and viewing configured scopes, see Registering a Resource Server in
the NetIQ Access Manager 4.5 Administration API Guide.
NOTE: You can revoke only the refresh tokens that are in the JWT format.
Integrating Salesforce With Access Manager By Using SAML 2.0 for Identity Provider
Initiated Login
To integrate Salesforce for idpsend, follow the procedure in “Setting Up Google Applications” on
page 666. In Step 3 on page 666, select Salesforce. The system displays the trusted provider on the
protocol page. For example, if you have specified the Name as SalesForce, the screen displays the
trusted service provider as in Figure 4-18 on page 667, when you click Finish.
Access Manager allows your users to use their existing LDAP credentials for single sign-on access to
salesforce.com and for any web applications protected by Access Manager.
Perform the following steps to configure SAML 2.0 for identity provider (IDP) initiated login:
1 Create domain in Salesforce.
To enable IDP-initiated login in Salesforce.com, you must enable and configure the My Domain
option in Salesforce.com. Defining your own domain provides the basis for an IDP-initiated URL.
1a Login as administrator.
1b Go to Administration Setup > Domain Management > My Domain.
1c Specify the sub-domain name and check the availability.
1d Agree to the terms and conditions and click Register Domain.
2 If you have already configured your identity provider for Salesforce.com using the wizard, you
must update configuration in the identity provider according to the new domain. Perform the
following steps.
2a Download the metadata from Salesforce site for your domain. See Step 3 on page 666.
Send and import this metadata into your Identity Server Salesforce configuration. For
reimporting metadata in Access Manager Identity Server, see “Viewing and Reimporting a
Trusted Provider’s Metadata” on page 201.
2b Change the Intersite Transfer URL to point to the new domain URL
Integrating Salesforce With Access Manager By Using SAML 2.0 for Service Provider
Initiated Login
Service provider configuration options offer you more flexibility and control for example,
simultaneously federating with more than one Identity Server. Salesforce.com also supports SP-
initiated login along with IDP-initiated login. SP-initiated login lets the user use a simple and intuitive
URL to access the target application.
Follow the procedure given below to integrate Salesforce with Access Manager by using SAML 2.0
for service provider initiated login. Assume that the user has a Salesforce account.
1 Create domain in Salesforce.
To enable SP-initiated login in Salesforce.com, you must enable and configure the My Domain
option in Salesforce.com. Defining your own domain provides the basis for an SP-initiated URL.
1a Login as administrator. Go to Administration Setup > Domain Management > My Domain.
1b Specify the subdomain name and check the availability.
1c Agree to the terms and conditions and click Register Domain.
If you have already configured your identity provider for Salesforce.com using wizard, you
must update configuration in the identity provider according to the new domain. Perform
the following steps.
NOTE: Configure SSO configuration. Perform the following steps to enable the SAML support in
Salesforce:
1. Login in to your Salesforce account.
2. In the left panel, select Security Control > Single sign setting > Saml Single Sign-on Setting >
New and fill the form.
3. Select Security Control > Single sign setting > Saml Single Sign-on Setting > Federated Single
Sign-On Using SAML > Edit > Enable Saml.
2 Change the Intersite Transfer URL to point to the new domain URL.
3 Import Salesforce metadata in Access Manager.
As with any other SAML federation you must configure both your Access Manager Identity
Server and Salesforce.com Service Provider (SP) to establish a trust. You now have an option to
download your metadata from Salesforce.com. To download your specific metadata go to your
Salesforce.com instance.
3a Login as an administrator.
3b Go to Administration Setup > Security Controls > Single Sign-On Settings.
3c Select Name that you have configured and Download Metadata.
3d Reimport this metadata into your service provider configuration in Access Manager
assuming that you have created Salesforce using the wizard.
NOTE: When multiple roles are configured in AWS, create a virtual attribute to change the Role
ARN dynamically depending on the user. After creating the virtual attribute, create the
corresponding attribute mapping. For more information, see use case 3 in “Sample JavaScripts
with Examples” on page 92.
2 LDAP Attribute: It is the givenName mapped to the Remote Attribute RoleSessionName. You
can also map any other attribute instead of the givenName.
If you want to use any other LDAP attribute to be mapped for RoleSessionName, perform the
following steps:
1 Click Devices > Identity Server > Shared Settings > Attribute Sets > AmazonWebServices >
Mapping.
In the attribute list, select the existing LDAP attribute set.
2 Click Delete.
3 Click Apply > OK.
4 Click New.
5 In Add Attribute Mapping, specify the following details:
5a Local attribute: Select a local attribute from the available list.
5b Remote Attribute: Specify RoleSessionName.
5c Remote nameSpace: Specify http://aws.amazon.com/SAML/Attributes/
6 Click OK > Finish.
7 Click Devices > Identity Servers > Edit > SAML 2.0.
8 Select AWS and click Attributes.
9 Select the new attribute set from Available and move it to Send with authentication.
10 Click OK, then update Identity Server.
Topics include:
Section 4.2.13.1, “Passive and Active Authentication,” on page 675
Section 4.2.13.2, “Configuring Active and Passive Authentication By Using WS-Trust and WS-
Federation Protocols,” on page 675
Section 4.2.13.3, “Configuring Federation with Office 365 Services for Multiple Domains,” on
page 680
Section 4.2.13.4, “Configuring an Office 365 Domain That Supports Passive Federation by using
SAML 2.0,” on page 683
4.2.13.2 Configuring Active and Passive Authentication By Using WS-Trust and WS-
Federation Protocols
Using the wizard, when you configure an Office 365 domain with WS-Trust protocol it creates the
following two domains:
A domain preconfigured for active authentication using WS-Trust protocol
A domain preconfigured for passive authentication using WS-Federation protocol.
If your business needs demand using a domain based on SAML 2.0 protocol, you can configure a
domain manually using the steps in “Configuring an Office 365 Domain That Supports Passive
Federation by using SAML 2.0” on page 683
The following sections cover the details about how to configure a domain by using WS-Trust and WS-
Federation protocols:
“Prerequisite” on page 675
“Configuring an Office 365 Domain By Using WS-Trust Protocol” on page 676
“Configuring Microsoft Domain Specific Consistency Attribute as Immutable ID” on page 676
“Configuring an Office 365 Domain to Federate with Access Manager” on page 677
“Configuring objectSid as the Immutable ID” on page 679
Prerequisite
Use the following steps to verify that WS-Trust and WS-Federation protocols are enabled in Access
Manager:
1 Click Devices > Identity Servers > Edit.
2 In the Enabled Protocols section, ensure that WS-Trust and WS-Federation protocols are
selected.
3 Create a virtual attribute. For more information, see “Creating a Virtual Attribute” on page 81
4 Map the attribute. For more information, see “Configuring Attribute Mappings” on page 423
NOTE: Ensure to configure the attribute mapping as specified in step 4 and instead of GUID
select the virtual attribute that you configured in the above step while mapping it to the
ImmutableID.
Prerequisite
Ensure that the following requirements are met before configuring an Office 365 domain:
Identity Server must be accessible from outside the firewall so that Office 365 domain can
communicate with Identity Server.
Sign up for an Office 365 account.
To single-sign on to any of the Office 365 applications, ensure that you download it from the
Office 365 portal.
Create a federated domain in Office 365 and prove ownership of it. This ensures that you add
your company domain into the Office 365 domain. For more information, see Adding and
Verifying a Domain for Office 365 (http://office365support.ca/adding-and-verifying-a-domain-
for-the-new-office-365/).
Ensure that the Windows 7 or Windows 8 workstations do not have the Active Directory
Federation Service 2.0 snap-in installed.
Ensure that the Identity Server Base URL SSL certificate is issued by a well-known external
certification authority (CA).
Install Microsoft Live Sign-in Module to help manage and establish a remote session with the
Office 365 account that is created to manage the Office 365 domain. To download, go to
Microsoft Downloads Center (http://www.microsoft.com/en-us/download/
details.aspx?id=41950).
Install Microsoft Azure Active Directory Module. To download, click Install the MSonline module
(https://docs.microsoft.com/en-us/powershell/azure/active-directory/install-
msonlinev1?view=azureadps-1.0).
NOTE: In this example, the port is not specified with Base URL because it uses the default port
443. If you are using a different port, specify the port with the Base URL.
For example: https://namtest.com/nidp/
NOTE: You can enable or disable auto-populating of the username on the Identity Server login page.
For more information, see “HTTP POPULATE LOGINNAME FROM WSFED AUTH REQUEST” on
page 57.
Where h is host, p is port, D is bind credential, w is password, b is search scope, and guid is the
attribute to search.
Create an Office 365 user with this GUID as the Immutable ID by using the following command
in Powershell:
new-msolUser -userprincipalName "user1@domain name" -immutableID "GUID
of user1" - lastname "lastname of user 1" -firstname user1 -DisplayName
"user1 users" -BlockCredential $false -"LicenseAssignment
testdomain:ENTERPRISEPACK" -usageLocation "two letter country
code[example: US,IN,DE,BE,GB etc]" -Password "password of the user" -
LicenseAssignment validlicense.
Procedure to verify:
To verify that single sign-on is set up correctly, perform the following procedure in a server that is
not added to the domain.
1 Go to Microsoft Online Services (http://login.microsoftonline.com/).
2 Log in with your corporate credentials. (For example: [email protected])
Field Description
4 Click OK.
5 Create another Attribute Set. Click New, and specify a Set Name.
6 Click Next > New and specify the following details:
4.2.13.3 Configuring Federation with Office 365 Services for Multiple Domains
You can now federate multiple parent domains with a single Access Manager cluster. This means that
if the enterprise has users in multiple domains, a single Access Manager cluster can handle the
single sign-on requests for all the users for Office 365 services.
For example: Let us assume you have users spread across two domains: [email protected] and
[email protected]. When [email protected] and [email protected] access Office 365
services, the same Access Manager identity provider automatically forms the response with the
corresponding Issuer URI and sends it to corresponding domains configured in the Office 365
service.
“Creating Multiple Domains in Office 365 and Establishing Federation with Access Manager” on
page 680
“Configuring Federation for Multiple Domains” on page 682
Creating Multiple Domains in Office 365 and Establishing Federation with Access
Manager
1 Ensure that you meet the prerequisites for creating a domain. For more information, see
“Prerequisite” on page 675.
2 Create a new Office 365 domain and verify it. For more information see Adding and Verifying a
Domain for Office 365. (http://office365support.ca/adding-and-verifying-a-domain-for-the-
new-office-365/)
NOTE: Office 365 does not support creating a child domain if federation configuration for
parent domain is already established by using powershell. Ensure that you add all child domains
from the Office 365 admin center before establishing federation for the parent domain.
For more information about establishing federation when there are multiple domains and a
child domain, see “Configuring Federation for Multiple Domains” on page 682.
NOTE: In the following example, port is not mentioned as it uses 443. However, if you are
using port 8443, specify the port with the Base URL as follows:
For example: https://namnetiq.in:8443/nidp/
When you add additional domains to Office 365 using Powershell commands, the
variables $certdata, $url, $ecpurl, $logouturl,and $mex must contain the
details provided for the existing domain. If you configure a new domain, change the
values of $dom and the $uri
1. $dom = "namnetiq.in"
2. $url = "https://namtest/nidp/wsfed/ep"
3. $ecpUrl = "https://namtest.com/nidp/wstrust/sts/active12"
4. $uri = "https://namnetiq.in/nidp/wsfed/"
5. $logouturl = "https://namtest.com/nidp/jsp/o365wsfedlogout.jsp"
6. $mex = "https://namtest.com/nidp/wstrust/sts/mex"
7. $cert = New-Object
System.Security.Cryptography.X509Certificates.X509Certificate2(
"name and path of the certificate")
NOTE: If the certificate used has a .crt extension ensure that you convert it to a
.cer extension file.
While executing this command, ensure that you specify the path to the certificate
within the double quotes. For example: “C:\local\netiq-off365-
sign.cer”
8. $certData = [system.convert]::tobase64string($cert.rawdata)
3c Use the following cmdlet to update the settings of the single sign-on domain.
Set-MsolDomainAuthentication -FederationBrandName -DomainName
"federatedDomain.com" -Authentication Federated -PassiveLogOnUri
$url -SigningCertificate $certData -IssuerUri $uri -ActiveLogOnUri
$ecpUrl -LogOffUri $logouturl -MetadataExchangeUri $mex
To configure any more domains, follow the same steps. Ensure that the Issuer URI includes
the UPN of the domain. For example, if you are configuring a domain named support.in,
the Issuer URI will be https://support.in/nidp/wsfed/.
1 Click Devices > Identity Servers > Edit > Options > New.
STS CHANGE ISSUER Specify the value in this format: SPentityID:UPNDomain ->
new IssuerID.
For example,
urn:federation:MicrosoftOnline:support.namnetiq.
in -> https://namnetiq.in/nidp/wsfed/
For example,
urn:federation:MicrosoftOnline:support.namnetiq.
in -> https://namnetiq.in/nidp/wsfed/
In case of multiple child domains, add each parent domain and child
domain separated by comma. For example, if namnetiq.in is the
parent domain and support.namnetiq.in and
engineering.namnetiq.in are the child domains, specify the
following entries:
urn:federation:MicrosoftOnline:namnetiq.in ->
https://namnetiq.in/nidp/wsfed/,
urn:federation:MicrosoftOnline:support.namnetiq.
in -> https://namnetiq.in/nidp/wsfed/,
urn:federation:MicrosoftOnline:engineering.namne
tiq.in -> https://namnetiq.com/nidp/wsfed/
Prerequisite
Ensure that SAML 2.0 is enabled in Access Manager.
1 Click Devices> Identity Servers > Edit.
2 In the Enabled Protocols section, verify whether SAML 2.0 is selected.
Prerequisite
Ensure that the following requirements are met before configuring an Office 365 domain:
Sign up for an Office 365 account.
To single-sign on to any of the Office 365 applications, ensure that you download it from the
Office 365 portal.
Create a federated domain in Office 365 and prove ownership of it. By doing this you add your
company domain into the Office 365 domain. For more information, see Adding and Verifying a
Domain for Office 365 (http://office365support.ca/adding-and-verifying-a-domain-for-the-new-
office-365/).
Ensure that the Windows 7 or Windows 8 workstations do not have the Active Directory
Federation Service 2.0 snap-in installed.
Ensure that the Identity Server Base URL SSL certificate is issued by a well-known external
certification authority (CA).
NOTE: Do not configure the new domain to the primary domain. Using the Set-
MsolDomainAuthentication command to set the domain as a federated domain results in
an error if the domain is the default domain.
NOTE: While executing this command, ensure that you specify the path to the certificate
within the double quotes. For example: “C:\local\netiq-off365-sign.cer”
7. $certData = [system.convert]::tobase64string($cert.rawdata)
4 Use the following cmdlet to update the settings of the single sign-on domain:
Set-MsolDomainAuthentication -FederationBrandName $dom -Authentication Federated -
PassiveLogOnUri $url -SigningCertificate $certData -IssuerUri $uri -ActiveLogOnUri
$ecpUrl -LogOffUri $logouturl -PreferredAuthenticationProtocol SAMLP
NOTE: Ensure that there are no spaces after the hyphen if you are copy pasting the command.
NOTE: You can download the email clients from the download section of Office 365.
These steps are explained with an example where the federated domain name is namtest.com and
the base URL is https://namtest.com:8443/nidp. Replace the domain name and base URL based on
your system configuration.
1 Open the Microsoft Online Services Module.
2 Run the following command:
$cred=Get-Credential
Specify your cloud service administrator account credentials.
5 Create a new email account in your email client and enter your Office 365 email ID.
NOTE: Configure Outlook related DNS settings before using email clients. You can configure
these settings after adding the domain on the Office 365 port page.
6 The system prompts for specifying the basic authentication. Specify Access Manager
credentials.
The email account is created after successful authentication.
NOTE: While logging in to the new email account, enter Access Manager credentials.
NOTE: You can download the email clients from the download section of Office 365.
$cred=Get-Credential
Specify your cloud service administrator account credentials.
3 Run the following command:
5 Create a new email account in your email client and enter your Office 365 email ID.
NOTE: Configure Outlook related DNS settings before using email clients. You can configure
these settings after adding the domain on the Office 365 port page.
6 The system prompts for specifying the basic authentication. Specify Access Manager
credentials.
The email account is created after successful authentication.
NOTE: While logging in to the new email account, enter Access Manager credentials.
NOTE: Usernames are not populated if the Basic type authentication contracts are used.
NOTE: If both HTTP POPULATE LOGINNAME FROM SAML AUTH REQUEST and HTTP
POPULATE PARSED LOGINNAME FROM SAML AUTH REQUEST properties are set to true, then
the login page will display the entire email ID.
IMPORTANT: If you have customized any JSP file, copy those changes to the login_latest.jsp
file located at the following locations:
Linux: /opt/novell/nids/lib/webapp/jsp/
Windows: \Program Files\Novell\Tomcat\webapps\nidp\jsp
Create an Office 365 user with this GUID as the Immutable ID using the following command in
Powershell:
new-msolUser -userprincipalName "user1@domain name" -immutableID "GUID
of user1" - lastname "lastname of user 1" -firstname user1 -DisplayName
"user1 users" -BlockCredential $false -"LicenseAssignment
testdomain:ENTERPRISEPACK" -usageLocation "two letter country
code[example: US,IN,DE,BE,GB etc]" -Password "password of the user".
After upgrading iOS Apps to the Latest Version, Single Sign-On to Office 365 Services Fail
To establish single sign-on from iOS apps to Office 365 services, perform the following steps:
1 Click Devices > Identity Servers > Edit > Local > Contract.
2 Specify a name to identity the contract.
3 Specify the URI as http://schemas.microsoft.com/ws/2008/06/identity/
authenticationmethod/password.
4 Select Name/Password - Form - WebService method.
You can also use the SAML tracer plug-in Firefox to review the SAML assertion sent to Office365.
Verify that federation settings are using the Get-MsolDomainFederationSettings -
DomainName <YOUR DOMAIN> command.
Microsoft Online Services Sign-In Assistant Installation Fails If Microsoft Office Professional Plus Is
Installed
Manually install Microsoft Online Services Sign-In Assistant, if its installation fails after installing
Microsoft Office Professional Plus with this message:
"The Microsoft Online Services Sign In Assistant has experience an error.
The error must be resolved before your subscription for this product can be
verified. To retry subscription verification, first resolve error message
800704DD or try to manually install the Microsoft Online Services Sign In
Assistant...."
You can download the installer from MicroSoft Download Center (http://www.microsoft.com/en-us/
download/details.aspx?id=28177).
After installation is complete, relaunch the service to verify your Office 365 license.
After Initial Successful Authentication, Unending Loop While Logging into Lync Using Wrong
Username and Password
After successfully authenticating to the Office 365 client, if you attempt to log in to the Lync client by
using an incorrect username and password, the Lync client uses the details from the previous
successful session and tries to get a token from Access Manager. This results in an unending loop.
To resolve this issue, in the Lync client user interface, select the Delete my sign-in info option and log
in again.
<saml:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:Password
</saml:AuthnContextClassRef>
<saml:AuthnContextDeclRef>urn:oasis:names:tc:SAML:2.0:ac:classes:Password<
/saml:AuthnContextDeclRef>
</saml:AuthnContext>
</saml:AuthnStatement>
<saml:AttributeStatement>
<saml:Attribute xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Name="IDPEmail"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<saml:AttributeValue xsi:type="xs:string">[email protected]</
saml:AttributeValue>
</saml:Attribute>
<saml:Attribute xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Name="ImmutableID"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<saml:AttributeValue
xsi:type="xs:string">bzM2NkBuZXRpcXRzdC5jb20=</saml:AttributeValue>
</saml:Attribute>
</saml:AttributeStatement>
</saml:Assertion>
</samlp:Response>
MIIFSTCCBDGgAwIBAgIGb+MI39nZMA0GCSqGSIb3DQEBCwUAMIHGMQswCQYDVQQGEwJVUzEQMA
4G
A1UECBMHQXJpem9uYTETMBEGA1UEBxMKU2NvdHRzZGFsZTElMCMGA1UEChMcU3RhcmZpZWxkIF
Rl
Y2hub2xvZ2llcywgSW5jLjEzMDEGA1UECxMqaHR0cDovL2NlcnRzLnN0YXJmaWVsZHRlY2guY2
9t
L3JlcG9zaXRvcnkvMTQwMgYDVQQDEytTdGFyZmllbGQgU2VjdXJlIENlcnRpZmljYXRlIEF1dG
hv
cml0eSAtIEcyMB4XDTE0MDUwNjA5MDYwNVoXDTE1MDIyNjEyMDQwNFowOTEhMB8GA1UECxMYRG
9t
YWluIENvbnRyb2wgVmFsaWRhdGVkMRQwEgYDVQQDEwtuYW1uZXRpcS5pbjCCASIwDQYJKoZIhv
cN
AQEBBQADggEPADCCAQoCggEBAMzjEinlOiwzMpKBQO+H2sb+HifrmVi7JDzhRfOKJakG+nXsgV
x2
QRToN0UbvoeqlDtaTZSKrFb0mc/
E3aEkgSU67DAzWvtm3nUSboJc4QVWQlJmXIP989K2H1DastwE
Srg6iw0MMUuz9ZadP3BQjV4VVB9qX81D32lD4Ti1gJYUDg5tpaUnftddiR+rZQROea3ABC0+oe
Za
7w+jVFUOAP+uG2iJ4zksIO+F3wIXDNZMYQwFlTvnCTO6/
4cRW1XoGxh0BbZGdYn0qHzAOu9okT2B
gnz+aTaMGSIPpPr+PXjB31XqeAhBRoXgrddWIt1DawyrJETPOrzfMhd1i+QSXHcCAwEAAaOCAc
cw
ggHDMAwGA1UdEwEB/
wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMA4GA1UdDwEB
/
wQEAwIFoDA7BgNVHR8ENDAyMDCgLqAshipodHRwOi8vY3JsLnN0YXJmaWVsZHRlY2guY29tL3N
m
aWcyczEtOC5jcmwwWQYDVR0gBFIwUDBOBgtghkgBhv1uAQcXATA/
MD0GCCsGAQUFBwIBFjFodHRw
Oi8vY2VydGlmaWNhdGVzLnN0YXJmaWVsZHRlY2guY29tL3JlcG9zaXRvcnkvMIGCBggrBgEFBQ
cB
AQR2MHQwKgYIKwYBBQUHMAGGHmh0dHA6Ly9vY3NwLnN0YXJmaWVsZHRlY2guY29tLzBGBggrBg
EF
BQcwAoY6aHR0cDovL2NlcnRpZmljYXRlcy5zdGFyZmllbGR0ZWNoLmNvbS9yZXBvc2l0b3J5L3
Nm
aWcyLmNydDAfBgNVHSMEGDAWgBQlRYFoUCY4PTstLL7Natm2PbNmYzAnBgNVHREEIDAeggtuYW
1u
hwPIdSGG+M29sih+5MiWEf862d5K/zSST3XVn1kIwWN3HaLi/
yAnGiOUf6nzNJxE99pudElUdy3R
Kc5z8iQAu3gekVG1Nk4n2mDKZVet1kKEcgHGsfdwGxCkz5bpsPsaMB+pJyvFqu/
RlRXIqsZtVrxv
7PwOIwUPxJQesNhJrdoJNsKxr65ckj2EeL5scCrDh9mYvtMCh/
Qa0C3ALXUm+hBfj21hqw1Qp58I
m68DFTwh35pDkm4AXVxSRCm/9FKuoPGSXeU+O016Gv/FISLiEma+48dN0awlJvxzPI/
cUayyJU2N
3EZp7LpZLfErushLBQQ9YmDNmevpCQoN4cZtuA==
</SignatureValue>
<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
MIIFSTCCBDGgAwIBAgIGb+MI39nZMA0GCSqGSIb3DQEBCwUAMIHGMQswCQYDVQQGEwJVUzEQMA
4G
A1UECBMHQXJpem9uYTETMBEGA1UEBxMKU2NvdHRzZGFsZTElMCMGA1UEChMcU3RhcmZpZWxkIF
Rl
Y2hub2xvZ2llcywgSW5jLjEzMDEGA1UECxMqaHR0cDovL2NlcnRzLnN0YXJmaWVsZHRlY2guY2
9t
L3JlcG9zaXRvcnkvMTQwMgYDVQQDEytTdGFyZmllbGQgU2VjdXJlIENlcnRpZmljYXRlIEF1dG
hv
cml0eSAtIEcyMB4XDTE0MDUwNjA5MDYwNVoXDTE1MDIyNjEyMDQwNFowOTEhMB8GA1UECxMYRG
9t
YWluIENvbnRyb2wgVmFsaWRhdGVkMRQwEgYDVQQDEwtuYW1uZXRpcS5pbjCCASIwDQYJKoZIhv
cN
AQEBBQADggEPADCCAQoCggEBAMzjEinlOiwzMpKBQO+H2sb+HifrmVi7JDzhRfOKJakG+nXsgV
x2
QRToN0UbvoeqlDtaTZSKrFb0mc/
E3aEkgSU67DAzWvtm3nUSboJc4QVWQlJmXIP989K2H1DastwE
Srg6iw0MMUuz9ZadP3BQjV4VVB9qX81D32lD4Ti1gJYUDg5tpaUnftddiR+rZQROea3ABC0+oe
Za
7w+jVFUOAP+uG2iJ4zksIO+F3wIXDNZMYQwFlTvnCTO6/
4cRW1XoGxh0BbZGdYn0qHzAOu9okT2B
gnz+aTaMGSIPpPr+PXjB31XqeAhBRoXgrddWIt1DawyrJETPOrzfMhd1i+QSXHcCAwEAAaOCAc
cw
ggHDMAwGA1UdEwEB/
wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMA4GA1UdDwEB
/
wQEAwIFoDA7BgNVHR8ENDAyMDCgLqAshipodHRwOi8vY3JsLnN0YXJmaWVsZHRlY2guY29tL3N
m
aWcyczEtOC5jcmwwWQYDVR0gBFIwUDBOBgtghkgBhv1uAQcXATA/
MD0GCCsGAQUFBwIBFjFodHRw
Oi8vY2VydGlmaWNhdGVzLnN0YXJmaWVsZHRlY2guY29tL3JlcG9zaXRvcnkvMIGCBggrBgEFBQ
cB
AQR2MHQwKgYIKwYBBQUHMAGGHmh0dHA6Ly9vY3NwLnN0YXJmaWVsZHRlY2guY29tLzBGBggrBg
EF
BQcwAoY6aHR0cDovL2NlcnRpZmljYXRlcy5zdGFyZmllbGR0ZWNoLmNvbS9yZXBvc2l0b3J5L3
Nm
aWcyLmNydDAfBgNVHSMEGDAWgBQlRYFoUCY4PTstLL7Natm2PbNmYzAnBgNVHREEIDAeggtuYW
1u
ZXRpcS5pboIPd3d3Lm5hbW5ldGlxLmluMB0GA1UdDgQWBBQANClvlYFFU3cAkvFQz/
TxuttEUTAN
BgkqhkiG9w0BAQsFAAOCAQEAySHcxqGpgrm9HSiSIFzDOdC9BraZdjh+fIUBeKRUBmSjSByPJI
Hj
</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</ds:Signature>
</saml:Assertion>
</wst:RequestedSecurityToken>
NOTE: File and Memory class implementations are not recommended for production
deployment and are suitable only for a single node Identity Server test environment.
LDAP user attribute: This option stores the secret key on an LDAP attribute of the user object
in the user store.
1. Add a new property to indicate that the secret key must be stored in an LDAP attribute of
the user object in the user store.
Specify the Property Name as SECRET_STORE_CLASS and Property Value as USERSTORE.
2. Click OK.
3. Add another property to indicate the attribute in which the secret key must be stored.
Specify the Property Name as SECRET_LDAP_ATTRIBUTE_NAME and specify the name of
any single-valued attribute. For example, you can specify the Property Value as mobile,
costcentre etc.
The secret key is encrypted and stored in the LDAP attribute. If you do not specify any
Property Value, the secret key is stored in the carLicense LDAP attribute.
NOTE: Do not use a multi-valued LDAP attribute like email address in Property Value as
the user registration will fail. Ensure that the LDAP attribute you have specified as the
Property Value is a non-operational attribute. It is not recommended to use LDAP
Attributes such as groupmembership.
NOTE: If you use TOTP as a post-authentication method in a federation setup, a JSP file not
found message is displayed and federation fails.
Field Description
Server Failure Retry The time in milliseconds that must elapse before a failed server is retried.
JSP Specify the name of the login page if you want to use something other than
the default page.
The filename must be specified without the JSP extension. The default page is
used if nothing is specified.
Use Look Attribute Specify the LDAP attribute on which the user will be searched in the Radius
Name server. CN is the default attribute.
Require Password Select to require the user to also specify an LDAP password.
8 Click Finish.
9 Create a method for this class.
For instructions, see Section 4.1.3, “Configuring Authentication Methods,” on page 403.
10 Create a contract for the method.
For instructions, see Section 4.1.4, “Configuring Authentication Contracts,” on page 405.
NOTE: Fingerprint and PKI methods can be configured using Dynamic Class only. No separate
classes are available for Fingerprint and PKI methods.
Email Class: Sends an email to user’s registered email address with an OTP that is valid for a
specified time. You can use this OTP to authenticate within a certain time frame.
Emergency Password Class: Authenticates users with a temporary password.
FIDO U2F Class: Authenticates users with the help of a U2F security key.
HOTP Class: An event-based OTP authentication. There is no time frame for an HOTP.
Password (PIN) Class: Stores a password in the Advanced Authentication appliance that is not
connected to your corporate directory. This can be a PIN or a simple password.
RADIUS Class: Forwards a user’s authentication request to a third-party RADIUS server.
Security Question Class: Allows users to enroll answers to an administrator-defined number of
security questions. When you authenticate by using security questions, Advanced
Authentication asks you all the security questions or a subset of the security questions.
Smartcard Class: Allows users to authenticate by using a smart card.
Smartphone Class: Allows to authenticate by using a smartphone.
SMS Class: Sends an SMS to a user’s registered mobile number, containing OTP. The user can
use this OTP to authenticate within a certain time frame.
TOTP Class: A time-based OTP authentication. This method uses a predefined time step, which
is set to 30 seconds by default.
Voice Call Class: Makes a phone call on a user’s registered mobile requesting to provide a pre-
defined PIN.
Voice OTP Class: Makes a phone call on a user’s registered mobile and provides an OTP. The
user can use this OTP to authenticate within a certain time frame.
Property Description
login_hint Access Manager 4.5 Service Pack 3 and later supports the
login_hint attribute for OAuth-based authentication methods.
This is an optional property. This property auto-fills the
username parameter if already provided by the user. The user
can then proceed to enter only the secret such as; password or
OTP, whichever is applicable.
forceAuth Access Manager 4.5 Service Pack 2 and later support the
forceAuth property for OAuth-based authentication methods.
(Applicable only for OAuth-based This is an optional property. This property triggers the second-
approach) factor authentication contract for each authentication request.
This property is set to true by default.
Repository Name: REPONAME The name of the repository used for Advanced Authentication.
This parameter may not be used if the default repository is
selected in the Login options policy of Advanced Authentication
server appliance.
Configuration File: CONFIGFILE The name of the configuration file path. This parameter is used
only if the configuration file has a different location. The default
configuration file location is: /etc/aaplugin/config.xml.
Timeout Value: RECHECKTIMEOUT The time out parameter that is used to prevent loops. The
default value is 300 seconds. The following are minimum
recommended values:
Error Info JSP Page: ERRORJSP The name of the JSP page that stores the error logs. This is for
critical errors and failures related to the authentication process.
The default file is PluginErrorPage.jsp. The file is located
at:
Linux: /opt/novell/nids/lib/webapp/jsp
Windows:
$INSTALL_PATH\Tomcat\webapps\nidp\jsp
LDAP Authentication Page: LDAPJSP The name of the LDAP authentication page. This parameter is
used for customization. It allows you to customize the LDAP login
page for each method. The default file is LdapAuth.jsp, The
file is located at:
Linux: /opt/novell/nids/lib/webapp/jsp
Windows:
$INSTALL_PATH\Tomcat\webapps\nidp\jsp
Method Page: METHODJSP The name of the method page. This parameter is used for
customization. It allows you to customize the Method page for
each method. The default file is <MethodName>Auth.jsp.
The file is located at:
Linux: /opt/novell/nids/lib/webapp/jsp
Windows:
$INSTALL_PATH\Tomcat\webapps\nidp\jsp
LDAP Password Sync Page: LDAPSYNCJSP The name of the LDAP password synchronization page. The
default file is LDAPSyncPage.jsp. The file is located at:
Linux: /opt/novell/nids/lib/webapp/jsp
Windows:
$INSTALL_PATH\Tomcat\webapps\nidp\jsp
Max Password Length: PWDMAXLENGTH This parameter restricts the maximum length of a password. The
default value is 100 characters. This parameter can be used only
for YubiKey tokens (FIDO U2F class)
Advanced Authentication Enrollment This parameter contains the URL of the Advanced Authentication
URL: ENROLLURL Self-Service Portal. The default value is https://
<NetIQAdvancedAuthenticationFramework_server_a
ddress>:<server_port>/account.
Email Attribute: EMAIL_ATTR (Applicable only for Dynamic class) This parameter reads and
masks the user’s email address during authentication.
Mobile SMS Attribute: (Applicable only for Dynamic class) This parameter reads the
SMS_MOBILE_ATTR user’s mobile number to send SMS. It masks the mobile number.
Voice Call Telephone Attribute: (Applicable only for Dynamic class) This parameter reads the
VOICE_TEL_ATTR user’s telephone number to make voice call. It masks the
telephone number.
Voice OTP Telephone Attribute: (Applicable only for Dynamic class) This parameter reads the
VOICE_OTP_TEL_ATTR user’s telephone number to send voice OTP. It masks the
telephone number.
Event Used: EVENTNAME (Applicable only for Dynamic class) The name of the event used,
by default the event name is nam.
Skip Authentication Chain: SKIPCHAINS (Applicable only for Dynamic class) This parameter skips the
authentication chain selection and will always use the top chain
from the list.
AA_LOGIN_FORM_PARAM_USERNAME Ecom_User_ID
AA_USERNAME_USERSTORE_ATTRIBUTE mail
5 Create a contract to include both the methods you created in the preceding steps. For more
information about creating a contract, see Section 4.1.4, “Configuring Authentication
Contracts,” on page 405.
6 In the Advanced Authentication administration portal, click Repositories > Edit > Advanced
Settings.
6a Under User lookup attributes, click Add and then specify mail.
6b Under User name attributes, click Add and then specify mail.
6c Click Save.
4.3.3.1 Prerequisites
Advanced Authentication 5.6 or later is installed and configured. To configure the server, see
Configuring Advanced Authentication (https://www.netiq.com/documentation/advanced-
authentication-62/server-administrator-guide/data/b1nci1jf.html).
Advanced Authentication server details are configured in Access Manager. See Section 2.3.9,
“Configuring Advanced Authentication Server,” on page 102.
An Advanced Authentication administrator account is available.
NOTE: If no chain is listed in Advanced Authentication Chains, create a chain in the Advanced
Authentication server. If a chain is available in the Advanced Authentication server, but the
chain is not listed in Advanced Authentication Chains, assign the chain to the configured Access
Manager OAuth Event in the Advanced Authentication server. See Creating a Chain (https://
www.netiq.com/documentation/advanced-authentication-56/server-administrator-guide/data/
creating_chain.html).
NOTE: When you configure a method in both single-method chain and multi-method chain in
the Advanced Authentication portal (for example, LDAP Password chain and LDAP
Password+Smartphone chain) and assign it to the same group of users and the same Event,
Access Manager does not list the less secure chain. LDAP Password will not be listed because
the more secure LDAP Password+Smartphone chain is available.
Identifies User: Select this option when you assign Access Manager to perform the first factor
authentication. Do not select this option when you create an Advanced Authentication method
only for second factor authentication.
Select this option when you assign Advanced Authentication to perform both first and second
factor authentication.
For more information about creating a method, see Section 4.1.3, “Configuring Authentication
Methods,” on page 403.
5 Create a contract for the method.
To use Advanced Authentication as a primary authenticator, the chain in the Advanced
Authentication server must contain the Password method along with any Advanced
Authentication method.
Google+
Yahoo
Hotmail
Salesforce
AOL
Foursquare
Myspace
Mendeley
Yammer
GitHub
For example, you may want your customers and partners to access https://
forums.novell.com. Creating and managing these external users is a hassle for you and the
user. Social Authentication helps in this scenario.
Users will be allowed to sign in with their Facebook or Yahoo ID. Social authentication providers
give Access Manager a set of logged-in user’s attributes. Therefore, you will get the users’ data
without maintaining it. Access Manager can use this user data and perform the required actions
based on that.
Apply policies to restrict users to access a protected resource
When you select the Identify User Locally option, the users’ social details are mapped to the
local user. You can apply authorization policies based on the users’ attributes.
For example, if Joe is a Facebook user, you can match the attributes of Joe in the local user store
based on a rule and apply an authorization policy to access a protected resource. You want to
apply policies on an incoming user. For example, your enterprise user 'Bob' has logged into
https://forums.novell.com/ with a social identity. You may want to identify that 'Bob' is
your local user and provide him with forum moderator privileges. The Identify User Locally
option lets you map a social user to your local user and apply appropriate policies.
Simplify user login
You may want to keep the user in your user stores and make the registration process easy for
the users. Social authentication saves the user from remembering another identity. Users can
login with their social identity and Auto Provision User will map the incoming user specified
attribute with an existing user in the local user store. If the attribute matches, the user is
provisioned, else the user will be prompted for local user authentication.
Personalized web content in business to consumer scenarios
Organizations want to provide personalized services and information to individuals. The
common approach of creating individual identities for users is costly for the organization and
inconvenient for the user. Social authentication allows users to login with their preferred form
of identities. This simplifies the login experience for customers, increases the registration levels,
and lowers IT costs.
Step up authentication
You want to prompt an additional authentication when users try to access the sensitive
information. Access Manager provides options to configure multiple contracts for protected
resources. When users access these resources, Access Manager prompts them to authenticate
with a second factor method, such as their corporate identity or an OTP.
Local Attribute: Select an attribute, for example LDAP Attribute:mail [LDAP Attribute
Profile]. The incoming configured attribute from the social website is mapped to user’s
local LDAP attribute.
IMPORTANT: When you configure more than one social authentication providers, the
Local User LDAP attribute must be a multi-valued attribute. This is required to store the
social attributes corresponding to each social provider.
User Identifier: Select this option adjacent to Local Attribute that you want to use in
identifying the user during social authentication. For example, if you select LDAP
Attribute:mail [LDAP Attribute Profile], the incoming configured social attribute from
the social website is mapped to user’s local LDAP Attribute:mail [LDAP Attribute
Profile] when a user logs in for the first time. The user identifier is used to identify the
user for all subsequent logins.
Auto Provision User Using: Select this option if you want to map an incoming user
specified attribute to an existing user in the local user store. A user is provisioned when the
incoming attribute matches with the local attribute. If attributes do not match, the user
needs to perform the local user authentication. After authentication, the user attribute is
mapped and stored. The following are two ways to auto provision a user:
SSPR: Select this option to provision the user by using details from Self Service
Password Reset. This option is available if you enabled the Self Service Password Reset
under Shared Settings. To enable Self Service Password Reset, see Section 2.3.10,
“Configuring Self Service Password Reset Server Details in Identity Server,” on
page 104.
User Input: Select this option to prompt a user to provide information for user
provisioning.
7 Click + (Add Mapping) to add other social attributes.
8 Click Add under Social Auth Providers to provide the authentication provider details.
Auth Provider: Select the authentication provider from the list. For example, Facebook.
You can select from one of the predefined providers or select Other to specify your own
providers. Only the predefined providers have been verified for compatibility with Access
Manger. If you select Other, you must provide two additional information:
Provider Name: Specify the name of the provider. This name is case-sensitive. The
social authentication class will not work if the other provider name is not identical to
the name specified in the social authentication library. You can configure Yahoo,
Hotmail, Salesforce, AOL, Foursquare, Myspace, Instagram, Mendeley, Yammer, and
GitHub. For example, in case of GitHub, Provider Name specified in social
authentication library is api.github.com. So, Provider Name for GitHub must be
api.github.com for the GitHub social authentication class to work.
(Optional) Implementation Class: Specify a back-end class that can authenticate with
these providers if the other providers are not supported. This is needed only for a
custom provider that is not in the list of supported providers.
Consumer Key: Specify the API key that you received when you registered Access Manager
with the social authentication provider.
Consumer Secret: Specify the secret that you received when you registered Access
Manager with the social authentication provider.
9 Click OK > Finish.
10 Continue with creating a contract and a method for this class.
For configuration information, see Section 4.1.3, “Configuring Authentication Methods,” on
page 403 and Section 4.1.4, “Configuring Authentication Contracts,” on page 405.
IMPORTANT: With the latest Facebook API, the user's email address is no longer shared by
default. For social authentication with Facebook in Access Manager, configure the
following properties in the social authentication method:
For example, consider that the social authentication class properties are set as follows:
Identify User Locally: Selected
Local User LDAP attribute: Ldap Attribute:mail
Social User Attribute: Email
Auto Provision User: Selected
Social Auth Provider: Facebook
As the Auto Provision User setting is enabled, after authentication in Facebook, user is asked for a
one-time local login. During this process, this user's mail attribute is updated with the social
attribute value as facebook:<social-email-address>. Subsequent logins from the same user
will be seamless and user will be identified automatically.
If Auto Provision User setting is disabled, Access Manager will verify if the local user LDAP attribute
mail value is facebook:<social-email-address> for the authentication to succeed.
Field Action
File Click Browse, locate the image file, then click Open.
Locale Select the language for the card or select All Locales if the card can be used with all
languages.
4 Click OK.
5 If you did not select All Locales, continue with Section 2.3.6, “Creating an Image Set,” on
page 100.
6 Add all the required images and click Close.
After configuring Identity Server with required social authentication provider images, the login
page displays these images. You can select an image and access the social providers you have
added when you access the Identity Server URL.
IMPORTANT: The information in the following sections may get changed and may not match the
Social Networking Providers’ interface when you create an application. If you find any changes,
follow the wizard accordingly. The following information is only for reference purpose and can vary
based on the provider configuration page.
1o Click App Review, enable Make DemoApp public, then select Confirm to create this
application and all its live features available. By default, NO is selected.
1p Navigate to the Dashboard page.
The application status changes to Green and is online.
2 Configure Facebook application Configuration Setting in Access Manager. Use App ID and App
Secret to configure Facebook as social authentication provider.
Employees
Web Application
Pass
Fail
Partners
NAAF TOTP
Web Application
Risk Levels
High
Risk
Medium
Risk Identity Server with
Risk-Based Authentication
Low
Step-up Risk Federation
authentication Request / Response
Salesforce.com
SAP HR
Access the resource
Oracle Financials
Service
User Provider
This section describes risk-based authentication concepts and how to configure it.
Section 4.5.1, “How Risk-based Authentication Works,” on page 724
Section 4.5.2, “Why Risk-based Authentication,” on page 726
Section 4.5.3, “Features of Risk-based Authentication,” on page 727
Section 4.5.4, “Key Terms,” on page 733
This risk score is then evaluated against defined risk levels. You can define the risk levels based on
the sensitivity of the information. After the risk level is identified, the authentication mechanism is
selected and the user is authenticated. In cases of high risk, the user is either denied access or is
required to go through additional authentication methods.
NOTE: You cannot record history in this configuration because there are no user-context. If you want
to use history with pre-authentication risk assessment, you must configure a post risk-based
authentication.
For example, an employee trying to log in to a payroll application by using the corporate Intranet is
authenticated through Kerberos authentication mechanism. However, the employee logging into the
payroll application from outside the office must provide an x509 certificate for authentication.
Parameters
User is authenticated
by using
Kerberos mechanism
Current Pattern
Parameters
Medium
Different
Value
Entered Different
Value
Entered
...
Current Pattern
This risk score is then evaluated against defined risk levels. The risk levels are defined based on the
sensitivity of the information. After the risk level is identified, the user is granted or denied access. In
cases of high risk, the user is prompted for additional authentication to confirm the user identity one
more time and assess the validity of the request.
Use Case 1 IP Address Time of Login Geolocation HTTP Header Device Fingerprint ... Low Risk
PASS
NetIQ employee
Entered Entered Entered Entered Different
Value
...
attempts to log
into a payroll
User gets access to
application from
corporate payroll
office in Houston
application.
using a work
computer at
11 a.m. PST
Medium
Use Case 2 IP Address Time of Login Geolocation HTTP Header Device Fingerprint ... Risk
PASS
NetIQ employee
attempts to log
Entered Different
Value
Entered Different
Value
Different
Value
...
into a payroll
application from Initial test fails.
home using User is challenged for
personal stronger authentication
computer method such as OTP,
at 6 p.m. PST biometric.
Use Case 3 IP Address Time of Login Geolocation HTTP Header Device Fingerprint ... High
Risk
FAIL
NetIQ employee
Entered Different
Value
Different
Value
Different
Value
Different
Value
...
attempts to log into
a payroll application
The user is denied
from a different
access to the payroll
country that is in a
application
different time zone.
Consider a scenario where a company named Company1 wants to protect its payroll application.
Risk-based authentication enables Company1 to achieve the following actions:
Restrict access to its contractual employees.
Grant access to permanent employees during the company business hours between 9 a.m. to 5
p.m. After business hours, all employees must specify a one-time password in addition to login
credentials.
Grant special privileges to employees who work in the Finance department. For example,
Company1 does not ask employees of the Finance department to specify a one-time password
even if they log in after business hours.
Grant access to the Self-Service tool along with the payroll application when contractual
employees use Intranet to log in.
Determine actions based on the priority of rule conditions. For example, type of employment is
the most important criterion to grant access followed by the location of the user, and then the
time of the login attempt.
Grant access without any additional authentication if the user has successfully logged in within
one month.
Restrict access when an employee tries to log in from a specific geographical location.
Grant or deny access based on the version of the web browser used for the login attempt.
Deny access to any login attempt that originates from a handheld device.
IP Address Use this rule to define a condition to track login attempts from an IP address, range
of IP addresses, an IP subnet range, or a list of IP addresses from an external
provider.
For example: If you are aware that login attempts from a specific range of IP
addresses are riskier, you can define a rule to watch for such login attempts. When a
request originates from the specified IP address range, you can prompt for
additional authentication.
NOTE: The IP address may not be the clients IP address, but that of an intermediate
device. In such a case, you need to use the X-Forwarded-For to determine the IP
address of the workstation
Cookie Use this rule if you want to track login attempts from a browser-based application
that has a specific cookie value or name.
For example: Consider a scenario where you have a financial application and a user
accessing this application has cookies stored on the browser. If the cookie has a
specific value or name, the user can be granted access without additional
authentication. But, if the user accessing the application has no cookies stored, then
you can request additional authentication to validate the user.
HTTP Header Use this rule to track the HTTP header of requests based on the name or the value
contained in the HTTP header.
For example, if you want to track HTTP requests containing custom HTTP header
information, you can define the action to be performed on evaluation of this rule.
User Last Login This rule creates a cookie in browser after a successful step up authentication.
Subsequent login verifies this cookie. Use this rule to define the duration for which
the cookie is valid. On expiry of the specified duration, the user is prompted for
additional authentication.
For example, this rule can be used to evaluate if the user is logging in by using a
device that was used earlier for a login attempt. You can define the risk level and
also request additional authentication, as necessary.
User Profile Use this rule to define a condition based on the LDAP attribute of the user.
For example, you can define a rule to deny access if the employee ID of the user
matches a specific string.
User Time of Use this rule to define a condition based on the user’s attempts to login at a specific
Login time.
For example, if the usual login pattern for an employee is between 9 a.m. to 5 p.m.,
you can define a rule that takes an action if the login pattern differs from the
observed pattern.
Device Use this rule to uniquely identify and control the type of device from which a user
Fingerprint could log in to the applications secured by Access Manager.
When a user log in the first time from a device and device fingerprint is not
available for that device, a risk is added and Access Manager can be configured to
prompt for an additional authentication. After the first successful authentication, a
device fingerprint is calculated based on the parameters configured in the Device
Fingerprint rule.
In the current implementation, you cannot add more than one Device Fingerprint
rule per Access Manager setup.
Device ID From Access Manager 4.3 onwards, this rule has been replaced with the Device
Fingerprint rule. If you have configured any Device ID rule in Access Manager 4.1 or
(Deprecated) 4.2, this rule will be listed as deprecated after upgrading to Access Manager 4.3 or
later.
External Use this rule to consider inputs from external providers to evaluate the risk
Parameters associated with a login attempt.
NOTE: To use this rule, you must create a custom authentication class to retrieve
details from an external provider. For more information, see User Information
Methods and Creating a Custom Rule Class in the NetIQ Access Manager 4.5 SDK
Guide.
Geolocation Use this rule to track login attempts based on the geographical location of the user.
You can track details ranging from a wide area such as a country or to a smaller area
such as a region.
For example, you can use this rule to introduce additional authentication attempts
in the following scenarios:
when a user logs in from a specific geolocation
when a user accessing from a specific gelocation to be considered as a valid
user and be granted access without further checks
Geo-Velocity Use this rule to check user’s current time and location compared to the time and
Tracker location of the last login. Access Manager supports only country as the location for
this rule.
The last login details are picked from the history database. If the time between the
last successful login and the current login attempt is less than the shortest possible
travel time, you can configure the following actions:
Prompt for an additional authentication
Deny access
For example, a user logged in at 2 p.m. IST in Bangalore and tries to re-login at 5
p.m. IST from Hong Kong. Reaching Hong Kong in three hours from Bangalore is not
possible. To mitigate such malicious login attempts, you can configure a policy using
this rule to either ask for an additional authentication or deny the access.
Custom Rule Use this rule to define your own custom rules by using a custom Java authentication
class. This is useful in deployments where the existing rules do not meet the
requirements.
For example: Consider a situation where the HTTP header contains the company
name in an encoded format. You can create a custom rule to decode the HTTP
header and retrieve the name of the company. This value can later be compared to
an LDAP attribute, and based on the results, action to be taken.
For more information about creating a custom class, see the NetIQ Access Manager
4.5 SDK Guide.
Risk Engine: The risk engine evaluates and assesses rules, including risk score and risk level
processing. It ensures that the risk associated with the login attempt is considered during
authentication.
History: Each time a user makes a login attempt, the rules are evaluated and then based on the
analysis, the user is either granted access or additional authentication is requested. These
details are stored in an external database. The details recorded in history are:
Risk score after evaluation of the rule
Last login time of the user
Geolocation details such as city or country
IP address of the client
Risk level details after evaluation of the rule
Details of additional authentication
Details of error messages displayed during risk assessment
Time zone details
It is recommended to configure Oracle, MySQL, or Microsoft SQL Server as the database to
store the risk-based authentication data. Built-in Data Store is not recommended in a
production environment.
Risk Policies for risk mitigation: A risk policy is a group of risk rules. A rule must be assigned to
a risk policy for functioning. The risk policy was called rule group in Access Manager 4.1.
Location NA Is equal to US
Term Description
Rule A rule indicates a condition that you want to evaluate during a login attempt. For
evaluation, a rule is linked to a risk policy. A rule can be assigned to multiple risk policy.
For example, to assess the IP address of a user and the location from which the user logs
in, you need two separate rules: One for IP address and another rule for location.
Risk Policy You can combine one or more rules with a risk policy. A rule cannot be processed without
being included in a risk policy. You can combine multiple rules in a risk policy.
Risk Score The value that is returned if the rule conditions do not meet.
For example, you have set the risk score as 50. If the risk evaluation fails, 50 is the value
returned to the risk engine.
Assume that the IP address rule is assigned a risk score of 50 and the geolocation rule is
assigned a risk score of 30. If both IP address rule and geolocation rule fail, the risk score
is 80. If only the IP address rule fails, the risk score is 50. As the geolocation rule is
evaluated successfully, the risk score is 0 for this rule.
Is/Is Not When you configure a rule and select a parameter for assessment, you can determine
condition how the conditions must match for each of the subparameters.
For example, if you configure a rule to assess the IP address of a user, you can configure
whether the IP address must be specific, be in a range, or be in a particular subnet.
For example, if you want to assess whether the IP address of a user is within a range of
10.10.10.1 to 10.10.10.10, you can specify an Is condition in the rule configuration. This
indicates that when the rule is evaluated, only IP addresses in the range of 10.10.10.1 to
10.10.10.10 must be considered as a valid IP addresses and then the user must be
granted access.
During the rule evaluation, if you want a rule to be passed when it does not meet a
specific criteria, select Is Not in the rule configuration screen. For example, if you want to
stop all login attempts from a particular IP address, then configure a rule using the Is
condition. Using the same example as above, if you want to stop any login attempts from
IP addresses in the range of 10.10.10.1 to 10.10.10.10, configure the rule using the Is Not
condition.
Combination When you configure a set of rules, it is configured with the OR logical operator, by
Rule default.
For example, if you have configured an IP address rule and a geolocation rule without any
additional configuration, either the IP address rule is evaluated or the geolocation rule is
evaluated. But, if you want both the IP address rule and the geolocation rule to be
evaluated during a login attempt, configure a combination rule. A combination rule lets
you use the AND/OR logical operators to configure a rule based on your preferences.
For example, If you configure an IP address rule and a geolocation rule, select the AND
operator to evaluate both rules. Whereas if you use the OR operator, either IP address
rule or the geolocation rule is evaluated.
Risk Level When a rule fails to evaluate successfully, the risk score is returned to the risk engine. If
you have multiple rules configured, for each rule that fails to evaluate successfully, the
risk score is added up to get a cumulative score. When configuring the risk level, you can
determine the action the risk engine has to take if the total risk score crosses a certain
limit and the risk level for the value.
For example, you can determine that the risk is low if the total risk score is less than or
equal to 50. Whereas if it is greater than 50, some action is required. Here action might
mean an additional authentication request for the user.
Action When a risk level and the associated risk score crosses the set threshold limit, you can
configure the action as deny access or demand additional authentication.
For example, if you have defined a risk level of High for a cumulative risk score of greater
than 50, then you can specify that either the user must be denied access or additional
authentication methods must be requested.
Configuration Steps:
1 Go to Policies > Risk-based Policies > Risk Policy.
2 Click the Create Risk Policy icon.
3 Under Add Risk Policy, specify the following details:
Risk Policy Name: Specify a name.
Policy Description: Specify the purpose of this policy.
Assign Policy To: Select Identity Server cluster and then configure an authentication class.
Select Risk-based Pre-Authentication Class.
Specify Display Name.
Click Save.
4 Create an IP Address rule.
4a Under Policy Rules, click Create Rule and specify the following values:
Rule Name: Specify a name.
Rule Definitions: Select IP Address Rule.
Select Allow if IP Address Is in the list.
Specify the corporate IP Address details. For more information, see “IP Address” in
Step 2 on page 955.
4b Click OK.
4c If rule condition is met, then: Exit with Risk level as.
4d Select Risk Level: Low
4e Click OK.
5 Create a Device ID rule.
5a Under Policy Rules, click Create Rule and specify the following values:
Rule Name: Specify a name.
Rule Definitions: Select Device ID Rule.
Specify the details. For more information, see “Device ID” in Step 2 on page 955.
5b Click OK.
5c If rule condition is met, then: Exit with Risk level as.
Field Value
Medium
Field Value
7 Click OK.
8 Create an authentication method. For more information, see “Configuring a Method for an
Authentication Class” on page 954.
9 Create a contract. For more information, see “Configuring a Contract for an Authentication
Class” on page 955.
10 Assign the contract to the protected resource.
4.5.5.2 Scenario 2
You want to configure an authentication mechanism or an additional authentication mechanism
based on the type of the device.
You can configure risk-based authentication in this scenario by using Risk-based Pre-Auth
Class. You can create a risk rule to choose an authentication mechanism or an additional
authentication mechanism based on the type of device used by a user.
For example, if a user is logging in from a mobile device, you can prompt the user to provide an
additional authentication such as SMS or One-Time Password based authentication after the user is
authenticated. You can define an HTTP Header rule by using a user-agent property such as Mozilla/
5.0 (iPhone; U; CPU iPhone OS 3_0) to verify whether the request is from a mobile.
NOTE: You must configure NAT settings for this rule to work. See Section 10.7.5, “Configuring
NAT Settings,” on page 967.
6 Click OK.
7 Assign the rule to a risk-policy and follow steps Step 7 to Step 9.
4.5.5.3 Scenario 3
You want to grant access only to employees. You want to deny access for any request from a specific
region even if the user is an employee of your organization.
This scenario requires to create two separate rules: one for geolocation named
example_geolocation and another for user profile named example_user_profile.
You can configure risk-based authentication for this scenario by using Risk-based Auth Class.
Configuration Steps:
1 Go to Policies > Risk-based Policies > Risk Policy.
2 Click the Create Risk Policy icon.
3 Under Add Risk Policy, specify the following details:
Risk Policy Name: Specify a name.
Policy Description: Specify the purpose of this policy.
Assign Policy To: Select Identity Server cluster and then configure an authentication class.
Select Create Risk-based Auth Class.
Specify Class Name.
Click Save.
4 Create a Geolocation rule and a User Profile rule.
Geolocation Rule
Under Policy Rules, click Create Rule and specify the following values:
NOTE: You must configure a provider in the Geolocation user interface for a geolocation
rule to work.
Field Value
6 Click OK.
7 Create an authentication method. For more information, see Section 10.7.1.2, “Configuring a
Method for an Authentication Class,” on page 954.
4.5.5.4 Scenario 4
If the user is an employee and is not located in a specific region, grant the access. If the user is an
employee, but accessing from a specific region, deny the access. If the user is an employee and
accessing from the specified location, but the HTTP header contains a specified email ID, grant the
access.
You can configure a risk policy for this scenario by using the combination rule. A combination rule
assesses more than one parameter to validate an authentication request from a user.
The rule must assess the user profile and geolocation first and consider the HTTP header condition
only when the first condition evaluation fails.
You can configure risk-based authentication in this scenario by using Risk-based Auth Class.
Configuration Steps:
1 Go to Policies > Risk-based Policies > Risk Policy.
2 Click the Create Risk Policy icon.
3 Under Add Risk Policy, specify the following details:
Risk Policy Name: Specify a name.
Policy Description: Specify the purpose of this policy.
Assign Policy To: Select Identity Server cluster and then configure an authentication class.
Select Create Risk-based Auth Class.
Specify Class Name.
Click Save.
4 Create a Geolocation rule and a User Profile rule as a single rule.
4a Under Policy Rules, click Create Rule and specify the following values:
4b Rule Name: Specify example_combination_rule.
4c Configure the geolocation rule.
NOTE: You must configure a geolocation provider in the Geolocation user interface for this
rule to work.
Field Value
Medium
Field Value
Field Value
6 Click OK.
7 Create an authentication method. For more information, see Section 10.7.1.2, “Configuring a
Method for an Authentication Class,” on page 954.
8 Create a contract. For more information, see Section 10.7.1.3, “Configuring a Contract for an
Authentication Class,” on page 955.
9 Assign the contract to the protected resource.
4.5.5.5 Scenario 5
You want to store the details of login attempts in the configured history databases and take actions
based on these details in subsequent login attempts.
While configuring risk-based authentication, you can determine if you want to save the history
details and the number of days for which history to consider for evaluation of the authentication
attempt.
For example: Let us assume that you have enabled recording of history details and have specified
that the history of last 10 days are used for evaluation before granting or denying access. If the user
logs in from a different geolocation, additional authentication is requested as the risk is high. The risk
evaluation details are stored in the database. Next time the user logs in from the same geolocation,
the historical details for the last ten days are checked to see if there are details about a login attempt
from the same geolocation. As the geolocation details exist in the database, the user is granted
access without being prompted for additional authentication.
You can enable recording of user history only for a risk policy that uses Risk-based Auth Class.
For more information about how to enable recording of user history, see Section 10.7.2,
“Configuring User History,” on page 961.
4.5.5.6 Scenario 6
You want to identify the characteristics or fingerprints of devices users use for login. The device can
be a desktop, a laptop, or a mobile device. You want this information to achieve the following
activities:
Uniquely identify users’ devices used in login attempts
Use the device identification details in evaluating risks associated with a login attempt and
decide the action based on the risk.
4.5.5.7 Scenario 7
You want to configure a policy to restrict the HR portal access beyond working hours. You are also
concerned about bot attacks and unusual suspicious access requests from throughout the world.
This policy should prompt for an additional authentication to the user if the user meets any one of
the followings conditions:
The device is not recognized
A login attempt is made from a different geolocation than the user’s registered location
An unrealistic consecutive login attempt is made within a short time from a very far location
than the user’s last login location. For example, a user logs in at 4 PM MST in the USA. A login is
requested from the same user account at 5 PM MST from another country, which cannot be
reached within an hour.
To meet these requirements, create a policy and configure the following risk-rules as a combination
rule:
User Time of Login: To verify the login time and restrict the access beyond office hours.
Device Fingerprint: To recognize the device.
Geolocation: To recognize the location of login.
Geo-Velocity Tracker: To determine the velocity from the last login time and to help prevent
man-in-the-middle, brute force, and DDoS attacks.
To watch the video explaining how to create the policy, see How to Calculate Access-related Risks by
Using Current Location, Device, and Login History of a User (https://www.youtube.com/
watch?v=4FGgdeZlGdE).
Configuration Steps:
1 Go to Policies > Risk-based Policies > Risk Policy.
2 Click the Create Risk Policy (+) icon.
Under Add Risk Policy, specify a name and description of this policy.
Risk Policy Name: Specify a name.
Field Value
4.5.6.1 Scenario 1
Let us assume that you have created two rules to validate login requests to a financial application.
You have determined that Rule 1 is the most critical rule and want users to gain access when this rule
is evaluated.
Depending on the risk score returned after evaluation of rule, risk level is assigned and action is
taken.
Rule 1 and Rule 2 In this case, the total risk score is 80 80 Additional
fail. as both the rules have failed. authentication is
requested.
4.5.6.2 Scenario 2
You have created three rules to access login requests to a financial application. All the rules must
evaluate successfully to grant access to the user.
Depending on the risk score returned after evaluation of rule, risk level is assigned and action is
taken.
Rule 1, Rule 2, and Rule 3 As all the rules are evaluated 0 Access is allowed.
are successfully evaluated. without errors, the risk score is
0.
Rule 1 fails, but Rule 2 and The risk score is the value 50 Additional
Rule 3 evaluate assigned to the rule that failed. authentication is
successfully. In this case, the risk score is 50. requested.
Rule 2 evaluates The risk score is the sum of risk 60 Access is denied.
successfully, but rule 1 and scores of all failed rules. In this
rule 3 fail. case, the risk score is 60.
Rule 2 fails, but rule 1 and The risk score is the sum of risk 30 Access is allowed.
rule 3 evaluate scores of all failed rules. In this
successfully. case, the risk score is 30.
All the rules fail. The risk score is the sum of risk 90 Access is denied.
scores of all failed rules. In this
case, the risk score is 90.
1 Unzip the RiskDBScripts.zip file containing script to extend the database and sample
configuration files. The file is located at the following location:
On Linux: /opt/novell/nids/lib/webapp/WEB-INF/RiskDBScripts.zip
On Windows: C:\Program Files\Novell\Tomcat\webapps\nidp\WEB-
INF\RiskDBScripts.zip.
2 On the MySQL server, execute the following command to create database objects for risk-based
authentication:
mysql -h host -u username -p password netiq_risk_mssql_install.sql
3 Download the JDBC connector for the MySQL database from MySQL.com (http://
dev.mysql.com/downloads/connector/j/5.0.html).
4 Copy the JDBC connector to the /opt/novell/nids/lib/webapp/WEB-INF/lib/ folder.
5 Restart Identity Server.
NOTE: (Access Manager 4.5 Service Pack 3 and later) Oracle 19.x supports two JDBC connectors,
ojdbc8.jar and ojdbc10.jar. However, ojdbc10.jar is not supported with JDK 8. Hence
you must use the ojdbc8.jar file while using Oracle Database 19.c.
NOTE: Access Manager now uses the c3p0 libraries for connection pooling with the following
default parameters:
hibernate.c3p0.testConnectionOnCheckout : true
hibernate.c3p0.max_statements : 100
hibernate.c3p0.max_size : 100
hibernate.c3p0.validate : true
hibernate.c3p0.idle_test_period : 3000
hibernate.c3p0.min_size : 20
For more information about c3p0 connection pooling, see c3p0 - JDBC3 Connection and
Statement Pooling (https://www.mchange.com/projects/c3p0/).
For more information, see Section 23.3, “Identity Server Logging,” on page 1138.
4.5.11.1 Understanding How to Use the Validate Tool to Emulate Total Risk Score
and Risk Levels
After configuring a risk policy and the corresponding risk scores and actions, use Validate to emulate
total risk score, risk level, and action in event of rule failure. Based on the results, you can modify the
configuration, if required.
Let us consider a case where you have configured a risk policy that includes five rules. The rules and
the corresponding risk scores are as follows:
Demo_RiskPolicy Demo_InNetworkAtOfficeHours 20
Demo_InternalUser 20
Demo_KnownDevice 20
Demo_PayrollSiteCookie 20
Demo_UserProfile 20
Table 4-13 Sample Risk Policy Configuration: Risk Scores and Risk Levels
Now, open the risk policy for which you want to emulate total risk score, risk level, and action in
event of rule failure. In the risk policy page, click Actions > Toggle Validate. Specify the rules as pass
or fail to see the result along with a graphical reperesentation.
For example, specify pass and fail for rules as follows:
Rule Condition
Demo_InNetworkAtOfficeHours Failed
Demo_InternalUser Failed
Demo_KnownDevice Failed
Demo_PayrollSiteCookie Passed
Demo_UserProfile Passed
You can similarly specify any other rule as failed or passed to emulate the risk score and risk levels.
NOTE: The Risk Rule Validation utility does not display details if Record User History is enabled
and a user profile rule is configured.
User Profile 30
IP Address 25
HTTP Header 20
Entry Description
user-profile~result~false Indicates that user profile rule failed and the risk score of 30 is added to the total
risk score.
Figure 4-20 Tracelist providing information about risk level and action
This log entry indicates that the as per the risk level/action configuration, the action taken is to allow
authentication to the user and the risk score is 30.
Entry Description
Figure 4-22 Tracelist providing information about risk level and action
This log entry indicates that the as per the risk level/action configuration, the action taken is to allow
authentication to the user and the risk score is 0.
Scenario 3: Two rules fail and the user is asked to authenticate using additional authentication
In this scenario, the User Profile rule and the IP address rule fail to evaluate successfully. The HTTP
Header rule evaluates successfully.
The following tracelist detail from the catalina.out file provides more information about the rule
evaluation, risk score, and action:
Figure 4-23 Tracelist providing information about rule evaluation
Entry Description
user-profile~result~false Indicates that user profile rule failed and the risk score of 30 is added to
the total risk score.
ip-rule~result~false Indicates that the IP address rule failed and the risk score of 25 is added to
the total risk score.
This log entry indicates that the as per the risk level/action configuration, the action taken is
additional authentication and the risk score is 55.
Entry Description
user-profile~result~false Indicates that user profile rule failed and the risk score of 30 is added to the
total risk score.
http-header~result~false Indicates that the HTTP header rule failed and the risk score of 20 is added
to the total risk score.
ip-rule~result~false Indicates that the IP address rule failed and the risk score of 25 is added to
the total risk score.
Figure 4-26 Tracelist providing information about risk level and action
This log entry indicates that as per the risk level/action configuration, the action is to deny access to
the user and the risk score is 75.
The device fingerprinting feature enables you to identify the type of device from which a user can
log in to the applications secured by Access Manager. The device can be a desktop, a laptop, or a
mobile device. Each device has many characteristics such as operating system, hardware, browser
characteristics. Access Manager uses device characteristics and user identity to create a unique
fingerprint of the device. You can use the fingerprint to uniquely identify and associate a risk profile
for the device. You can further configure what kind of applications can be accessed through this
device.
You can use the device fingerprint information to achieve the following activities as part of risk-
based authentication:
Uniquely identify users’ devices used in login attempts
Evaluate risks associated with a login attempt by using device identification details and decide
the action based on the risk
This section provides details about how device fingerprint works in risk-based authentication and
how to configure a risk-based authentication policy to utilize device fingerprinting capabilities. For
more information about risk-based authentication, see Section 4.5, “Risk-based Authentication,” on
page 722.
This section includes the following topics:
Section 5.1, “How It Works,” on page 755
Section 5.2, “Understanding Device Fingerprint Parameters,” on page 760
Section 5.3, “Configuring a Device Fingerprint Rule,” on page 762
Section 5.4, “Configuring an Example Device Fingerprint Policy,” on page 763
Section 32.9, “Troubleshooting the Device Fingerprint Rule,” on page 1362
Evaluate Risk
2 (Fingerprinting
Rule Enabled)
3 Match Fingerprint
Match?
User Yes No
Authentication
Mechanism 1(Low Risk)
4
Authentication
Mechanism 2(High Risk)
Authenticate User
User Store
5 Success?
Yes No
Store fingerprint in
6
device and allow access
Deny
Access
2
3 Authenticate User
User Store
Authenticated?
Yes
5 Match Fingerprint
User
Match?
Yes No
7 Do Risk Action(Stepup
authentication)
Stepup
8 Yes
Success?
Yes No
Store fingerprint in
9
device and allow access
Deny
Access
Parameter Description
Hardware Parameters Fetches the following details about the user’s device:
Touch support
Maximum number of supported touch points
CPU architecture (32- or 64-bit processor)
Color depth
type (mobile, desktop, or iPad)
Operating System Fetches name and version of the operating system on the user’s device.
Screen Resolution Fetches width and height of the user's browser and screen.
User Agent Fetches the following details about the browser on the user’s device:
Version
Name
Platform of the browser
Number of logical processor cores available to the browser
HTML5 Capabilities Fetches the information about HTML 5 capabilities that are supported
by the browser.
System Fonts Fetches the information about fonts supported and unsupported by the
user's browser.
WebGL Metadata Fetches information about the Graphics Processing Unit (GPU), the
identity of the browser, Web Graphics Library (WebGL) properties, and
characteristics supported by the browser.
You can configure the match criteria either for an individual parameter or for a group of parameters.
An individual parameter must match exactly with the stored value. You should configure a parameter
for individual validation if it must be part of the login request and its value does not change
frequently.
Consider configuring a parameter to be evaluated as a group if it is less important and the parameter
value may change frequently. For example, version of a browser. For a group of parameters, you can
specify a value in percentage. To meet the rule condition, the specified percentage of the
parameters in the group must match with the stored value.
Selecting parameters for a group evaluation and specifying the match criteria to 100% gives similar
result as the individual parameters evaluation. However, this configuration is not recommended, as
it results in additional back-end percentage calculations. Instead, add the parameters in the
individual list based on requirements.
If the parameters do not match as specified, you can configure Access Manager to prompt for
additional authentication.
For example, you have selected Screen Resolution, User DN, User Agent, Language Set, TimeZone
Offset, and Operating System parameters in the rule. You have configured the following match
conditions:
Screen resolution: Evaluate Individually
Language Set, User DN, User Agent, TimeZone Offset, and Operating System Parameters:
Evaluate as a Group
Field Description
Valid for Specify the number of days for which you want to use the stored fingerprint.
Fingerprints stored Specify the number of fingerprints you want to store per user. This option is
per user applicable only when you select Server to store fingerprints. The permissible
value is 1 to 20.
Prompt User Consent Select this option if you want users to provide their consent before storing
the device fingerprint.
Refresh Fingerprint If you select this option, the fingerprint becomes valid again for the time
Validity specified in Valid for if the user logs in from that device within the specified
time.
Send Email Select this option if you want to send a mail to a user when the user logs in
Notification using an unknown device.
You must configure the email server for this option to work. For more
information, see Section 3.8, “Email Server Configuration,” on page 379.
5 Click Parameter Settings if you want to modify the default settings. For information about
parameters, see Section 5.2, “Understanding Device Fingerprint Parameters,” on page 760.
For information about how to assign a rule to a risk-policy, see “Configuring a Risk Policy” on
page 951.
For information about risk-based authentication, see “Risk-based Authentication” on page 722 and
“Risk-based Policies” on page 950.
NOTE: If you select an existing class, settings of the selected class are overwritten with values of
this policy.
NOTE: You cannot have more than one Device Fingerprint rule in each Access Manager setup. If
a rule is already configured, either use the existing rule or modify it based on the requirement.
TimeZone Offset To meet the rule criteria, at least four out of Language Set,
Screen Resolution, TimeZone Offset, User Agent, and Operating
User Agent System Parameters must match.
Operating System Parameters
6 Click OK.
7 Under Action to Perform, select If rule condition is met, then Exit with Risk Level as.
8 Select Risk Level as Low.
NOTE: You can also create a risk level here, and then assign it to the rule. See Step 11.
When a user logs in the first time Medium Prompt for additional authentication
because no fingerprint exists to
match.
When individual parameters match, but a parameter Medium Prompt for additional authentication
in the group does not match the specified
percentage.
When individual parameter does not match, but Medium Prompt for additional authentication
parameters in the group match completely
When both individual parameter and parameters in Medium Prompt for additional authentication
the group do not match
Azure
(This feature is supported in Access Manager 4.5 Service Pack 1 and later)
Microsoft Azure Active Directory (Azure AD) provides device management when Windows devices
are registered with Azure AD. Azure AD can ensure that devices meet organizations’ standards for
security and compliance.
You can configure hybrid Azure AD join to register your on-premises AD domain-joined Windows
resources automatically to Azure AD. Hybrid Azure AD join provides SSO to enterprise applications
using Kerberos and OAuth 2.0 tokens.
This enables users to sign in to the domain and access the cloud resources without the need to
provide credentials.
Access Manager serves as an identity provider in this process.
The following are the key capabilities of hybrid Azure AD join:
Device-based conditional access
SSO to on-premises and cloud resources
Windows Hello for Business
For detailed information about hybrid Azure AD, see Hybrid Azure AD joined devices (https://
docs.microsoft.com/en-us/azure/active-directory/devices/concept-azure-ad-join-hybrid).
Automatic Hybrid Azure AD Join for Windows Devices
Azure AD Join for Windows Devices
Azure Active Directory Conditional Access with Access Manager
Registering Devices to Microsoft Intune Mobile Device Management
Azure Azure
Office 365 AD DRS
4 7
DMZ Access Manager
6
9
AD
On-premises LDAP
2
8
Group Policy 1
Device
1. AD triggers a group policy to the Windows 10 client for initiating the device registration.
2. The device queries AD for the Azure AD tenant information. The Azure AD Connect application
gathers the tenant information stored in AD.
3. An OAuth code authentication request is sent to Azure AD, and Azure AD redirects the request
to Access Manager Identity Server.
4. The device reaches Identity Server’s Integrated Windows Authentication (IWA) STS endpoint
with a device account as an identity by using Windows integrated authentication.
5. Identity Server uses Kerberos to validate the device identity with the AD domain.
6. After successful authentication, Identity Server sends a token with claim details.
7. The token is sent to Azure AD. Azure AD validates federation settings with Access Manager.
After successful validation, it sends the token to the client for device registration.
NOTE: For the list of supported Windows downlevel devices, see “Automatic Hybrid Azure AD
Join for Windows Downlevel Devices” on page 774.
NOTE: If Azure AD Connect is already installed, you can configure it in Azure AD Connect by
clicking Change user sign-in > Next.
5 On the Connect to Azure AD page, specify your Azure AD global admin account and password.
6 On the Sync > Connect Directories > Connect to your Active Directory Domain Service page,
perform the following actions:
6a In DIRECTORY TYPE, select Active Directory.
6b In FOREST, specify the name of the forest.
6c Click Add Directory.
6d Select Use existing account.
6e Specify the Active Directory Domain Services (AD DS) enterprise administrator credentials.
6f Click Next.
7 On the Sync > Azure AD sign-in > Azure AD sign-in configuration page, select Continue without
matching all UPN suffixes to verified domains.
8 On the Configure > Ready to configure page, select Start the synchronization process as soon as
the configuration completes.
9 Click Install.
For detailed information about how to install and configure it, see Custom installation of Azure AD
Connect (https://docs.microsoft.com/en-us/azure/active-directory/hybrid/how-to-connect-install-
custom).
<servlet>
<servlet-name>NetIQSTS12MEX</servlet-name>
<jsp-file>/jsp/mex.jsp</jsp-file>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>NetIQSTS12MEX</servlet-name>
<url-pattern>/wstrust/sts/mex</url-pattern>
</servlet-mapping>
<servlet>
dsregcmd.exe /status
3 Verify that the following parameters have the corresponding values:
Parameters under Device State
— Azure DA Joined: YES
— Domain Joined: YES
Parameters under User State
— WorkplaceJoined: NO
— WamDefaultSet: YES
Parameter under SSO State
— Azure AD PRT: YES
The following is an example:
Prerequisites: see “Prerequisites for Automatic Hybrid Azure AD Join” on page 769.
To enable automatic registration for Windows downlevel devices, perform the following steps:
1. Prepare Azure AD for automatic hybrid Azure AD join.
See “Preparing Azure AD for Automatic Hybrid Azure AD Join” on page 770.
2. Configure Access Manager for automatic hybrid Azure AD join.
See “Configuring Access Manager for Automatic Hybrid Azure AD Join” on page 771.
3. Configure the local Intranet settings for device registration. To prevent the certificate prompts
while authenticating a device to Azure AD, add the following URL to the Local Intranet zones:
https://device.login.microsoftonline.com
4. Install Microsoft Workplace Join for non-Windows 10 computers (https://www.microsoft.com/
download/details.aspx?id=53554).
For more information, see Install Microsoft Workplace Join for Windows downlevel computers
(https://docs.microsoft.com/en-us/azure/active-directory/devices/hybrid-azuread-join-
federated-domains#install-microsoft-workplace-join-for-windows-downlevel-computers).
5. Validate hybrid Azure AD join. See “Validating Hybrid Azure AD Join” on page 772.
6. Verify the registration. See “Verifying Device Registration Status” on page 773.
Access Manager supports Conditional Access for devices on the following platforms:
Windows 10, Windows Server 2016, Windows Server 2019
iOS, macOS
Android
Office 365
Authenticate the user
and assess the device risk
4 Access Manager
1A 1B
Not registered
2
Issue an access token Conditional
Devices using Access Service
Word app (Hybrid Azure AD Join/MDM)
1. When a user tries to access the Word App, the request is sent to Access Manager for
authenticating the user and the device.
— 1 A: If the device of the user is not registered: The device is registered automatically to
Azure AD through Hybrid Azure AD join.
— 1 B: The device is evaluated to see if it is compliant with the company policies. If the device
is compliant, the required properties are set in Azure AD.
2. Access Manager sends an access token and a refresh token required for accessing Office 365 to
the Word app.
3. The Word app sends the access token to Office 365.
4. Based on the access token, Office 365 grants the user with access to the content in the Word
app.
For more information about creating a Conditional Access policy, see Create your Conditional Access
policy (https://docs.microsoft.com/en-us/azure/active-directory/conditional-access/app-based-
mfa#create-your-conditional-access-policy).
Appmarks function like bookmarks in browsers. As with bookmarks, if the resource for the appmark
changes, you must change the appmark to match the modified source. For example, you have an
appmark for a protected resource and the protected resource changes, you must edit your appmark
and select the modified protected resource again to receive the changes.
You can configure one or more appmarks for a resource. However, that appmark is specific to a
single IDP cluster. You can also configure appmarks for users to use with only a browser. If you want
users to use the mobile apps, you must configure MobileAccess. For more information, see
Section 8.2, “Configuring the MobileAccess App,” on page 786.
When you configure an appmark, you specify whether you want the application to launch in a
desktop browser or on a supported mobile device, or both. If you configure a single appmark to
display in both a desktop browser and on a mobile device, the appmark will have the same name,
but you can customize the icons so they are different. Appmarks offer significant flexibility, enabling
you to customize your users’ experience using different view options and variables.
When you configure a new appmark to display on a mobile device, users must refresh the
application page on the mobile device to see the appmark.
Access Manager provides connectors for the different applications that you import and configure to
provide a single sign-on experience for the users. When you import and configure a connector,
Access Manager automatically creates an appmark for the connector. You can manage and configure
the connectors in the Applications page of Administration Console and manage and configure
appmarks through the Appmarks page. For more information, see the Access Manager 4.5
Applications Configuration Guide.
You can create an appmark for the following items:
Applications
Bookmarks
Mobile apps
Service providers
Protected resources
Topics include:
Section 7.1, “Creating an Appmark,” on page 782
Section 7.2, “Creating Multiple Appmarks for an Application,” on page 782
Section 7.3, “Understanding Appmarks Options,” on page 782
Section 7.4, “Managing Icons,” on page 784
Appmarks 781
7.1 Creating an Appmark
1 Log in as an administrator to Administration Console.
2 In Administration Console Dashboard under Administration Tasks, click Appmarks.
3 (Conditional) If you have not already configured an Access Manager resource, create a resource,
such as a service provider or a protected resource.
4 In the Cluster field, select the appropriate IDP cluster that hosts the protected resource.
If you have only one IDP cluster, Administration Console automatically selects that IDP cluster.
5 Click the plus sign (+) to create an appmark.
6 Create a new appmark using the information located in, Section 7.3, “Understanding Appmarks
Options,” on page 782.
7 Click Save.
Repeat this process for each appmark you want to create. In order for the mobile appmark to work,
you must configure MobileAccess. For more information, see Section 8.2, “Configuring the
MobileAccess App,” on page 786.
782 Appmarks
Table 7-1 Appmark Options
Option Description
Name The display name for the appmark. If you want different display names for the appmark on
the desktop browser page and on mobile devices, create a copy of the appmark and change
the name.
Description The description appears as a hover text that users see for the appmark on the User Portal
page.
Change Image The image that Access Manager uses for the appmark for all platforms.
Roles (Optional) The Access Manager role that the users must have to see the appmark. If you do
not select a role, all users can see the appmark on the User Portal page. If you add a role,
only users with that role can see the appmark. If you add multiple roles, users in any of those
roles can see the appmark. For example, if you add Sales and Managers, the users must be in
Sales or Managers, not Sales and Managers, to see the appmark.
Type The Access Manager resource type that the appmark represents.
Enable Select the user platforms where the appmark will be visible. The platforms are Desktop, iOS,
and Android.
Desktop Allows you to override the behaviors of the desktop appmark. For example, you can add a
different icon for the desktop appmark so it sizes differently than the iOS appmark. You can
use an image from the Image Gallery or upload your own image.The options to override are:
Image
URL
Appmarks 783
Option Description
iOS and The options are the same whether you select iOS or Android. You can add a unique image or
Android. URL for the iOS and Android appmarks so that these appmarks appear differently from the
desktop appmarks.
The appmarks also have additional options not available for the User Portal page.
Launch with: Specifies how to launch the application on the mobile device. Options
include the following:
Chrome: When the user opens the MobileAccess app on the mobile device and
taps the appmark, the MobileAccess app launches Chrome and directs it to the
application. If Chrome is not installed on the mobile device, the user is taken to
the App Store or Google Play to install it.
Internal viewer: When the user opens the MobileAccess app on the mobile
device and taps the appmark, the MobileAccess app opens an embedded HTML
viewer and directs it to the application. This view is similar to the Safari and
Chrome options, except that the user does not need to leave the MobileAccess
window. The application opens within the MobileAccess app window, and the
user can tap the app name (as defined by the administrator when configuring
MobileAccess) on the navigation bar in the top left corner of the screen to go back
to the app home page and easily switch to another protected resource.
Safari (iOS only): When the user opens the MobileAccess app on a mobile device
and taps the appmark, the MobileAccess app launches Safari and directs it to the
application.
User Choice (Android only): When the user opens the MobileAccess app on a
mobile device and taps the appmark, the MobileAccess app allows the user to
choose what browser launches.
App Installer URL: (Optional) You can use this option if you selected the Mobile App
type. This is the URL to install the application if it is not already installed on the mobile
device.
784 Appmarks
8 Enabling Mobile Access
8
Access Manager provides the MobileAccess feature app. This app enables the users to access to
appmarks, connectors, protected applications and resources through your mobile devices. To enable
this app, you need to perform some configuration steps in Administration Console and in the
MobileAccess app for mobile devices.
MobileAccess includes the following configurable options:
Which applications users must be able to access through appmarks
Whether users can access an application through a desktop browser or a mobile device, or both
What the preferred viewer for the application on the mobile device is
Whether users are required to provide a PIN to use the MobileAccess app on their mobile
device, and if so, whether they are required to re-enter the PIN after a period of inactivity
Users must install the MobileAccess app on their mobile devices to access the resources protected
by Access Manager from those devices. Administrators can also make the MobileAccess app
available to users in a private corporate store. After users install the app and registered their device,
they can access the resources by using the assigned authentication methods. The MobileAccess app
uses the OAuth access token to allow access to an application.
Administrators can deregister user mobile devices through Administration Console on the User
Devices page. So, if a registered mobile device is lost or stolen, or an employee leaves the company,
you can ensure that unauthorized users cannot access corporate resources. Users can also deregister
their own mobile devices, if necessary, from their device or from the User Portal page.
Section 8.1, “Requirements for the MobileAccess App,” on page 785
Section 8.2, “Configuring the MobileAccess App,” on page 786
Section 8.3, “Registering Users Mobile Devices,” on page 787
Section 8.4, “Installing MobileAccess on a Mobile Device,” on page 789
Section 8.5, “Understanding the MobileAccess PIN,” on page 789
Section 8.6, “Managing Mobile Devices,” on page 790
MobileAccess App
iPhone with 9.x or later
iPad or iPad mini with 9.x or later
Android phones and tablets with Lollipop 5.x or later
NOTE: MobileAccess 2 app is supported with Access Manager 4.5 Service Pack 3 and later.
MobileAccess 2 app does not work with older versions of Access Manger.
NOTE: MobileAccess communicates only over an HTTPS connection. MobileAccess does not work
with HTTP.
IMPORTANT: Ensure that the certificate of the Identity Server cluster contains a Subject Alternate
Name. The MobileAccess app will not work if the Subject Alternate Name field is empty.
To configure MobileAccess:
1 Log in as an administrator to Administration Console.
2 In Administration Console Dashboard under Administration Tasks, click MobileAccess.
3 Select the IDP cluster that contains the appmarks you want to enable for the MobileAccess app.
4 Select Enable MobileAccess to enable users to register their devices if they have the
MobileAccess apps installed.
5 (MobileAccess app) In Device display name, specify your company name. This name appears in
the bar at the top of the MobileAccess app window on users’ mobile devices.
(MobileAccess 2 app) Navigate to Dashboard > Branding, specify your company name under
Title.
6 In Roles, select the roles that users can view the appmarks on the MobileAccess app.
If you do not select a role, users can view all appmarks on the MobileAccess app. If you add a
role, only users with that role can view the appmarks. If you add multiple roles, users in any of
those roles can view and access the appmarks.
7 In Mobile device registration contract, select the contract that users will see to register their
devices through the MobileAccess apps. You can select any contracts listed. However, not all
Access Manager contracts work with mobile devices.
IMPORTANT: Ensure that the contract you select works with mobile devices. In general, any
basic authentication or certificate contracts do not work on mobile devices.
NOTE: By default, users can enter their PIN incorrectly five times. On the fifth attempt, the
application deregisters the mobile device and removes the current PIN. However, if the users
use the MobileAccess 2 app, and enter the PIN incorrectly for more than five times, the
application does not deregister the mobile device.
11 Click Save.
12 Repeat the procedure for each Identity Server cluster that contains appmarks.
NOTE: The MobileAccess 2 app does not connect the user to the first provider in the list by default.
The user has to sign in to the app and then select an account provider.
As an administrator, you can provide two different ways for users to register a mobile device with
Access Manager.
Section 8.3.1, “Registering iOS Devices,” on page 787
Section 8.3.2, “Registering Android Devices,” on page 788
NOTE: You can also use other application to generate the QR code.
The users launch the MobileAccess 2 app, tap the + button on the Sign In page. Then, click Use QR
Code to Register, scan the QR code, and click Sign In to complete the registration process.
8.3.2.1 Manual
Send your users an email with the URL to the Identity Server including the correct port number. The
users specify the Identity Server URL in the MobileAccess app by tapping the menu in the upper left
corner of the MobileAccess app, then tapping Manage Accounts > + to specify the URL of the Identity
Server in the Account Provider field. The URL is:
https://Identity_server_dns_name:port
For example, https://idp.acme.com:8443
With Access Manager 4.5 Service Pack 3, the MobileAccess 2 app is released. This version of the app
supports registering Android devices using a QR code. Instead of typing the Identity Server URL,
users can scan a QR code, and the URL gets populated. Along with the Identity Server URL, you can
also provide a QR code to the users.
To generate the QR code, launch the QR Code Generator (https://www.the-qrcode-generator.com/)
application and perform the following steps:
1 Specify the Identity Server URL and port in the QR code generator. For example, https://
idp.acme.com:8443
The QR code gets generated.
2 Save the QR code.
3 Copy and paste the QR code in the email that you will send to the users.
NOTE: You can also use other application to generate the QR code.
The users launch the MobileAccess 2 app, tap the + button on the Sign In page. Then, click Use QR
Code to Register, scan the QR code, and click Sign In to complete the registration process.
<html>
<body><a href="intent://x-callback-url/register?providerUrl= https://
IDP_server_dns_name:port#Intent;scheme=comnetiqauth;package=com.netiq.mobi
leaccessforandroid;end;">Register</a></body>
</html>
For example:
<html>
<body><a href="intent://x-callback-url/register?providerUrl= https://
idp.acme.com:8443#Intent;scheme=comnetiqauth;package=com.netiq.mobileacces
sforandroid;end;">Register</a></body>
</html>
NOTE: The MobileAccess PIN is unrelated to the built-in device passcode, which is designed to
protect other resources on the mobile device.
Even if the administrator does not require users to set a PIN, users can optionally set a PIN on their
device. The PIN can be different for each mobile device the user registers. The PIN is not stored
anywhere other than the device itself.
NOTE: Administration Console might still display the device as registered even though the account
providers are removed from the device.
NOTE: Users do not need to delete and reinstall the app if they use the MobileAccess 2 app.
NOTE: Self-signed certificates are not supported on mobile devices. Only certificates signed by a
third-party CA, such as VeriSign, are supported.
Use the information in the following sections to help you manage mobile devices:
Section 8.6.1, “Deregistering Mobile Devices as an Administrator,” on page 791
Section 8.6.2, “Deregistering a Mobile Device as a User,” on page 791
Section 8.6.3, “Deleting and Reinstalling the MobileAccess App on a Device,” on page 791
NOTE: Users can uninstall the MobileAccess app on a mobile device after the device has been
deregistered. However, if the MobileAccess app is uninstalled without the device first being
deregistered, the device continues to appear on the Devices page. The administrator or user can
delete the device from the Devices page in Administration Console Dashboard.
NOTE: Users do not need to delete and reinstall the app if they use the MobileAccess 2 app.
Administration Console Dashboard allows you to change the default branding of the User Portal
page so your users see only the company’s information.
To do complex customization, you can edit the JSP file to make changes. For more information, see
Section 3.1.3, “Customizing Identity Server,” on page 281.
IMPORTANT: To properly brand the MobileAccess applications, use only one HEX number for
each color and no advanced CSS features.
7 Click Save.
8 Repeat the procedure for each Identity Server cluster.
To change the User Portal page beyond the branding changes, perform manual steps and
customization of JSP files. For more information, see Section 3.1.3, “Customizing Identity Server,”
on page 281.
Policies provide the authorization component of Access Manager. The administrator of Identity
Server can use policies to define how properties of a user’s authenticated identity map to the set of
active roles for the user. This role definition serves as the starting point for role-based authorization
policies of Access Gateway. Additionally, you can define authorization policies to control access to
protected resources based on user and system attributes other than assigned roles.
Policies are very flexible. For example, you can set up a policy that allows or denies access to a
protected website, depending on user roles (such as employee or manager), the value of an LDAP
attribute, or the user’s IP address.
Access Gateway includes an Embedded Service Provider agent that interacts with Identity Server to
provide authentication, policy decision, and policy enforcement. For web application servers, Access
Gateway provides the ability to inject the user’s roles into HTTP headers to allow integration with
the web server’s authorization processes.
This section describes how Access Manager uses policies to assign roles to control access and to
enable single sign-on to resources that require credentials.
Section 10.1, “Understanding Policies,” on page 795
Section 10.2, “Role Policies,” on page 807
Section 10.3, “Authorization Policies,” on page 844
Section 10.4, “Identity Injection Policies,” on page 893
Section 10.5, “Form Fill Policies,” on page 916
Section 10.6, “External Attribute Source Policies,” on page 946
Section 10.7, “Risk-based Policies,” on page 950
Identity information can come from any identity source (an Identity Vault, or a directory) or from
Access Manager’s Identity Server, which provides full Liberty Alliance specification support and
SAML 2.0 support. Identity is available throughout the determination of rights and permissions.
Type Description
Access Gateway: To permit or deny access to protected resources, such as web servers. After you
Authorization set up the protected resource, use the policy rules to define how you want to
restrict access.
For example, if a user is denied access to a resource, you can use the policy to
redirect them to a URL where they can request access to the resource.
Access Gateway: To evaluate the rules for Identity Injection, which retrieves identity data from a
Identity Injection data source (user store) and forwards it to web applications. Such a policy can
enable single sign-on (SSO). After the user is authenticated, the policy supplies
the information required by the resource rather than allowing the resource to
prompt the user for the information.
Access Gateway: Form To automatically fill in the information required in a form, after the form is filled
Fill the first time. Use this policy to configure SSO for resources that require form
data and for injecting JavaScript to an HTML page. You can also use this policy
for injecting JavaScript to HTML pages.
Identity Server: Roles To evaluate rules for establishing roles of an authenticated user. Roles are
generated based on policy statements each time a user authenticates. Roles are
placed into an Authentication Profile, which can be used as input in policies for
Authorization or Identity Injection.
Identity Server: External To create a policy that retrieves the attributes from external sources.
Attribute Source
Column Description
Name Displays the name of the policy. To modify a policy, click its name.
Type Specifies the type of policy (Authorization, Identity Injection, Roles, or Form Fill) and
the type of resource that can use it (Identity Server or Access Gateway).
Used By Displays the name of Access Gateway or Identity Server configuration that the policy is
assigned to. If the policy is unassigned, this column has no value.
If the policy is assigned to a protected resource, click the down-arrow button to view
the names of the resources it has been assigned to.
You must delete all the policies in a policy container before you can delete the policy container.
1 Select the check box of the policy container.
2 Click Delete.
3 Click OK.
IMPORTANT: The interface for the policy engine is designed for flexibility. It does not protect you
from creating rules that do nothing because they are always true or always false. For example, you
can set up a condition where Client IP is equal to Client IP, which is always true. You are responsible
for defining the condition so that it does a meaningful comparison.
IMPORTANT: If you create policies with multiple Permit rules, you must make the last rule in the
policy a generic deny policy (a rule with no conditions and with an action of deny). This ensures that
if Result on Error Condition in a rule is set incorrectly, the user matches the last rule and is denied
access. Without this rule, a user might gain access because the user did not match any of the rules.
You can create a number of policies and enable multiple policies for the same protected resource.
Rule priority determines how the enabled policies interact with each other. The rules in the policies
are gathered into one list, then sorted by priority. The processing rules are applied as if the rules
came from one policy. It is a personal design issue whether you create a policy with multiple rules or
create multiple policies that you enable on a single protected resource. Either design produces a list
of rules, sorted by priority, that is applied to the user requesting access to the protected resource.
10.1.5.3 Rule Evaluation for Identity Injection and Form Fill Policies
Rules in Identity Injection and Form Fill policies have actions, but no conditions. Because they have
no conditions, all the rules are evaluated and the actions are performed. Identity Injection policies
have two exceptions to this rule; they can insert only one authentication header and one cookie
header. If you create multiple rules, each with an authentication header and a cookie header, the
rule with the highest priority is processed and its actions performed. The actions in the second rule
for injecting an authentication header and a cookie header are ignored.
You cannot create multiple rules for a Form Fill policy.
After configuring the extension, you can perform the following tasks:
“Managing a Policy Extension Configuration” on page 806
“Viewing Extension Details” on page 806
What you need The policy type of the extension, which defines the policy type it can be used with.
to know You must know whether it is an extension for an Access Gateway Authorization
policy, an Access Gateway Identity Injection policy, or an Identity Server Role policy.
The name of the Java class that is used by the extension. Each data type usually uses
a different Java factory class.
The filename of the extension.
The names, IDs, and mapping type of any configuration parameters. Configuration
parameters allow the policy engine to pass data to the extension, which the
extension can then use to retrieve data or to evaluate a condition.
The type of data the extension manipulates.
Identity Injection Policy: A data extension that retrieves data for injecting into a header.
A condition that the extension evaluates and returns either true or false.
A data element that the extension retrieves which can be used in evaluating a
condition or used to assign roles.
External Attribute Source Policy: A data extension that retrieves attributes from external
sources.
If the file contains more than one extension, create a configuration for each extension in the file.
1 Copy the JAR file to a location that you can browse to from Administration Console.
2 Click Policies > Extensions.
3 Click Upload > Browse, select the file, and click Open.
4 (Conditional) If you want this JAR file to overwrite an existing version of the file, select
Overwrite existing *.jar file.
IMPORTANT: Do not update the device at this time. The JAR files must be distributed before
you update the device.
To gather troubleshooting information, you must enable File Logging and Echo To Console options in
Identity Server configuration and set Component File Logger Levels for Application to at least info.
See Configuring Logging for Identity Server. After you resolve the issue, disable these options.
Access Manager supports core RBAC functionality by providing user role mapping and the mapping
of roles to resource rights and permissions. User role mapping is a primary function of a Role policy.
Role mapping to resource rights is accomplished through Authorization policies. When creating a
role, you assign users to the role, based on attributes of their identities. You also specify the
constraints to place on the role.
Figure 10-2 RBAC Using a Policy
Role assignment audit events can be created during authentication to Identity Server. You enabled
this on the Logging page in Identity Server configuration by selecting Login Provided or Login
Consumed options.
For web resources intended only for managers, create a role called Manager. (See Creating a
Manager Role). Make the Manager role as a condition of an Authorization policy. This policy denies
access to any employee that does not have the Manager role. The following example illustrates this.
The operand for the governing condition logic is set to If Not.
In this example, specify a first-priority rule with a condition that allows access if a user has been
assigned to the role of Sales Representative.
Add rules for users assigned to the a role of Sales Manager, Sales Vice President, and so on. You then
create a lowest-priority rule that contains no conditions, and an action of Deny. This policy denies
any user who has not been assigned a Sales department role. When the conditions of the rule are
not met, the user is denied access by the lowest-priority rule.
For more information about using roles in Authorization policies, see Authorization Policies.
NOTE: To improve the policy's performance, configure the LDAP Attributes, Credential Profile,
and Liberty User Profile attributes to be sent with authentication. For more information,
see“Configuring the Attributes Sent with Authentication” on page 199.
For the condition to evaluate to True, the identity provider specified in the policy must be the one
that the user selected for authentication.
Comparison: Specify how the contract is compared to the data in Value. Select a string comparison
or a regular expression:
Comparison: String: Specifies that you want the values compared as strings and how you want
the string values compared. Select one of the following:
Equals: Indicates that the values must match, letter for letter.
Starts with: Indicates that the Authenticating IDP value must begin with the letters
specified in Value.
Ends with: Indicates that the Authenticating IDP value must end with the letters specified
in Value.
Contains Substring: Indicates that the Authenticating IDP value must contain the letters, in
the same sequence, as specified in Value.
Canonical Equivalence
Case Insensitive
Comments
Dot All
Multi-Line
Unicode
Unix Lines
For regular expression syntax information, see the Javadoc for java.util.regex.Pattern.
Value: Specify the value you want to compare with the Authenticating IDP value. If you select a static
value for the Authenticating IDP value, select Authenticating IDP and Current. If you select Current for
the Authenticating IDP value, select Authenticating IDP, then select the name of an identity provider.
Other value types are possible if you selected Current for the Authenticating IDP value. Your policy
requirements determine whether they are useful.
Result on Condition Error: Specify what the condition returns when the comparison of the two
values returns an error rather than the results of the comparison. Select either False or True. If you
do not want the action applied when an error occurs, select False. If you want the action applied
when an error occurs, select True.
Name URI
To configure other contracts, click Devices > Identity Servers > Edit > Local > Contracts.
The most common way to use this condition is to select [Current] for Authentication Contract and to
select Authentication Contract and the name of a contract for Value.
To specify an Authentication Contract condition, specify the following details:
Authentication Contract: To compare the contract that the user used with a static value, select
Current. To compare a static value with what the user used, select a contract from the list.
Two Identity Server configurations have been defined (idp-43.amlab.net and idp-51.amlab.net).
Both configurations are highlighted because Name/Password - Basic is a contract that is
automatically defined for all Identity Server configurations.
If the contract you are selecting for a condition is a contract with ORed credentials, you need to use
multiple conditions to set up a rule. See Creating a Rule for a Contract with ORed Credentials.
Comparison: Specify how the contract is compared to the data in the Value field. Select either a
string comparison or a regular expression:
Comparison: String: Specifies that you want the values compared as strings and how you want
the string values compared. Select one of the following:
Equals: Indicates that the values must match, letter for letter.
Starts with: Indicates that the Authentication Contract value must begin with the letters
specified in the Value field.
Ends with: Indicates that the Authentication Contract value must end with the letters
specified in the Value field.
Contains Substring: Indicates that the Authentication Contract value must contain the
letters, in the same sequence, as specified in the Value field.
Comparison: Regular Expression: Matches: Specifies that you want the values compared as
regular expressions.
Mode: Select the mode appropriate for the comparison type:
Comparison: String: Specify whether case is important by selecting Case Sensitive or Case
Insensitive.
Comparison: Regular Expression: Matches: Select one or more of the following:
Canonical Equivalence
Case Insensitive
Comments
Dot All
Multi-Line
Unicode
Result on Condition Error: Specify what the condition returns when the comparison of the two
values returns an error rather than the results of the comparison. Select either False or True. If you
do not want the action applied when an error occurs, select False. If you want the action applied
when an error occurs, select True.
If you have created more than one Identity Server configuration, select the configuration, then select
the method. The name of the method is displayed. When you select this name, the configurations
that contain a definition for this method are highlighted.
Comparison: Specify how the method is compared to the data in the Value field. Select either a
string comparison or a regular expression:
Comparison: String: Specifies that you want the values compared as strings and how you want
the string values compared. Select one of the following:
Equals: Indicates that the values must match, letter for letter.
Starts with: Indicates that the Authentication Method value must begin with the letters
specified in the Value field.
Ends with: Indicates that the Authentication Method value must end with the letters
specified in the Value field.
Contains Substring: Indicates that the Authentication Method value must contain the
letters, in the same sequence, as specified in the Value field.
Comparison: Regular Expression: Matches: Specifies that you want the values compared as
regular expressions.
Canonical Equivalence
Case Insensitive
Comments
Dot All
Multi-Line
Unicode
Unix Lines
For regular expression syntax information, see the Javadoc for java.util.regex.Pattern.
Value: Specify the value you want to compare with the Authentication Method value. If you select a
static value for the Authentication Method value, select Authentication Method and Current. If you
select Current for the Authentication Method value, select Authentication Method, then select the
name of a method.
Other value types are possible if you selected Current for the Authentication Method value. Your
policy requirements determine whether they are useful.
Result on Condition Error: Specify what the condition returns when the comparison of the two
values returns an error rather than the results of the comparison. Select either False or True. If you
do not want the action applied when an error occurs, select False. If you want the action applied
when an error occurs, select True.
Canonical Equivalence
Case Insensitive
Comments
Dot All
Multi-Line
Unicode
Unix Lines
For regular expression syntax information, see the Javadoc for java.util.regex.Pattern.
Value: Specify the value you want to compare with the Authentication Type value. If you select a
static value for the Authentication Type value, select Authentication Type and Current. If you select
Current for the Authentication Type value, select Authentication Type, then select a type.
Other value types are possible if you selected Current for the Authentication Type value. Your policy
requirements determine whether they are useful.
Result on Condition Error: Specify what the condition returns when the comparison of the two
values returns an error rather than the results of the comparison. Select either False or True. If you
do not want the action applied when an error occurs, select False. If you want the action applied
when an error occurs, select True.
The default contracts assign the cn attribute to the Credential Profile. If your user store is an
Active Directory server, the SAMAccountName attribute is used for the username and stored in
the cn field of the LDAP Credential Profile.
Canonical Equivalence
Case Insensitive
Comments
Dot All
Multi-Line
Unicode
Unix Lines
For regular expression syntax information, see the Javadoc for java.util.regex.Pattern.
Value: Specify the second value for the comparison. Select one of the following data types:
LDAP Attribute: If you have an LDAP attribute that corresponds to the Credential Profile you
have specified, select this option and the attribute.
Liberty User Profile: If you have a Liberty User Profile attribute that corresponds to the
Credential Profile you have specified, select this option and the attribute.
If you have more than 250 groups in your tree, you are prompted to enter an LDAP query string. In
the text box, you need to add only the <strFilter> value for the query.
admin* Returns all groups that begin with admin, such as adminPR, adminBG, and adminWTH.
*test Returns all groups that end with test, such as doctest, softtest, and securtest.
*low* Returns all groups that have “low” in the name, such as low, yellow, and clowns.
For more information about the <strFilter> parameter, see RFC 2254 “LDAP Search Filter.”
If you select Data Entry Field as the value, you can specify the DN of the group in the text field. For
example:
cn=managers,cn=users,dc=bcf2,dc=provo,dc=novell,dc=com
cn=manager,o=novell
Other values are possible. Your policy requirements determine whether they are useful.
Result on Condition Error: Specify what the condition returns when the comparison of the two
values returns an error rather than the results of the comparison. Select either False or True. If you
do not want the action applied when an error occurs, select False. If you want the action applied
when an error occurs, select True.
LDAP OU Condition
The LDAP OU condition allows you to assign a role based on a comparison of the DN of an OU against
the DN of the authenticated user. If the user’s DN contains the OU, the condition matches.
LDAP OU: Select [Current].
Comparison: Specify how you want the values compared. Select one of the following:
Contains: Specifies that you want the condition to determine whether the user is contained by
a specified organizational unit.
Comparison: Regular Expression: Matches: Specifies that you want the values compared as
regular expressions.
Mode: Select the mode appropriate for the comparison type.
Contains: Select whether the user must be contained in the specified OU (One Level) or
whether the user can be contained in the specified OU or a child container (Subtree).
Comparison: Regular Expression: Matches: Select one or more of the following:
Canonical Equivalence
Case Insensitive
Comments
Dot All
Multi-Line
Unicode
Unix Lines
For regular expression syntax information, see the Javadoc for java.util.regex.Pattern.
If you have more than 250 OUs defined in your tree, you are prompted to enter an LDAP query
string. In the text box, you need to add only the <strFilter> value for the query. For example:
admin* Returns all OUs that begin with admin, such as adminPR, adminBG, and adminWTH.
*test Returns all OUs that end with test, such as doctest, softtest, and securtest.
*low* Returns all OUs that have “low” in the name, such as low, yellow, and clowns.
For more information about the <strFilter> parameter, see RFC 2254 “LDAP Search Filter.”
If you select Data Entry Field, you can specify the DN of the OU in the text field. For example:
cn=users,dc=bcf2,dc=provo,dc=novell,dc=com
ou=users,o=novell
If you have defined a Liberty User Profile or an LDAP attribute for the OU you want to match, select
this option, then select your attribute.
Result on Condition Error: Specify what the condition returns when the comparison of the two
values returns an error rather than the results of the comparison. Select either False or True. If you
do not want the action applied when an error occurs, select False. If you want the action applied
when an error occurs, select True.
To set up the matching for this condition, specify the following details:
LDAP Attribute: Specify the LDAP attribute you want to use in the comparison. Select from the listed
LDAP attributes. To add an attribute that isn’t in the list, click New LDAP Attribute, then specify the
name of the attribute.
Comparison: Specify how you want the values compared. All data types are available. Select one
that matches the value type of your attribute.
These attributes can be mapped to LDAP attributes. Click Identity Servers > Edit > Liberty > LDAP
Attribute Mapping. When mapped, the actual value comes from your user store. If you are using
multiple user stores with different LDAP schemas, mapping similar attributes to the same Liberty
User Profile attribute allows you to create one policy with the Liberty User Profile attribute rather
than multiple policies for each LDAP attribute.
The selected attribute is compared to a value of the following type:
Roles from an identity provider
Authenticating IDP or user store
Authentication contract, method, or type
Credential profile
LDAP attribute, OU, or group
Liberty User Profile attribute
Static value in a data entry field
To set up the matching for this condition, specify the following details:
Liberty User Profile: Select the Liberty User Profile attribute. These attributes are organized into
three main groups: Custom Profile, Corporate Employment Identity, and Entire Personal Identity. By
default, the Common Last Name attribute for Liberty User Profile is mapped to the sn attribute for
LDAP. To select this attribute for comparison, click Entire Personal Identity > Entire Common Name >
Common Analyzed Name > Common Last Name.
Comparison: Select the comparison type that matches the data type of the selected attribute and
the value.
Mode: Select the mode, if available, that matches the data type. For example, if you select to
compare the values as strings, you can select a Case Sensitive mode or a Case Insensitive mode.
Value: Select one of the values that is available from the current request or select Data Entry Field to
enter a static value. The static value that you can enter depends on the comparison type you
selected.
Canonical Equivalence
Case Insensitive
Comments
Dot All
Multi-Line
Unicode
Unix Lines
For regular expression syntax information, see the Javadoc for java.util.regex.Pattern.
To set up the matching for this condition, specify the following details:
Virtual Attribute: Specify the virtual attribute you want to use in the comparison. Select a virtual
attribute from the list.’
Comparison: Specify how you want the values compared. All data types are available. Select one
that matches the value type of your virtual attribute.
Mode: Select the mode, if available, that matches the comparison type. For example, if you select to
compare the values as strings, you can select a Case Sensitive mode or a Case Insensitive mode.
Value: Specify the second value for the comparison. All data types are available. For example, you
can select to compare the value of one virtual attribute to the value of another virtual attribute.
Only you can determine if such a comparison is meaningful.
Result on Condition Error: Specify what the condition returns when the comparison of the two
values returns an error rather than the results of the comparison. Select either False or True. If you
do not want the action applied when an error occurs, select False. If you want the action applied
when an error occurs, select True.
Condition Extension
If you have loaded and configured a role condition extension, this option specifies a condition that is
evaluated by an outside source. See the documentation that came with the extension for
information about what is evaluated.
Data Extension
If you have loaded and configured a role data extension, this option specifies the value that the
extension retrieves. You can then select to compare this value with an LDAP attribute, a Liberty User
Profile attribute, a Data Entry Field, or another Data Extension. For more information, see the
documentation that came with the extension.
The following sections explain how to configure the condition groups and conditions to interact with
each other:
“Using the Not Options” on page 828
“Adding Multiple Conditions” on page 828
“Adding New Condition Groups” on page 828
“Disabling Conditions and Condition Groups” on page 828
Conditions also have similar Not options, so that a user can match a condition by not matching the
specified value.
To use the same conditions to activate multiple roles, select Activate Role for each role you want to
specify.
admin* Returns all groups that begin with admin, such as adminPR, adminBG, and
adminWTH.
*test Returns all groups that end with test, such as doctest, softtest, and securtest.
*low* Returns all groups that have “low” in the name, such as low, yellow, and clowns.
For more information about the <strFilter> parameter, see RFC 2254 “LDAP Search Filter.”
This action does not query all the static and dynamic groups on the LDAP server to see if the
user belongs to them, but uses the user’s group membership attribute to create the list. If you
want to use this longer query, you need to create a policy extension. For a sample extension
that does this, see Access Manager SDK Sample Code (https://www.netiq.com/documentation/
access-manager-45-developer-documentation/samplecodes/main.html).
admin* Returns all OUs that begin with admin, such as adminPR, adminBG, and
adminWTH.
*test Returns all OUs that end with test, such as doctest, softtest, and securtest.
*low* Returns all OUs that have “low” in the name, such as low, yellow, and clowns.
For more information about the <strFilter> parameter, see RFC 2254 “LDAP Search Filter.”
Liberty User Profile: If you have a Liberty attribute that is a role, select the attribute from the
list.
Data Extension: If you have created a data extension that calculates a set of roles, select the
extension. For information about creating such an extension, see Access Manager SDK Sample
Code (https://www.netiq.com/documentation/access-manager-45-developer-documentation/
samplecodes/main.html).
If the source contains multiple values, select the format that is used to separate the values.
If the value is a distinguished name, select the format of the DN.
Figure 10-4 shows how to assign an LDAP Group, cn=DocGroup,o=novell, as a role.
Figure 10-4 Activating a Role from an External Source
To use the same conditions to activate multiple roles from different sources, select Activate Selected
Role for each role you want to activate.
This condition verifies that the user used the OringContracts contract for authentication. The second
condition needs to verify the type of credential that was used. To do this, you need to check for the
existence of the credential in the Credential Profile. This condition must look similar to the following
if you are verifying that the user used a certificate for the credential.
If the Credential Profile contains a value for the password, this condition evaluates to false because
of the “And If Not” logic. If the password value in the Credential Profile is empty, this condition
evaluates to true, and you know that the user authenticated with a Radius token.
The Access Manager Role policies that you create for these features can then be used to control
access to protected web resources. You can manually assign the roles by creating role policies with
conditions or you can activate roles based on the values in the external source.
Section 10.2.5.1, “Activating Roles from External Sources,” on page 834
Section 10.2.5.2, “Using Conditions to Assign Roles,” on page 836
~~PA~ActionID_1223588319336~~AddSelectedRoles~cn=Doc~~~Success(0)
~~PA~ActionID_1223588319336~~AddSelectedRoles~o=novell~~~Success(0)
~~PC~ActionID_1223588319336~~Document=(ou=xpemlPEP,ou=mastercdn,
ou=ContentPublisherContainer,ou=Partition,ou=PartitionsContainer,
ou=VCDN_Root,ou=accessManagerContainer,o=novell:romaContentCollecti
on
XMLDoc),Policy=(LDAP_Group),Rule=(1::RuleID_1223587171711),Action=
(AddSelectedRole::ActionID_1223588319336)~~~~Success(0)
</amLogEntry>
You can now use this role when creating Authorization and Identity Injection policies. For more
information, see the following:
Chapter 10.3, “Authorization Policies,” on page 844
Chapter 10.4, “Identity Injection Policies,” on page 893
eDirectory Tree
o=Novell
Comparison: Select how you want the attribute values to be compared. For LDAP OU, select
Contains.
Mode: Select One Level if all your users are created in ou=Sales. Select Subtree if your users are
created in various containers under the ou=Sales container.
Value: Select LDAP OU, then select [Current].
The DN of the authenticated user is compared with the value specified in LDAP OU. If the DN of
the user contains the LDAP OU value, the user matches the condition. For example, if the DN of
the user is cn=bsmith,ou=sales,o=novell and the LDAP OU value is ou=sales,o=novell, the user
matches the condition. If you selected Subtree for the Mode, a user with the following DN also
matches the condition: cn=djones,ou=provo,ou=sales,o=novell.
You can now use this role when creating Authorization and Identity Injection policies, which control
access to protected web resources. For more information, see the following:
Chapter 10.3, “Authorization Policies,” on page 844
Chapter 10.4, “Identity Injection Policies,” on page 893
Comparison: Select how you want the attribute values to be compared. For LDAP Group, select
Is Member of.
Value: Select LDAP Group, then select [Current].
The DN of the authenticated user is compared with the members of the LDAP Group. If the DN
of the user matches one of the members, the user matches the condition.
You can now use this role when creating Authorization and Identity Injection policies. For more
information, see Authorization Policies and Identity Injection Policies.
Authentication at Access to
Example.com Protected Resource
10.2.6.1 Prerequisites
Configure trust between trusted providers, using the Liberty or SAML 2.0 protocol.
You must be familiar with Configuring SAML 2.0 and Configuring Liberty.
Configure local authentication.
You must create an external contract at the service provider that matches the contract of the
identity provider. See Local Authentication.
Create an attribute set and select the local attribute All Roles in the set. This must be done at
the identity provider and service provider.
This attribute set is used to pass roles from an identity provider to an external service provider
in authentication assertions. See Configuring Attribute Sets.
10.2.6.2 Procedure
The following procedure describes how the service provider configures this type of role policy for
novell.com, mapping the N_Employee role to an Access Manager role:
1 Click Policies > Policies > New.
2 Select Identity Server: Roles for the type, then click OK.
3 Configure the role policy as shown in the following image:
Conditions, conditions groups, and the interaction among them allow you to create very simple rules
(if A, then grant access) to very complex rules (if A, B, and C, but not D and E, then grant access).
Conditions also have similar Not options, so that a user can match a condition by not matching the
specified value.
The users who are managers and who belong to the sales department do not match either condition
group. The Deny action is not applied, and they are allowed access.
This second condition group could be implemented as the second rule of the policy. If so, it must be
set as a lower priority than the first rule. Because most systems would have more users than
managers, the user rule would be used more frequently, so it must come first.
Conditions in Rule 1 are ANDed. It requires the user to match both conditions to access the resource.
The priority is set to 1, so this rule is the first rule that Access Gateway processes.
The second rule would look similar to the following:
For most people, Deny rules are harder to write than Permit rules. You not only need to carefully
configure the Result on Condition Error option, you must also carefully consider the consequences of
the condition not matching a user. When a user does not’ match the condition, the Action is not
applied and the next rule in the policy is evaluated. For example, suppose the URL condition is set to
the compare the following value:
You can then use these roles as conditions in authorization policies to allow and deny access. The
first time you use roles in an authorization policy, there is extra setup because you must create the
role policies. However, after the role policies are created, you can use them in multiple authorization
policies.
For information about how to create the Sales role, see Creating a Role by Using the Location of the
User Objects.
You need to decide on the type of Authorization policy you want to create. For example, you can
create a Deny policy that denies access to everyone who does not match the condition (in this case,
the Sales role). Alternatively, you can create a two-rule policy that allows access to everyone that
matches the condition.
The first rule grants access to everyone who has the Sales role, and the second rule denies access to
everyone who did not match the conditions of the first rule. (Other methods are also possible.)
Because the proposed Deny policy is very similar to the LDAP Context Policies example, the following
procedures explain how to create the two-rule policy:
1 Click Policies > Policies > New.
2 Specify a name for the policy, select Access Gateway: Authorization as the type, then click OK.
3 (Optional) Provide a description for the rule.
4 In Condition Group 1, click New, and select Roles.
5 Specify the following details:
If/If Not: Select If.
Roles: Select [Current].
Comparison: Select String: Equals.
Mode: Select Case Insensitive
Value: Select Roles, then select Sales.
Result on Condition Error: Select False.
6 Under Actions, select Permit, then click OK.
This rule grants a user the Master role if the user belongs to the cn=Master,o=novell LDAP group. If
the user does not belong to this group or if an error occurs trying to get the data, the user is not
assigned the role. This occurs because both the condition and Result on Condition Error evaluate to
false, which prevents the Action from being applied. After creating the Role policy, apply the changes
and enable the Role for Identity Server.
You can then use this role to create an Authorization policy containing two rules. The first rule grants
access to users with the Master role (and are therefore members of the Master group). This rule
must look similar to the following:
With an If Not condition, the condition evaluates to True when a user does not match the condition.
With such a rule, you want Result on Condition Error to also evaluate to True. If an error occurs
obtaining role information for the user, the rule must not assume that the user had the Master role.
The rule needs to assume that the user had no roles. You want the error condition to evaluate to
True. Because the condition evaluated to True, the Action is applied to the user. The value specified
in Redirect to URL must specify the page that contains the information about how to request access.
This redirect rule can be the only rule in the policy, because the users who are assigned to the
Master role do not match the rule and are allowed access.
If you create the first rule to grant users with the Master role access, use a general Deny rule as the
second rule.
10.3.4 Conditions
You can set up some conditions to compare the values in the request against static values (A to B).
Alternatively, you can compare static values to current values in the request (B to A). Within one
policy, you must decide which direction to set up the comparisons and remain consistent unless
there is a compelling reason to switch the direction for a particular condition.
For example, suppose you set up a rule to allow access to a resource only during the weekdays
(Monday to Friday). You set up four of these conditions to compare if the date when the request is
made matches with Monday, Tuesday, Wednesday, or Thursday. You set up the fifth condition to
compare whether Friday matches the date when the request is made. This works, but maintaining
this policy is difficult because each new policy manager will look at the Friday condition and wonder
why it is configured differently.
Many conditions, when used as the sole condition of a rule, do not make useful rules. For example,
you can create a rule that grants access if a user specifies a specific URL in the request. Such a rule
has limited application. A rule that requires that the request contain a specific URL and that the user
have a specific role is more useful because it can be used to limit access to the URL based on the
user’s role. For information about how conditions can be ANDed or ORed together or placed in
different condition groups, see Using the URL of the Protected Resource.Section 10.3, “Authorization
Policies,” on page 844
Authorization policies use the following conditions:
Section 10.3.4.1, “Authentication Contract Condition,” on page 863
Section 10.3.4.2, “Client IP Condition,” on page 865
Section 10.3.4.3, “Credential Profile Condition,” on page 866
Section 10.3.4.4, “Current Date Condition,” on page 868
Section 10.3.4.5, “Day of Week Condition,” on page 869
Section 10.3.4.6, “Current Day of Month Condition,” on page 870
Section 10.3.4.7, “Current Time of Day Condition,” on page 872
Section 10.3.4.8, “HTTP Request Method Condition,” on page 873
Section 10.3.4.9, “LDAP Attribute Condition,” on page 874
Section 10.3.4.10, “LDAP OU Condition,” on page 877
Section 10.3.4.11, “Liberty User Profile Condition,” on page 878
Section 10.3.4.12, “Roles Condition,” on page 879
Section 10.3.4.13, “Risk Score,” on page 880
For the specific policies they can be used in, see Creating Access Gateway Authorization Policies.
Name URI
To configure other contracts, click Devices > Identity Servers > Edit > Local > Contracts.
To specify an Authentication Contract condition, specify the following details:
Authentication Contract: To compare the contract that the user used with a static value, select
Current. To compare a static value with what the user used, select a contract from the list.
If you have created more than one Identity Server configuration, select the configuration that
corresponds to the configuration your Access Gateway is configured to trust, then select the
contract. The name of the contract is displayed. When you select this name, the configurations that
contain a definition for this contract are highlighted.
If you select a contract that is defined on only one of your configurations, be aware that you must
change this policy when you change configurations. If you select a contract that is defined in all your
configurations, this policy requires no modifications and continues to function when you change
configurations.
Two Identity Server configurations have been defined (idp-43.amlab.net and idp-51.amlab.net).
Both configurations are highlighted because Name/Password - Basic is a contract that is
automatically defined for all Identity Server configurations. Because it is defined on both
configurations, this policy’s function is the same, regardless of which configuration is selected as the
trusted configuration.
Comparison: Specify how the contract is compared to the data in the Value field. Select either a
string comparison or a regular expression:
Comparison: String: Specifies that you want the values compared as strings and how you want
the string values compared. Select one of the following:
Equals: Indicates that the values must match, letter for letter.
Starts with: Indicates that the Authentication Contract value must begin with the letters
specified in the Value field.
Ends with: Indicates that the Authentication Contract value must end with the letters
specified in the Value field.
Contains Substring: Indicates that the Authentication Contract value must contain the
letters, in the same sequence, as specified in the Value field.
Comparison: Regular Expression: Matches: Specifies that you want the values compared as
regular expressions.
Mode: Select the mode appropriate for the comparison type:
Comparison: String: Specify whether case is important by selecting Case Sensitive or Case
Insensitive.
Comparison: Regular Expression: Matches: Select one or more of the following:
Canonical Equivalence
Case Insensitive
Comments
Dot All
Multi-Line
Unicode
Unix Lines
For regular expression syntax information, see the Javadoc for java.util.regex.Pattern.
Result on Condition Error: Specify what the condition returns when the comparison of the two
values returns an error rather than the results of the comparison. Select either False or True. If you
do not want the action applied when an error occurs, select False. If you want the action applied
when an error occurs, select True.
NOTE: Client IP will support IPv4 addresses and not IPv6 addresses.
Equals 10.10.10.10
10.10.10.11
In Subnet 10.10.10.12 / 22
10.10.20.30 / 22
Other values types are possible. For example, if your user store contains an LDAP attribute with the
IP address of your users, you could select to compare the client’s current IP address with the stored
value by using an LDAP attribute or a Liberty User Profile value.
Result on Condition Error: Specify what the condition returns when the comparison of the two
values returns an error rather than the results of the comparison. Select either False or True. If you
do not want the action applied when an error occurs, select False. If you want the action applied
when an error occurs, select True.
The default contracts assign the cn attribute to the Credential Profile. If your user store is an
Active Directory server, the SAMAccountName attribute is used for the username and stored in
the cn field of the LDAP Credential Profile.
X509 Credentials: If you prompt the user for a certificate, select this option, then select one of
the following:
X509 Public Certificate Subject: Retrieves the subject field from the certificate, which can
match the DN of the user, depending upon who issued the certificate.
Canonical Equivalence
Case Insensitive
Comments
Dot All
Multi-Line
Unicode
Unix Lines
For regular expression syntax information, see the Javadoc for java.util.regex.Pattern.
Value: Specify the second value for the comparison. Select one of the following data types:
LDAP Attribute: If you have an LDAP attribute that corresponds to the Credential Profile you
have specified, select this option and the attribute.
Liberty User Profile: If you have a Liberty User Profile attribute that corresponds to the
Credential Profile you have specified, select this option and the attribute.
D specifies a number from 1 to 31. M specifies a number from 1 to 12 or the name of the month in
three letters (Sep) or complete (September). Y specifies the year in a four-digit format.
Value: Specify the second value for the comparison. If you select Data Entry Field as the value type,
specify the date in the format you select in the Date Format field.
Other value types are possible. Your policy requirements determine whether they are useful. If you
have set up a Liberty User Profile or an LDAP attribute that corresponds to the date, you can use this
option and select your attribute. The Date Format field does not apply to these value types.
Result on Condition Error: Specify what the condition returns when the comparison of the two
values returns an error rather than the results of the comparison. Select either False or True. If you
do not want the action applied when an error occurs, select False. If you want the action applied
when an error occurs, select True.
Canonical Equivalence
Case Insensitive
Comments
Dot All
Multi-Line
Unicode
Unix Lines
For regular expression syntax information, see the Javadoc for java.util.regex.Pattern.
Value: Specify the value you want compared to the HTTP Request Method value. If you selected a
method from the list for the HTTP Request Method value, select HTTP Request Method > Current. If
you selected Current for the HTTP Request Method value, select a request method from the list.
This condition is one of the slower conditions to process because the value needs to be retrieved
from the LDAP server. If the value is not time sensitive, you can have attribute value sent in the
assertion when the user authenticates. Its value is then in cache and available. For configuration
information, click Devices > Identity Servers > Servers > Edit > Liberty [or SAML 1.0 or SAML 2.0] >
[Provider] > Attributes.
To set up the matching for this condition, specify the following details:
LDAP Attribute: Specify the LDAP attribute you want to use in the comparison. Select from the listed
LDAP attributes. To add an attribute that isn’t in the list, scroll to the bottom of the list, click New
LDAP Attribute, then specify the name of the attribute.
Refresh Data Every: Sends a query to the LDAP server to verify the current value of the attribute
according to the specified interval. Because querying the LDAP server slows down the processing of
a policy, LDAP attribute values are normally cached after the value has been obtained. The default
cache interval is for the user session. You must change the value of this option from Session to a
more frequent interval only on those attributes that are critical to the security of your system or to
the design of your work flow.
You can select to cache the value for the session, for the request, or for a time interval varying from
5 seconds to 60 minutes. For more information about this option, see Using the Refresh Data Option.
Canonical Equivalence
Case Insensitive
Comments
Dot All
If you have more than 250 OUs defined in your tree, you are prompted to enter an LDAP query
string. In the text box, you need to add only the <strFilter> value for the query. For example:
admin* Returns all OUs that begin with admin, such as adminPR, adminBG, and adminWTH.
*test Returns all OUs that end with test, such as doctest, softtest, and securtest.
*low* Returns all OUs that have “low” in the name, such as low, yellow, and clowns.
For more information about the <strFilter> parameter, see RFC 2254 “LDAP Search Filter.”
If you select Data Entry Field, you can enter the DN of the OU in the text field. For example:
cn=users,dc=bcf2,dc=provo,dc=novell,dc=com
ou=users,o=novell
If you have defined a Liberty User Profile or an LDAP attribute for the OU you want to match, select
this option, then select your attribute.
Result on Condition Error: Specify what the condition returns when the comparison of the two
values returns an error rather than the results of the comparison. Select either False or True. If you
do not want the action applied when an error occurs, select False. If you want the action applied
when an error occurs, select True.
To set up the matching for this condition, specify the following details:
Liberty User Profile: Select the Liberty User Profile attribute. These attributes are organized into two
main groups: Corporate Employment Identity and Entire Personal Identity. By default, the Common
Last Name attribute for Liberty User Profile is mapped to the sn attribute for LDAP. To select this
attribute for comparison, click Entire Personal Identity > Entire Common Name > Common Analyzed
Name > Common Last Name.
Comparison: Select the comparison type that matches the data type of the selected attribute and
the value.
Mode: Select the mode, if available, that matches the data type. For example, if you select to
compare the values as strings, you can select either a Case Sensitive mode or a Case Insensitive
mode.
Value: Select one of the values that is available from the current request or select Data Entry Field to
enter a static value. The static value that you can enter is dependent upon the comparison type you
selected.
Result on Condition Error: Specify what the condition returns when the comparison of the two
values returns an error rather than the results of the comparison. Select either False or True. If you
do not want the action applied when an error occurs, select False. If you want the action applied
when an error occurs, select True.
Canonical Equivalence
Case Insensitive
Comments
Dot All
Multi-Line
Unicode
Unix Lines
For regular expression syntax information, see the Javadoc for java.util.regex.Pattern.
Value: If you have created Identity Server roles policies, select Roles, then select the role you want
the user to match this condition. The authenticated role is assigned to all users when they
authenticate. If you have defined a Liberty User Profile or an LDAP attribute for a role, you can select
this option, then select your attribute.
You can use the Data Entry Field option to enter the name of the role you want to test for. If you have
activated roles from an external source, use this option to specify the name of the role.
Result on Condition Error: Specify what the condition returns when the comparison of the two
values returns an error rather than the results of the comparison. Select either False or True. If you
do not want the action applied when an error occurs, select False. If you want the action applied
when an error occurs, select True.
Canonical Equivalence
Case Insensitive
Comments
Dot All
Multi-Line
Unicode
Canonical Equivalence
Case Insensitive
Comments
Dot All
Multi-Line
Unicode
Unix Lines
For regular expression syntax information, see the Javadoc for java.util.regex.Pattern.
All entered URL schemes are compared to the requested URL scheme until a match is found or
the list is exhausted.
LDAP Attribute: If you have defined an LDAP attribute containing a URL or URL scheme, you can
select this option, then select your attribute.
Liberty User Profile: If you have defined a Liberty User Profile attribute containing a URL or URL
scheme, you can select this option, then select your attribute.
Result on Condition Error: Specify what the condition returns when the comparison of the two
values returns an error rather than the results of the comparison. Select either False or True. If you
do not want the action applied when an error occurs, select False. If you want the action applied
when an error occurs, select True.
All listed hostnames are compared to the requested URL until a match is found or the list is
exhausted.
LDAP Attribute: If you have defined an LDAP attribute containing a URL or URL host, you can
select this option, then select your attribute.
Liberty User Profile: If you have defined a Liberty User Profile attribute containing a URL or URL
host, you can select this option, then select your attribute.
Result on Condition Error: Specify what the condition returns when the comparison of the two
values returns an error rather than the results of the comparison. Select either False or True. If you
do not want the action applied when an error occurs, select False. If you want the action applied
when an error occurs, select True.
Canonical Equivalence
Case Insensitive
Comments
Dot All
Multi-Line
Unicode
Unix Lines
For regular expression syntax information, see the Javadoc for java.util.regex.Pattern.
Value: Specify the value type and value for the comparison. Select one of the following:
Data Entry Field: To enter a static value to compare to the URL path in the current request,
select this value type and specify the path. Start the path with a forward slash.
IMPORTANT: If you need to add a space in the path, you need to enter this encoded value for
the space: %20
If you have selected Regular Expression: Matches for your comparison type, regular expression
rules apply. If you have selected URL Path for your comparison type, the path can end with a
filename or a wildcard. An asterisk (*) matches all files and directories at and beyond the
specified directory level. A question mark (?) matches all files at the specified directory level.
For example:
/path1/path2/ Requires an exact match of the URL path. It matches if the URL does not contain
anything after path2.
/path1/file.ext Requires an exact match of the URL path, including the extension on the
filename.
/path1/path2/? Matches everything that immediately follows path2. It does not match
anything if the path contains another directory, such as /path1/path2/
path3/file3.ext.
/path1/path2/* Matches everything that follows path2, including a filename or another
directory, such as /path1/path2/path3/file3.ext.
If you selected URL Path for the comparison type, you can add multiple values:
Use the Edit button to access a text box where you can enter multiple values, each on a
separate line. For more information, see “Edit Button” on page 893.
Use the Add button to add values one at a time.
All entered URL paths are compared to the request URL path until a match is found or the list is
exhausted.
Canonical Equivalence
Case Insensitive
Comments
Dot All
Multi-Line
Unicode
Unix Lines
For regular expression syntax information, see the Javadoc for java.util.regex.Pattern.
Value: Specify the value type and value for the comparison. Select one of the following:
Data Entry Field: To specify a static value to compare to the filename in the current request,
select this value type and specify the filename.
All listed filenames are compared to the requested URL filename until a match is found or the
list is exhausted.
LDAP Attribute: If you have defined an LDAP attribute containing a URL or filename, you can
select this option, then select your attribute.
Liberty User Profile: If you have defined a Liberty User Profile attribute containing a URL or
filename, you can select this option, then select your attribute.
Result on Condition Error: Specify what the condition returns when the comparison of the two
values returns an error rather than the results of the comparison. Select either False or True. If you
do not want the action applied when an error occurs, select False. If you want the action applied
when an error occurs, select True.
All entered URL file extensions are compared to the requested URL file extension until a match
is found or the list is exhausted.
LDAP Attribute: If you have defined an LDAP attribute containing a URL or file extension, you
can select this option, then select your attribute.
Liberty User Profile: If you have defined a Liberty User Profile attribute containing a URL or file
extension, you can select this option, then select your attribute.
Result on Condition Error: Specify what the condition returns when the comparison of the two
values returns an error rather than the results of the comparison. Select either False or True. If you
do not want the action applied when an error occurs, select False. If you want the action applied
when an error occurs, select True.
To set up the matching for this condition, specify the following details:
Virtual Attribute: Specify the virtual attribute you want to use in the comparison. Select a virtual
attribute from the list.’
Comparison: Specify how you want the values compared. All data types are available. Select one
that matches the value type of your virtual attribute.
Mode: Select the mode, if available, that matches the comparison type. For example, if you select to
compare the values as strings, you can select either a Case Sensitive mode or a Case Insensitive
mode.
Value: Specify the second value for the comparison. All data types are available. For example, you
can select to compare the value of one virtual attribute to the value of another virtual attribute.
Only you can determine if such a comparison is meaningful.
Result on Condition Error: Specify what the condition returns when the comparison of the two
values returns an error rather than the results of the comparison. Select either False or True. If you
do not want the action applied when an error occurs, select False. If you want the action applied
when an error occurs, select True.
LDAP Attribute: If you have defined an LDAP attribute for an IP address, you can select this
option, then select your attribute.
Liberty User Profile: If you have defined a Liberty User Profile attribute for an IP address, you
can select this option, then select your attribute.
X-Forwarded-For-IP: Allows you to control access based on the value in the X-Forwarded-For IP
header of the HTTP request. This supports IPv6 address when you use the X-Forwarded-For IP
condition.
Data Entry Field: To specify a static value, select Data Entry Field and provide a value
appropriate for your comparison type. For example:
10.10.10.11 2001::10a0
10.10.20.30 / 22 2001:1000:1000:2000:3000:4000:5000:1a8a/50
You can now enter an IPv6 IP address. If you enter a zone ID and scope ID in an IP address with
% sign, you will get an error. For more information see Setting up L4 Switch for IPv6 Support.
If you selected IP for the comparison type, you can add multiple values:
Use the Edit button to access a text box where you can enter multiple values, each on a
separate line.
Use the Add button to add values one at a time.
All listed values are compared to the IP address in the X-Forwarded-For IP header until a match
is found or the list is exhausted.
IMPORTANT: If you attempt to dredge an HTTPS site that is using a self-signed certificate, you need
to import the trusted root of the site into the Trusted Roots store of Access Gateway before
performing the dredge.
To import a policy:
1 Ensure that any referenced Role policies have been imported.
See Section 10.2.8, “Importing and Exporting Role Policies,” on page 844.
2 If the policy uses LDAP or Liberty Profile attributes, ensure that Identity Server has been
configured for these same attributes.
3 Click Policies > Policies.
4 Click Import, then browse to and select the file.
5 Click OK.
6 When the policy appears in the list, click Apply Changes.
This section describes the elements available for an Identity Injection policy, but your web servers
determine which elements you use.
Section 10.4.1, “Designing an Identity Injection Policy,” on page 894
Section 10.4.2, “Configuring an Identity Injection Policy,” on page 896
Section 10.4.3, “Configuring an Authentication Header Policy,” on page 897
Section 10.4.4, “Configuring a Custom Header Policy,” on page 902
Section 10.4.5, “Configuring a Custom Header with Tags,” on page 904
Section 10.4.6, “Specifying a Query String for Injection,” on page 907
Section 10.4.7, “Injecting into the Cookie Header,” on page 909
Section 10.4.8, “Configuring an Inject Kerberos Ticket Policy,” on page 910
Section 10.4.9, “Configuring an OAuth Token Inject Policy,” on page 913
Section 10.4.10, “Importing and Exporting Identity Injection Policies,” on page 914
Section 10.4.11, “Sample Identity Injection Policy,” on page 914
IMPORTANT: This feature needs to be used with caution. Because querying the LDAP server slows
down the processing of a policy, LDAP attribute and secret store values are normally cached for the
user session. Enable this option only on those attributes and secrets that are critical to the security
of your system or to the design of your work flow.
For information about how to assign the policy to a protected resource, see “Assigning an Identity
Injection Policy to a Protected Resource” on page 141.
NOTE: To improve the policy's performance, configure the LDAP Attributes, Credential Profile,
Liberty User Profile, and Shared Secret attributes to be sent with authentication. For more
information, see “Configuring the Attributes Sent with Authentication” on page 199.
cn=jsmith,ou=Sales,o=novell
NDAP Partial Dot Notation: Specifies eDirectory™ typeless dot notation.
jsmith.sales.novell
NDAP Leading Partial Dot Notation: Specifies eDirectory typeless leading dot notation.
.jsmith.sales.novell
NDAP Fully Qualified Partial Dot Notation: Indicates eDirectory typed dot notation.
cn=jsmith.ou=Sales.o=novell
NDAP Fully Qualified Leading Dot Notation: Indicates eDirectory typed leading dot
notation.
.cn=jsmith.ou=Sales.o=novell
9 Click OK.
10 (Optional) To add a second rule, click New in the Rule List.
You can inject only one authentication header into an Identity Injection rule. However, the
policy can have multiple rules. If you inject two authentication headers, each in a separate rule,
the authentication header in the rule with the highest priority is applied, and the authentication
header action in the second rule is ignored.
11 Click OK > Apply Changes.
If you create a custom header policy with these name/value pairs, the policy injects these names
with their values into a custom header, before sending the request to the web server.
To create such a policy:
1 Click Policies > Policies.
2 Select the policy container, then click New.
3 Specify a name for the policy, select Access Gateway: Identity Injection for the type, then click
OK.
4 (Optional) Specify a description for the injection policy. This is useful if you plan to create
multiple custom header policies to be used for multiple resources.
5 In the Actions section, click New, then select Inject into Custom Header.
6 Specify the following details:
Custom Header Name: Specify the name to be inserted into the custom header. These are the
names required by your application. If your application requires the X- prefix, ensure that you
include the prefix in this field.
Value: Select the value required by the name. Select one of the following:
Authentication Contract: Injects the URI of a local authentication contract that the user
used for authentication.
Client IP: Injects the IP address associated with the user.
Credential Profile: Injects the credentials that the user specified at login. You can select
LDAP Credentials, X509 Credentials, or SAML Credentials. For more information, see
Section 10.4.3, “Configuring an Authentication Header Policy,” on page 897.
LDAP Attribute: Injects the value of the selected attribute. For Active Directory servers,
specify the SAMAccountName attribute for the username. If the attribute you require does
not appear in the list, click New LDAP Attribute to add the attribute.
The Refresh Data Every option allows you to determine when to send a query to the LDAP
server to verify the current value of the attribute. Because querying the LDAP server slows
down the processing of a policy, LDAP attribute values are normally cached for the user
session.
NOTE: To improve the policy's performance, configure the LDAP Attributes, Credential Profile,
Liberty User Profile, and Shared Secret attributes to be sent with authentication. For more
information, see “Configuring the Attributes Sent with Authentication” on page 199.
cn=jsmith,ou=Sales,o=novell
NDAP Partial Dot Notation: Specifies eDirectory typeless dot notation.
jsmith.sales.novell
NDAP Leading Partial Dot Notation: Specifies eDirectory typeless leading dot notation.
.jsmith.sales.novell
NDAP Fully Qualified Partial Dot Notation: Indicates eDirectory typed dot notation.
cn=jsmith.ou=Sales.o=novell
NDAP Fully Qualified Leading Dot Notation: Indicates eDirectory typed leading dot
notation.
.cn=jsmith.ou=Sales.o=novell
8 (Optional) To add additional custom header actions, click New, then select Inject into Custom
Header or use the Copy Action icon and modify the new entry.
9 Click OK > OK > Apply Changes.
NOTE: To improve the policy's performance, configure the LDAP Attributes, Credential Profile,
Liberty User Profile, and Shared Secret attributes to be sent with authentication. For more
information, see “Configuring the Attributes Sent with Authentication” on page 199.
7 To add multiple tag and value pairs to the custom name, click New in the Tags section.
Use the up-arrow and down-arrow buttons to order the tags.
8 Specify the format for the value:
Multi-Value Separator: Select a value separator, if the value type you have select is multi-
valued. For example, Roles can contain multiple values.
DN Format: If the value is a DN, select the format for the DN:
LDAP: Specifies LDAP typed comma notation.
cn=jsmith,ou=Sales,o=novell
NDAP Partial Dot Notation: Specifies eDirectory typeless dot notation.
jsmith.sales.novell
NDAP Leading Partial Dot Notation: Specifies eDirectory typeless leading dot notation.
.jsmith.sales.novell
cn=jsmith.ou=Sales.o=novell
NDAP Fully Qualified Leading Dot Notation: Indicates eDirectory typed leading dot
notation.
.cn=jsmith.ou=Sales.o=novell
9 (Optional) To add additional custom header actions, click New, then select Inject into Custom
Header with Tags or use the Copy Action icon and modify the new entry.
10 Click OK > OK > Apply Changes.
NOTE: To improve the policy's performance, configure the LDAP Attributes, Credential
Profile, Liberty User Profile, and Shared Secret attributes to be sent with authentication.
For more information, see “Configuring the Attributes Sent with Authentication” on
page 199.
7 (Optional) To add multiple tag and value pairs, click New in the Tags section.
You can inject only one query string into a rule, but you can inject multiple tag-name and tag-
value pairs in the single query string. Use the up-arrow and down-arrow buttons to order the
tags.
8 Specify the format for the values:
Multi-Value Separator: Select a value separator, if the value type you have select is multi-
valued. For example, Roles can contain multiple values.
DN Format: If the value is a DN, select the format for the DN:
LDAP: Specifies LDAP typed comma notation.
cn=jsmith,ou=Sales,o=novell
NDAP Partial Dot Notation: Specifies eDirectory typeless dot notation.
jsmith.sales.novell
NDAP Leading Partial Dot Notation: Specifies eDirectory typeless leading dot notation.
.jsmith.sales.novell
NDAP Fully Qualified Partial Dot Notation: Indicates eDirectory typed dot notation.
cn=jsmith.ou=Sales.o=novell
NDAP Fully Qualified Leading Dot Notation: Indicates eDirectory typed leading dot
notation.
.cn=jsmith.ou=Sales.o=novell
9 Click OK > OK > Apply Changes.
cn=jsmith,ou=Sales,o=novell
NDAP Partial Dot Notation: Specifies eDirectory™ typeless dot notation.
jsmith.sales.novell
NDAP Leading Partial Dot Notation: Specifies eDirectory typeless leading dot notation.
.jsmith.sales.novell
NDAP Fully Qualified Partial Dot Notation: Indicates eDirectory typed dot notation.
cn=jsmith.ou=Sales.o=novell
NDAP Fully Qualified Leading Dot Notation: Indicates eDirectory typed leading dot
notation.
.cn=jsmith.ou=Sales.o=novell
8 Click OK.
9 (Optional) To add a second rule, click New in the Rule List.
NOTE: The format of the token that gets injected depends on the OAUTH TOKENS IN BINARY
FORMAT property. This property is set in the Identity Server global options.
If this property is set to false or is not specified in the Identity Server global options, the format
of the token will be JWT.
6 You can select OAuth scope from the Available OAuth Scopes list. You can add multiple scopes
using this option.The selected scopes get listed in the OAuth Scopes (Select from available OAuth
Scopes list) field. If you want to manually add more scopes or edit existing scopes, you can use
the OAuth Scopes (Select from available OAuth Scopes list) field.
NOTE: The scopes are case-sensitive and have a character limit of 60. You can specify more than
one scope separated by a comma.
7 In the Renew Before the Token Expiry (minutes) field, specify a time for the token renewal.
Examples:
Let suppose Identity Server contract time out is set for 60 minutes. Now, if you specify the
Renew Before the Token Expiry (minutes) as 30, then the token gets renewed 30 minutes (60-30
minutes) after the start of Identity Server session.
Let suppose Identity Server contract time out is set for 60 minutes. Now, if you specify the
Renew Before the Token Expiry (minutes) also as 60, then there will be a new token issued for
each session.
IMPORTANT: For efficient policy execution, it is not recommended to add multiple actions with
Inject OAuth Token policy. However, if you still add another action, then the token renewal time
will be considered based on the lowest time amongst all the actions.
NOTE: It is not recommended to edit the exported file in a text editor. Any changes you want to make
to a policy must to be done through Administration Console.
To import a policy:
1 Ensure that any referenced shared secret stores have been created. See Section 10.5.4,
“Creating and Managing Shared Secrets,” on page 938.
2 If the policy uses LDAP or Liberty Profile attributes, ensure that Identity Server has been
configured for these same attributes.
3 Ensure that any referenced role policies have been imported. See Section 10.2.8, “Importing
and Exporting Role Policies,” on page 844.
4 Click Policies.
5 Click Import, then browse to the location of the file.
6 Click OK.
7 When the policy appears in the list, click Apply Changes.
/mycompany.html
10 Click Identity Injection, select the name of the IP address policy, then click Enable.
11 Click Configuration Panel > OK.
12 On the Configuration page, click OK, then click Update.
NOTE: Form Fill policies support only content-type text/html. Ensure that you configure Form Fill
policies only for such resources.
The information in this section uses this sample form to explain how to create a policy.
While analyzing a form, you need to decide if you want the policy to fill in all fields or only some of
these. Then to look at the source HTML of the form to discover the names and types of fields.
An HTML form is created using a set of HTML tags. A form consists of elements such as fields, menus,
check boxes, radio buttons, and push buttons that control how the form is completed and
submitted. For more information about forms, see Forms (http://www.w3.org/TR/html401/interact/
forms.html).
The following HTML data corresponds to the sample form (see Figure 10-8). The lines that contain
the information needed to create a Form Fill policy appear in bold type. Each line corresponds to a
field in the form that requires information or allows the user to select information.
In this example, each bold line contains information about a field, its name, and type. Use this
information in the policy to specify how the information in the field is filled.
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Form Fill Test Page</title>
</head>
<body>
<form name="mylogin" action="validatepassword.php" method="post"
id="mylogin">
<table align="center" border="0" cellpadding="4" cellspacing="4">
<tr align="center" valign="top">
<td>
<p align="center"><font size="5">Novell Services Login
</font></p>
<table align="center" border="0">
<tr align="left">
<td>Username:</td>
<td><input type="text" name="username" size="30"></td>
</tr>
<tr align="left">
<td>Password:</td>
<td><input type="password" name="password" size="30">
</td>
</tr>
<tr align="left">
<td>City of<br>Employment:</td>
<td><input type="text" name="city" size="30"></td>
</tr>
<tr>
<td colspan="2" align="center">
<input value="Login" type="submit">
<input type="reset">
</td>
</tr>
</table>
</form>
</body>
</html>
Input Field Value: Credential Profile: LDAP Credentials: LDAP User Name
To create this shared secret, click New Shared Secret, specify sampleLogin, and click
OK. Select sampleLogin, click New Shared Secret Entry, specify webserv, then click OK.
To add more entries to the same secret store, such as role and mail, you need to
manage the secrets from Identity Server. Save your draft of the policy, then click
Devices > Identity Servers > Shared Settings > Custom Attributes. Select the name of
your secret store (in this example it is sampleLogin). Add the entries you need for role,
mail, payroll, and selfservice. These names need to match the form name.
For information about configuring the form fill policy for a complicated form with JavaScript, see
Section 10.5.6, “Configuring a Form Fill Policy for Forms With Scripts,” on page 941.
<script language="JavaScript">
function doCookie(){
document.cookie="myCookieName=myCookieValue";
}
return true;
}
</script>
</body></html>
function setCookie()
function validate()
Each function needs to be placed on a separate line. This feature does a string compare, so the string
after the function key word must match exactly a string in the JavaScript.
NOTE: If both name and ID attributes are available, specify the name attribute in Input Field
Name. If you specify the ID attribute, form fill does not work.
If only the ID attribute is available, the form gets filled with values, but auto submit does not
work.
Input Field Type: Specifies the type attribute for the input field or select option in the form.
Select one of the following data types for the field:
Text: Indicates that the field is a text field on the form.
Password: Indicates that the field is a password field on the form.
Checkbox: Indicates that the field is a check box on the form.
Radio Button: Indicates that the field is a radio button on the form.
Select: Indicates that the field is a select option on the form.
Hidden: Indicates that the field is an input field, but that this field is hidden from the user.
Not Specified: Indicates that the field is an input field, but the data type is not specified in
the form.
Input Field Value: Specify the value for the field. You must specify the data type, then enter the
value. Select one of the following data types:
Credential Profile: Specifies that the value must be retrieved from the credentials the user
specified during authentication. If you have created a custom contract that uses credentials
other than the ones listed below, do not use the Credential Profile as an input value.
LDAP Credentials: If you prompt the user for a username and password, select this
option, then either LDAP User Name (the cn of the user) or LDAP User DN (the fully
distinguished name of the user). Your web server requirements determine which one
you use.
The default contracts assign the cn attribute to the Credential Profile. If your user
store is an Active Directory server, the SAMAccountName attribute is used for the
username and stored in the cn field of the LDAP Credential Profile.
X509 Credentials: If you prompt the user for a certificate, select this option, then
select one of the following option depending on your web server requirements.
— X509 Public Certificate Subject: Specifies that the subject field from the
certificate must be the value, which can match the DN of the user, depending
upon who issued the certificate.
— X509 Public Certificate Issuer: Specifies that the issuer field from the certificate
must be the value, which is the name of the certificate authority (CA) that issued
the certificate.
— X509 Public Certificate: Specifies that the entire certificate must be the value.
— X509 Serial Number: Specifies that the certificate serial number must be the
value.
NOTE: To store user-entered value in Shared Secret, ensure that you have specified the
name attribute in Input Field Name. The ID attribute does not work with Shared Secret.
The Refresh Data Every option allows you to determine when to send a query to verify the
current value of the secret. Because querying slows down the processing of a policy, secret
values are normally cached for the user session.
Change the value of this option from session to a more frequent interval only on those
secrets that are critical to the security of your system or to the design of your work flow.
You can select to cache the value for the session, for the request, or for a time interval
varying from 5 seconds to 60 minutes.
Virtual Attribute: Indicates that the value must be retrieved from the specified virtual
attribute.
The Refresh Data Every option allows you to determine when to send a query to verify the
current value of the virtual attribute. Because querying slows down the processing of a
policy, the virtual attribute values are normally cached for the user session.
Change the value of this option from session to a more frequent interval only on those
attributes that are critical to the security of your system or to the design of your work flow.
You can select to cache the value for the session, for the request, or for a time interval
varying from 5 seconds to 60 minutes. For more information, see “Using the Refresh Data
Option” on page 895.
String Constant: Indicates that the input field contains a static value. In the text box,
specify the value for the string constant.
NOTE: To improve the policy's performance, configure the LDAP Attributes, Credential
Profile, Liberty User Profile, and Shared Secret attributes to be sent with authentication.
For more information, see Configuring the Attributes Sent with Authentication.
Data Conversion: Specify whether the case of the value entered by the user must be converted.
Select one of the following options:
None: Indicates that no conversion must be performed on the value.
To Upper Case: Indicates that the value must be converted to uppercase.
To Lower Case: Indicates that the value must be converted to lowercase.
LDAP DN to NDAP Partial Dot Notation: Converts the LDAP DN (which uses typed comma
notation) to eDirectory™ typeless dot notation.
cn=jsmith,ou=Sales,o=novell to jsmith.sales.novell
LDAP DN to NDAP Leading Partial Dot Notation: Converts the LDAP DN to eDirectory
typeless leading dot notation.
cn=jsmith,ou=Sales,o=novell to .jsmith.sales.novell
LDAP DN to NDAP Fully Qualified Partial Dot Notation: Converts the LDAP DN to
eDirectory typed dot notation.
cn=jsmith,ou=Sales,o=novell to cn=jsmith.ou=Sales.o=novell
NDAP Fully Qualified Leading Dot Notation: Indicates eDirectory typed leading dot
notation.
.cn=jsmith.ou=Sales.o=novell
Shared Secret Type: This option allows you to choose how the value you specified in the HTML
form must be stored in the shared secret store.
None: When you select this default option, the value that you specified in the HTML form
will be stored and retrieved from the shared secret store on subsequent login.
Remember: This option allows you to only store the value that you specified in the HTML
form to the shared secret store.
Fill: This option allows you to only retrieve the value from the shared secret store.
If you want to change password on a HTML form, the form will have Old Password, New
Password, and Confirm Password fields. While configuring the Form Fill policy, on the
password change page, select the shared secret type as Fill for the Old Password field. For
the New Password and Confirm Password fields select shared secret type as Remember. All
the three input field names must point to the same shared secret entry.
When you access the password change page, the old password will be auto filled. The New
Password and Confirm Password fields will be blank. Enter the New Password and Confirm
Password fields and submit the page. The Old Password will be replaced with the New
Password in the shared secret entry.
9 In the Submit Options section, specify how you want the information in the form submitted to
the web server. (The HTML form page determines whether the post method or the get method
is used for the submission.) Select one or more of the following options:
Auto Submit: Indicates that you want the form submitted to the web server without having the
user confirm the submission by clicking a Submit button. If this option is not selected, Form Fill
can fill in the data, but the user must click the Submit button before the data is sent to the web
server. When the form is not auto submitted, all the JavaScript on the form is executed.
If you select Auto Submit, you can select one or more of the following options:
Debug Mode: Allows you to verify that the information in the filled-in form is valid before
it is posted to the web server. You can right-click and view the source that is being
submitted to the web server. If it is correct, click Submit to send it to the web server.
This is a troubleshooting option. We recommend that you use it when creating a new Form
Fill policy, and that you remove it when you have determined that the policy is behaving as
expected.
Mask Data: Replaces text input field values (username, password, etc.) with nov-ss-ff-
masked instead of the value specified by the value parameter when the form is sent to the
browser. Access Gateway replaces these masked values with the real values when Access
Gateway submits the form to the web server. The user’s browser never sees the actual
values for these fields.
Detect Loop: In some scenarios, Form Fill processor tries to auto submit the form and
every time login fails, the form fill request goes into infinite loop. The Login Failure policy
cannot handle the following scenarios:
When a web server returns the same login page to Access Gateway after login failure.
When a web server uses URL redirection or forwarding method to redirect a user to
the same login page after login failure.
If you have selected Auto Submit, you can select the Detect Loop option. This option allows
you to detect the loop and auto submit stops. Access Manager will now ask you to fill the
form in an interactive mode.
This is achieved by creating a cookie in the browser, which will calculate the number of
times the same form is posted to Access Gateway in a given period of time. These values
are set to 3 submits in 6 seconds.
Limitations:
Use these options only when the Login Failure policy cannot detect or handle looping.
When web server returns a different login form depending on a query-string or CGI
portion of the URL, these options may not work as expected.
NOTE: If you want to include Roles, which were assigned by the Identity Server during login, into
Form Fill policies, follow the steps mentioned in TID 7022282.
NOTE: If you do not specify a criteria in the Form Selection section, the Inject JavaScript policy is
applied to all protected resource pages.
<script language="JavaScript">
var x;
var timerID ;
function timeoutClock()
{
if(x==60) // 60 seconds is the session time left when the session
expire warning message appears.
{
newwindow =
window.open('timeout.html','toWindow','toolbar=no,menubar=no,resiza
ble=no,scrollbars=no,status=no,location=no,width=300,height=200');
}
if(x==0)
{
window.location.href = 'https://www.ag1.com:443/AGLogout' //
AGLogout link.
}
x=x-1;
}
function resetClock()
{
clearTimeout(timerID);
x = 300; //5 Minutes. This is the contact timeout defined.
timeoutClock();
}
</script>
In this script, set the value of x inside the function resetClock() according to the contract
time out. In the example, x is set 300 that is equivalent to five minutes. Also, modify the
following link in the script based on your configuration. This is a simple AGLogout link.
window.location.href = 'https://www.ag1.com:443/AGLogout'
1g Click OK > Apply Changes.
2 Assign the policy to a protected resource.
For more information, see “Assigning a Form Fill Policy to a Protected Resource” on page 142.
3 Ensure to call the resetClock() function in the body tag of the HTML page (<body
onload=resetClock();>). This initializes the counter to 300 every time the page is loaded.
Configure your rewriter policy so that it runs before the default rewriter policy. For more information
about rewriter policies, see Section 2.6.6, “Configuring HTML Rewriting,” on page 146.
NOTE: Before using Access Manager to store and encrypt secrets, ensure that you choose your
Preferred Encryption Method and change the default Encryption Password Hash Key value. If either of
these options is changed after any secrets are stored, Access Manager cannot retrieve the secrets.
For more information about configuring Access Manager to store secrets, see “Configuring a User
Store for Secrets” on page 389.
This section describes the following topics:
Section 10.5.4.1, “Naming Conventions for Shared Secrets,” on page 938
Section 10.5.4.2, “Creating a Shared Secret Independent of a Policy,” on page 939
Section 10.5.4.3, “Modifying and Deleting a Shared Secret,” on page 940
Your applications, how you use them, and your personal preferences determine whether you create
one shared secret and use it for all your applications or whether you create a shared secret for each
application.
If the applications use some of the same secrets, you can use the same shared secret for these
applications. In this case, give the shared secret a name that reflects all of the applications using
it.
If an application does not use the same secrets as another application and you want the
freedom to remove the application and its secrets without affecting other applications, you
must create a separate shared secret for this application.
If you are using Novell SecretStore, the secret names specified in your Access Manager policies
need to match the names you have already configured.
A local shared secret store does not contain any name/value pairs until you configure a Form Fill
policy to add name/value pairs or enable Allow End Users to See Credential Profile. This option allows
the username and password to be stored in the local secret store. To set this option, click Devices >
Identity Servers > Edit > Liberty > Web Service Providers > Credential Profile.
You can create, edit, and delete the values of a shared secret in the following scenarios:
When you use a Form Fill policy.
When you log in to Identity Server and use the default landing page. Click on Profile > My Profile
> Credentials > Credential List. This will be allowed only after enabling the Allow End Users to See
Credential Profile as mentioned above.
When you use other NetIQ products such as Identity Manager and Secure Login. This can be
used if you are using external eDirectory secret store.
The Identity Injection policy can use the shared secrets, but will not allow to create/edit/delete
the values of shared secrets.
To import a policy:
1 Ensure that any referenced shared secret stores have been created. See Section 10.5.4,
“Creating and Managing Shared Secrets,” on page 938.
2 If the policy uses LDAP or Liberty Profile attributes, ensure that Identity Server has been
configured for these same attributes.
3 Click Policies > Policies.
4 Click Import, then browse to the location of the file.
5 Click OK.
6 When the policy appears in the list, click Apply Changes.
10.5.6.1 Why Does Form Fill Fail with the Default Policy?
This section explains the process that takes place when a client requests a form that is configured
with the Form Fill policy as described in Chapter 10.5, “Form Fill Policies,” on page 916.
Figure 10-10 Sample Login Form with JavaScript
When Access Gateway is configured with the default Form Fill policy, it adds the following function
to the Login page received from the web server. The bold text indicates where JavaScript is called.
For the browser to send the proper POST data, Access Gateway must add the following JavaScript
statement to the Statements to execute section:
tpzDrillTable('','Login','0','listdetail');
NAGGlobalOptions InPlaceSilent=on
NAGGlobalOptions InPlaceSilentPolicyDoesSubmit=on
3 Click OK.
For information about sample codes for these examples, see Access Manager SDK Sample Code
(https://www.netiq.com/documentation/access-manager-45-developer-documentation/
samplecodes/main.html).
10.6.3.1 Scenario 1
e_Health is a web portal for doctors. e_Health uses Med_Association as an external identity provider
to verify whether the user is a doctor and obtain the user's professional code and specialization.
Med_Association retrieves these details with the help of Access Manager Identity Server.
Med_Association completes the following steps:
1. Write an External Attribute data extension class and use the required attribute to retrieve the
professional code and specialization of the user. For more information about data extension
class, see Adding Policy Extensions. For more information about data extension example code,
see The Policy Extension API in the NetIQ Access Manager 4.5 SDK Guide.
2. Create an External Attribute Source policy for the data extension.
For more information about how to import the data extension class and configure the External
Attribute Source policy in Identity Server, see External Attribute Source Policies.
3. Define a shared secret for the professional code and specialization. For more information, see
Adding Custom Attributes.
4. Configure this shared secret for a service provider to be sent with authentication. For more
information, see Configuring the Attributes Sent with Authentication.
5. The retrieved details that are professional code and specialization are sent to e_Health.
2 4 5 7
Browser e_Health
Workflow:
1. A user requests for access to e-Health through browser.
2. e_Health redirects the user’s browser to Access Manager Identity Server at Med_Association
for authentication.
3. User logs in with providing credentials. User is authenticated with LDAP.
4. On the successful authentication, Identity Server sends the assertion to e_Health.
5. e_Health verifies the assertion with Med_Association by using the back channel
communication.
6. After verification, Access Manager Identity Server retrieves the attributes (professional code
and specialization) from external sources (for example, database) by using the External
Attribute Source policy.
7. Identity Server returns the response containing professional code and specialization in a shared
secret attribute. If the user is not a doctor, external source returns null values in the shared
secret attribute in the response.
e_Health grants access to the user if it receives valid values for the attributes in the
authentication response else it denies Access.
External Attribute
Source for example, JDBC source
Web Service and so on.
3 4
Identity Provider
LDAP Directory
1 1
1 2 5
7 6
Web Server
Browser Access Gateway (with basic authentication)
NOTE: If you select an existing class, settings of the selected class are overwritten with values of
this policy.
NOTE: To modify an existing class, go to Identity Server > cluster > Edit > Local > Classes.
NOTE: The Record User History option is available only for Risk-based Auth Class.
3d Select Use Cumulative Risk Score to add current risk score of the session to this evaluation.
If you select this option, ensure that you have defined appropriate risk levels in this class to
accommodate the cumulative value. For more information, see Cumulative Scoring:.
3e To send the user name, risk score, and risk level of a specific login attempt to an external
REST interface, click Score Sharing URLs and specify the URL of the interface. The external
REST interface uses this score information to perform additional actions on the user’s
identity.
(Optional) Specify the REST endpoint authentication credential. Whenever the risk score is
sent to the REST endpoint, the endpoint sends these credentials as a basic authentication
header. If the REST endpoint is protected by using basic authentication, this credential is
used.
If Reduce Score is enabled, the reduced risk score is sent to the REST endpoint for a
successful additional authentication.
After enabling Score Sharing URLs, you must enable the identified risk scores for sharing.
You can enable two Score Sharing URLs. If the REST endpoint is down, a warning message is
logged in the log file (Linux: catalina.out; Windows: stdout.log). If the REST
endpoint is down during risk score sharing, the risk is not cached and is not be shared later.
NOTE: The Score Sharing URLs option is available only for Risk-based Auth Class.
Condition Action
Allow Access and Exit Policy: No other rules of this policy are executed
and the user gets access to the resource.
Deny Access and Exit Policy: No other rules of this policy are executed
and the user is denied access.
Exit with Risk Level as: Select or create a risk level and then assign it to
the rule. For information about creating a new risk level, see
Configuring Risk Levels. No other rules in this policy are executed. The
action specified for that risk level is executed.
If rule condition is not Specify the risk score that will be stored when the rule evaluation fails.
met, add risk score
NOTE: You can also create a rule here Policies > Risk-based Policies > Rules > New. See
Configuring Rules.
2 To select a rule from the existing list, perform the following actions:
2a Under Policy Rules, click Actions > Add Existing Rule.
2b In Risk Rule, select the rule you want to add from the list.
2c Define actions for the rule. For details, see Step 1e on page 953.
NOTE: To validate the rule configuration and view the result when a condition is met, click
Actions > Toggle Validate. See Understanding How to Use the Validate Tool to Emulate Total Risk
Score and Risk Levels.
Field Description
Risk Level Select a risk level to associate with the risk score. If you select Other, specify a name to
identify the custom risk level.
Risk Score Specify a risk score to be associated with the risk level. The risk score indicates a value
that is stored in the database after rule evaluation fails.
If you select Additional Authentication under Action, you can select multiple classes
and methods to configure additional authentication. Use a method for additional
authentication when branding, overwriting of users, or a change of userstore is
required. If the userstore of the additional authentication is same as the risk-based
authentication class and no additional branding is needed, then use a class.
The following are examples when you can configure multiple classes and methods:
When you are configuring a risk-policy for assessing the risk before authenticating
a login attempt. You want to achieve the following actions:
Enforce X.509 authentication if the user is internal
Enforce form-based authentication and OTP if the user is external
You can configure two methods or classes X.509 and OTP combination.
When you are configuring a risk-policy for assessing the risk after authenticating a
login attempt. You can configure the combination of OTP and biometric as
additional authentication methods or classes.
Reduce After a successful additional authentication, you can configure to reduce the associated
Score risk score. Specify the value that you want to reduce from the risk score. See Risk Score
Reduction After a Successful Additional Authentication:.
Share Select this option to send the risk score of this risk level to the URL specified in Score
Score Sharing URLs in the associated authentication class. You can share risk scores only for
the risk levels configured for Risk-based Auth Class.
This option is available only if at least one Share Score URLs is configured for the
authentication class.
NOTE: If the policy is using Risk-Based Pre-Auth Class, this options must be selected at
least in one method of the contract.
NOTE: To use this contract in federation, ensure to assign this contract to a protected resource.
IMPORTANT: A cookie is set only when the user is authenticated by using second-factor
authentication. The cookie is not created if the risk is assessed to be low and the user
authenticates by using primary authentication method.
Custom 1. Specify a fully qualified name of the custom class for which you want to create a
Rule custom rule. For example, com.Company.test.MyCustomclass.
2. Select Check user history to check the user history details if the rule execution fails.
3. Select Negate Result if you want to reverse the results of rule execution. For example:
if you have defined a rule to track authentication attempts from a specific
geolocation, you can use Negate Result to define a rule to allow authentication if the
user logging in is not from that geolocation.
4. Click Add Property to add custom properties and values.
External 1. Select Negate Result to reverse the result of the rule evaluation. For example, if this
Parameters rule fetches authentication details of a request using a specific IP address, use
Negate Result to make the rule to not consider inputs from that IP address.
2. In Access Manager 4.5 Service Pack 2 and earlier, you must create a custom class to
retrieve details from an external provider. Access Manager 4.5 Service Pack 3
onwards, you can specify the URL of the external source to retrieve GET requests that
return simple JSON responses.
To perform advanced operations, such as GET that returns nested data and POST, you
must create a custom class to retrieve details from an external provider. For more
information, see User Information Methods and Creating an Authentication Class in
the NetIQ Access Manager 4.5 SDK Guide.
Perform the following steps to configure the external resource details:
a. Select Get parameters from an external source and specify Source URL.
b. Select Authentication Type for authenticating the external source URL.
c. (Conditional) If you selected Basic Authentication in Authentication
Type, specify Username and Password to access the specified External Source
URL.
d. Specify the Request Timeout value. After the specified time, the request is
expired.
e. Select a Request Method that is accepted by the specified external source.
f. Select request parameters.
3. Add the following details for a parameter set:
a. Name of the parameter.
b. Specify a regular expression if required. For example, suppose an external
source sends the following value for the Virtual IPv4 parameter:
The Virtual IP address is 127.0.0.1
To extract the IP address from this string, specify the following value:
(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-
9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)
This regular expression extracts the IP address 127.0.0.1 from the string and
uses it for evaluating the configured condition. For more information about
regular expression syntax, see the Javadoc for java.util.regex.Pattern.
c. Select a relational or string operator to define a relationship between the
parameter and parameter value. For example, whether a parameter must
contain the specified parameter value or it must not be equal to the specified
value.
d. Specify a parameter value for evaluation.
e. Click Add Parameter to add more parameters in this parameter set. You can
define multiple parameters in a parameter set.
4. (Conditional) Click Add Parameter Set to define additional parameter set.
5. For two or more parameter sets, specify how the conditions for parameters must
match. The available options are Or and And. See Combination Rule in Table 4-5.
For an example, see Using External Parameters in Risk Assessment:.
Geo- 1. Specify the time in hours. If a user tries to re-login from a different location within this
Velocity time, the user is prompted for an additional authentication or the access is denied.
Tracker Access Manager verifies the location whenever the user attempts to log in.
For example, specify 5 here. When a user tries to log in again from another location in
less than five hours, the user will need to perform additional authentication.
2. Select Negate Result to reverse the output of the rule condition.
IMPORTANT: You must enable to record the user history, configure a history database, and
configure a geolocation provider for this rule to work. See Configuring User History and
Configuring Geolocation Profiling.
IP Address 1. To manually add IP addresses, select Manually enter the Datasource. You can specify
a single IP address, IP address range, IP address subnet, or upload a text file containing
IP addresses. To specify the IPv4 subnets, use the Classless Inter-Domain Routing
(CIDR) notation.
Click Add to List.
Sample text format
# Example IP List
10.0.0.0
172.16.0.0
192.168.0.0
Each entry in the text files must be on a separate line.
2. To consider the list of IP addresses provided by an external provider or an internal web
service, select Dynamically consume from the Datasource.
a. Specify URL of the provider.
b. In Connection Timeout, specify the time in second. After this time, an
unresponsive connection is closed. For example, 5 seconds.
c. In Refresh Interval, specify the time in second. The connection will be refreshed
at the specified interval. For example once in 86400 seconds.
The external provider provides the list of IP addresses in text or JSON formats.
Sample text format
# Example IP List
10.0.0.0
172.16.0.0
192.168.0.0
Sample JSON format
["10.0.0.0","172.16.0.0","192.168.0.0"]
3. Specify how the conditions for the rule must match. The available options are Is and Is
Not. For more information about Is and Is Not conditions, see Table 4-5.
4. To validate the user history recorded in the database, select Check user history. You
can use this option only when Record user history is enabled in the User History tab.
IMPORTANT: You cannot specify the IP subnet in the IPv6 format. Instead, you can use
the IP range condition and define it in the IPv6 format.
User 1. Select an LDAP attribute from the list. Click New to define a custom LDAP attribute.
Profile 2. Specify how the conditions for the rule must be matched.
3. Select one of the following options:
LDAP Attribute: Specify the value of the attribute to be searched. For example, if
you selected the attribute birthDate for rule creation, specify the birth date.
Virtual Attribute: Select the type of the virtual attribute and specify the
condition. For information about virtual attributes, see User Attribute Retrieval
and Transformation.
IMPORTANT: This cookie is set only when a user is authenticated by using second-factor
authentication. The cookie is not created if the risk is low and the user authenticates by
using the primary authentication method.
User Time 1. Select a condition to determine how conditions for the rule must be matched.
of Login 2. Specify the date and time of the user login.
3. To validate the user history recorded in the database, select Check user history. To
use this option, select Record User History.
NOTE: Access Manager 4.5 Service Pack 3 onwards, this rule considers Coordinated Universal
Time (UTC) in calculations. Access Manager versions earlier to 4.5 Service Pack 3, used the local
time. If you want to use the local time instead of UTC, perform the following steps:
1. Open /opt/novell/nam/idp/conf/tomcat.conf.
2. Comment out the following java option by adding #:
JAVA_OPTS="${JAVA_OPTS} -Duser.timezone=UTC"
3. Restart Identity Server.
However, these steps will change the time standards for OAuth logs from UTC to local time.
To record the history details for internal users only, enable the recording of user history at the risk-
based authentication class that is used to authenticate the internal users.
Recording the user history involves the following steps:
1. Configuring an External Database to Store User History
2. Enabling User History
3. Enabling user history while configuring a rule that supports history (see Configuring Rules)
4. Configuring user history for a risk policy that is linked to an authentication class (see Configuring
a Risk-based Authentication Class)
NOTE: If you select Built-in Data Store (Bundled eDirectory) as History Data Store, specify the
number of entries instead of the number of days. eDirectory supports recording history only up
to five entries.
This setting is not applicable for device fingerprinting. When the Device Fingerprint Rule is
configured, the rule evaluates all registered devices as configured in the Device Fingerprint rule
irrespective of whether this setting is configured for a specific duration or for all records.
For example:
1. Configure a Device Fingerprint Rule to store up to 10 fingerprints.
5 (Conditional) If you choose to save session details in an external database, select External
Database.
5a Specify the name to identify the driver.
5b Select the Database Driver. The driver path and dialect are displayed. You can change the
driver and dialect details if required.
5c Specify the Username and Password to access the database.
5d Specify the URL to access the database.
NOTE: To configure MySQL as the database, ensure that the database URL is specified as
mysql://db_user:db_user@localhost/netiq_risk?autoReconnect=true.
See Configuring an External Database to Store User History.
7 Perform step 5 and 6 for the device fingerprint table (device_fingerprint) also.
NOTE: This command deletes all entries in the table. If you want to delete a specific range of
entries, use the appropriate SQL command.
NOTE: This command deletes all entries in the table. If you want to delete a specific range of
entries, use the appropriate command.
7 Perform step 5 and 6 for the device fingerprint table (device_fingerprint) also.
How It Works
Access Manager Risk Service periodically fetches risk scores for all entities from Interset and keeps
the latest scores in the cache. While configuring Interset, you need to configure it to receive data
from various applications used in your organization. Interset analyzes the behavior of entities and
users using this data.
AWS
NOTE: Interset syslog connector URL and syslog connector certificate are required only when you
want to send Access Manager audit events to Interset.
Field Description
Interset Data URL The AWS S3 bucket URL from where you want to get the Interset data.
Access Key ID The AWS access key ID to access the Interset URL.
Secret Access Key The AWS secret access key to access the Interset URL.
Update every The interval for syncing the data from Interset. The recommended
value is 360 minutes (sync four times a day).
NOTE: To prevent disruption of service, ensure that Access Key ID and Secret Access Key
specified here are up to date when these are rotated as per AWS guidelines.
4 (Optional) If you want to send Access Manager audit events to Interset, specify the following
details under Send Events to Interset:
Field Description
Enable Select this option to enable sending audit events to Interset. See
Audit Events Supported for Behavioral Analytics.
Interset Syslog Connector URL Specify the URL of the AWS Interset syslog connector in the
domain:port format.
Identity Server and Access Gateway send audit events to this syslog
server.
5 Click OK.
After you complete the Interset configuration, an external parameter rule is configured using
the appropriate Interset-specific values. The rule is named as BehavioralAnalyticsRule.
6 Go to Policies > Risk-based Policies > Rules. Click BehavioralAnalyticsRule, verify, and edit
it if required.
This rule is configured with the default behavior to consider any user with Interset score less
than 50 as a low-risk user. You can modify this rule to change how the score from Interset is
interpreted. You can modify Negate Result and the value for the score (the default value for the
score condition is < 50). Do not modify any other field.
Field Details
Negate Result Select this option to reverse the result of the rule evaluation.
Parameters Set 1 Modify the value for the score parameter, if required.
To send these events to Interset, you must enable these on Administration Console. See Enabling
Identity Server Audit Events and Enabling Access Gateway Audit Events. After enabling these events,
you must restart Identity Server and Access Gateway.
Access Manager converts the format of events to CEF before sending to Interset.
NOTE: if you have only one address, .* is sufficient. The approach described in step 3 is required for
a list of addresses in the x-forwarded-for format.
Scenario 1: Trainee or Employee accesses a resource by using the internal network: Allow
access.
Scenario 2: Trainee accesses the resource by using the external network: Deny access.
Scenario 3: Risk associated with accessing the resource from an external network can depend
various conditions. The following are the conditions with equal weightage:
Employee’s request contains a cookie from the Intranet site or has a header from the
Payroll site, indicating that Employee was successfully logged into these resources earlier.
Employee is logging in during normal work hours that is 9 am to 5 pm
All conditions are evaluated. The risk decreases as the number of conditions met increases. The
action performed depends on the risk score and associated risk level.
Trainee Employee
Condition Condition
Action Action
You can configure rules for these scenarios and arrange the rules in the order of priority on the UI.
The rules are executed based on the priority from top to bottom. You can drag and drop rules on the
UI to change their priority.
In this sample, the following five rules are created and executed in the same sequence:
3 DemoRule_Combo If Employee is accessing with a cookie from the payroll site or HTTP
Header value contains loggedIn, proceed to the next rule with the
total risk score accumulated due to the failure of the above three
rules.
For example, assume the risk score for each rule is 20. If the condition
for this rule is met, then proceed to next rule with a risk score 60. If
the condition for this rule is not met, then proceed to next rule with a
risk score of 80.
NOTE: To use this rule, you must set cookies or headers per domain
with a path of /, so that Identity Server can receive them.
The following steps have been performed to configure the demo risk policy for the identified
scenarios:
1 Go to Policies > Risk-based Policies > Risk Policy.
2 Click the Create Risk Policy icon.
3 Under Add Risk Policy, specify the following details:
Risk Policy Name: Specify Demo_RiskPolicy.
Policy Description: Specify the purpose of this policy.
Assign Policy To: Select Identity Server cluster and then configure an authentication class.
3a Select Create Risk-based Auth Class.
3b Specify Class Name as Demo_RBAAuthClass.
3c Click Save.
4 Create the following rules:
Under Policy Rules, click Create Rule and specify the following values:
4a DemoRule_InternalNetwork
Rule Name: DemoRule_InternalNetwork
Rule Definitions: IP Address Rule
Specify the IP address range as 121.1.1.1 - 121.121.255.255 and click OK
If rule condition is met, then: Allow Access and Exit Policy
If rule condition is not met, add risk score: 25
Click OK.
4b DemoRule_TraineeUser
Rule Name: DemoRule_TraineeUser
Field Value
Medium
High
Field Value
6 Click OK.
7 Create an authentication method. For more information, see “Configuring a Method for an
Authentication Class” on page 954.
8 Create a contract. For more information, see “Configuring a Contract for an Authentication
Class” on page 955.
9 Assign the contract to the protected resource.
You can provide fault tolerance for the configuration store on Administration Console by installing
secondary Administration Console.
Section 11.1, “Installing Secondary Administration Console,” on page 973
Section 11.2, “Configuration Tips for the L4 Switch,” on page 976
Section 11.3, “Setting up L4 Switch for IPv6 Support,” on page 982
Section 11.4, “Using a Software Load Balancer,” on page 985
Identity Server /
1 Primary Admin Console External Traffic
10.10.10.0
Identity Server
3 Cluster Configuration
Base URL DNS = L4 VIP
L4 Switch
Identity Server /
2 Secondary Admin Console
10.10.10.0
1. Install the primary Administration Console and an Identity Server on one machine by using
Administration Console’s IP address when importing Identity Server component.
2. Install the secondary Administration Console and a second Identity Server on another machine
by using the primary Administration Console’s IP address when importing the second Identity
Server.
3. Specify the L4 VIP as the DNS for Identity Server cluster configurations that both Identity
Servers use. (See Section 2.2, “Configuring Identity Servers Clusters,” on page 44.)
11.1.3 Understanding How Consoles Interact with Each Other and with
Access Manager Devices
Primary and secondary consoles use eDirectory synchronization to keep their configuration
databases current.
WARNING: When the primary console is running, all configuration changes must be made at the
primary console. If you make changes at both a primary console and a secondary console, browser
caching can cause you to create an invalid configuration.
Access Manager devices use the secondary console only when the primary console is down.
Therefore, if a secondary console goes down while the primary console is running, devices are
notified. But they continue to run by using the primary console for configuration information. The
secondary console can be down for as long as required to fix the problem without affecting other
Access Manager devices.
When the primary console goes down, all devices discover this and switch to using the secondary
console. This can take a few minutes, because each device has its own trigger for checking in with
Administration Console. After the device switches to the secondary console, it continues to run just
as it did when it was communicating with the primary console. When the primary console is up
again, all devices discover this and switch back to using the primary console. Again, this can take a
few minutes.
Section 11.1.3.1, “Tasks Requiring the Primary Console,” on page 975
Section 11.1.3.2, “Tasks Available from the Secondary Console,” on page 976
/etc/init.d/novell-ac restart
Client
L4 Switch
L2 Switch L2 Switch
Identity Access
Servers Gateways
If your network allows for this type of communication, you need to block the communication
channels illustrated with the dotted lines.
Figure 11-5 shows each cluster type with its own L2 switch. An Access Gateway cluster and an
Identity Server cluster cannot share the same L2 switch because they can see the MAC address for
each other. Networking protocols are configured to use the most direct route for the
communication, and the MAC address is more direct than going up to the L4 switch and back down.
Such a configuration causes communication problems because all traffic between the clusters needs
to be routed through the L4 switch. Using a separate L2 switch for each cluster type prevents them
from gaining access to the MAC address and forces communication to take place through the L4
switch.
You can also customize the type of health checks that you want to perform. The heartbeat URL and
iManager will perform these health checks. For more information about customizing these health
checks, see TID 7001148 (https://support.microfocus.com/kb/doc.php?id=7001148).
/nesp/app/heartbeat
This is the path to the heartbeat application.
12 Click OK > OK.
The heartbeat of this Access Gateway is available from the following URL (See Step 4.):
http://heartbeat.jwilson.provo.novell.com:81/nesp/app/heartbeat
If the protected resource is configured with a path of / or /*, the solution works but it can be
vulnerable to attacks because the configuration opens ESP over a non-SSL port. Restricting the
resource to /nesp/app/heartbeat automatically denies access to ESP except for the
heartbeat.
13 Click OK and apply the changes to the configuration.
14 Add a line similar to the health check script:
For a Foundry switch, your string must look similar to the following if the hostname is ag1 and
the IP address is 10.10.16.172:
healthck ag1 tcp
dest-ip 10.10.16.172
port http
protocol http
protocol http url "GET /nesp/app/heartbeat HTTP/
1.1\r\nHost:st160.lab.tst"
protocol http status-code 200
For an Alteon switch, your string must look similar to the following if the hostname is ag1 and
the IP address is 10.10.16.172:
open 81,tcp
send GET /nesp/app/heartbeat HTTP/1.1\r\nHOST:heartbeat.lab.
tst\r\n\r\n
expect HTTP/1.1 200
close
IPv4/IPv6 IPv4
L4 Switch
IPv4/IPv6 Administration
Clients Consoles
Clustered
Access Gateways
Web Servers
DMZ
Use the following procedure to configure the L4 switch for IPv6 support.
1 Add an IPv6 virtual server for each of the corresponding IPv4 virtual servers:
server virtual vir-ipv6 2001::1
predictor round-robin
port 8080
port 8443
bind 8080 real1 8080 real2 8080 real3 8080 real4 8080
bind 8443 real1 8443 real2 8443 real3 8443 real4 8443
2 (Optional) To use a client IPv6 address for Authorization or Identity Injection Policies, L4 switch
must be configured to send X-Forwarded-For IP header with each HTTP request.
IPv6 support is explained in the following scenarios. For simplicity IPv4 information is not provided.
These scenarios support IPv6 in addition to IPv4. For more information about limitations for this
support, see Section 11.3.3, “Limitations,” on page 985.
However, both these can be considered the same as the responses from Identity Server and Access
Gateway Servers will be using IPv4 address. The L4 switch converts the source to IPv6 address and
forwards it to the respective remote parties. The clients can either be configured with IPv4 address
or IPv6 address or both (dual stack). If the client is configured to use IPv6 address only or dual stack,
it must resolve the published DNS names of Identity Server and Access Gateway Server to the IPv6
addresses respectively.
Configuration
The L4 switch is listening in to the IPv6 Virtual IP addresses for Identity Server cluster. Let us call it as
IDP-v6. The IPv4-Internal in the L4 switch is connected to the actual Identity Server cluster. IDP-v6
listens to IPv6 clients. The whole traffic to the IDP-v6 will be forwarded to Identity Servers with the
source IP changed to IPv4-Internal. Identity Servers listen on the IPv4 addresses only. These IPv4
addresses of Identity Servers must be configured as real server group, say IDP-Group in the L4
switch. This group must serve the requests coming to IDP-v6 address configured in the L4 switch.
Incoming traffic to the IDP-v6 addresses will be redirected to the IDP-Group based on the load
balancing algorithm configured in the L4 switch.
In case of IDP Servers acting as a Service Provider in an Artifact binding scenario, it needs to resolve
the Artifact received from the Identity Provider. Hence, the Service Provider must directly contact
the remote Identity Provider. There will be traffic initiated from the Service Provider in federated
SSO using Artifact binding. The L4 switch needs another IPv6 interface (IPv6-Internal) to forward
connections from IPv6 addresses of Identity Servers to IPv6 addresses of remote Identity Providers.
Identity Server acting as Service Provider must be configured to contain both IPv4 and IPv6
addresses. This facilitates communication with the IPv6 address of the L4 switch. If Identity Server is
acting as an Identity Provider, there is no connection initiated from Identity Server even in the
artifact binding scenario. Hence, an internal IPv6 interface in the L4 switch is not required.
How it Works?
The outgoing response traffic from Identity Servers to the IPv6 clients will be first routed to IPv4-
Internal and forwarded back to the clients with source IP address as IDP-v6 address.
When an Identity Server is acting as a Service Provider, the traffic will be initiated from the internal
Identity Servers to the remote Identity Providers. This is routed through the L4 switch and Identity
Servers must resolve the remote Identity Provider URL to the remote IPv6 address. The DNS server
configured for Identity Server must be configured to resolve the Identity Provider URL to the remote
IPv6 address.
When Identity Server is acting as an Identity Provider, the incoming traffic to this Identity Server can
be classified into the following:
Traffic initiated from IPv6 clients.
Traffic from the remote Service Provider.
Configuration
The L4 switch is listening in to the IPv6 Virtual IP addresses for Identity Server cluster. Let us call it as
IDP-v6. The IPv4-Internal in the L4 switch is connected to the actual Identity Server cluster. IDP-v6
listens to IPv6 clients. The traffic to the IDP-v6 will be forwarded to Identity Servers with the source
IP changed to IPv4-Internal.
Identity Servers listen on the IPv4 addresses only. These IPv4 addresses of Identity Servers must be
configured as real server group, say IDP-Group in the L4 switch. This group must serve the requests
coming to IDP-v6 address configured in the L4 switch. Incoming traffic to the IDP-v6 addresses will be
redirected to the IDP-Group based on the load balancing algorithm configured in the L4 switch.
Since there is no traffic initiated from the Identity Provider or Service Provider in federated SSO
using Post binding, Identity Servers must listen only using IPv4 address.
How it Works?
The outgoing response traffic from Identity Servers to the IPv6 clients will be first routed to IPv4-
Internal and forwarded back to the clients with source IP address as IDP-v6 address.
Since it is Post profile only incoming traffic will be from IPv6 clients. The clients can either be
configured with IPv4 address or IPv6 address or both (dual stack). If the client is configured to use
IPv6 address only or dual stack, it must resolve the published DNS name of IDP to IDP-v6 address.
11.3.3 Limitations
The following scenarios are not supported:
Access Gateways communicating over IPv6 to the web servers listening in IPv6 addresses.
Identity Servers communicating over IPv6 to the LDAP User stores listening in IPv6 addresses.
Because the software actually runs in Layer 7, it does not require any special networking setup and it
runs on standard server hardware.
As an example, the following instructions explain how to configure the Zeus ZXTM Load Balancer
with HTTP and HTTPS for Identity Server and Access Gateway. For more information about this
product, see Zeus Technology (http://www.zeus.com/).
1 Create two persistence classes, one for HTTPS and one for HTTP.
Protocol: <scheme>
Port: <port>
Pool: <pool created>
Replace <scheme> with HTTP or HTTPS.
Replace <port> with one of the following values: 80,8080,443, or 8443.
Replace <pool created> with one of the pools you created in Step 3.
5 Create two traffic manager groups, one for Identity Servers and one for Access Gateway.
This is where the virtual IP address is set up.
6 Start the traffic groups.
Access Manager includes a certificate management service, which allows you to manage the
certificates used for digital signatures and data encryption. You can create locally signed certificates
or import externally signed certificates, then assign these certificates to the trust stores and
keystores of the following components:
Identity Server: Certificates allow you to provide secure authentication to Identity Server and
enable encrypted content from Identity Server portal through HTTPS. They also provide secure
communications between trusted Identity Servers and user stores.
Access Gateway: Uses server certificates and trusted roots to protect web servers, provide
single sign-on, and enable the product's data confidentiality features, such as encryption.
You can install and distribute certificates to Access Manager components and configure how the
components use certificates. This includes central storage, distribution, and expired certificate
renewal.
NOTE: For detailed information about how to secure Access Manager, see NetIQ Access Manager 4.5
Security Guide .
Administration Console contains all the configuration information for all Access Manager
components. If you federate your users with other servers, it stores configuration information about
these users. You need to protect Administration Console so that unauthorized users cannot change
configuration settings or gain access to the information in the configuration store. When you
develop a security plan for Access Manager, consider the following:
Section 12.1, “Securing Administration Console,” on page 989
Section 12.2, “Protecting the Configuration Store,” on page 990
Section 12.3, “Security Considerations for Certificates,” on page 991
Section 12.4, “Configuring Secure Communication on Identity Server,” on page 991
Section 12.5, “Security Considerations for Identity Server,” on page 996
Section 12.6, “Enabling Secure Cookies,” on page 1020
Section 12.7, “Preventing Cross-site Scripting Attacks,” on page 1022
For more information about how to import certificates, see Section 15.5, “Importing a Signed
Certificate,” on page 1047.
12.4.2 Viewing the Services That Use the Signing Key PairSigning
The following services can be configured to use signing:
Section 12.4.2.1, “Protocols,” on page 993
Section 12.4.2.2, “SOAP Back Channel,” on page 993
Section 12.4.2.3, “Profiles,” on page 993
12.4.2.3 Profiles
Any of the Web Service Provider profiles can be enabled for signing by configuring them to use X.509
for their message-level security mechanism.
To view your current configuration:
1 Click Devices > Identity Servers > Edit > Liberty > Web Service Provider.
2 Click the name of a profile, then click Descriptions.
3 Click the Description Name.
4 If either Peer entity = None, Message=X509 or Peer entity = MutualTLS, Message=X509 has been
selected as the security mechanism, signing has been enabled for the profile.
NOTE: When you change the existing signing/encryption certificate, ensure that the
metadata is reimported from an identity or service provider of another cluster.
SSL: (Required) Displays the SSL connector keystore. Click this link to access the keystore
and replace the connector certificate.
Provider: Displays the ID Provider Introductions SSL Connector keystore. Click this link to
access the keystore and replace the provider certificate used by Identity Server when it is
acting as an identity provider.
Consumer: Displays the ID Consumer Introductions SSL Connector keystore. Click this link
to access the keystore and replace the consumer certificate used by Identity Server when it
is acting as an identity consumer (service provider).
For example, when you click the Provider keystore, the following page appears:
For more information about enabling security for a basic Access Manager configuration, see
Chapter 19, “Enabling SSL Communication,” on page 1071.
For additional information about managing certificates, see Chapter 16, “Managing Certificates and
Keystores,” on page 1049.
If you have set up the Access Manager to require SSL connections among all of its components, you
should delete the Name/Password - Form and the Name/Password - Basic contracts. This removes
them from the list of available contracts when configuring protected resources and prevents them
from being assigned as the contract for a protected resource. If these contracts are assigned, the
IMPORTANT: If you enter a cipher name incorrectly, Tomcat reverts to the default values, which
allow the weak ciphers to be used.
If you want to allow the SSL cipher suites, the following JSSE names can be added to the list:
SSL_RSA_WITH_RC4_128_MD5
SSL_RSA_WITH_RC4_128_SHA
For a complete list of supported cipher suites and their requirements, see The SunJSSE Provider
(http://java.sun.com/javase/6/docs/technotes/guides/security/
SunProviders.html#SunJSSEProvider).
3 To activate the cipher list, restart Tomcat.
Linux: Enter one of the following commands:
/etc/init.d/novell-idp restart
rcnovell-idp restart
Windows: Enter the following commands:
net stop Tomcat8
net start Tomcat8
4 (Conditional) If you have multiple Identity Servers in your cluster configuration, repeat these
steps on each Identity Server.
Preventing Automatically Changing the Session ID
1. Click Devices > Identity Servers > Edit > Options > New.
<context-param>
<param-name>EncryptionMethod</param-name>
<param-value>TDES</param-value>
</context-param>
You can set the <param-value> element to TDES, AES128, or AES256. Because AES128 is the
default, specifying this value in the web.xml file does not change any behavior.
3 Save the file and copy it to each Identity Server in the cluster.
4 Restart Tomcat on each Identity Server in the cluster.
Linux: Enter the following command:
/etc/init.d/novell-idp restart
rcnovell-idp restart
Windows: Enter the following commands:
net stop Tomcat8
net start Tomcat8
The following algorithms for encryption method are supported:
<md:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes128-
cbc"/><md:EncryptionMethod Algorithm="http://www.w3.org/2001/04/
xmlenc#aes256-cbc"/><md:EncryptionMethod Algorithm="http://www.w3.org/
2001/04/xmlenc#tripledes-cbc"/><md:EncryptionMethod Algorithm="http://
www.w3.org/2001/04/xmlenc#rsa-oaep"/><md:EncryptionMethod
Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p"/>
<context-param>
<param-name>SignPost</param-name>
<param-value>true</param-value>
</context-param>
3 Save the file and copy it to each Identity Server in the cluster.
4 Restart Tomcat on each Identity Server in the cluster.
Linux: Enter one of the following commands:
/etc/init.d/novell-idp restart
rcnovell-idp restart
Windows: Enter the following commands:
net stop Tomcat7
net start Tomcat7
You can configure the Identity Server to sign SAML 2.0 post messages for one or multiple trust
providers.
To enable the signing of post messages for specific trust providers:
Enable the following properties in the Administration Console. For information about how to set
properties in the Administration Console, see “Configuring Identity Server Global Options” on
page 56 and “Defining Options for SAML 2.0” on page 522.
IS SAML2 POST SIGN RESPONSE: Specify true to enable the identity provider to send signed SAML
2.0 post responses to all its trusted providers.
NOTE: Configuring IS SAML2 POST SIGN RESPONSE is same as configuring the SignPost in web.xml.
However, configuring it through the Administration Console is recommended because it provides
more options. You can combine these options with IS SAML2 POST SIGN RESPONSE to avoid Access
Manager restarts.
SAML2 POST SIGN RESPONSE TRUSTEDPROVIDERS: Specify one or more trusted provider's entityID.
Set the value as true to verify the signed SAML 2.0 post responses.
NOTE: The entityID of the identity provider and the service provider are comma-separated
values.
For example, to enable this flag on the identity provider use the following format: https://
www.idp.com:8443/nidp/saml/metadata
For example, to enable this flag on the service provider use the following format: https://
www.sp.com:8443/nidp/saml/metadata
3 Save the configuration.
4 Restart the Identity Server. For restarting, see Step 4 on page 999.
When this flag is set in the service provider, the SAML 2.0 POST response is signed and assertion is
not signed. The service provider will accept the response instead of returning an error.
netHSM Server
Access Manager allows you to use netHSM to store and manage the signing key pair of Identity
Server. You must use Administration Console to store and manage the other Access Manager
certificates. Access Manager uses the Java Security provider of the netHSM server to interact with
the netHSM server.
This section describes the topics:
Section 12.5.7.1, “Understanding How Access Manager Uses Signing and Interacts with the
netHSM Server,” on page 1002
Section 12.5.7.2, “Configuring Identity Server for netHSM,” on page 1004
NOTE: This implementation uses a single netHSM signing certificate. For information about how to
use multiple signing certificates, see Section 16.8, “Using Multiple External Signing Certificates,” on
page 1056.
12.5.7.1 Understanding How Access Manager Uses Signing and Interacts with the
netHSM Server
The netHSM server provides a signing certificate that is used instead of the one provided by Access
Manager. Requests, responses, assertions, or payloads can be signed when there are interactions
during single sign-on or during attribute queries between service providers and identity providers
using any of the SAML1.1, SAML2, Liberty ID-FF, Liberty ID-WSF, or ID-SIS protocols.
Protocols
The protocols can be configured to sign authentication requests.
Profiles
Any of the Web Service Provider profiles can be enabled for signing by configuring them to use X.509
for their security mechanism.
To view your current configuration:
1 Click Devices > Identity Servers > Edit > Liberty > Web Service Provider.
2 Click the name of a profile, then click Descriptions.
3 Click the Description Name.
4 If either Peer entity = None, Message=X509 or Peer entity = MutualTLS, Message=X509 has been
selected as the security mechanism, signing has been enabled for the profile.
netHSM Server
Identity Server
and netHSM Client
2 3
4 (out-of-band)
(out-of-band)
4
6 7
1
IMPORTANT: Because of Access Manager configuration conflicts, you need to use a netHSM client
other than Identity Server. The remote file system server is a netHSM client, or if you have
configured another device as a client, you can use that device.
The following commands are specific to nCipher; it does not come with a tool to generate a key pair
and CSR. nCipher also uses a unique keystore of type nCipher.sworld.
nCipher supports both a Windows and a Linux netHSM client.
If you have a Windows netHSM client, the command is located in the following directory:
/opt/novell/java/bin/java
To create a new key pair for nCipher:
1 On a netHSM client, add the nCipher provider to the provider list of the java.security file:
1a In a text editor, open the C:\Program Files\Java\<jdk version>\jre\lib\
security\java.security file.
1b Add the following lines to the top of the list of providers:
security.provider.1=com.ncipher.fixup.provider.nCipherRSAPrivateEnc
rypt
security.provider.2=com.ncipher.provider.km.nCipherKM
The provider section should look similar to the following:
Parameter Description
The tool prompts you for a password for the keypass and the storepass. They must be the same
password if you are going to use card set protection rather than module protection.
The tool also prompts you for the certificate subject name (first name, last name, organization,
organizational unit, locality, state or providence, and country).
5 To generate a certificate request from a key in the keystore, enter the following command:
Parameter Description
6 Take the CSR created in Step 5 to a certificate authority. The CA needs to send you a DER-
encoded public certificate. The CA also needs to send you the public certificate that it used to
create the certificate and the public certificates for any CAs in the chain.
7 Load the public certificate of the CA into the keystore by entering the following command:
Parameter Description
The tool prompts you for the keystore password and asks whether you want to trust the
certificate.
8 (Conditional) Repeat Step 7 for each CA in the chain, giving each CA a unique alias.
9 Import the signed certificated received from the CA by entering the following command:
Parameter Description
10 (Optional) To verify that the certificates have been added to the keystore, enter the following
command:
"c:\Program Files\Java\<jdk version>\jre\bin\java" -Dprotect=module
-DignorePassphrase=true sun.security.tools.KeyTool -list -v
-keystore AMstore.jks -storetype nCipher.sworld -provider
com.ncipher.provider.km.nCipherKM
The keystore should contain at least two certificates. The certificate that you created should
now be issued by the CA you used, and the public certificate of the CA should be there as the
owner and the issuer.
11 Copy the keystore to the idp directory on Identity Server.
Linux: /opt/novell/devman/jcc/certs/idp
Windows Server 2012: \Program Files\Novell\devman\jcc\certs\idp
The keystore is found on the netHSM client in the directory specified by the -keystore
parameter when you created the keystore. See Step 4.
12 Synchronize Identity Server with the remote file system server.
Linux: Enter the following commands:
/opt/nfast/bin/rfs-sync –-update
JAVA_OPTS="${JAVA_OPTS} -Dcom.novell.nidp.extern.config.file=
/opt/novell/nids/lib/webapp/WEB-INF/classes
externKeystore.properties"
JAVA_OPTS="${JAVA_OPTS} -Dprotect=module
-DignorePassphrase=true"
The first line specifies the location of the properties file. You can specify another location.
The second line is required only if you want the keystore to be module protected rather
than card protected.
5 Configure the externKeystore.properties file to use the nCipher key and keystore:
5a In a text editor, create an externKeystore.properties file in the /opt/novell/
nam/idp/webapps/nidp/WEB-INF/classes directory.
If you specified a different location for this file in Step 4, use that location.
5b Add the following lines:
com.novell.nidp.extern.signing.providerClass=com.ncipher.provider.k
m.nCipherKM
com.novell.nidp.extern.signing.providerName=nCipherKM
com.novell.nidp.extern.signing.keystoreType=nCipher.sworld
com.novell.nidp.extern.signing.keystoreName=/opt/novell/devman/jcc/
certs/idp/AMstore.jks
com.novell.nidp.extern.signing.keystorePwd=mypwd
com.novell.nidp.extern.signing.alias=od93
com.novell.nidp.extern.signing.keyPwd=mypwd
Enter your values for the following variables:
Variable Value
<provider_class> The name of the providerClass. For nCipher, this must be set to
com.ncipher.provider.km.nCipherKM.
<provider_name> The name of the provider. For nCipher, this must be set to
nCipherKM.
<keystore_name> The name you specified when you created the keystore. In this sample
configuration, the name is AMstore.jks.
<keystore_pwd> When you use module-protected keys, the keystore password must be
null. For example:
com.novell.nidp.extern.signing.keystorePwd=
<key_alias> The alias you created for the key when you created the key. In this
sample configuration, the name is od93.
<key_pwd> When you use module-protected keys, the key password must be null.
For example:
com.novell.nidp.extern.signing.keyPwd=
";C:\nfast\java\classes\jcetools.jar;C:\nfast\java\classes\jutils.j
ar;C:\nfast\java\classes\keysafe.jar;C:\nfast\java\classes\kmcsp.ja
r;C:\nfast\java\classes\kmjava.jar;C:\nfast\java\classes\nfjava.jar
;C:\nfast\java\classes\rsaprivenc.jar;C:\nfast\java\classes\spp.jar
"
2d Save your changes.
3 Add the netHSM certificate configuration lines to the tomcat7.conf file:
3a Run the tomcat7w.exe utility located in the following directory:
Windows Server 2012: \Program Files\Novell\Tomcat\bin
3b Click the Java tab.
3c In the Java Options text box, add the following as three separate lines:
com.novell.nidp.extern.signing.providerClass=com.ncipher.provider.k
m.nCipherKM
com.novell.nidp.extern.signing.providerName=nCipherKM
com.novell.nidp.extern.signing.keystoreType=nCipher.sworld
com.novell.nidp.extern.signing.keystoreName=C:\\Program
Files\\Novell\\
devman\\jcc\\certs\\idp\\AMstore.jks
com.novell.nidp.extern.signing.keystorePwd=mypwd
com.novell.nidp.extern.signing.alias=od93
com.novell.nidp.extern.signing.keyPwd=mypwd
The com.novell.nidp.extern.signing.keystoreName line is wrapped and
indented for readability. All extra white space needs to be removed in the file entry. The
double slashes in the path are required.
Enter your values for the following variables:
Variable Value
<provider_class> The name of the providerClass. For nCipher, this must be set to
com.ncipher.provider.km.nCipherKM.
<provider_name> The name of the provider. For nCipher, this must be set to
nCipherKM.
<keystore_name> The name you specified when you created the keystore. In this sample
configuration, the name is AMstore.jks.
com.novell.nidp.extern.signing.keystorePwd=
<key_alias> The alias you created for the key when you created the key. In this
sample configuration, the name is od93.
<key_pwd> When using module-protected keys, the key password must be null.
For example:
com.novell.nidp.extern.signing.keyPwd=
http://<DNS_name>:8080/nidp/idff/metadata
Replace <DNS_name> with the DNS name of your Identity Server.
2 Search for the following string:
<md:KeyDescriptor use="signing">
3 Copy the certificate text between the <ds:X509Certificate> and the </
ds:X509Certificate> tags
4 Paste the text into a text editor.
5 Delete the <ds:X509Certificate> tag and replace it with the following text:
-----BEGIN CERTIFICATE-----
6 Delete the </ds:X509Certificate> tag and replace it with the following text:
-----END CERTIFICATE-----
7 Save the file as a text file with a .cer extension.
8 Open the file in Internet Explorer.
9 View the certificate details.
If Identity Server is using the nCipher signing certificate, the certificate is issued by your CA and
the name the certificate is issued to is the name you specified for the certificate.
If Identity Server is using the Access Manager certificate, the certificate is issued by the
Organizational CA and the certificate name is test-signing. For troubleshooting information,
see “Troubleshooting the netHSM Configuration” on page 1017.
ll /opt/nfast/log
Your listing should look similar to the following:
-rw-r--r-- 1 novlwww nfast 0 Apr 11 11:50 cmdadp-debug.log
-rw-r--r-- 1 novlwww nfast 134 Apr 11 11:50 cmdadp.log
-rw-r----- 1 root nfast 43 Apr 11 11:49 debug
-rw-r----- 1 nfast nfast 5 Apr 11 11:49 hardserver.pid
-rw-r----- 1 nfast nfast 3057 Apr 11 11:50 logfile
If novlwww is not listed as the owner of the cmdadp.log and cmdadp-debug.log files,
continue with Step 3b.
If novlwww is listed as the owner of the files with rw permissions, log file ownership is not
the source of your problem. Continue with Step 4.
3b Stop Tomcat with one of the following commands:
/etc/init.d/novell-idp stop
rcnovell-idp stop
tail -f /var/opt/novell/nam/logs/idp/tomcat/catalina.out
4g Search for a list of providers. When nCipher is working, the file contains entries similar to
the following nCipher entries:
For more information about making cookies secure, see the following documents:
Secure attribute for cookies in RFC 2965 (http://www.faqs.org/rfcs/rfc2965.html)
HTTP-only cookies (http://msdn.microsoft.com/en-us/library/ms533046.aspx)
secure="true"
6 Save the server.xml file.
7 Enter one of the following commands to restart Tomcat:
Linux: /etc/init.d/novell-mag restart OR rcnovell-mag restart
Windows: Use the following commands:
net stop Tomcat8
net start Tomcat8
This option is used to secure the cookie when Access Gateway is placed behind an SSL accelerator,
such as the Cisco SSL accelerator, and Access Gateway is configured to communicate by using only
HTTP.
For example: If wsfed request fails due to some reason, add wsfed in the exclude list. Now, Identity
Provider will not filter wsfed specific requests.
The exclude init-param is as follows:
<init-param>
<param-name>exclude</param-name>
<param-value>soap,wstrust,metadata,oauth,wsfed</param-value>
</init-param>
NOTE: It is recommended to use the above option as it overrides the following approach:
This approach might have a minor performance impact due to the checks it performs. If you perform
HTML escaping in customized JSP pages, you do not need to perform this additional filtering.
Parameter Description
Request Parameters:
Request Header Set Fetches the user-agent from the request headers of the incoming request.
Device Parameters:
Screen Resolution Fetches width and height of the user's browser and screen.
Operating System Fetches name and version of the operating system on the user’s device.
User Agent Fetches the following details about the browser on the user’s device:
Version
Name
Platform of the browser
Number of logical processors cores available to the browser
HTML5 Capabilities Fetches the information about HTML 5 capabilities that are supported by the
(Performance browser.
Intensive)
System Fonts Fetches the information about fonts supported and unsupported by the user's
(Performance browser.
Intensive)
WebGL Metadata Fetches information about the GPU (Graphics Processing Unit), the identity of the
(Performance browser, WebGL properties, and characteristics supported by the browser.
Intensive)
WebGL (Web Graphics Library) is a JavaScript API for rendering interactive 3D
computer graphics and 2D graphics within any compatible web browser without
using plug-ins.
NOTE: From Access Manager 4.5, Advanced Session Assurance is disabled by default for Identity
Server and Access Gateway in an upgraded or newly installed setup. You must upgrade all nodes in
the clusters of Identity Server and Access Gateway to version 4.5 before enabling Advance Session
Assurance.
For Access Gateway clusters and proxy services, you should enable Advanced Session Assurance only
if needed. See “Best Practices for Enabling Advanced Session Assurance at the Proxy Service
Resource Level” on page 1028.
Perform the following steps to enable Advanced Session Assurance at the cluster level:
1 Click Security > Advanced Session Assurance.
2 In Cluster Level Configurations, select Identity Server clusters or Access Gateway clusters for
which you want to enable Advanced Session Assurance.
IMPORTANT: Users may not go to Identity Server or Access Gateway Embedded Service Provider
(ESP) very regularly. So, in the following scenarios, this interval may not work and the session will be
renewed with the next request after the interval:
Federated setups: When a user logs into Identity Server, Access Manager generates an
assertion to the service provider (SP). After that the SP owns the user session and session
assurance renewal will not work till the SP periodically comes back to Identity Server to renew
the session assurance.
Access Gateway setups: When a user accesses and logs into a protected resource, that user
usually does not return to ESP or Identity Server until the session timeout has exceeded or
another authentication request comes to Identity Server. For example, if the default contract
timeout is set to 60 min, the user may not come back to Identity Server or ESP approximately
for 40 min. Even if the session renewal is set to 1 min (default), the user may not come back to
Identity Server and renew the session info.
NOTE: You can also deselect the cluster to disable Advanced Session Assurance. However, disabling
Advanced Session Assurance at the cluster level disables it for the entire Access Manager setup.
SESSION ASSURANCE USER AGENT EXCLUDE LIST Specify the user-agent string for that you want to
disable the session validation.
SESSION ASSURANCE USER AGENT REGEX Specify the user-agent REGEX for that you want to
EXCLUDE LIST disable the session validation.
SESSION ASSURANCE URL EXCLUDE LIST Specify the URL for that you want to disable the
session validation.
SESSION ASSURANCE URL REGEX EXCLUDE LIST Specify the URL REGEX for that you want to
disable the session validation.
SESSION ASSURANCE IDC COOKIE GRACEPERIOD Specify the time in second till which Identity
Server will accept the old session ID, after issuing
a new ID. The default value is 15 second.
SESSION_ASSURANCE_USER_AGENT_EXCLUD
E_LIST Android,Chrome
SESSION_ASSURANCE_USER_AGENT_REGEX_
EXCLUDE_LIST Android 4\.,Chrome
SESSION_ASSURANCE_URL_EXCLUDE_LIST Specify the URL for that you want to disable the
session validation.
SESSION_ASSURANCE_URL_EXCLUDE_LIST
/hr/
SESSION_ASSURANCE_URL_REGEX_EXCLUDE
_LIST www.xyz.com/hr/(.)*
NAGHostOptions DisableIDC on This disables Advance Session Assurance for small lived session
IDs.
An Example Configuration
Let assume an organization has a Human Resources application and a Payroll application. Both
applications contain highly confidential data of its employees. These applications are protected by
Access Gateway.
The organization wants to prevent session hijacking for these applications.This can be achieved by
enabling device fingerprinting-based session validations for proxy services tied to these applications.
Configuration Steps:
1 Click Security > Advanced Session Assurance.
2 In Enable Advanced Session Assurance for Clusters, select the required Identity Server clusters
and Access Gateway clusters for which you want to enable Advanced Session Assurance.
3 Specify Session Validation and Renewal Interval.
For more information, see “Setting Up Session Validation and Renewal Interval” on page 1028.
4 Select parameters that you want to include in the session validation.
For more information about parameters, see Table 13-1 on page 1025.
5 Click Proxy Service Settings and select the proxy services tied up with the Human resources and
Payroll applications.
6 Click OK.
7 Update Access Gateway.
Certificates
Access Manager allows you to manage centrally stored certificates used for digital signatures and
data encryption. eDirectory resides on Administration Console and is the main certificate store for all
of the Access Manager components. If you use a Novell Certificate Server, you can create certificates
there and import them into Access Manager.
By default, all Access Manager components (Identity Server and Access Gateway) trust the local
Access Manager certificate authority (CA). However, if Identity Server is configured to use an SSL
certificate signed externally, the trust store of the Embedded Service Provider for each component
must be configured to trust this new CA.
Certificate management commands issued from a secondary Administration Console can work only
if the primary console is also running properly. Other commands can work independently of the
primary console.
You can create and distribute certificates to the following components:
Identity Server: Uses certificates and trust stores to provide secure authentication to Identity
Server and enable encrypted content from Identity Server portal via HTTPS. Certificates also
provide secure communications between trusted Identity Servers and user stores.
Liberty and SAML 2.0 protocol messages that are exchanged between identity and service
providers often need to be digitally signed. Identity Server uses the signing certificate included
with the metadata of a trusted provider to validate signed messages from the trusted provider.
For protocol messages to be exchanged between providers through SSL, each provider must
trust the CA of the other provider. You must import the public key of the CA used by the other
provider.
Identity Server also has a trust store for OCSP (Online Certificate Status Protocol) certificates,
which is used to check the revocation status of a certificate.
Access Gateway: Uses server certificates and trusted roots to protect web servers, provide
single sign-on, and enable the product’s data confidentiality features, such as encryption. They
are used for background communication with Identity Server and policy engine and to establish
trust between Identity Server and Access Gateway.
To ensure the validity of X.509 certificates, Access Manager supports both Certificate Revocation
Lists (CRLs) and Online Certificate Status Protocol (OCSP) methods of verification.
When X509 authentication is configured as the authentication contract, it works even after you
revoke the certificate for the X509 mutual authentication. When you access the nidp login page from
the client browser and select the revoked certificate, browser does not throw an error message
telling that the certificate has been revoked. You can either issue a CRL or wait until the next CRL
issuance date. The revoked certificates will work until the next CRL issuance date.
Access Manager stores the certificates that a device has been configured to use in trust stores and
keystores. This section describes the following certificate features:
Section 14.1, “Process Flow,” on page 1036
Section 14.2, “Access Manager Trust Stores,” on page 1037
Section 14.3, “Access Manager Keystores,” on page 1038
Certificate
Authority
1
3
Identity Server
Administration
Administrator
Console 4
1. Generate a certificate signing request (CSR). See Section 15.4, “Generating a Certificate Signing
Request,” on page 1046.
2. Send the CSR to the external certificate authority (CA) for signing.
A CA is a third-party or network authority that issues and manages security credentials and
public keys for message encryption. The CA’s certificate is held in the configuration store of the
computers that trust the CA.
The <device> can be idp (for Identity Server) and esp (for the Embedded Service Providers, including
Access Gateways).
Access Manager comes with certificates for testing purposes. The test certificates are called test-
signing, test-encryption, test-provider, test-consumer, and test-connector. At a minimum, you must
create two SSL certificates: one for Identity Server test-connector and one for Access Gateway
reverse proxy. Then you replace the predefined certificates with the new ones.
If you install a secondary Administration Console, the certificate authority (CA) is installed with the
first instance of eDirectory, and the secondary consoles have eDirectory replicas and therefore no CA
software. All certificate management must be done from the primary Administration Console.
Certificate management commands issued from a secondary Administration Console can work only
if the primary console is also running properly. Other commands can work independently of the
primary console.
IMPORTANT: Before generating any certificates with Administration Console CA, ensure that time is
synchronized within one minute among all of your Access Manager devices. If the time of
Administration Console is ahead of the device for which you are creating the certificate, the device
rejects the certificate.
NOTE: To use external OAuth signing certificate, you must add the certificate to the Signing
keystore.
View Certificate Details: To view certificate details, renew a certificate, or export keys, click the
name of the certificate. For more information, see Section 16.1, “Viewing Certificate Details,”
on page 1049.
.O=novell.C=US
Access Manager supports the following attributes:
Country (C)
Organization (O)
Organizational Unit (OU)
State or Province (S or ST)
Locality (L)
Common Name (CN)
IP Address: An IP address such as 222.123.123.123
URI: A URI such as www.novell.com.
Registered ID: An ASN.1 object identifier.
DNS Name: A domain name such as novell.com.
Email Address (RFC 822 name): An e-mail address such as [email protected].
X400 Name: The messaging and e-mail standard specified by the ITU-TS (International
Telecommunications Union - Telecommunication Standard Sector). It is an alternative to
the more prevalent Simple Mail Transfer Protocol (SMTP) e-mail protocol. X.400 is common
in Europe and Canada.
EDI Party: EDI (Electronic Data Interchange) is a standard format for exchanging business
data.
Other: A user-defined name.
Name: The display alternative name.
2 Continue with Step 10 on page 1043.
NOTE: When there is a server certificate and more than two intermediate CA certificates, use PKCS7
format file and import the certificate and its CA chain.
If you receive an error when attempting to import the certificate, see Chapter 32.5,
“Troubleshooting Certificate Issues,” on page 1336.
You can import certificates created by an external certificate authority. These certificates then need
to be assigned to a device by adding the certificate to the device’s keystore. The subject name of the
certificate needs to match the DNS name of the device, or if you are using wildcard certificates, the
main domain name needs to match. You can perform the following certificate tasks:
Section 16.1, “Viewing Certificate Details,” on page 1049
Section 16.2, “Adding a Certificate to a Keystore,” on page 1051
Section 16.3, “Renewing a Certificate,” on page 1052
Section 16.4, “Exporting a Private/Public Key Pair,” on page 1053
Section 16.5, “Exporting a Public Certificate,” on page 1054
Section 16.6, “Importing a Private/Public Key Pair,” on page 1054
Section 16.7, “Managing Certificates in a Keystore,” on page 1055
Section 16.8, “Using Multiple External Signing Certificates,” on page 1056
Field Description
Valid from The first date and time that the certificate is valid.
Devices The devices that are configured to hold this certificate on their file
system and the keystore that holds them.
Key size The key size that was used to create the certificate.
Signature algorithm The signature algorithm that was used to create the certificate.
Finger print (MD5) The certificate's message digest that was calculated with the MD5
algorithm. It is embedded into the certificate at creation time. It
can be used to uniquely identify a certificate. For example, users
can verify that a certificate is the one they think it is by matching
this published MD5 fingerprint with the MD5 fingerprint on the
local certificate.
Finger print (SHA256) The certificate's message digest that was calculated with the SHA-
256 algorithm. It is embedded into the certificate at creation time.
It can be used to uniquely identify a certificate. For example, users
can verify that a certificate is the one they think it is by matching a
published SHA-256 fingerprint with the SHA-256 fingerprint on the
local certificate.
Subject Alternate Names: Indicates whether an application should reject the certificate if the
Critical application does not understand the alternate name extensions.
Any configured alternate names are displayed in the list.
Key Usage: Critical Indicates whether an application should reject the certificate if the
application does not understand the key usage extensions.
Sign CRLs Indicates whether the certificate is used to sign CRLs (Certificate
Revocation Lists).
Sign certificates Indicates whether the certificate is used to sign other certificates.
Encrypt other keys Indicates whether the certificate is used to encrypt keys.
Encrypt data directly Indicates whether the certificate can encrypted data for private
transmission to the key pair owner. Only the intended receiver can
read the data.
Create digital signatures Indicates whether the certificate can create digital signatures.
CRL Distribution Points A list of Certificate Revocation List (CRL) distribution points that are
embedded into the certificate as an extension at certificate
creation time. Implementations search the CRL from each
distribution point (the distribution point is usually a URI that points
to a store of revoked certificates) to see whether a certificate has
been revoked.
Authority Info Access (OCSP) A list of Online Certificate Status Protocol (OCSP) responders that
are embedded into the certificate as an extension at certificate
creation time. Implementations query the OCSP responder to see
whether a certificate has been revoked.
Valid from The date and time that the request was generated.
Key size The key size that was used to create the request.
Signature algorithm The signature algorithm that was used to create the request.
State Displays CSR Pending, indicating that the request has been
generated.
CSR data The certificate signing request data. You can either export this data
or copy and paste it into CA’s request tool.
3 (Conditional) For a certificate not in a CSR Pending state, select one of the following actions:
Renew: Allows you to renew the certificate. For more information, see Section 16.3, “Renewing
a Certificate,” on page 1052.
Export Private/Public Keypair: Allows you to export private certificates to obtain a backup copy
of the key, to move the key to a different server, or to share the key between servers. For more
information, see Section 16.4, “Exporting a Private/Public Key Pair,” on page 1053
Export Public Certificate: Allows you to export a public key certificate to a file. For more
information, see Section 16.5, “Exporting a Public Certificate,” on page 1054.
Add Certificate to Keystores: Allows you to assign the certificate to keystore so it can be used
by Access Manager. For more information, see Section 16.2, “Adding a Certificate to a Keystore,”
on page 1051.
4 (Conditional) For a certificate in a CSR Pending state, select one of the following actions:
Import Signed Certificate: Allows you to import the certificate that was generated for this
request. For more information, see Section 15.5, “Importing a Signed Certificate,” on
page 1047.
Export CSR: Allows you to export the CSR to a CSR file.
NOTE: Whenever the configuration store contains a Key Material Object (KMO) with a CSR in
pending state, the KMO will not be exported by using the amdiagcfg script and not be backed
up by using the ambkup script.
To renew a certificate:
1 Click Security > Certificates.
2 Click the certificate name.
3 Click Renew.
4 On the Renew page, either browse to locate and select the certificate or select the Certificate
data text (PCM/Base64) option and paste the certificate data into the text box.
5 To import the CA chain, click Add trusted root and then locate the Root certificate data.
6 Update the device using the certificate.
7 Click Add intermediate certificate if you need to continue adding certificates to the chain for
example, add Intermediate cert 1 and cert 2 in that order.
8 Click OK, then click Close.
IMPORTANT: Remember this password because you need it to re-import the key.
6 Click OK.
Column Description
Device or Cluster Name The name of the device or of the cluster that is using the keystore.
Some keystores require a single certificate, so you can only replace the certificate. Other keystores
can contain multiple certificates. In this type of keystore, you can add and remove certificates.
To view a keystore:
1 Click Security > Certificates.
2 Click the down-arrow in the Devices column, then select a keystore.
3 Alternatively, Identity Server keystores can be accessed from Identity Server Cluster > Edit >
General > Security.
4 View the details of the keystore, the device associated with the keystore, and the certificates in
the keystore.
5 Add, Remove, and Replace options are available based on the type of keystore. They can be
used for managing the certificates in the keystore.
6 To remove a certificate:
6a Select the certificate, then click Remove.
NOTE: You cannot remove the default certificates or the certificates that are in use.
This option is available only for keystores that support multiple certificates.
7c Click OK.
8 Click Close.
#KeyStore 2.
com.novell.nidp.extern.signing.providerClass.2=<SOME CLASS>
com.novell.nidp.extern.signing.providerName.2=<SOME PROVIDER NAME>
com.novell.nidp.extern.signing.keystoreType.2=<SOME KEYSTORE TYPE>
com.novell.nidp.extern.signing.keystoreName.2=<SOME KEYSTORE NAME>
com.novell.nidp.extern.signing.keystorePwd.2=<SOME PASSWORD>
#Aliases and key passwords.
com.novell.nidp.extern.signing.alias.2.1=<SOME ALIAS>
com.novell.nidp.extern.signing.keyPwd.2.1=<SOME PASSWORD>
:
:
com.novell.nidp.extern.signing.alias.2.n=<SOME ALIAS>
com.novell.nidp.extern.signing.keyPwd.2.n=<SOME PASSWORD>
For Keystore parameters, the suffix is a single integer after the last period, for example, “.1”
and “.2”.
JAVA_OPTS="${JAVA_OPTS} -Dcom.novell.nidp.extern.config.file=[path-
to-file]/externKeystore.properties"
1d Restart services.
2 Assign the certificate to the service provider.
Since the external keystore certificates are not listed in Administration Console, perform the
following steps to assign a certificate from the external keystore to the service provider:
2a Create a dummy certificate in Administration Console and change the alias of the
certificate to match the alias of the external keystore certificate.
2b Reimport metadata and certificates.
2c Restart services. The certificate from external keystore is used to federate.
NOTE: This is a general configuration and may vary based on HSM providers.
com.novell.nidp.extern.signing.providerName.1=SunRsaSign
com.novell.nidp.extern.signing.keystoreType.1=JKS
com.novell.nidp.extern.signing.alias.1.2=namExtCert2
com.novell.nidp.extern.signing.keyPwd.1.2=password2
4 Open the /opt/novell/nam/idp/conf/tomcat.conf file and add the following content:
JAVA_OPTS="${JAVA_OPTS} -Dcom.novell.nidp.extern.config.file=/tmp/
namKeyStore/namKeyStore.properties"
5 Restart services.
6 Go to Administration Console and assign the certificate to the service provider. See Step 2 on
page 1057.
Devices
After you assign certificates to devices, the certificates are placed in keystores. Ensure that you
update the device so that the certificates are pushed into active use.
This section discusses how you update, renew, and assign certificates to Access Manager Devices.
Section 17.1, “Importing a Trusted Root to the LDAP User Store,” on page 1059
Section 17.2, “Managing Identity Server Certificates,” on page 1060
Section 17.3, “Assigning Certificates to an Access Gateway,” on page 1061
Section 17.4, “Changing a Non-Secure (HTTP) Environment to a Secure (HTTPS) Environment,”
on page 1063
When you configure certificates on these pages, you need to be aware that two phases are used to
push the certificates into active use.
Phase 1: When you select a certificate on one of these pages, then click OK, the certificate is placed
in the keystore on Administration Console and it is pushed to Access Gateway. The certificate is
available for use, but it is not used until you update Access Gateway.
Section 18.1, “Managing Trusted Roots and Trust Stores,” on page 1065
Section 18.2, “Viewing External Trusted Roots,” on page 1069
Field Description
Trust store type The type of trust store, such as Java, PEM, or DER.
Cluster of Device name The name of the cluster using this trust store or the single
device that is using the trust store.
Cluster Members’ Trust Stores The trust stores assigned to a cluster. If a device does not
belong to a cluster, this section does not appear.
Trusted Roots The trusted roots that are stored in the trust store.
4 Click Close.
Field Description
Valid from The first date and time that the certificate is valid.
Devices The devices that are configured to hold this certificate on their
file system.
Key size The key size that was used to create the certificate.
Signature algorithm The signature algorithm that was used to create the certificate.
Finger print (MD5) The certificate's message digest that was calculated with the
MD5 algorithm. It is embedded into the certificate at creation
time. It can be used to uniquely identify a certificate. For
example, users can verify that a certificate is the one they think it
is by matching this published MD5 fingerprint with the MD5
fingerprint on the local certificate.
Finger print (SHA256) The certificate's message digest that was calculated with the
SHA-256 algorithm. It is embedded into the certificate at creation
time. It can be used to uniquely identify a certificate. For
example, users can verify that a certificate is the one they think it
is by matching a published SHA-256 fingerprint with the SHA-256
fingerprint on the local certificate.
The Subject Alternate Names section indicates whether an application should reject the
certificate if the application does not understand the alternate name extensions. Any
configured alternate names are displayed in the list.
The Key Usage section indicates whether an application should reject the certificate if the
application does not understand the key usage extensions. The following are possible:
Sign CRLs: Indicates whether the certificate is used to sign CRLs (Certificate Revocation Lists).
Sign certificates: Indicates that the certificate is used to sign other certificates.
Encrypt other keys: Indicates that the certificate is used to encrypt keys.
Encrypt data directly: Indicates that the certificate encrypts data for private transmission to the
key pair owner. Only the intended receiver can read the data.
Create digital signatures: Indicates that the certificate is used to create digital signatures.
Non-repudiation: Indicates that the certificate links a digital signature to the signer and the
data. This prevents others from duplicating the signature because no one else has the signer’s
private key. Additionally, the signer cannot deny having signed the data.
CRL Distribution Points: Displays a list of Certificate Revocation List (CRL) distribution points
that are embedded into the certificate as an extension at certificate creation time.
Implementations search the CRL from each distribution point (the distribution point is usually a
URI that points to a store of revoked certificates) to see whether a certificate has been revoked.
Authority Info Access (OCSP): Displays a list of Online Certificate Status Protocol (OCSP)
responders that are embedded into the certificate as an extension at certificate creation time.
Implementations query the OCSP responder to see whether a certificate has been revoked.
4 Select from the following actions:
Export Public Certificate: Allows you to export a trusted root to a file so that a client can use it
to verify the certificate chain sent by a cryptography-enabled application. For more information,
see Section 16.5, “Exporting a Public Certificate,” on page 1054.
NOTE: All the well-known trusted roots are added to the proxy trust store during the Access
Manager Installation.
Field Description
Starting Date The date and time from which the certificate is valid.
Ending Date The date and time till that the certificate is valid.
SSL impacts the performance of Access Manager components. Instead of enabling Access Manager
components for SSL, you can front the components with an SSL terminator or accelerator. The SSL
terminator offloads the handling of the SSL traffic, and the Access Manager components can be
configured to use HTTP. For some tips on using such a device, see Section 19.1.4, “Using an SSL
Terminator,” on page 1079.
2 1
SSL SSL
3 SSL
SSL SSL
4 5
Browser Access Gateway
Web Servers
The first channel is set between Identity Server and LDAP servers when you configure user stores
(see step 4 in Section 2.2, “Configuring Identity Servers Clusters,” on page 44). The other channels
need to be configured according to their numeric values. You need to configure SSL between Identity
Server and browsers before you configure the channel between Access Gateway and Identity Server
for SSL.
eDirectory that resides on Administration Console is the main certificate store for all Access
Manager components. You can use this local certificate authority (CA) to create certificates for SSL or
you can purchase certificates from a well-known certificate authority. This section describes how to
use both types of certificates to enable secure communication.
Section 19.1.2, “Using Access Manager Certificates,” on page 1072
Section 19.1.3, “Using Externally Signed Certificates,” on page 1074
Country US
NOTE: If the certificate fails to import and you receive an error, it is probably missing a trusted root
certificate in a chain of trusted roots. To determine whether this is the problem, see “Resolving a -
1226 PKI Error” on page 1338 and “Importing an External Certificate Key Pair” on page 1337.
IMPORTANT: If the external certificate authority writes the DN in reverse order (the cn element
is displayed first), you receive an error message that the certificate names do not match. You
can ignore this warning, if the order of the DN elements is the cause.
To test the SSL connection between the browser and Identity Server:
1 Enter the Base URL of Identity Server in a browser.
https://idpa.test.novell.com:8443/nidp
2 If the URL returns a login page, log in using the credentials of a user in the LDAP server.
The user portal appears.
IMPORTANT: If the external certificate authority writes the DN in reverse order (the cn element
comes first rather than last), you receive an error message that the subject name does not
contain the cn of the device. You can ignore this warning, if the order of the DN elements is the
cause.
To verify the trusted relationship between Identity Server and Access Gateway:
1 Enter the URL to a protected resource on Access Gateway.
Identity Servers
Load Balancer
User and
SSL Terminator
https http
Access Gateways
Web Servers
Perform the following steps to enable the SSL renegotiation on Windows 32-bit platform:
1 Launch Registry Editor by executing the command regedit in Start > Run.
2 In the left pane of Registry Editor, navigate to My Computer >
HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Procrun
2.0\Tomcat7\Parameters\Java\.
3 Double-click Options in the right pane of registry editor.
4 Search for the -Dsun.security.ssl.allowUnsafeRenegotiation string.
If -Dsun.security.ssl.allowUnsafeRenegotiation is available, set the value to
true. For example, -Dsun.security.ssl.allowUnsafeRenegotiation=true.
If -Dsun.security.ssl.allowUnsafeRenegotiation is not available, add
-Dsun.security.ssl.allowUnsafeRenegotiation=true.
5 Go to C:\Program Files\Novell\Tomcat\conf\server.xml > Server > Service >
Connector., then search for the connector 8443 and check if the connector has the port 8443.
6 Add the allowUnsafeLegacyRenegotiation=true string.
7 Restart Tomcat to enable the SSL renegotiation.
The following instructions explain how to disable the SSL renegotiation in Windows 32- bit and
Windows 64-bit platform:
1 Launch Registry Editor by executing the command regedit in Start > Run.
2 In the left pane of Registry Editor, navigate to My Computer >
HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Procrun
2.0\Tomcat7\Parameters\Java\.
3 Double-click Options in the right pane of registry editor.
4 Search for the -Dsun.security.ssl.allowUnsafeRenegotiation string.
Identity Server
LDAP Directory
SSL
SSL SSL
Web Page
Browser Access Gateway Web Server
This section only describes how to set up SSL for Access Gateway communication channels. Identity
Server needs to be configured for SSL before Access Gateway can be configured for SSL. See
“Configuring Secure Communication on Identity Server” on page 1073.
When a user logs in to Identity Server, Identity Server verifies the user’s credentials, usually with the
credentials stored in an LDAP directory, but other methods are available. If the login is successful,
Identity Server sends an artifact to the browser, and the browser forwards it to Access Gateway.
If an Access Gateway is configured to use an SSL certificate signed externally, the trusted store of
Identity Server must be configured to trust this new CA. Import the public certificate of the CA into
Identity Server configuration that the component is using for authentication.
Click Devices >Identity Servers > Edit > Security > NIDP Trust Store and add the certificate to the
Trusted Roots list.
NOTE: Whenever you replace certificates on a device, you must update Identity Server configuration
(by clicking Update Servers on the Servers page), or restart Embedded Service Provider.
IMPORTANT: If you select not to redirect HTTP requests (port 80) and your Access Gateway has
only one IP address, do not use port 80 to configure another reverse proxy. Although it is not
used, it is reserved for this reverse proxy.
Secure Port: Specifies the port on which to listen for HTTPS requests (usually 443). This port
needs to match the configuration for SSL. If SSL is enabled, this port is used for all
communication with the browsers. The listening address and port combination must not match
any combination you have configured for another reverse proxy or tunnel.
6 Click OK.
7 On the Configuration page, click Reverse Proxy / Authentication.
8 (Conditional) If you are using an externally signed certificate for Identity Server cluster, you
need to import the public key of the CA:
8a In the Embedded Service Provider section, click Auto-Import Identity Server Trusted Root,
then click OK.
8b Specify an alias, click OK twice, then click Close.
This option imports the public key of Identity Server into the trust store of the Embedded
Service Provider. This sets up a trusted SSL relationship between the Embedded Service
Provider and Identity Server.
The configCA public key certificate of the Access Manager CA is automatically added to the
ESP Trust Store. If you are using Access Manager CA certificates for Identity Server, you do
not need to import the configCA certificate unless someone has deleted it from this trust
store.
9 Click OK.
10 On the Server Configuration page, click OK.
11 On Access Gateways page, click Update > OK.
The Embedded Service Provider is restarted during the update.
12 Update Identity Server so that it uses the new SSL configuration. Click Identity Servers > Update.
IMPORTANT: For an Access Gateway Service, this is a global option. If you select this option
for one proxy service, all proxy services on an Access Gateway Service are flagged to verify
the public certificate. This verification is done even when other proxy services are set to Do
not verify.
If the web server certificate is part of a chain of certificates, select SSLProxyVerifyDepth and
specify how many certificates are in the chain.
The SSL connection between Access Gateway and a web server may fail if a self-signed
certificate is used. To prevent this, import the web server certificates to the proxy trust
store and then use the following advanced option:
Windows: SSLProxyCACertificateFile "C:\Program
Files\Novell\apache\cacerts\myserver.pem".
Linux: SSLProxyCACertificateFile /opt/novell/apache2/cacerts/
myserver.pem. This is a service level advanced option.
Topics include:
Chapter 20, “Analytics Dashboard,” on page 1095
Chapter 21, “Auditing,” on page 1111
Chapter 22, “Reporting,” on page 1127
Chapter 23, “Logging,” on page 1133
Chapter 24, “Monitoring Component Statistics,” on page 1167
Chapter 25, “Monitoring Component Command Status,” on page 1199
Chapter 26, “Monitoring Server Health,” on page 1205
Chapter 27, “Monitoring Alerts,” on page 1217
Chapter 28, “Monitoring Access Manager By Using Simple Network Management Protocol,” on
page 1223
Chapter 29, “Impersonation,” on page 1231
Chapter 30, “Back Up and Restore,” on page 1237
Chapter 31, “Code Promotion,” on page 1245
Chapter 32, “Troubleshooting,” on page 1259
Chapter 33, “Access Manager Audit Events and Data,” on page 1419
Chapter 34, “Event Codes,” on page 1477
NOTE: It is recommended to use the latest Analytics Server shipped with Access Manager 4.5 Service
Pack 3 HotFix 1.
Before installing this version, ensure to delete Analytics Server nodes of the earlier version from
Administration Console. You can continue sending the data to the earlier nodes. However, you
cannot launch the old Analytics Dashboard and reports from Administration Console. Instead, you
can access it through the direct access link. For more information, see “Upgrading Analytics Server”
in the NetIQ Access Manager 4.5 Installation and Upgrade Guide.
The information in this guide is for the latest Analytics Dashboard. If you are using the previous
version, see Analytics Dashboard in the Access Manager 4.4 Administration Guide.
Analytics Dashboard provides visual analytics of access related data based on the usage,
performance, and events of Access Manager. Analytics Dashboard captures and filters the events.
This dashboard helps in visualizing the access patterns, tuning the policies, and getting insights
about the usage of Access Manager in your environment. You can also monitor the real-time data
access patterns to decide further actions.
Analytics Dashboard displays the following graphs by default:
Unique Users Logged In
Active Users
Access Gateway Active Users
Geolocation of Users Logged In
Risky Logins
Most Accessed Access Gateway Applications
Most Used Browsers
Most Used Endpoint Devices
Most Active Users
Client IP Addresses
Authentication Methods Used
Failed Authentications
Logins
Access Gateway Logins
Access Gateway Uptime
Access Gateway Requests
Access Gateway Cache Utilization
Identity Server Devices
Access Gateway Devices
In this Chapter
Advantages of Using Analytics Dashboard
Access Manager
Identity
Events Filtered Events
Server
Access
Users Gateway Analytics Server Analytics Dashboard
NOTE: This user can access only Analytics Dashboard and does not have the rights to make
changes in Administration Console.
For information about creating customized views of graphs, visualizing the content, and setting
preferences, see Creating a Custom Dashboard.
NOTE: If the events are not enabled, the graphs do not display any data.
Graph Events
This graph helps in determining the users who frequently send requests to get access through Access
Manager.
20.8.13 Logins
This graph displays the number of login requests that are sent to Identity Server with respect to
time.
This graph helps in determining the interval when there are too many user login requests sent to
Identity Server.
NOTE: If you have a new and unsaved visualization that uses the snapshot link and you save that
visualization and then create a snapshot link, the new snapshot link will be a reference to the
initial object also adding the changes made on top of them. Therefore, if you delete the object,
the snapshot link will not work.
NOTE: You can restart the service by using rcnovell-elasticsearch restart command.
Logstash
/etc/logstash/logstash.yml
# ------------ Debugging Settings --------------
#
# Options for log.level:
# * fatal
# * error
# * warn
# * info (default)
# * debug
# * trace
#
log.level: info
path.logs: /var/opt/novell/nam/logs/logstash
#
# ------------ Other Settings --------------
#
# Where to find custom plugins
# path.plugins: []
#
NOTE: You can restart the service by using rcnovell-logstash restart command.
Kibana
/opt/novell/nam/dashboard/webapps/kibana/config/kibana.yml
Set the value of logging.silent to true to suppress all logging output.
#logging.silent: false
Set the value of logging.quietto true to suppress all logging output other than error
messages.
#logging.quiet: false
NOTE: You can restart the service by using rcnovell-kibana restart command.
Set the value of logging.verbose to true to log all events, including system usage
information and all requests.
logging.events Maps log types to the Provides access to every possible combination
tags of the output. of logging output filtering. Also supports
Supports * tag. custom logging setup by use of plug-ins.
Access Manager maintains audit log entries that can be subsequently included in reports. The audit
logs stores details of events that occur in the identity and access management system and are
primarily intended for auditing and compliance purposes.
Audit logs contains the results of users and administrators requests and other system events.
Although the primary purpose for audit logging is auditing and compliance, you can also use the
event logs for detecting abnormal and error conditions. You can use the event logs as a first alert
mechanism for system support.
Audit events are device-specific. You can select events for Administration Console, Identity Server,
and Access Gateway.
In addition to the selectable events, Management Communication Channel events are automatically
sent to the audit server. Access Manager events begin with 002e. For information about audit event
IDs and field data, see Access Manager Audit Events and Data.
You can configure Access Manager to use a Sentinel server, a third-party syslog server, or Analytics
Server.
Audit logging does not track the operational processing of Access Manager components. For
example, processing and interactions between Access Manager components required to fulfill a user
request. For this type of logging, see Configuring Logging for Identity Server.
Auditing 1111
Failover Support
By default, Access Manager uses the syslog server. If you install more than one instance of
Administration Console for failover, the syslog server is installed with each instance. However, if you
use a third-party syslog server, you can configure Access Manager to use your audit server. If you are
using Analytics Server, you can configure Access Manager to use Analytics Server’s in-built audit
server.
You can specify only one audit server. The failover works even if the audit server is not reachable.
The failover mechanism changes based on the type of logging as follows:
File-based: Does not require a failover mechanism.
Syslog: The events are sent to a local file. The syslog client must be configured for failover. For
more information, see the third-party syslog server documentation.
Related topics:
Section 21.1, “Setting Up Logging Server and Console Events,” on page 1112
Section 21.2, “Important Points to Consider When Using Syslog,” on page 1116
Section 21.3, “Configuring Syslog for Auditing over UDP and TLS,” on page 1117
Section 21.4, “Enabling Identity Server Audit Events,” on page 1121
Section 21.5, “Enabling Access Gateway Audit Events,” on page 1125
1112 Auditing
2 Specify the following details:
Field Description
Log File (Not Recommended For Production): Audit events are sent to a
local log file.
Windows:
Identity Server and ESP: "C:\Program
Files\Novell\Syslog\audit_common.log"
Access Gateway: "C:\Program
Files\Novell\Syslog\audit_ag.log"
Linux:
Identity Server and ESP: /var/opt/novell/syslog/
audit_common.log
Access Gateway: /var/opt/novell/syslog/audit_ag.log
NOTE: These options are available in Access Manager 4.5 Service Pack 1 and
earlier versions.
Send to Sentinel: Audit events are sent in the CSV format.
Send to Third party: Audit events are sent in the JSON format. If
Administration Console is configured as a remote Audit server for
syslog, audit logs are sent to /var/log/NAM_Audits.log.
Send to Analytics Server: The audit events are sent in the CSV format.
Stop Services on Audit Select to stop the Apache services when the audit server is offline or not
Server Failure reachable and audit events could not be cached.
Server Listening Specify the IP address or DNS name of the audit logging server you want to
Address use. If you want to use a different Secure Logging Server, specify that server
here. For example, specify syslog server details if you select syslog.
(Access Manager 4.5
Service Pack 1 and
earlier)
Auditing Server 1 Specify the IP address or DNS name of the audit logging server you want to
use. You can send the audit events to a maximum of two audit servers at a
(Access Manager 4.5 time.
Service Pack 2 and
later) For example, you can use the Sentinel server as Auditing Server 1 and any
Third party server as Auditing Server 2.
IMPORTANT: If you have configured Analytics Server cluster, the virtual IP address is auto-populated.
On Windows, if syslog is selected for auditing, Server Listening Address is disabled. To specify the
server details, manually install and configure the local syslog client.
Auditing 1113
Field Description
Server Listening Specify the IP address or DNS name of the second audit logging server you
Address want to use. You can send the audit events to a maximum of two audit
servers at a time.
(Access Manager 4.5
Service Pack 2 and If your auditing server is in a private network, you can specify the public NAT
later) IP address of the auditing server instead of the IP address or DNS name of
the auditing server. Using this address, devices can contact the auditing
server.
Port Specify the port that syslog uses to connect to the Secure Logging Server.
For Sentinel server, the default port is 1468.
For third-party syslog servers, specify the configured port of that server.
For Analytics Server, specify 1468.
Format You can choose to send the audit events in CSV or JSON format.
Server Public NAT If your auditing server is in a private network, specify the public NAT IP
Address address of the auditing server. Using this address devices can contact the
auditing server.
Send Audit Events to This is a read-only field. It indicates whether you have configured to send
Interset Behavioral audit events to Interset for behavioral analytics. For more information, see
Analytics Server Section 10.7.4, “Configuring Behavioral Analytics,” on page 964.
IMPORTANT: If you select Sentinel server for auditing through syslog, you must use the latest Access
Manager Collector for Sentinel.
Management Console Select the system-wide events that you want to audit.
Audit Events Select All: Selects all audit events.
Health Changes: Generated whenever the health of a server changes.
Server Imports: Generated whenever a server is imported into
Administration Console.
Server Deletes: Generated whenever a server is deleted from
Administration Console.
Server Statistics: Generated periodically whenever statistics are
generated for server.
Configuration Changes: Generated whenever you change a server
configuration.
3 Click OK.
1114 Auditing
It might take up to 15 minutes for the events you selected to start appearing in the audit files.
4 (Conditional) If you want to change the IP Address of Analytics Server, you must change the IP
Address of the primary Analytics Server. For information about changing the primary IP address,
see Section 3.7.3, “Managing Details of a Cluster,” on page 377.
5 (Conditional) If Administration Console is the only Access Manager component installed on the
machine and you have changed the address or port of the Secure Logging Server, complete the
following steps:
For security reasons, the Novell Audit Configuration file cannot be modified using
Administration Console when it is the only Access Manager component on the machine. Only a
system administrator can edit this.
If syslog is selected for auditing, perform the following configuration:
1 In the /etc/sysconfig/syslog file, change the SYSLOG_DAEMON value to rsyslog. This
changes the default syslog daemon to rsyslog.
2 Edit the /etc/rsyslog.d/nam.conf file and specify the following parameters:
Sample nam.conf file:
$InputTCPServerRun 1290
$template ForwardFormat,"<%PRI%>%TIMESTAMP:::date-rfc3164% %HOSTNAME%
%syslogtag:1:32%%msg:::sp-if-no-1st-sp%%msg%\n"
local0.* @@172.16.50.50:1468;ForwardFormat
This enables the local rsyslog agent to communicate to local TCP port 1290 and forward the
audit message to the remote server 172.16.50.50 communicating with port 1468.
3 Restart the local syslog daemon.
4 Select JSON as the audit message format and syslog as audit server type by editing the file /
etc/Auditlogging.cfg.
Sample Auditlogging.cfg file:
LOGDEST=syslog
FORMAT=JSON
SERVERIP=127.0.0.1
SERVERPORT=1290
5 Restart Administration Console.
6 Open a terminal window and run the following command:
/etc/init.d/novell-ac restart OR rcnovell-ac restart
7 Restart syslog by running the following commands:
SLES 11 SP4: rcrsyslog restart
SLES 12 SP4: rcsyslog restart OR systemctl restart rsyslog
RHEL 6.9: service rsyslog restart
RHEL 7.6: systemctl restart rsyslog.service
8 Restart each device imported into Administration Console.
The devices (Identity Server and Access Gateway) do not start reporting events until they have
been restarted.
Auditing 1115
NOTE: The eDirectory audit configuration remains unchanged even after you upgrade to the latest
version of Access Manager. To fetch eDirectory audit events, manually unload and re-load the audit
modules. Perform this activity each time you start eDirectory.
To install and enable eDirectory packages, see Installing Novell Audit Packages (https://
www.netiq.com/documentation/edirectory-92/edir_admin/data/bydeiav.html#bydeljk) in the
eDirectory Administration Guide (https://www.netiq.com/documentation/edirectory-92/
edir_admin/data/bookinfo.html).
IMPORTANT: By default, syslog agents are configured without SSL communication with the remote
audit server. You can manually configure SSL communication between a local syslog agent and the
remote syslog audit server.
1116 Auditing
21.2.2 Caching Audit Events
By default, the local syslog agents do not cache or queue the audit events when the remote syslog
audit server is unreachable. This results in the loss of audit events. It is recommended to enable
caching for audit events in the local syslog agent.
On Linux, you can use the queuing feature of rsylsog for caching audit events.
A sample configuration for caching audit events is as follows:
$WorkDirectory /rsyslog/work
$ActionQueueType LinkedList
$ActionQueueFileName example_fwd
$ActionResumeRetryCount -1
$ActionQueueSaveOnShutdown on
You need to create the /rsyslog/work directory manually. Add this sample configuration into the
/etc/rsyslog.d/nam.conf file.
Make the changes on each component: Administration Console, Identity Server, and Access
Gateway.
To access debug logs, navigate to the file path mentioned in $DebugFile. Debug logs are also
available in /var/log/messages.
Auditing 1117
2 Edit the /etc/Auditlogging.cfg file and set both SERVERIP and SERVERPORT macros as
empty.
Sample Auditlogging.cfg file:
LOGDEST=syslog
FORMAT=JSON
SERVERIP=
SERVERPORT=
3 Configure UDP.
rsyslog provides various options and macros for the syslog agent (client) to send logs to a
remote server by using UDP or TLS over TCP.
3a To load the required module for rsyslog, edit nam.conf and add the following entry:
$ModLoad imudp
3b In nam.conf, add a single @ character before the remote host to send messages over UDP.
A sample nam.conf:
$ModLoad imtcp # load TCP listener
$InputTCPServerRun 1290
$template ForwardFormat,"<%PRI%>%TIMESTAMP:::date-rfc3164%
%HOSTNAME% %syslogtag:1:32%%msg:::sp-if-no-1st-sp%%msg%\n"
$ModLoad imudp
local0.* @164.100.150.10:1468;ForwardFormat
Here, audit logs are being forwarded to the remote server 164.100.150.10 and port 1468
using UDP.
3c Restart the syslog service.
SLES 11 SP4: rcrsyslog restart
SLES 12 SP4: rcsyslog restart OR systemctl restart rsyslog
RHEL 6.9: service rsyslog restart
RHEL 7.6: systemctl restart rsyslog.service
4 Run the following commands to restart services:
Administration Console: /etc/init.d/novell-ac restart
Access Gateway: /etc/init.d/novell-mag restart
Identity Server: /etc/init.d/novell-idp restart
1118 Auditing
IMPORTANT: Use the DNS name or IP address of Identity Server, Access Gateway, and
Administration Console while setting up the subject or common name (CN) of its public certificate.
The CA certificate needs to be distributed to the remote server and vice versa.
Perform the following steps to enable sending audit events to the remote syslog sever by using TLS
over TCP protocol:
1 Perform Step 1 to Step 4 in “Auditing using UDP” on page 1117.
2 In nam.conf, add double @ character before the remote host and the following macros to send
messages over TCP:
$DefaultNetstreamDriver gtls
$DefaultNetstreamDriverCAFile <filepath of remote peer's CA
certificate>
$DefaultNetstreamDriverCertFile <filepath of own public key
certificate>
$DefaultNetstreamDriverKeyFile <filepath of own private key>
$ActionSendStreamDriverMode 1 # run driver in TLS-only mode
$ActionSendStreamDriverAuthMode <mode> #Authentication mode to be used
during TLS handshake
$ActionSendStreamDriverPermittedPeer <ID>
In ActionSendStreamDriverAuthMode <mode>, you can specify one of the following
authentication modes for validating a remote peer:
anon: Anonymous authentication. It does not allow authenticating a remote peer.
x509/certvalid: Certificate validation only.
x509/name: Certificate validation and subject name authentication.
$ActionSendStreamDriverPermittedPeer <ID> is an optional tag. In
$ActionSendStreamDriverPermittedPeer <ID>, specify remote peer’s identifier. Connections
from only these peers are accepted. You can set PermittedPeer to a single peer or an array of
peers of type IP or name, depending on the TLS certificate. For example,
Single peer: ActionSendStreamDriverPermittedPeer ”127.0.0.1”
Array of peers: ActionSendStreamDriverPermittedPeer [“test1.ex.net”,”10.1.2.3”,”*.ex.net”]
If array syntax does not work, configure each entry individually.
A sample nam.conf:
$DefaultNetstreamDriver gtls
$DefaultNetstreamDriverCAFile /var/opt/novell/novlwww/server_CA.pem
$DefaultNetstreamDriverCertFile /var/opt/novell/novlwww/client_Cert.pem
$DefaultNetstreamDriverKeyFile /var/opt/novell/novlwww/client_Key.pem
$ModLoad imtcp # load TCP listener
$InputTCPServerRun 1290
$ActionSendStreamDriverMode 1 # run driver in TLS-only mode
$ActionSendStreamDriverAuthMode x509/name
$template ForwardFormat,"<%PRI%>%TIMESTAMP:::date-rfc3164% %HOSTNAME%
%syslogtag:1:32%%msg:::sp-if-no-1st-sp%%msg%\n"
local0.* @@164.100.150.10:1468;ForwardFormat
Auditing 1119
Here, audit logs are being forwarded to the remote server 164.100.150.10 and port 1468 using
TLS.
3 Restart the rsyslog service.
1120 Auditing
A sample nam.conf file:
$DefaultNetstreamDriverCAFile /tmp/client_CA.pem
$DefaultNetstreamDriverCertFile /tmp/server_Cert.pem
$DefaultNetstreamDriverKeyFile /tmp/Server_Key.pem
$ModLoad imtcp # load TCP listener
$InputTCPServerRun 1290
$InputTCPServerStreamDriverMode 1 # run driver in TLS-only mode
$InputTCPServerStreamDriverAuthMode x509/name
$InputTCPServerStreamDriverPermittedPeer 164.100.150.10
$template ForwardFormat,"<%PRI%>%TIMESTAMP:::date-rfc3164% %HOSTNAME%
%syslogtag:1:32%%msg:::sp-if-no-1st-sp%%msg%\n"
local0.* -/var/log/NAM_audits.log;ForwardFormat
2 Restart the rsyslog service.
Event Description
Login Provided Failure Generated when an identity provider attempts to send authentication to a
service provider but fails.
Login Consumed Failure Generated when Identity Server initiates authentication, but the process
fails.
Logout Provided Generated when an identity provider sends a logout request to a service
provider that it has authenticated.
Logout Local Generated when Identity Server receives a logout command from a user.
Federation Request Sent Generated when a service provider attempts to federate with an identity
provider.
Federation Request Generated by Identity Server when processing a request for federation.
Handled
Defederation Request Generated when a request for defederation is sent to another provider.
Sent
Defederation Request Generated when Identity Server processes a request for defederation.
Handled
Auditing 1121
Event Description
Register Name Request Generated when Identity Server processes a request for changing a name
Handled identifier.
Attribute Query Request Generated when processing an attribute request from a service provider.
Handled
Web Service Query Generated when a web service query request is sent to an identity
Handled provider.
Web Service Modify Generated when a web service modify request is sent to an identity
Handled provider.
Server Started Generated when a server gets the start command from the server
communications module.
Server Stopped Generated when a server gets the stop command from the server
communications module.
Server Refreshed Generated when a server gets the refresh command from the server
communications module.
Intruder Lockout Generated when an attempt to log in as a particular user with an invalid
Detected password has occurred more times than is allowed by the directory.
Component Log Severe Logged for all component messages with level of Severe.
Messages
Component Log Warning Logged for all component messages with level of Warning.
Messages
Brokering Across Groups Generated when a brokering authentication request denied to a target
Denied service provider. The brokering group consists of an identity provider or a
target service provider, but both do not belong to the same group.
Brokering Rule Evaluated Generated when a brokering authentication request denied to a target
to Deny service provider due to broker policy evaluation resulted in denying.
WebService Request Generated when a user is authenticated for requesting a token for a web
Authenticated service.
WebService Request Generated when a user’s authentication fails for requesting a token for a
Authentication Failed web service.
Token Was Issued To Generated when a token is issued for accessing a web service.
WebService
1122 Auditing
Event Description
Token Issue To Generated when a request to issue a token for accessing a web service
WebService Failed fails.
Token Was Validated To Generated when a token is validated for a web service.
A WebService
Token Validation To Generated when a token validation for accessing a web service fails.
WebService Failed
Token Renew Failed Generated when renewing a token for a web service fails.
Risk-Based Generated when the rule execution succeeds and the user is requested to
Authentication Action perform additional authentication.
Invoked
Risk-based Pre- Generated when the pre-authentication rule execution succeeds and the
authentication Action user is requested to perform additional authentication.
Invoked
Risk-based IP List Load Generated when fetching the IP address list from the datasource fails.
From Datasource Failed
Risk-based Device Generated when a new fingerprint rule is created for a user device.
Fingerprint Rule Created
Risk-based Device Generated when a device fingerprint does not match with the stored
Fingerprint Rule Match device fingerprint.
Failed
OAuth & OpenID Token Generated when an OAuth Authorization code, OAuth token, ID token, or
Issued Refresh token is issued.
Generated when Identity Server does not issue the code or the tokens for
an OAuth authorization request that contains response_type as none.
OAuth & OpenID Token Generated when OAuth Authorization code issue, OAuth token issue, ID
Issue Failed Token issue, or Refresh token issue failed.
OAuth Consent Provided Generated when OAuth consent is provided to a client application.
OAuth Consent Revoked Generated when OAuth consent is revoked from a client application.
Auditing 1123
Event Description
OAuth & OpenID Token Generated when an OAuth and OpenID token is validated successfully.
Validation Success
OAuth & OpenID Token Generated when an OAuth and OpenID token validation fails.
Validation Failed
OAuth Refresh Token Generated when an OAuth refresh token revocation request succeeds.
Revocation Success
OAuth Refresh Token Generated when an OAuth refresh token revocation request fails.
Revocation Failed
Authorization Code from Generated when an authorization code is sent from the Advanced
AA Server Authentication server to Access Manager.
Access Token from AA Generated when an access token is sent from the Advanced
Server Authentication server to Access Manager.
Session Assurance Generated when device fingerprint match fails for an Identity Server
Device Fingerprint session.
Match Failed
Impersonation Sign-out Generated when a helpdesk user logs out as an impersonator from a
user’s setup.
Impersonation Request Generated when an impersonator cancels the impersonation request sent
Canceled by to an impersonatee.
Impersonator
Impersonation Policy Generated when a helpdesk user tries to access own account as an
Failed impersonator.
1124 Auditing
Identity Server records the IP address of the client machine from where authentication requests
originate into audit events. If the client machine is behind a proxy, the proxy IP address is logged. To
log the actual client machine IP address instead of the proxy IP address, configure the
RemoteIpValve in the Tomcat configuration file (server.xml) on all Identity Server instances.
Event Description
Access Denied Generated when an access request is denied because the requester has
insufficient access rights to a URL.
Identity Injection Failed Generated when an Identity Injection policy injects with the value field
empty.
Form Fill Failed Generated when a Form Fill policy fails to successfully fill in a form.
IP Access Attempted Generated when a user attempts to access a URL with an IP address
instead of the published DNS name configured in Access Gateway.
Auditing 1125
Event Description
Oauth & OpenID Token Generated when OAuth and OpenID token validation fails.
Validation Failed
Session Created/ Generated when an Access Gateway session is started or ended. Provides
Destroyed data for Access Gateway Active Users graph of Information Dashboard.
Session Assurance Device Generated when a fingerprint match fails during an Access Gateway
Fingerprint Match Failed session.
Performance Intensive Events: Enabling the following high-volume events affects the
performance of Access Gateway.
Event Description
Access Allowed Generated when a requested is allowed because the requester has the
correct access rights to a URL.
Identity Injection Success Generated when the Identity Injection policy successfully injects data
into the HTTP header.
Form Fill Success Generated when a Form Fill policy successfully fills in a form.
Audit Filters: Select the items as required to exclude them from the audit events:
Filter Description
CSS Excludes CSS files as part of response from the audit events.
Images Excludes images from the audit events. Specify the image format.
URLs Matching Regular Excludes URLs matching the configured regular expression.
Expression
It filters the specified URL paths from the ones audited as part of the URL
Accessed audit event. These filtered out URL paths are not displayed in the
audit server. This is helpful where auditing every URL is not required and
might increase the load of the audit server.
For example:
1126 Auditing
22 Reporting
2
22.1 Overview
Access Manager uses Analytics Server or Sentinel Solution Pack to generate reports. Analytics Server
is easier to install and not only generates reports but also generates a dashboard to view visual
analytics. But, if you do not want to use Analytics Server, then you must have a Sentinel setup with
the solution pack, which consists of predefined report definitions. Access Manager requires Sentinel
or Sentinel Log Manager to use this feature. You can use these reports to analyze users’ accesses to
applications protected by Access Manager, in auditing, and for compliance purposes.
NOTE: Platform Agent and Novell Audit are no longer supported. Access Manager installation no
longer installs Platform Agent and Novell Audit. It is recommended to use Syslog for auditing.
Reporting 1127
The following diagram illustrates the Access Manager reporting architecture when integrated with
Sentinel:
PA or Syslog
Solution Pack
Identity Provider
Events
PA or Syslog
Access Gateway
NetIQ Access
Manager Collector
When an event occurs in Identity Server or Access Gateway, Platform Agent (PA) or Syslog sends
it to Sentinel.
In Sentinel, Access Manager Collector parses these events and saves event data in the Sentinel
database.
The Access Manager Reporting Solution Pack provides predefined report templates. You can use
this template against event data to generate PDF reports.
You can access a report through the Sentinel user interface by using a web browser.
For information about how to install Sentinel, see the Sentinel Installation Guide (https://
www.netiq.com/documentation/sentinel-73/s73_install/data/bookinfo.html).
1128 Reporting
For information about how to install Sentinel Log Manager, see the Sentinel Log Manager
Installation Guide (https://www.netiq.com/documentation/novelllogmanager12/
log_manager_install/data/bookinfo.html).
Deploy Access Manager Reporting Solution Pack. See Section 22.2.2, “Deploying Access
Manager Reporting Solution Pack,” on page 1129.
Deploy Access Manager Collector Pack for Sentinel. The collector pack is available at the
Sentinel Plug-ins (http://support.novell.com/products/sentinel/secure/sentinelplugins.html)
site.
For information about installing Analytics Server, see Installing Analytics Server in the NetIQ
Access Manager 4.5 Installation and Upgrade Guide.
Configure Analytics Server by using Administration Console.
For information about Analytics Server, see Analytics Server Configuration.
For information about Analytics Server cluster, refer Managing Details of a Cluster.
Enable auditing.
For information about enabling auditing, see Auditing.
Reporting 1129
22.3.2 Viewing Reports
To view the Access Manager reports perform the following in Administration Console:
1 Click Devices > Analytics Servers > Reports.
2 On the left pane, click Reports and Searches tab.
3 Click NetIQ Access Manager.
NetIQ Access Manager User Users who accessed a particular Application Access
Application Access Summary application at a specified time Access Gateway
NetIQ Access Manager User Number of user login based on Login Identity
Login Contract Summary authentication contracts at a Consumed Server
specified time
NetIQ Access Manager User Number of failed login attempts Login Identity
Login Failure Report and their reasons Consumed Server
Failure
Risk-based
Authentication
Action Invoked
For more information about how to enable Access Gateway events, see Section 21.5, “Enabling
Access Gateway Audit Events,” on page 1125.
For more information about how to enable Identity Server events, see Section 21.4, “Enabling
Identity Server Audit Events,” on page 1121.
1130 Reporting
2 Configure the IP Address of Audit Server: Perform the following steps:
2a Log in to Administration Console.
2b Click Auditing.
2c Specify the following details:
Server Listening Address: (ForSentinel Server or Sentinel Log Manager in Access Manager)
Specify the Sentinel server IP address.
(For Analytics Server) Specify the primary address of Analytics Server. If you are using a
cluster setup, then specify the virtual IP address that you defined during installation
procedure.
Port: Specify the default port as 1468.
2d Click Apply > OK.
NOTE: For sample reports, see Section E, “Access Manager Reports Samples,” on page 1613.
Reporting 1131
1132 Reporting
23 Logging
23
Logging is the main tool you use for debugging the Access Manager configuration. You can enable
and configure how the system performs logging. All administrative and end-user actions and events
are logged to a central event log. This allows easy access to this information for security and
operational purposes. Additionally, the log system provides the ability to monitor ongoing activities
such as identity provider authentication activity, up-time of the system, and so on. File logging is not
enabled by default.
Each Access Manager device has configuration options for logging:
Identity Server: Logging is turned off and must be enabled. When you enable Identity Server
logging, you also enable logging for the Embedded Service Providers that are configured to use
Identity Server for authentication. For configuration information, see Section 23.3.1, “Configuring
Logging for Identity Server,” on page 1138.
Embedded Service Providers: Each Access Manager device has an Embedded Service Provider that
communicates with Identity Server. Its log level is controlled by configuring Identity Server logging.
Access Gateway Appliance: A log notice level of logging is enabled by default. You can change the
level from the command line interface. For information, see Section 23.4.1, “Managing Access
Gateway Logs,” on page 1149.
Access Gateway Service: The Gateway Service logs contain the messages sent between the Gateway
Service and the Embedded Service Provider and between the Gateway Service and the web server.
This type of logging is turned off and must be enabled. For information, see Section 23.4.1,
“Managing Access Gateway Logs,” on page 1149.
This sections discusses the following topics:
Section 23.1, “Understanding the Types of Logging,” on page 1133
Section 23.2, “Understanding the Log Format,” on page 1135
Section 23.3, “Identity Server Logging,” on page 1138
Section 23.4, “Access Gateway Logging,” on page 1148
Section 23.5, “Downloading Log Files,” on page 1160
Section 23.6, “Turning on Logging for Policy Evaluation,” on page 1164
Logging 1133
23.1.1 Component Logging for Troubleshooting Configuration or
Network Problems
Each Access Manager component maintains log files that contain entries documenting the operation
of the component. Component file logging records the processing and interactions between the
Access Manager components that occur while satisfying user and administrative requests and during
general system processing. By enabling the correct levels of logging for the various Access Manager
components, an administrator can monitor how the Access Manager processes user and
administrative requests. Transaction flows have been defined to help the administrator identify the
processing steps that occur during the execution of specific types of user or administrative requests.
All component file logs include tags and values that allow the administrator to identify and correlate
which component file log entries pertain to a given transaction and user.
Component file logs are not primarily intended for debugging the software itself, although they can
be used to detect software that is not behaving properly. Rather, the intent of component file
logging is to document the operational processing of the Access Manager components so that
system administrators and support personnel can identify and isolate problems caused by
configuration errors, invalid user data, or network problems such as broken connections. However,
component file logging is typically the first step in identifying software bugs.
Component file logging is more verbose than audit logging. It increases processing load, and on a
day-to-day basis, it should be enabled only to log error conditions and system warnings. If a specific
problem occurs, component file logging can be set to info or config to gather the information needed
to isolate and repair the detected problem. When the problem is resolved, component file logging
should be reconfigured to log only error conditions and system warnings.
Log files can be configured to include entries for the following events:
Initialization and shutdown
Configuration
Events processed by the component, such as authentication, role assignment, resource access,
and policy evaluation
Error conditions
See Section 23.3.1, “Configuring Logging for Identity Server,” on page 1138.
You select fields from the HTTP header of a request and these fields are logged. You can then use
these logged transactions to bill customers for web services or to troubleshoot whether a request is
refused because the browser did not ’send the required information or because Access Gateway did
not’ send the web server the required information.
1134 Logging
This type of logging conforms to the W3C specification for proxy server logging in the common and
extended log formats. This type of logging provides no information about the exchanges between
Access Gateway and Identity Server. If you need to discover whether Access Gateway is obtaining the
correct information from Identity Server for an Identity Injection or Form Fill policy, you need to turn
on component logging. See Section 23.3.1, “Configuring Logging for Identity Server,” on page 1138.
For HTTP transaction logging, see Section 23.4.4, “Configuring Logging for a Proxy Service,” on
page 1151.
Field Description
Beginning, ending tags The <amLogEntry> and </amLogEntry> tags mark the beginning and the
end of a log entry. These tags allow stream-oriented editors to extract log
entries for processing.
Time-date-stamp tag The date and time is specified in the W3C profile format of ISO 8061. It has
the following fields: year-month-day-T-hour-minutes-seconds-time zone. The
Z value for the time zone indicates that the time is specified in UTC.
Logging 1135
Field Description
Log preamble This information is optional, and usually consists of a string indicating the
logging level (such as warning, informational, or debug) and a string
identifying the type of module making the entry.
In the example log entry, the preamble has a log level and a module identifier
and contains the following strings: INFO NIDS Application:
Correlation tags The correlation tags uniquely identify the event, the device that produced
the event, and the user who requested the action. The example log entry
contains the following correlation tags:
AM#500105014: AMDEVICEID#9921459858EAAC29:
AMAUTHID#YfdEmqCT2ZutwybD1eYSpfph8g5a5aMl6MGryq1hIqc=:
For more information, see “Understanding the Correlation Tags in the Log
Files” on page 1136.
Additional correlation This information is optional and contains correlation tags and data unique to
information a specific type of trace. For example, a policy evaluation trace created by the
Embedded Service Provider contains the following additional tags:
NXPESID#value
POLICYID#value
The example log entry does not contain any additional correlation
information. For a log entry that does, see “Identity Injection Traces” on
page 1407.
Supplementary information This information is optional and contains information that is specific to the
log entry. It can be as simple as an informational string, such as the string in
the example log entry:
1136 Logging
Table 23-2 Correlation Tags
Event code AM#<Event-Code>: This tag is included in all log entries that record an event and
in all events that are presented to the user as an
informational or error page.
In log entries, the idp prefix is not recorded. For example, the
General Logging page displays idp-AA257DA77ED48DB0
for the ID of Identity Server, but in the catalina.out file,
the value is AMDEVICE#AA257DA77ED48DB0.
Logging 1137
23.2.2 Sample Scenario
The following scenario illustrates how these tags can be used. A user receives an error page
indicating that the user has been refused access to a protected resource. The error page contains an
event code. The user contacts the system administrator and reports the event code contained in the
message. The code displayed to the user includes both an event number and an identifier indicating
the device detecting the error, for example, 300101023-92E1B234. The 300101023 value is the
event number and 92E1B234 is the device identifier. The device identifier is the number assigned to
the Access Manager device reporting the error. You can make a textual search of log entries using
the tags and values AM#300101023: and AMDEVICEID#92E1B234: to locate candidate log entries
of the target Access Manager transaction flow. When the desired log entry is found, the
AMEVENTID# tag and value and the AMAUTHID# tag (assuming the user has been authenticated)
from the log entry can be used to locate all other log entries pertaining to the user in the context of
the transaction.
1138 Logging
For the Embedded Service Providers, the log file location depends upon the device:
For an Access Gateway Appliance or a Linux Access Gateway Service, this sends the
messages to the catalina.out file of the device.
For a Windows Access Gateway Service, this sends messages to the stdout.log file
of the device.
Log File Path: Specifies the path that the system uses to save Identity Server XML log file.
The default path is /var/opt/novell/nam/logs/idp/nidplogs.
If you change this path, you must ensure that the user associated with configuring the
identity or service provider has administrative rights to the Tomcat application directory in
the new path.
If you have a mixed platform environment (for example, Identity Server is installed on
Windows and Access Gateway is on Linux), do not specify a path. In a mixed platform
environment, you must use the default path.
Maximum Log Files: Specifies the maximum number of Identity Server XML log files to
leave on the machine. After this value is reached, the system deletes log files, beginning
with the oldest file. You can specify Unlimited, or values of 1 through 200. 10 is the default
value.
File Wrap: Specifies the frequency (hour, day week, month) for the system to use when
closing an XML log file and creating a new one. The system saves each file based on the
time you specify and attaches the date and/or time to the filename.
GZip Wrapped Log Files: Uses the GZip compression utility to compress logged files. The
log files that are associated with the GZip option and the Maximum Log Files value are
stored in the directory you specify in the Log File Path field.
3 Component File Logger Levels: By default, Severe is selected. Change the logging sensitivity for
the following protocols as needed:
Application: Logs system-wide events, except events that belong to a specific subsystem.
Liberty: Logs events specific to the Liberty IDFF protocol and profiles.
SAML 1: Logs events specific to the SAML1 protocol and profiles.
SAML 2: Logs events specific to the SAML2 protocol and profiles.
WS Trust: Logs events specific to the WS-Trust protocol.
WS Federation: Logs events specific to the WS Federation protocol.
OAuth and OpenID Connect: Logs events specific to the OAuth and OpenID Connect protocols.
Web Service Provider: (Liberty) Logs events specific to fulfilling web service requests from
other web service consumers.
Web Service Consumer: (Liberty) Logs all events specific to requesting web services from a web
service provider.
Use the drop-down menu to categorize logging sensitivity. Higher logging levels also include the
lower levels in the log.
Off: Turns off component file logging for the selected item.
Severe: Logs serious failures that can cause system processing to not proceed.
Warning: Logs potential failures, but the impact on execution is minimal. Warnings
indicate that you should be aware that this event is happening and might want to make a
configuration change to avoid it.
Logging 1139
Info: Logs informational events. No execution or data impact occurred.
Verbose: Logs static configuration information. The system logs any configuration errors
under one of the primary three levels: Severe, Warning, and Info.
Debug: Includes all of the preceding levels.
4 Statistics Logging: (Optional) Enable this option if you want the system to periodically send the
system statistics, in string format, to the current file logger. Statistical data (such as counts,
levels, and so on) are included in the file log.
4a In the Statistics Logging section, select Enabled.
4b In the Log Interval field, specify the time interval in seconds that statistics are logged.
5 Audit Logging: For information about configuring Audit Logging, see Section 21.4, “Enabling
Identity Server Audit Events,” on page 1121.
6 Click OK.
7 Update Identity Server.
8 Restart Embedded Service Providers on the devices.
When you disable component logging, you need to update Identity Servers and restart
Embedded Service Providers.
1140 Logging
All logged messages for this user are directed to a single file. Administrators do not need to sort
through the various log files to follow the activity of the user.
Isolating the problem and finding the cause is limited to the user who is experiencing the
problem.
Enabling session-based logging does not require a configuration change to Identity Server, and
thus does not require updating Identity Server.
The following user scenario explains how this feature could be used in a production environment
1. A user notices a problem and calls the help desk.
2. The help desk operator questions the users and concludes that the problem is caused by either
a Access Manager Identity Server or an Embedded Service Provider.
3. The operator has been granted the rights to create logging tickets, and uses the User Portal to
create a logging ticket for the user.
4. The operator sends the logging ticket password and the URL to access the logging ticket class to
the user.
5. The user clicks the URL and enters the logging ticket password.
This marks the current session as “active for logging” and adds a small icon to the top right of
the page, which makes the session logging feature visible to the user.
6. Using the same browser window, the user duplicates the problem behavior.
7. The operator can then access the data that was logged just for this user and analyze the cause
of the behavior.
To enable session-based logging, the following tasks need to be completed:
Section 23.3.2.1, “Creating the Administrator Class, Method, and Contract,” on page 1141
Section 23.3.2.2, “Creating the Logging Session Class, Method, and Contract,” on page 1143
Section 23.3.2.3, “Enabling Basic Logging,” on page 1144
Section 23.3.2.4, “Responding to an Incident,” on page 1144
Logging 1141
3 To create the method:
3a Click Methods.
3b Click New, then specify the following values:
Display name: IDP Administrator Method
Class: IDP Administrator
Identifies user: Deselect this option.
User Stores: Select the user stores that contain your operators, then move them to the list
of User Stores.
3c In the Properties section, click New, then specify the following to create an IDP
Administrator:
Property Name: Administrator1
The Property Name must begin with Administrator; append a value to this so that each
property has a unique value.
Property Value: cn=jdoe,o=users
The Property Value must be the DN of an operator in the user stores you selected in
Step 3b. Use LDAP typed comma notation for the DN.
3d Repeat Step 3c for each IDP Administrator you require.
You can return to this method to add or remove IDP Administrators, when responsibilities
change.
3e Click Finish.
4 To create the contract:
4a Click Contracts.
4b Click New, then specify the following values:
Display name: IDP Administrator Contract
URI: urn:novell:nidp:admin:contract
Methods: Move the IDP Administrator Method to the Methods list.
Leave all other fields with their default values.
4c Click Next, then specify the following values for the authentication card:
ID: IDPAdmin
Text: IDP Administrator
Image: Select an image from the list, such as the IDP Administrator image that was created
for this type of contract.
Show Card: Deselect this option.
4d Click Finish.
5 Continue with “Creating the Logging Session Class, Method, and Contract” on page 1143.
1142 Logging
23.3.2.2 Creating the Logging Session Class, Method, and Contract
1 Click Devices > Identity Servers > Edit > Local.
2 To create the class:
2a Click Classes > New, then specify the following values:
Display name: Logging Session
Java class: Other
Java class path: com.novell.nidp.authentication.local.LogTicketClass
2b Click Next > Finish.
3 To create the method:
3a Click Methods.
3b Click New, then specify the following values:
Display name: Logging Session Method
Class: Logging Session
Identifies user: Deselect this option.
User Stores: Select the user stores that contain the users that potentially can experience
problems, then move them to the list of User Stores.
3c Click Finish.
4 To create the contract:
4a Click Contracts.
4b Click New, then specify the following values:
Display name: Logging Session Contract
URI: urn:novell:nidp:loggingsession:contract
Methods: Move the Logging Session Method to the Methods list.
Leave all other fields with their default values.
4c Click Next, then specify the following values for the authentication card:
ID: LogSession
Text: Logging Session
Image: Select an image from the list, for example the Session Logging image that was
created for this type of contract.
Show Card: Deselect this option.
4d Click Finish.
5 Click OK, then update Identity Server.
6 Continue with “Enabling Basic Logging” on page 1144.
Logging 1143
23.3.2.3 Enabling Basic Logging
For session-based logging to function, logging on Identity Server must be enabled. However, you do
not need to select what is logged. The Logging Ticket enables the appropriate components and levels
when an incident occurs.
1 Click Devices > Identity Servers > Edit.
2 Click Auditing and Logging, then specify the following:
File Logging: Enable this option.
Echo To Console: Enable this option.
No other options need to be enabled. The Component File Logger Levels can be left in their
default state of off.
3 Click OK, then update Identity Server.
This completes the configuration. You now need to wait for a user to report a problem. For
information about using this feature to respond to a problem, see “Responding to an Incident”
on page 1144.
1144 Logging
When selecting a time limit, consider the following:
When a ticket expires, logging is automatically stopped. If you know that user is
experiencing a problem that prevents the user from logging out, you might want to
create a ticket with a short time limit.
If the user does not log out (just closes the browser window or the problem closes it),
the session remains in the list of logged sessions. After 10 minutes of inactivity, the
session is closed and the lock on the log file is cleared. As long as the log file is locked,
no other application can read the file.
Ticket Log Level: Select the level of information to log, from severe-only messages to
debug.
Log to Console: Select to log the messages to the user’s file and to the console.
If you have set up logging for session-based logging (see “Enabling Basic Logging” on
page 1144), then this allows you see the messages in the catalina.out or
stdout.log file.
If you have enabled Component File Logger Levels, selecting this option can create
duplicate entries in the catalina.out or stdout.log file.
3c Click Create.
4 Create a URL that uses the following format:
https://<base_URL>/nidp/app/login?id=<LogSession>
Replace <base_URL> with the base URL of your Identity Server, including the port. Ensure that
the port agrees with the HTTP scheme (either http or https).
Replace <LogSession> with the ID you specified for the authentication card when defining the
Logging Session contract.
IMPORTANT: The id is the ID of the authentication card of the Logging Session contract (see
Step 4c of “Creating the Logging Session Class, Method, and Contract” on page 1143). It is not
the name of the ticket you just created.
If the base URL of Identity Server is https://idp.amlab.net:8443/nidp and the ID for the
authentication card is LogSession, create the following URL:
https://idp.amlab.net:8443/nidp/app/login?id=LogSession
5 Send the URL of the LogSession card and the name of the ticket to the user.
Logging 1145
2 When prompted, enter the following:
Ticket: Specify the ticket name that the help desk sent.
User Identifier: Specify a value that the help desk associates with you as a user. The identifier
must be less than 33 characters and contain only alphanumeric characters.
3 Click Login.
This login creates the logging session.
4 Enter your name and password, then click Login.
This login authenticates you to Identity Server.
5 In the same browser window, enter the URL of the resource that is causing the problem.
6 Perform any other actions necessary to create the problem behavior.
7 Log out and send your user identifier to the help desk.
1146 Logging
If the user does not log out (just closes the browser window or the problem closes it), the
session remains in the list of logged sessions. After 10 minutes of inactivity, the session is closed
and the lock on the logging file is cleared. As long as the file is locked, no other application can
read the file.
When a ticket expires, logging is stopped automatically. If you know that user is experiencing a
problem that prevents the user from logging out, you might want to create a ticket with a short
time limit.
3 (Conditional) If the user was experiencing a problem with an Embedded Service Provider,
change to the Tomcat log directory on the Access Gateway server:
Linux: /var/opt/novell/nam/logs/mag/nesp/nidplogs
Windows Server 2012: \Program Files\Novell\Tomcat\webapps\nesp\WEB-
INF\logs
4 Open the file with the same user identifier and session ID.
5 After solving the problem, delete the file from each Identity Server in the cluster and each
Access Gateway in the cluster.
Logging 1147
<%@ page language="java" isErrorPage="true" import="java.io.*"
contentType="text/html; charset=ISO-8859-1"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/
html; charset=utf-8">
<title>Default Error Page</title>
</head>
<body>
Message:
<%=exception.getMessage()%>
StackTrace:
<%
StringWriter stringWriter = new StringWriter();
PrintWriter printWriter = new
PrintWriter(stringWriter);
exception.printStackTrace(printWriter);
out.println(stringWriter);
System.out.println(stringWriter);
printWriter.close();
stringWriter.close();
%>
</body>
</html>
2 On Linux /opt/novell/nam/idp/webapps/nidp/WEB-INF/web.xml file, and on Windows
C:\Program Files\Novell\Tomcat\webapps\nidp\WEB-INF\web.xml file, add the
following:
<error-page>
<exception-type>java.lang.Throwable</exception-type>
<location>/error.jsp</location>
</error-page>
If the element error-page is already available, add exception-type and update
location.
3 In idp_url:port/nidp/testerror.jsp, the stack trace is displayed on the browser and is
also stored in the catalina.out log file.
4 To prevent the stack trace from being displayed on the browser, remove the
out.println(stringWriter) string from the error.jsp file and change isErrorPage to
false. Now, the stack trace is not displayed on the browser but is still stored in the
catalina.out log file.
1148 Logging
23.4.1 Managing Access Gateway Logs
In Access Gateway, you can configure logging by using Advanced Options.
Section 23.4.1.1, “Configuring the Log Level,” on page 1149
Section 23.4.1.2, “Configuring the Log File,” on page 1150
LogLevel <loglevel>
Replace loglevel option with emerg, alert, crit, error, warn, notice, info or debug.
The default log level is warn.
Option Description
emerg Sends only messages that render the system unusable, if they are not
resolved.
IMPORTANT: If the log files do not generate enough information to identify the cause of a
problem, run Access Gateway Service in the debug mode. Use the debug mode only when you
try to isolate a problem because running Access Gateway Service in the debug mode can have
the following effects:
Debug mode increases the size of the log files quickly. The size can increase enough to
consume all available disk space and crash the system. When running in the debug mode,
monitor the available disk space and the size of the log files.
In a highly loaded system, debug mode can lead to request or connection timeout and can
slow down the response time.
When you enable the logging in the debug mode, it enables most of the log levels, which may
not be required for troubleshooting. Hence, during high load period, add the following options
to reduce the impact on Access Gateway’s performance.
Logging 1149
LogLevel error
LogLevel novell_ag_module:debug
LogLevel ssl:warn mpm_worker:warn core:warn
LogLevel proxy:warn proxy_balancer:warn proxy_ajp:warn proxy_http:warn
Adding these options enable only error, debug, and warn levels for specific components.
3 Click OK.
4 Click Access Gateways, then click Update > OK.
NOTE: (Optional) For Access Gateway Appliance, add the line DumpHeadersFacility
local6 in addition to the DumpHeaders on option in Advanced Options. The headers will be
logged in /var/opt/novell/nam/logs/mag/apache2/httpheaders.
If you have configured the ErrorLog option, the logs are stored in the specified file.
3 Click OK.
4 Click Access Gateways > Update > OK.
1150 Logging
23.4.2.2 Configuring Logging Headers in Response from Proxy to Client
1 Click Devices > Access Gateways > Edit > Advanced Options.
2 Add the following line:
DumpResponseHeaders <on|off>
Setting the DumpHeaders to on ensures that the proxy logs headers to the /var/opt/
novell/nam/logs/mag/apache2/error_log file for linux and
\ProgramFiles\Novell\Apache\logs\error.log for Windows.
If you have configured the ErrorLog option, the logs are stored in the specified file.
3 Click OK.
4 Click Access Gateways > Update > OK.
NOTE: (Optional) For Access Gateway Appliance, add the line DumpSoapMessagesFacility
local5 in addition to the DumpSoapMessages on option in Advanced Options. The soap
messages will be logged in /var/opt/novell/nam/logs/mag/apache2/soapmessages.
If you have configured the ErrorLog option, the logs are stored in the specified file.
3 Click OK.
4 Click Access Gateways > Update > OK.
Logging 1151
Section 23.4.4.5, “Configuring Extended Log Options,” on page 1156
Section 23.4.4.6, “Configuring the Size of the Log Partition,” on page 1159
1152 Logging
Access Gateway reserves 4 GB to share between logging and system files. The system files do
not grow significantly, so you can assume that you have about 2 GB for logging. To increase this
size, see “Configuring the Size of the Log Partition” on page 1159.
logentry_size: The average log entry size.
You can determine this by configuring a proxy service to track the required information,
generating traffic to the proxy service, downloading the log files, determining how large each
entry is, and calculating the average.
request_rate: The peak rate of requests per second.
You can estimate this rate or place your Access Gateway in service and get more accurate data
by accessing generated statistics. See Section 24.2.1, “Monitoring Access Gateway Statistics,”
on page 1177.
num_services: The number of proxy services for which you plan to enable logging.
logs_per_service: The number of log files, both active and closed, that you want Access
Gateway to generate for each proxy service before the disk fills.
You must plan to have at least two logs per proxy service, but you can have more.
The following formulas can help you estimate when the system would run out of resources:
“Calculating diskfull_time” on page 1153
“Calculating max_roll_time” on page 1154
“Calculating max_log_roll_size” on page 1154
Calculating diskfull_time
Use the following formula to calculate how long it takes Access Gateway to fill your logging disk
space:
diskfull_time in seconds = logpartition_size / (request_rate *
logentry_size * num_services)
For example, assume the following:
logpartition_size = 1 GB (1,073,741,824 bytes)
request_rate = 1000 requests per second
logentry_size = 1 KB (1,024 bytes)
num_services = 1
diskfull_time = (1 GB) / (1000 * 1 KB * 1) = 1048 seconds (17.47
minutes)
The logging disk space fills up every 17.47 minutes.
To calculate the diskfull_time for your Access Gateway:
1 Determine the values of the four variables listed above.
2 Use the diskfull_time formula to calculate how often you can expect your logging disk to fill,
then use the result in Calculating max_roll_time.
If your diskfull_time interval is too short to be practical for your rollover schedule, the easiest option
is to reduce the log entry size by configuring the proxy services to log less information per
transaction.
Logging 1153
Calculating max_roll_time
Use the following formula to calculate the maximum rollover time value you should specify in the
Roll over every field
Calculating max_log_roll_size
Use the following formula to calculate the maximum log file size you should specify in the Maximum
File Size field:
1154 Logging
23.4.4.3 Enabling Logging
Do not enable logging until you have designed a logging strategy. See “Determining Logging
Requirements” on page 1152.
1 Click Devices > Access Gateways > Edit > [Name of Reverse Proxy] > [Name of Proxy Service] >
Auditing and Logging.
2 Fill in the following fields:
Enable Logging: Select this field to enable logging.
Log Directory: Default location for log files of proxy service is /var/log/novell/reverse/
<reverse_proxy_name>.
3 In the Logging Profile List, click one of the following options:
New: Click this option to create a new logging profile. Then specify a name and select
either Common or Extended.
Default: Click Default to modify or view the settings for the Default profile. The Default
profile uses the common log options.
A logging profile determines the type of information that is written to the log file; it also
manages rollover and old file options.
4 Continue with one of the following:
“Configuring Common Log Options” on page 1155
“Configuring Extended Log Options” on page 1156
Access Gateway does not allow active log files to be deleted. Only log files that have been closed can
be deleted. The rollover options allow you to control when a file is rolled over and closed, and a new
file is created. The old file options allow you to control when the rolled-over log files are deleted.
To configure a default log file for a selected proxy service:
1 Click Devices > Access Gateways > Edit > [Name of Reverse Proxy] > [Name of Proxy Service] >
Auditing and Logging > [Name of Common Log Profile].
2 Select one of the following rollover options:
Rollover When File Size Reaches: Rolls the file when it reaches the specified number of
megabytes.
Logging 1155
Rollover every: Rolls the file at the specified interval. You can specify the interval in hours or
days.
beginning: Specifies the day that the interval should begin. You can select a day of the
week or the first of the month.
at: Select the hour of the day that the interval should begin and the time zone (either the
local time zone or GMT).
3 Select one of the following old file options:
Limit Number of Files to: Allows you to limit the number of old log files on the system to the
number specified in this option. The oldest file is automatically deleted when this number is
reached. All logging data in deleted files is lost.
Delete Files Older Than: Allows you to configure Access Gateway to delete files when they are
older than the time you specify. All logging data in deleted files is lost.
Do Not Delete: Prevents the system from automatically deleting the log files. A maximum of
65535 files can be stored for a proxy service when you select this option.
4 Click OK.
5 Click Access Gateways > Update > OK.
1156 Logging
Name Description Entry in Configuration Sample Entry in the
File Log file
Time Taken The time it took Access Gateway %D 0.062, 0.392, 2, 802.1
resources to deal with the request
in microseconds.
User Agent The User-Agent HTTP request %{user-agent}i Mozilla/5.0 (X11; Linux
header value the browser sent to x86_64; rv:19.0)
Access Gateway. Gecko/20100101
Firefox/19.0
Logging 1157
Name Description Entry in Configuration Sample Entry in the
File Log file
1158 Logging
Name Description Entry in Configuration Sample Entry in the
File Log file
Access Gateway Appliance: See “Prerequisites for Installing Access Gateway Appliance” in the NetIQ
Access Manager 4.5 Installation and Upgrade Guide.
Access Gateway Service: See “Prerequisites for Installing Access Gateway on Linux” in the NetIQ
Access Manager 4.5 Installation and Upgrade Guide.
Logging 1159
23.5 Downloading Log Files
The General Logging page displays the location of the files that Access Manager components use for
logging system messages. There are some exceptions:
Default Auditing File: If you have configured Novell Audit to send events to the default audit
file (on Linux, this is/var/opt/novell/naudit/logs/auditlog), this file does not appear
in the list. (On a Windows machine that has different security restraints, the file appears in the
list.)
If you want this file to appear in this list on a Linux machine, you must make this file readable by
the novlwww user. It is a breach of Novell Audit security for Access Manager code to change the
permissions on this file. You must decide whether changing its permissions and displaying the
file in this list compromises your security.
To add this file in the list of files for Administration Console, configure the following:
Use commands similar to the following to grant the novlwww user executable permissions
to the naudit directories:
chmod o+rx /var/opt/novell/naudit
chmod o+rx /var/opt/novell/naudit/logs
Use a command similar to the following to grant the novlwww user read access to the
auditlog file:
1160 Logging
23.5.1 Linux Administration Console Logs
Filename Description
/var/opt/novell/nam/logs/adminconsole/ Contains XML events for configuration changes. This log file
volera/platform.0.log contains very little useful information for system
administrators.
Filename Description
\Program Files\Novell\logs\ platform.0.log Contains XML events for configuration changes. This log file
contains very little useful information for system
administrators.
Logging 1161
23.5.3 Linux Identity Server Logs
Filename Description
/var/opt/novell/nam/logs/idp/tomcat/ Logging to this file occurs only if you have selected the
catalina.out Echo to Console option from the Identity Servers > Servers
> Edit > Auditing and Logging page.
Filename Description
\Program Files\Novell\Tomcat\ logs\stdout.log Logging to this file only occurs if you have selected the
Echo to Console option from the Identity Servers > Servers
> Edit > Auditing and Logging page.
\Program Files\Novell\devman\ jcc\logs\jcc- Contains the log entries for the server communications
0.log.0 module related to interaction of Identity Server with
Administration Console, such as imports, certificates,
health checks, and configuration.
1162 Logging
23.5.5 Linux Access Gateway Appliance and Access Gateway Service
Logs
Filename Description
/var/opt/novell/nam/logs/mag/tomcat/ Logging to this file only occurs if you have selected the
catalina.out Echo to Console option from the Identity Servers >
Servers > Edit > Auditing and Logging page.
Filename Description
Logging 1163
Filename Description
\Program Files\Novell\amlogging\logs\ If you have enabled log profiles, this directory contains
these log files. To enable this type of logging, see
Section 23.4.1, “Managing Access Gateway Logs,” on
page 1149.
\Program Files\Novell\Apache\logs\ <name> If logging is enabled on one or more reverse proxies, this
directory contains the log files. To enable this type of
logging, see Section 23.4.4, “Configuring Logging for a
Proxy Service,” on page 1151.
\Program Files\Novell\Tomcat\logs\ stdout.log Contains the log messages generated by the Embedded
Service Provider. Logging to this file only occurs if you
have selected the Echo to Console option from the
Identity Servers > Servers > Edit > Auditing and Logging
page.
1164 Logging
5 For policy evaluation tracing, set the Application level to info in the Component File Logger
Levels section.
If you are only troubleshooting policies at this time, do not select any other options. This
reduces the amount of information recorded in the log files.
To see the policy SOAP messages, you need to set the Application level to config.
6 Update Identity Server.
7 Click Auditing > General Logging.
For role evaluation traces, view Identity Server catalina.out file (Linux) or the
stdout.log file (Windows).
If your Identity Servers are clustered, you need to look at the file from each Identity Server.
For Authorization, Form Fill, and Identity Injection evaluation traces, view the log file of
ESP of the device that is protecting the resource.
Linux Access Gateway Appliance or Service: This is the catalina.out file of Access
Gateway where the protected resource is defined. If Access Gateway is part of a
cluster, you need to look at this file from each Access Gateway in the group.
To view the actual ESP log file that contains only ESP log messages, see the
nidp.*.xml files in the /var/opt/novell/tomcat/webapps/nesp/WEB-INF/
logs directory (or the directory you specified in Step 4). Depending upon how you
have configured File Wrap, the * portion of the filename contains the month, the
week, the day, and the hour.
Windows Access Gateway Service: This is the stdout.log file of Access Gateway
where the protected resource is defined. If Access Gateway is part of a cluster, you
need to look at this file from each Access Gateway in the group.
To view the actual ESP log file that contains only ESP log messages, see the
nidp.*.xml files in the \Program
Files\Novell\tomcat\webapps\nesp\WEB-INF\logs directory (or the
directory you specified in Step 4). Depending upon how you have configured File
Wrap, the * portion of the filename contains the month, the week, the day, and the
hour.
8 To understand what you are looking for in the log file, continue with one of the following:
Section 32.16.2, “Understanding Policy Evaluation Traces,” on page 1397 if you set
Application level to info.
Section 32.6.9, “Policy Evaluation: Access Gateway Devices,” on page 1350 if you set
Application level to config.
Logging 1165
1166 Logging
24 Monitoring Component Statistics
24
The Statistics page allows you to monitor the amount of data and the type of data that Identity
Server and Access Gateway processes. You can specify the intervals for the refresh rate and, where
allowed, view graphic representations of the activity.
Section 24.1, “Identity Server Statistics,” on page 1167
Section 24.2, “Access Gateway Statistics,” on page 1177
Section 24.3, “Component Statistics Through REST APIs,” on page 1189
NOTE: The statistics graphs of Identity Server and Access Gateway are available only in the primary
Administration Console. The periodic stats are sent to the secondary Administration Console only
when the primary console is not available. Hence, the statistics graphs of Identity Server and Access
Gateway do not display any statistics values in the secondary Administration Console.
24.1.1.1 Application
Statistic Description
Free Memory The percentage of free memory available to the JVM (Java Virtual Machine). Click
Graphs to view memory usage for a specific unit of time (1 hour, 1 day, 1 week, 1
month, 6 months, or 12 months). The Value axis displays the percentage of
memory that is free for the selected time period.
24.1.1.2 Authentications
Statistic Description
Provided The number of successful provided authentications given out to external entities
Authentications after Identity Server was started.
Consumed The number of successful consumed authentications after Identity Server was
Authentications started.
Provided The number of failed provided authentications given out to external entities after
Authentication Failures Identity Server was started.
Consumed The number of failed consumed authentications after Identity Server was
Authentication Failures started. The Consumed Authentication Failures statistics counter increases by
one whenever a method execution fails for the user.
Historical Maximum The maximum number of logins served during an interval and displayed after
Logins Served completion of the interval.
Logins In Last Interval The number of active user sessions during the last interval.
Logouts The number of explicit logouts performed by users. This does not include logouts
where an inactive session was destroyed.
Cached Sessions The number of currently active cached user sessions. This represents the number
of users currently logged into the system; however, if a single person has two
browser windows open on the same client and if that person performed two
distinct authentications, then that person has two user sessions.
Click Graphs to view the number of cached sessions for a specific unit of time (1
hour, 1 day, 1 week, 1 month, 6 months, or 12 months). The Value axis displays
the number of cached sessions. If no sessions have been cached, the value axis is
not meaningful.
Cached Ancestral The number of cached ancestral session IDs. An ancestral session ID is created
Sessions during the failover process. When failover occurs, a new session is created to
represent the previous session. The ID of the previous session is called an
“ancestral session ID,” and it is retained for subsequent failover operations.
Cached Subjects The number of current cached subject objects. Conceptually, the cached subjects
are identical to the cached principals.
Cached Principals The number of current cached principal objects. A principal can be thought of as
a single directory user object. Multiple users can log in using a single directory
user object, in which case multiple cached sessions would exist sharing a single
cached principal.
Cached Artifacts The number of current cached artifact objects. During authentication, an artifact
is generated that maps to an assertion. This cache holds the artifact to assertion
mapping until the artifact resolution request is received. Under normal
operations, artifacts are resolved within milliseconds of being placed in this
cache.
Statistic Description
Total Requests The total number of incoming HTTP requests that have been processed after
Identity Server was started. Click Graphs to view the number of requests for a
specific unit of time (1 hour, 1 day, 1 week, 1 month, 6 months, or 12 months).
The Value axis displays the number of requests for the selected time period.
Oldest Active Request The age of the oldest currently active incoming HTTP request.
(Milliseconds)
Last Interval Maximum The age of the longest incoming HTTP requests that was processed during the
Request Duration last 60-second interval.
(Milliseconds)
Last Interval Mean The mean age of all incoming HTTP request that were processed during the last
Request Duration 60-second interval.
(Milliseconds)
Historical Maximum The age of the longest incoming HTTP request that was processed after Identity
Request Duration Server was started.
(Milliseconds)
Historical Mean The mean age of all incoming HTTP requests that were processed after Identity
Request Duration Server was started.
(Milliseconds)
Statistic Description
Total Requests The total number of outgoing HTTP requests that have been processed after
Identity Server was started. Click Graphs to view the number of requests for a
specific unit of time (1 hour, 1 day, 1 week, 1 month, 6 months, or 12 months).
The Value axis displays the number of requests for the selected time period.
Oldest Active Request The age of the oldest currently active outgoing HTTP request.
(Milliseconds)
Last Interval Maximum The age of the longest outgoing HTTP request that was processed during the last
Request Duration 60-second interval.
(Milliseconds)
Last Interval Mean The mean age of all outgoing HTTP requests that were processed during the last
Request Duration 60-second interval.
(Milliseconds)
Historical Maximum The age of the longest outgoing HTTP request that was processed after Identity
Request Duration Server was started.
(Milliseconds)
Historical Mean The mean age of all outgoing HTTP requests that were processed after Identity
Request Duration Server was started.
(Milliseconds)
Statistic Description
Liberty Federation The number of Liberty protocol federations performed after Identity Server was
started.
Liberty De- The number of Liberty protocol defederations performed after Identity Server was
Federations started.
Liberty Register- The number of Liberty protocol register names performed after Identity Server
Names was started.
Statistic Description
SAML1.1 Attribute The number of SAML 1.1 protocol attribute queries performed after Identity
Queries Server was started.
24.1.1.7 SAML 2
Statistic Description
SAML2 Attribute The number of SAML 2 protocol attribute queries performed after Identity Server
Queries was started.
SAML2 Federations The number of SAML 2 protocol federations performed after Identity Server was
started.
SAML2 Defederations The number of SAML 2 protocol defederations performed after Identity Server
was started.
SAML2 Register-Names The number of SAML 2 protocol register names performed after Identity Server
was started.
Statistic Description
Personal Profile Service The number of Liberty IDSIS Personal Profile Web Service queries performed
Queries after Identity Server was started.
Personal Profile Service The number of Liberty IDSIS Personal Profile Web Service changes performed
Modifies after Identity Server was started.
Employee Profile The number of Liberty IDSIS Employee Profile Web Service queries performed
Service Queries after Identity Server was started.
Employee Profile The number of Liberty IDSIS Employee Profile Web Service changes performed
Service Modifies after Identity Server was started.
Custom Profile Service The number of Novell Custom Profile Web Service queries performed after
Queries Identity Server was started.
Custom Profile Service The number of Novell Custom Profile Web Service changes performed after
Modifies Identity Server was started.
Credential Profile The number of Novell Credential Profile Web Service queries performed after
Service Queries Identity Server was started.
Credential Profile The number of Novell Credential Profile Web Service changes performed after
Service Modifies Identity Server was started.
Authentication Profile The number of Novell Authentication Profile Web Service queries performed
Service Queries after Identity Server was started.
Authentication Profile The number of Novell Authentication Profile Web Service changes performed
Service Modifies after Identity Server was started.
LDAP Profile Service The number of Novell LDAP Profile Web Service queries performed after Identity
Queries Server was started.
LDAP Profile Service The number of Novell LDAP Profile Web Service changes performed after Identity
Modifies Server was started.
Constant Profile The number of Novell Constant Profile Web Service queries performed after
Service Queries Identity Server was started.
Discovery Service The number of Liberty Discovery Web Service queries performed after Identity
Queries Server was started.
Discovery Service The number of Liberty Discovery Web Service changes performed after Identity
Modifies Server was started.
Redirected Interaction The number of Liberty User Interaction Redirection Profile requests performed
Service Requests after Identity Server was started.
Trusted Interaction The number of Liberty User Interaction Trusted Service Profile requests
Service Requests performed after Identity Server was started.
Client of Redirected The number of Liberty User Interaction Redirection Profile requests initiated as a
Interaction Service client after Identity Server was started.
Requests
Client of Trusted The number of Liberty User Interaction Trusted Service Profile requests initiated
Interaction Service as a client after Identity Server was started.
Requests
Data Location LDAP The number of attempts to use LDAP as a data location for a query or a modify of
any Web Service after Identity Server was started.
Data Location LDAP The number of attempts to use LDAP as a data location for aggregation of a query
Aggregation or a modify of any Web Service after Identity Server was started.
Data Location User The number of attempts to use the User Profile object as a data location for a
Profile query or a modify of any Web Service after Identity Server was started. A User
Profile object is a directory object stored in Identity Server's configuration
datastore.
Data Location User The number of attempts to use the User Profile object as a data location for
Profile Aggregation aggregation of a query or a modify of any Web Service after Identity Server was
started. A User Profile object is a directory object stored on Identity Server's
configuration datastore.
Data Location Remote The number of attempts to use the Remote location as a data location for a query
or a modify of any Web Service after Identity Server was started. A Remote
location includes Pushed Attributes and External Services.
Data Location Pushed The number of attempts to use the Pushed Attributes as a remote data location
Attributes for a query or a modify of any Web Service after Identity Server was started.
Data Location Pushed The number of attempts to use the Pushed Attributes as an remote data location
Attributes Aggregation for aggregation of a query or a modify of any Web Service after Identity Server
was started.
Data Location External The number of attempts to use an External Service as a remote data location for
Service a query or a modify of any Web Service after Identity Server was started. An
External Service is where the same Web Service exists on an external Service
Provider and a call can be made to request data from the service.
24.1.1.9 Clustering
An authoritative server is the cluster member that holds the authentication information for a given
user session. For a request associated with a given session to be processed, it must be routed
(“proxied”) to the authoritative cluster member. If an L4 switch causes a request to go to a non-
authoritative cluster member, that cluster member proxies the request to the authoritative cluster
member.
When a request is received, a cluster member uses multiple means to determine which cluster
member is the authoritative server for the request. It looks for a parameter on the query string of
the URL indicating the authoritative server. It looks for an HTTP cookie, indicating the authoritative
server. If these do not exist, the cluster member examines the payload of the HTTP request to
determine the authoritative server. Payload examinations result in immediate identification of the
authoritative server or a user session ID or user identity ID that can be used to locate the
authoritative server.
If a user session ID or user identity ID is found, the ID is broadcast to all cluster members asking
which member is the authoritative server for the given ID. The authoritative server receives the
broadcast message, determines that it indeed holds the given session or user, and responds
accordingly.
The higher the number of proxied requests, the lower the performance of the entire system.
Furthermore, the higher the number of payload examinations and ID broadcasts, the lower the
performance of the entire system. If these numbers are high, verify the configuration of the L4
switch. Ensure that the session persistence option is enabled, which allows clients to be directed to
the same Identity Server after they have established a session.
Currently Active Proxied The number of currently active proxied HTTP requests.
Requests
Total Proxied Requests The total number of proxied requests that have been processed after
Identity Server was started. A request becomes a proxied request when the
request is sent first to a non-authoritative machine.
Total Non-Proxied Requests The total number of non-proxied requests that have been processed after
Identity Server was started. A request becomes a non-proxied request when
the request is sent first to the authoritative machine.
Authoritative Server The total number of authoritative servers identified by using the parameter
Obtained from URL from the URL query string after Identity Server was started.
Parameter
Authoritative Server The total number of authoritative servers identified by using the HTTP
Obtained from Cookie cookie after Identity Server was started.
Payload Examinations The total number of attempted payload examinations to identify the
authoritative server after Identity Server was started.
Successful Payload The total number of successful payload examinations to identify the
Examinations authoritative server after Identity Server was started.
Identity ID Broadcasts The total number of attempted Identity ID Broadcasts to identify the
authoritative server after Identity Server was started.
Successful Identity ID The total number of successful Identity ID Broadcasts to identify the
Broadcasts authoritative server after Identity Server was started.
Session ID Broadcasts The total number of attempted Session ID Broadcasts to identify the
authoritative server.
Successful Session ID The total number of successful Session ID Broadcasts to identify the
Broadcasts authoritative server after Identity Server was started.
24.1.1.10 LDAP
Statistic Description
User Store Replica The number of times that a user store replica became unavailable so that a
Restarts restart was necessary after Identity Server was started. A user store restart is
attempted once every minute.
Successful User Store The number of times that a user store replica restart was successfully completed
Replica Restarts after Identity Server was started.
User Store Replica The number of times that a user store replica restart failed and was put back into
Restart Retries “wait mode” to try again in one minute after Identity Server was started.
Currently Active The current number of user threads waiting for an LDAP connection to become
Connection Waits available.
Connection Waits The number of times that a user thread was required to wait for an LDAP
connection to become available after Identity Server was started. A wait would
be required if the maximum number of connections allocated to the associated
connection pool were all currently in use by other threads.
Connection Waits The number of times that an LDAP connection wait terminated because of
Aborted Due To Identity Server timing out after Identity Server was started. This would result in
Timeout an LDAP Service Not Available error.
Connection Waits The number of times that an LDAP connection wait terminated because of a
Aborted Due To Closed closed connection pool after Identity Server was started. This would normally be
Pool caused by an LDAP replica failing while the user thread is waiting for the
connection. This would result in an LDAP Service Not Available error.
24.1.1.11 SP Brokering
Statistic Description
Total Brokering The total number of brokering requests created after Identity Server was started.
Requests This count is a sum of all connections created to all replicas of the configuration
datastore and all user stores.
Total Brokering The total number of brokering authentication requests denied in a target service
Requests Denied Due provider. The brokering group can either be the identity provider or target
to Group Check service provider but both does not belong to the same group.
Total Brokering The total number of brokering authentication requests to a target service
Requests Denied Due provider denied due to broker policy evaluation denying the role.
to Role Deny
Total Brokering The total number of brokering requests passed after Identity Server was started.
Requests Passed
Statistic Description
Requests Allowed After The total number of low risk requests allowed after authentication.
Authentication
Requests Denied After The total number of high risk requests denied after authentication.
Authentication
Requests Allowed Pre- The total number of low risk requests allowed during pre-authentication.
Authentication
Requests Denied Pre- The total number of high risk requests denied during pre-authentication.
Authentication
Requests for Additional The total number of additional authentication requests during pre-
Authentication in Pre- authentication.
Authentication
Requests for Additional The total number of additional authentication requests during post-
Authentication in Post- authentication.
Authentication
24.1.1.13 OAuth
Statistic Description
Access Token Issued The total number of access tokens issued by the authorization server for different
grant types. This number will also include the number of access tokens that gets
generated after a successful SAML 2 token exchange.
Authorization Code The total number of authorization codes issued by the authorization server.
Issued
ID Token Issued The total number of ID tokens issued by the authorization server.
Refresh Token The total number of refresh tokens exchanged with the access token.
Exchange to Access
Token
Refresh Token The total number of refresh tokens that were revoked by the authorization
Revocation server.
Refresh Token The total number of times the authorization server failed to revoke the refresh
Revocation Failure token.
SAML2 Token Exchange The total number of SAML2 assertion requests that is exchanged with the OAuth
to Access Token access token.
The number of requests that are successfully exchanged with OAuth token gets
added to the Access Token Issued statistics. Also, the number of failed requests
gets added to the Token Issue Failure statistics.
Token Verification The total number of token and code verification failure requests.
Failure Requests
Token Issue Failure The total number of token and code issue failures for different grant types. This
number also includes the number of token failure for SAML 2 token exchange
request.
NOTE: The statistics graphs of Identity Server and Access Gateway are available in only the primary
Administration Console. The periodic stats are sent to the secondary Administration Console only
when the primary console is not available. Hence, the statistics graphs of Identity Server and Access
Gateway do not display any statistics values in the secondary Administration Console.
Server Activity
The Server Activity section displays general server utilization statistics.
Statistic Description
CPU Utilization Displays the current CPU utilization rate. Use the available graph for capacity
planning.
Click Graphs to view the CPU usage for a specific unit of time (1 hour, 1 day, 1 week,
1 month, 6 months, or 12 months). The Value axis displays the percentage of use.
Cache Hit Displays the current cache hit rate. A high cache hit rate indicates that the caching
system is off-loading significant request processing from the web servers whose
objects have been cached.
Click Graphs to view the number of cache hits for a specific unit of time (1 hour, 1
day, 1 week, 1 month, 6 months, or 12 months). The Value axis displays the number
of hits.
Mounted Partitions Displays the total disk space configured on mounted partitions.
Disk Space
Swap Partition Disk Displays the total disk space configured for the swap partition. The Linux Gateway
Space Service displays the available swap space reported by the Linux kernel (see sysinfo
for details).
Swap Partition Disk (Linux) Displays the disk space in use on the swap partition.
Space Used
Swap Partition Disk (Linux) Displays the disk space available on the swap partition.
Space Free
Cache Disk Space Displays the total disk space available for caching.
Total Installed Displays the amount of memory that is installed on Access Gateway.
Memory
Start Up Time Displays the last time Access Gateway was started.
Up Time Displays the total time Access Gateway has been running since it was last started.
Number of Objects Displays the total number of objects that have been cached since Access Gateway
Cached was last started.
Connections
The connection statistics show the current and peak levels of usage in terms of TCP connections.
Statistic Description
Current Connections to Displays the current number of connections that Access Gateway has established
Origin Server with web servers.
Current Connections to Displays the current number of connections that Access Gateway has established
Browsers with browsers.
Current Total Displays the current total of all connections that Access Gateway has established.
Connections
Total WebSocket Displays the total number of WebSocket connections that Access Gateway has
Connections established with clients and servers.
Idle WebSocket Displays the number of WebSocket connections that are idle.
Connections
Connections are idle if no frame passes through the connection for 25% of read-
time.
Connections to Origin Displays the total number of connections that Access Gateway has established
Server with web servers since it was last started.
Click Graphs to view the number of connections for a specific unit of time (1
hour, 1 day, 1 week, 1 month, 6 months, or 12 months). The Value axis displays
the number of connections.
Peak Connections from Displays the peak number of connections that Access Gateway has established
Origin Server with web servers.
Connections to Displays the total number of connections that Access Gateway has established
Browsers with browsers since it was last started.
Click Graphs to view the number of connections for a specific unit of time (1
hour, 1 day, 1 week, 1 month, 6 months, or 12 months). The Value axis displays
the number of connections.
Peak Connections to Displays the peak number of connections that Access Gateway has established
Browsers with browsers.
Total Connections Displays the total number of connections Access Gateway has established
through SOCKS through a firewall.
Failed Connection Displays the total number of failed connection attempts Access Gateway has
Attempts made while attempting to fill its web object cache.
Bytes
The bytes statistics show how fast information is being sent in response to the following types of
requests:
Browser requests to Access Gateway
Access Gateway requests to the web servers
Statistic Description
Throughput of the Origin Displays the average number of bytes of data being sent each second from the
Server web servers to Access Gateway.
Average number of bytes = total number of bytes sent from origin server to
Access Gateway per system uptime in seconds.
Click Graphs to view the number of bytes for a specific unit of time (1 hour, 1
day, 1 week, 1 month, 6 months, or 12 months). The Value axis displays the
number of bytes.
Throughput of the Displays the average number of bytes of data being sent each second from
Browser Access Gateway to the browsers.
Average number of bytes = total number of bytes sent from Access Gateway to
browsers per system uptime in seconds.
Click Graphs to view the number of bytes for a specific unit of time (1 hour, 1
day, 1 week, 1 month, 6 months, or 12 months). The Value axis displays the
number of bytes.
Total Bytes per Second Displays the total number of bytes of data being sent each second from Access
Gateway and from the web servers.
Click Graphs to view the number of bytes for a specific unit of time (1 hour, 1
day, 1 week, 1 month, 6 months, or 12 months). The Value axis displays the
number of bytes.
Bytes Sent to Origin Displays the total number of bytes sent to the origin server after the server is
Server started.
Bytes Received from Displays the total number of bytes of data sent to Access Gateway from the
Origin Server web servers since Access Gateway last started.
Bytes Sent to Browser Displays the total number of bytes of data sent to the browsers from Access
Gateway since Access Gateway last started.
Bytes Received from The total number of bytes received from the browser after the server is
Browser started.
Total Bytes Displays the total number of bytes of data sent from Access Gateway and from
the web servers since Access Gateway was last started.
Requests
The request statistics show the number of requests that are being sent from the browsers to Access
Gateway and from Access Gateway to the web servers.
Statistic Description
Current Requests to Displays the current number of requests that Access Gateway has made to the
Origin Server web servers.
Click Graphs to view the number of requests for a specific unit of time (1 hour, 1
day, 1 week, 1 month, 6 months, or 12 months). The Value axis displays the
number of requests.
Current Requests from Displays the current number of requests that the browsers have made to Access
Browsers Gateway.
Click Graphs to view the number of requests for a specific unit of time (1 hour, 1
day, 1 week, 1 month, 6 months, or 12 months). The Value axis displays the
number of requests.
Total Current Requests Displays the total number of current requests that Access Gateway has received
from the browsers and that Access Gateway has sent to the web servers.
Successful Requests to Displays the total number of successful requests that Access Gateway has sent to
Origin Server the web servers since Access Gateway last started.
Failed Requests to Displays the total number of failed requests that Access Gateway has sent to the
Origin Server web servers since Access Gateway last started.
Cumulative Requests to Displays the total number of requests that Access Gateway has sent to the web
Origin Server servers since Access Gateway last started.
Cumulative Requests to Displays the total number of requests that the browsers have sent to Access
Browsers Gateway since Access Gateway last started.
Total Cumulative Displays the total number of cumulative requests that Access Gateway has
Requests processed since Access Gateway last started.
Requests per Second to Displays the number of requests that are being sent each second from Access
Origin Server Gateway to the web servers.
Click Graphs to view the number of requests for a specific unit of time (1 hour, 1
day, 1 week, 1 month, 6 months, or 12 months). The Value axis displays the
number of requests.
Requests per Second Displays the number of requests that are being sent each second from the
from Browsers browsers to Access Gateway.
Click Graphs to view the number of requests for a specific unit of time (1 hour, 1
day, 1 week, 1 month, 6 months, or 12 months). The Value axis displays the
number of requests.
Total Requests per Displays the total number of requests that are being sent each second from
Second Access Gateway and from the browsers.
Peak Requests per Displays the peak number of requests that have been sent in one second from
Second to Origin Server Access Gateway to the web servers.
Peak Requests per Displays the peak number of requests that have been sent in one second from
Second from Browsers the browsers to Access Gateway.
Cache Freshness
The cache freshness statistics display information about the cache refresh process.
Statistic Description
Total “Get If Modified Displays the total number of Get If Modified Since requests that Access Gateway
Since” Request has received from browsers.
Total Not Modified Displays the total number of 304 Not Modified replies that Access Gateway has
Replies received from the web servers for updated content.
Cache Freshness Displays the percentage of objects in cache that are considered fresh.
Click Graphs to view the percentage of fresh objects for a specific unit of time (1
hour, 1 day, 1 week, 1 month, 6 months, or 12 months). The Value axis displays
the percentage of fresh objects.
Oldest Object in Displays how long the oldest cache object has been cached.
Memory
Statistic Description
Total Bandwidth Saved Displays the amount of bandwidth saved by using the data cached by Access
Gateway rather than requesting the data from the web servers.
Bytes Saved per Second Displays how many bytes of the data Access Gateway was able to send from the
cache rather than requesting it from the web servers.
Application
Statistic Description
Free Memory The percentage of free memory available to the JVM (Java Virtual Machine).
Click Graphs to view the free memory for a specific unit of time (1 hour, 1 day, 1
week, 1 month, 6 months, or 12 months). The Value axis displays the percentage
of free memory.
Authentications
Statistic Description
Provided Authentications The number, since Identity Server was started, of successful provided
authentications given out to external entities.
Consumed Authentications The number, since Identity Server was started, of successful consumed
authentications.
Provided Authentication The number, since Identity Server was started, of failed provided
Failures authentications given out to external entities.
Consumed Authentication The number, since Identity Server was started, of failed consumed
Failures authentications.
NOTE: The consumed authentication failures does not show the number of
invalid password attempt failures of the Identity Provider in the statistics
page.
Historical Maximum Logins The maximum number of logins served during an interval and displayed
Served after completion of the interval.
Logins in Last Interval The number of active user sessions during the last interval.
Logouts The number of explicit logouts performed by users. This does not include
logouts where an inactive session was destroyed.
Cached Sessions The number of currently active cached user sessions. This represents the
number of users currently logged into the system with the following caveat:
If a single person has two browser windows open on the same client and if
that person performed two distinct authentications, then that person has
two user sessions.
Click Graphs to view the number of cached sessions for a specific unit of
time (1 hour, 1 day, 1 week, 1 month, 6 months, or 12 months). The Value
axis displays the number of cached sessions. If no sessions have been
cached, the value axis is not meaningful.
Cached Ancestral Sessions The number of cached ancestral session IDs. An ancestral session ID is
created during the failover process. When failover occurs, a new session is
created to represent the previous session. The ID of the previous session is
termed an “ancestral session ID,” and it is persisted for subsequent failover
operations.
Cached Subjects The number of current cached subject objects. Conceptually, the cached
subjects are identical to the cached principals.
Cached Principals The number of current cached principal objects. A principal can be thought
of as a single directory user object. Multiple users can log in using a single
directory user object, in which case multiple cached sessions would exist
sharing a single cached principal.
Cached Artifacts The number of current cached artifact objects. During authentication, an
artifact is generated that maps to an assertion. This cache holds the artifact
to assertion mapping until the artifact resolution request is received. Under
normal operations, artifacts are resolved within milliseconds of being placed
in this cache.
Statistic Description
Total Requests The total number of incoming HTTP requests that have been processed
since Identity Server was started.
Click Graphs to view the number of requests for a specific unit of time (1
hour, 1 day, 1 week, 1 month, 6 months, or 12 months). The Value axis
displays the number of requests for the selected time period.
Currently Active Requests The number of currently active incoming HTTP requests.
Oldest Active Request The age of the oldest currently active incoming HTTP request.
(Milliseconds)
Last Interval Maximum The age of the longest incoming HTTP request that was processed during
Request Duration the last 60-second interval.
(Milliseconds)
Last Interval Mean Request The mean age of all incoming HTTP requests that were processed during
Duration (Milliseconds) the last 60-second interval.
Historical Maximum Request The age of the longest incoming HTTP request that was processed since
Duration (Milliseconds) Identity Server was started.
Historical Mean Request The mean age of all incoming HTTP requests that were processed since
Duration (Milliseconds) Identity Server was started.
Statistic Description
Total Requests The total number of outgoing HTTP requests that have been processed
since Identity Server was started.
Click Graphs to view the number of requests for a specific unit of time (1
hour, 1 day, 1 week, 1 month, 6 months, or 12 months). The Value axis
displays the number of requests for the selected time period.
Currently Active Requests The number of currently active outgoing HTTP requests.
Oldest Active Request The age of the oldest currently active outgoing HTTP request.
(Milliseconds)
Last Interval Maximum The age of the longest outgoing HTTP request that was processed during
Request Duration the last 60-second interval.
(Milliseconds)
Last Interval Mean Request The mean age of all outgoing HTTP requests that were processed during
Duration (Milliseconds) the last 60-second interval.
Historical Maximum Request The age of the longest outgoing HTTP request that was processed, since
Duration (Milliseconds) Identity Server was started.
Historical Mean Request The mean age of all outgoing HTTP requests that were processed, since
Duration (Milliseconds) Identity Server was started.
Statistic Description
Liberty Federation The number of Liberty protocol federations performed, since Identity Server
was started.
Liberty De-Federations The number of Liberty protocol de-federations performed, since Identity
Server was started.
Liberty Register-Names The number of Liberty protocol register names performed, since Identity
Server was started.
Clustering
An authoritative server is the cluster member that holds the authentication information for a given
user session. For a request associated with a given session to be processed, it must be routed
(“proxied”) to the authoritative cluster member. If an L4 switch causes a request to go to a non-
authoritative cluster member, then that cluster member proxies that request to the authoritative
cluster member.
When a request is received, a cluster member uses multiple means to determine which cluster
member is the authoritative server for the request. It looks for a parameter on the query string of
the URL indicating the authoritative server. It looks for an HTTP cookie indicating the authoritative
server. If these do not exist, the cluster member examines the payload of the HTTP request to
determine the authoritative server. Payload examinations result in immediate identification of the
authoritative server or a user session ID or user identity ID that can be used to locate the
authoritative server.
If a user session ID or user identity ID is found, the ID is broadcast to all cluster members asking
which member is the authoritative server for the given ID. The authoritative server receives the
broadcast message, determines that it indeed holds the given session or user, and responds
accordingly.
The higher the number of proxied requests, the lower the performance of the entire system.
Furthermore, the higher the number of payload examinations and ID broadcasts, the lower the
performance of the entire system.
Statistic Description
Currently Active Proxied The number of currently active proxied HTTP requests.
Requests
Total Proxied Requests The total number of proxied requests that have been processed, since
Identity Server was started. These requests were sent to a non-authoritative
(wrong) box.
Total Non-Proxied Requests The total number of non-proxied requests that have been processed, since
Identity Server was started. These requests were sent to the authoritative
(correct) box.
Authoritative Server The total number of authoritative servers identified by using the parameter
Obtained from URL from the URL query string, since Identity Server was started.
Parameter
Authoritative Server The total number of authoritative servers identified by using the HTTP
Obtained from Cookie cookie, since Identity Server was started.
Payload Examinations The total number of attempted payload examinations to identify the
authoritative server, since Identity Server was started.
Successful Payload The total number of successful payload examinations to identify the
Examinations authoritative server, since Identity Server was started.
Identity ID Broadcasts The total number of attempted Identity ID Broadcasts to identify the
authoritative server, since Identity Server was started.
Successful Identity ID The total number of successful Identity ID Broadcasts to identify the
Broadcasts authoritative server, since Identity Server was started.
Session ID Broadcasts The total number of attempted Session ID Broadcasts to identify the
authoritative server, since Identity Server was started.
Successful Session ID The total number of successful Session ID Broadcasts to identify the
Broadcasts authoritative server, since Identity Server was started.
SP Brokering
Statistic Description
Total Brokering Requests The total number of brokering requests created after Identity Server was
started. This count is a sum of all connections created to all replicas of the
configuration datastore and all user stores.
Total Brokering Requests The total number of brokering authentication requests denied in a target
Denied Due to Group Check service provider. The brokering group can either be the identity provider
or target service provider but both does not belong to the same group.
Total Brokering Requests The total number of brokering authentication requests to a target service
Denied Due to Role Deny provider denied due to broker policy evaluation denying the role.
Total Brokering Requests The total number of brokering requests passed after Identity Server was
Passed started.
Server Statistics
On the Cluster Statistics page, you can configure the list of server statistics to show the desired
statistics for an Access Gateway cluster. See “Server Activity Statistics” on page 1178 and “Server
Benefits Statistics” on page 1182 for the complete list of statistics for each server in an Access
Gateway cluster.
NOTE: In the cluster level statistics, you can view the list of servers, which are associated with that
cluster. If a statistics is not applicable for a particular Access Gateway server, the value of the
statistics is displayed as Not Supported for that server.
IMPORTANT: Frequent requests to get the statistics impact the system performance. It is
recommended to keep a five minutes interval between every probe for the statistics.
command See Supported Commands and Their Outputs for Specifies the monitored statistics
details of the commands that support this parameter. that are to be displayed.
reset This parameter can take only "True" as value. See Specifies the monitored statistics
Supported Commands and Their Outputs for details of that is to be reset.
the commands which support reset.
NOTE: When using the curl command, place the URL inside double quotes (""). Otherwise, the XML
data does not render. For example, curl -k "https://<domain>:<port>/nidp/app/
monitor?command=inUrlTypes&displayType=xml".
httpInRequests
This command supports reset. This command displays the monitored statistics of incoming HTTP
requests to Identity Server.
Example output:
<?xml version="1.0" encoding="UTF-8"?><InComingHTTPRequests>
<ThreadIntervals> <NamedValues> <NamedValue name="Total" value="61" />
<NamedValue name="Current Requests" value="1" /> </NamedValues>
<ActiveObjects abandoned="0"> <ActiveObject name="ajp-bio-/127.0.0.1-9019-
exec-23" age="3"> </ActiveObject> </ActiveObjects> <Historical>
<Spectrometer dataPoints="22" totalCount="60" maxDataPoints="500">
<max>145</max> <min>1</min> <mean>18</mean> </Spectrometer> </Historical>
</ThreadIntervals></InComingHTTPRequests>
httpOutRequests
This command supports reset. This command displays the monitored statistics of outgoing HTTP
requests from Identity Server.
Example output:
<?xml version="1.0" encoding="UTF-8"?><OutGoingHTTPRequests>
<ThreadIntervals> <NamedValues> <NamedValue name="Total" value="25" /> </
NamedValues> <Historical> <Spectrometer dataPoints="10" totalCount="25"
maxDataPoints="500"> <max>51</max> <min>2</min> <mean>12</mean> </
Spectrometer> </Historical> </ThreadIntervals></OutGoingHTTPRequests>
ldapServerConfig
This command does not support reset. This command displays the setup details of Identity Server
configuration store and the user store.
Example output:
<UserStoreManager id="MGf373f25e-5a95-484e-85fe-2d3f073e3c28">
<TrustConfigDataStore> <UserStore id="USef25d609-7577-4bab-a705-
f00b5406f2cc"
systemId="cn=SCC7u0ouw,cn=cluster,cn=nids,ou=accessManagerContainer,o=nove
ll" displayName="" directoryName="Novell eDirectory"
adminUserName="ou=nidsUser,ou=UsersContainer,ou=Partition,ou=PartitionsCon
tainer,ou=VCDN_Root,ou=accessManagerContainer,o=novell"
idleTimeout="10000" bindTimeout="0" allowRebind="true"
maxWaitReservations="-1"> <Replicas> <Replica id="0c498978-2d16-4b25-ae41-
484fca62fc36" systemId="PseudoXMLBasedUserStoreReplicaDN0"
displayName="Replica 1" host="ldaps:// 10.0.0.0" port="636"
maxConnections="5" doSSL="true"> <ConnectionPool id="PL8928e311-6a84-494a-
b61a-5ff43005dd6f:0c498978-2d16-4b25-ae41-484fca62fc36"
adminUserName="ou=nidsUser,ou=UsersContainer,ou=Partition,ou=PartitionsCon
tainer,ou=VCDN_Root,ou=accessManagerContainer,o=novell" maxConnections="5"
skipCount="10" waitResTimeout="60000" waitResSleep="20"
waitResSleepIterCount="3000" load="0"> <AdminConnections> <Connection
id="0adff495-9321-485c-b156-66deceeefa84" type="admin" checkedOut="false"
IdleAge="5985087" /> </AdminConnections> </ConnectionPool> </Replica> </
Replicas> </UserStore> </TrustConfigDataStore> <UserStores> <UserStore
id="USc15e7906-d4a9-41c3-8438-cd10fb6c7a89"
systemId="cn=USmkp9m,cn=Alrre4,cn=SCC7u0ouw,cn=cluster,cn=nids,ou=accessMa
nagerContainer,o=novell" displayName="SingleBoxUserStore"
ldapConnections
This command does not support reset. This command displays counts of Identity Server LDAP
connection.
Example output:
<LdapConnections> <TotalAdded admin="25" user="1" /> <TotalRemoved
admin="23" user="1" /> <CurrentValidInUse admin="0" user="0" />
<CurrentValidOutOfUse admin="2" user="0" /> <CurrentInvalidEstd admin="0"
user="0" /> <CurrentInvalidNonEstd admin="0" user="0" />
<TotalForceCloseSuccess admin="23" user="1" /> <TotalForceCloseError
admin="0" user="0" /> <TotalForceCloseNonEstd admin="0" user="0" /></
LdapConnections>
ldapConnectionWaits
This command supports reset. This command displays statistics of Identity Server LDAP connection
wait time.
Example output:
<LDAPConnectionWaits></LDAPConnectionWaits>
ldapReplicaStats
This command does not support reset. This command displays statistics of Identity Server LDAP
replica.
Example output:
<LdapReplicaStatsCollection> <TrustConfigDataStoreStats> <LdapReplicaStats
displayName="Replica 1" host="ldaps:// 10.0.0.0 " inRestart="false"
load="0"> <ExistingAdminConnectionReservation admin="97" />
<NewConnections admin="2" user="0" /> <Rebinds user="0" /> <InvalidRebinds
user="0" /> <Waits admin="0" user="0" /> <WaitExpired admin="0" user="0" /
> <WaitSkipped admin="0" user="0" /> <WaitHitMaxSkipped admin="0" user="0"
/> </LdapReplicaStats> </TrustConfigDataStoreStats> <LdapReplicaStats
ldapPerfOverview
This command does not support reset. This command displays performance statistics of Identity
Server LDAP replica.
Example output:
<?xml version="1.0" encoding="UTF-8"?><LdapReplicaPerfCollection>
<TrustConfigDataStorePerf> <LdapReplicaPerf displayName="Replica 1"
inRestart="false" load="0" host="ldaps://10.0.0.0"> <AllOpsDuration>
<Interval> <Spectrometer dataPoints="5" totalCount="6"
maxDataPoints="300"> <max>46</max> <min>1</min> <mean>16</mean> </
Spectrometer> </Interval> <Historical> <Spectrometer dataPoints="11"
totalCount="100" maxDataPoints="500"> <max>93</max> <min>1</min> <mean>3</
mean> </Spectrometer> </Historical> </AllOpsDuration> <CreateConnDuration>
<Interval> <Spectrometer dataPoints="2" totalCount="2"
maxDataPoints="300"> <max>46</max> <min>44</min> <mean>45</mean> </
Spectrometer> </Interval> <Historical> <Spectrometer dataPoints="1"
totalCount="1" maxDataPoints="500"> <max>93</max> <min>93</min> <mean>93</
mean> </Spectrometer> </Historical> </CreateConnDuration>
<CloseConnDuration> <Interval> <Spectrometer dataPoints="1" totalCount="2"
maxDataPoints="300"> <max>1</max> <min>1</min> <mean>1</mean> </
Spectrometer> </Interval> </CloseConnDuration> <SearchDuration> <Interval>
<Spectrometer dataPoints="2" totalCount="2" maxDataPoints="300"> <max>3</
max> <min>2</min> <mean>2</mean> </Spectrometer> </Interval> <Historical>
<Spectrometer dataPoints="8" totalCount="95" maxDataPoints="500">
<max>11</max> <min>1</min> <mean>2</mean> </Spectrometer> </Historical> </
SearchDuration> <GetDuration> <Historical> <Spectrometer dataPoints="4"
totalCount="4" maxDataPoints="500"> <max>10</max> <min>1</min> <mean>6</
mean> </Spectrometer> </Historical> </GetDuration> <ModifyDuration></
ModifyDuration> <CreateObjDuration></CreateObjDuration>
<DeleteObjDuration></DeleteObjDuration> <ExtDuration></ExtDuration>
<RebindDuration></RebindDuration> </LdapReplicaPerf> </
TrustConfigDataStorePerf> <LdapReplicaPerf
displayName="SingleBoxUserStoreReplica" inRestart="false" load="0"
host="ldaps://10.0.0.0"> <AllOpsDuration> <Interval> <Spectrometer
dataPoints="5" totalCount="19" maxDataPoints="300"> <max>46</max> <min>1</
min> <mean>13</mean> </Spectrometer> </Interval> <Historical>
<Spectrometer dataPoints="5" totalCount="9" maxDataPoints="500"> <max>43</
max> <min>0</min> <mean>5</mean> </Spectrometer> </Historical> </
AllOpsDuration> <CreateConnDuration> <Interval> <Spectrometer
dataPoints="2" totalCount="5" maxDataPoints="300"> <max>46</max> <min>45</
min> <mean>45</mean> </Spectrometer> </Interval> <Historical>
<Spectrometer dataPoints="1" totalCount="1" maxDataPoints="500"> <max>43</
max> <min>43</min> <mean>43</mean> </Spectrometer> </Historical> </
CreateConnDuration> <CloseConnDuration> <Interval> <Spectrometer
dataPoints="1" totalCount="5" maxDataPoints="300"> <max>1</max> <min>1</
ldapFailOverview
This command does not support reset. This command displays statistics of Identity Server LDAP
replica failure.
Example output:
<?xml version="1.0" encoding="UTF-8"?><LdapReplicaFailureCollection>
<TrustConfigDataStoreFailure> <LdapReplicaFailurePerf displayName="Replica
1" inRestart="false" load="0" host="ldaps://10.0.0.0"> <AllOpsDuration>
<Historical> <Spectrometer dataPoints="2" totalCount="3"
maxDataPoints="500"> <max>2</max> <min>1</min> <mean>1</mean> </
Spectrometer> </Historical> </AllOpsDuration> <CreateConnDuration></
CreateConnDuration> <CloseConnDuration></CloseConnDuration>
<SearchDuration></SearchDuration> <GetDuration> <Historical> <Spectrometer
dataPoints="2" totalCount="3" maxDataPoints="500"> <max>2</max> <min>1</
min> <mean>1</mean> </Spectrometer> </Historical> </GetDuration>
<ModifyDuration></ModifyDuration> <CreateObjDuration></CreateObjDuration>
<DeleteObjDuration></DeleteObjDuration> <ExtDuration></ExtDuration>
<RebindDuration></RebindDuration> </LdapReplicaFailurePerf> </
TrustConfigDataStoreFailure> <LdapReplicaFailurePerf
displayName="SingleBoxUserStoreReplica" inRestart="false" load="0"
host="ldaps://10.0.0.0"> <AllOpsDuration> <Interval> <Spectrometer
dataPoints="2" totalCount="2" maxDataPoints="300"> <max>3054</max>
<min>3051</min> <mean>3052</mean> </Spectrometer> </Interval> </
AllOpsDuration> <CreateConnDuration> <Interval> <Spectrometer
dataPoints="2" totalCount="2" maxDataPoints="300"> <max>3054</max>
<min>3051</min> <mean>3052</mean> </Spectrometer> </Interval> </
CreateConnDuration> <CloseConnDuration></CloseConnDuration>
<SearchDuration></SearchDuration> <GetDuration></GetDuration>
<ModifyDuration></ModifyDuration> <CreateObjDuration></CreateObjDuration>
authPerf
This command does not support reset. This command displays performance statistics of Identity
Server local authentication.
Example output:
<?xml version="1.0" encoding="UTF-8"?><AuthenticationPerformance>
<NamedValues> <NamedValue name="Provided Authentications" value="2" />
<NamedValue name="Consumed Authentications" value="3" /> <NamedValue
name="Consumed Authentications Failures" value="6" /> <NamedValue
name="Historical PEAK Logins" value="1" /> <NamedValue name="Logouts"
value="2" /> </NamedValues> <LocalAuthDuration historicalMean="106"
intervalMean="105"> <ContractStats name="Name/Password - Form">
<Historical> <Spectrometer dataPoints="1" totalCount="1"
maxDataPoints="500"> <max>100</max> <min>100</min> <mean>100</mean> </
Spectrometer> </Historical> </ContractStats> <ContractStats
name="MyTwoContracts"> <Interval> <Spectrometer dataPoints="1"
totalCount="1" maxDataPoints="300"> <max>105</max> <min>105</min>
<mean>105</mean> </Spectrometer> </Interval> <Historical> <Spectrometer
dataPoints="1" totalCount="1" maxDataPoints="500"> <max>113</max>
<min>113</min> <mean>113</mean> </Spectrometer> </Historical> </
ContractStats> </LocalAuthDuration> </AuthenticationPerformance>
NOTE: Frequent requests to get the statistics impact the system’ performance. It is recommended to
keep a five minutes interval between every probe for the statistics.
NOTE: Cache statistics are 0 because they are not implemented currently in the server side.
Example output:
<?xml version="1.0" encoding="UTF-8"?><MAGStatistics><httpStats>
<NamedValues> <NamedValue name="RequestsReceived" value="0" /> <NamedValue
name="ActiveRequests" value="1" /> </NamedValues></httpStats><boxStats>
<NamedValues> <NamedValue name="ProductStartTime" value="Fri, 27 Jul 2012
11:01:11 GMT"/> <NamedValue name="ProductUpTime" value="0:0:0:26" />
<NamedValue name="ProductCPUUtilization" value="-294" /> <NamedValue
name="DiskSwapKb" value="4088532" /> <NamedValue name="DiskSwapUsedKb"
value="0" /> <NamedValue name="MemoryTotalKb" value="7835" /> </
NamedValues></boxStats><cacheStats> <NamedValues> <NamedValue
name="cacheStatsKb" value="0" /> <NamedValue
name="cacheStatsUtilPercentage" value="0" /> <NamedValue
name="cacheHitRatioSinceReset" value="0" /> <NamedValue
Commands are issued to a component when you make configuration changes and when you select
an action such as stopping or starting that component. The command status displays only the
commands of certificates that are associated with a device.
Certain commands, such as start and stop, retry up to 10 times before they fail. The first few retries
are spaced a few minutes apart, then they move to 10-minute intervals. These commands can take
over an hour to result in a failure. As long as the command is in the retry cycle, the command has a
status of pending.
If you do not want to wait for the cycle to complete, manually delete the command.
If you enter the same command and it succeeds before the first command has completed its
retry cycle, the first command always stays in the pending state. You need to manually delete
the command.
The Command Status page lists scheduled events and the status of each event. A new command
appears in the list each time you change a configuration. The commands remain listed until you
delete them.
This section discusses the following topics:
Section 25.1, “Viewing the Command Status of Identity Server,” on page 1199
Section 25.2, “Viewing the Command Status of Access Gateway,” on page 1200
Section 25.3, “Viewing the Command Status of Analytics Server,” on page 1202
Section 25.4, “Reviewing the Command Status for Certificates,” on page 1203
Admin Displays the credentials of the administrator who performed the command.
Date & Time The date and time that the command was issued. Date and time entries are specified
in the local time.
Name Specifies name of the command. Click the link to view additional details about the
command. For more information, see Viewing Detailed Command Information.
Status Specifies status of the command. Some of the possible states of the command
include Pending, Incomplete, Executing, and Succeeded.
Admin Specifies if the system or a user issued the command. If a user issued the
command, the DN of the user is displayed.
Date & Time Specifies the local date and time the command was issued.
Column Description
Name
Name Specifies name of the command. Click the link to view additional details about the
command. For more information, see Viewing Detailed Command Information.
Status Specifies status of the command. Some of the possible states of the command include
Pending, Incomplete, Executing, and Succeeded.
Admin Specifies if the system or a user issued the command. If a user issued the command,
the DN of the user is displayed.
Date & Time Specifies the local date and time the command was issued.
Column Description
Name
Name Click the link to view additional details about the command.
Status Specifies the status of the command. Some of the possible states of the command
include Pending, Incomplete, Executing, and Succeeded.
Type Specifies the type of server, such as Identity Server or Access Gateway.
Commands Specifies the command given, such as Import certificate, or Import trusted root.
Admin Specifies if the system or a user issued the command. If a user issued the command,
the DN of the user is displayed.
Date & Time Specifies the local date and time the command was issued.
You can monitor all components hosted by a server and quickly isolate and correct server issues.
The system displays statuses (green, yellow, white, or red) for Access Manager components. You can
access the health information for the Access Manager components at the following places:
Dashboard: The Dashboard page shows the heath status at the component-level.
Auditing > Device Health: The Device Health page shows the health status for all devices.
Devices > [Component]: The Servers page for each component provides the health status of
each device.
Topics include:
Section 26.1, “Health States,” on page 1205
Section 26.2, “Monitoring Health by Using the Hardware IP Address,” on page 1206
Section 26.3, “Monitoring Health of Identity Servers,” on page 1206
Section 26.4, “Monitoring Health of Access Gateways,” on page 1208
Section 26.5, “Monitoring Health of Analytics Server,” on page 1213
Section 26.6, “Monitoring Health of Services,” on page 1215
Icon Description
A green status indicates that the server has not detected any problems.
A green status with a yellow diamond indicates that the server has not detected any problems but
the configuration is not’ completely up-to-date because commands are pending.
A green status with a red x indicates that the server has not detected any problems but that the
configuration might not be what you want because one or more commands have failed.
A red status with a bar indicates that the server has been stopped.
A white status with disconnected bars indicates that the server is not communicating with
Administration Console.
A yellow status indicates that the server might be functioning sub-optimally because of
configuration discrepancies.
A yellow status with a question mark indicates that the server has not been configured.
A red status with an x indicates that the server configuration might be incomplete or wrong, that a
dependent service in not running or functional, or that the server is having a runtime problem.
Status: Indicates whether Identity Verify whether Identity Server has been stopped or is not
Server is online and operational. configured.
Services: Indicates the general If one service is unhealthy, this category reflects that status.
health of all configured services. See the particular service that also displays an unhealthy
status.
Configuration Datastore: Indicates You might need to restart Tomcat or reinstall Administration
the status of the installed Console.
configuration datastore.
If you have a backup Administration Console, you can restore it.
See Back Up and Restore.
User Datastores: Indicates whether Ensure that the user store is operating and configured
Identity Server can communicate correctly. You might need to import the SSL certificate for
with the user stores, authenticate communication with Identity Server. See Configuring Identity
as the admin user, and find the User Stores.
search context.
Signing, Encryption and SSL Click Identity Servers > Edit > Security and replace any missing
Connector Keys: Indicates whether or expired keys.
these keystores contain valid a key.
System Incoming and Outgoing Verify that all members of the cluster have sufficient
HTTP Requests: Appears when bandwidth to handle requests. If a cluster member is going
throughput is slow. This health down, the problem resolves itself as other members of the
check monitors incoming HTTP cluster are informed that the member is down.
requests, outgoing HTTP requests
on the SOAP back channel, and If a cluster member is slow because it does not’ have enough
HTTP proxy requests to cluster physical resources (speed or memory) to handle the load,
members. If one or more requests upgrade the hardware.
remain in the queue for over 2
minutes, this health check appears.
SSL Communication: Indicates Check SSL connectivity. Check for expired SSL certificates.
whether SSL communication is
operating correctly. This health
check appears only when the SSL
communication check fails.
Audit Logging Server: Indicates Check the network connection between Identity Server and the
whether the audit agent is auditing server.
functioning and able to log events
to the auditing server. See “Troubleshooting Novell Audit” (http://www.novell.com/
documentation/novellaudit20/novellaudit20/data/
Auditing must be enabled on al0lh30.html).
Identity Server to activate this
health check (click Devices >
Identity Servers > Edit > Auditing
and Logging).
4 Click Close.
Time: Indicates the type of time configuration. Time See Setting the Date and Time.
must be configured so that it remains synchronized
with the other servers in the configuration
Gateway: Specifies the type of routing that is See (Access Gateway Appliance) Viewing and
configured for the gateway. Modifying Gateway Settings.
DNS: Specifies whether the domain name server has Displays the IP address of the each configured DNS
been configured server and when the server last responded.
Services: Indicates the general health of all Displays messages about the health of the reverse
configured services. proxy, the back end web servers, and internal
services (the SOAP back channel and the
communication module).
Address: Indicates whether an IP address has been See Creating a Proxy Service.
configured for the reverse proxy to listen on. This is
required for Access Gateway to function.
Embedded Service Provider Communication: Restart the Embedded Service Provider. If restarting
the Embedded Service Provider fails, try restarting
Indicates whether the Embedded Service Provider Tomcat.
can communicate with Identity Server.
L4 and Cache: The L4 status indicates whether Restart Access Gateway by entering the following
Access Gateway is responding to health checks from commands:
the L4 switch. The number increments with each
health check for which Access Gateway does not /etc/init.d/novell-apache2 stop and /
send a response. etc/init.d/novell-apache2 start OR
rcnovell-apache2 stop and rcnovell-
When it reaches 13, the health is changed to apache2 start
yellow.
When it reaches 31, the health is changed to
red.
Embedded Service Provider Configuration: See Section 2.6.3, “Managing Reverse Proxies and
Authentication,” on page 125 for information about
Indicates whether Access Gateway has been assigning an Identity Server configuration to Access
configured to trust an Identity Server and whether Gateway.
that configuration has been applied.
Configuration Datastore: Indicates whether the Restore the configuration datastore. See
configuration datastore is functioning correctly. Section 32.1.7, “Repairing the Configuration
Datastore,” on page 1273.
Clustering: Indicates whether all the cluster Restart the cluster members that are not active or
members are active and processing requests. remove them from the cluster.
Signing, Encryption and SSL Connector Keys: Click Access Gateways > Edit > Service Provider
Certificates and replace any missing or expired keys.
Indicates whether these keystores contain valid a
key.
System Incoming and Outgoing HTTP Requests: Verify that all members of the cluster have sufficient
bandwidth to handle requests. If a cluster member
Appears when throughput is slow. This health check is going down, the problem resolves itself as other
monitors incoming HTTP requests, outgoing HTTP members of the cluster are informed that the
requests on the SOAP back channel, and HTTP proxy member is down.
requests to cluster members. If one or more
requests remain in the queue for over 2 minutes, If a cluster member is slow because it does’not have
this health check appears. enough physical resources (speed or memory) to
handle the load, upgrade the hardware.
TCP Listener(s): Indicates whether the listening port Restart Access Gateway.
for the Embedded Service Provider is healthy.
Embedded Service Provider’s Trusted Identity Modify Identity Server configuration and add an
Provider: Indicates whether the configuration that Identity Server. See “Assigning an Identity Server to
Access Gateway trusts has been configured to a Cluster Configuration” on page 51
contain at least one Identity Server.
Configure Access Gateway to trust an Identity Server
configuration. See Section 2.6.3, “Managing Reverse
Proxies and Authentication,” on page 125.
Audit Logging Server: Indicates whether the audit Check the network connection between Identity
agent is functioning and able to log events to the Server and the auditing server.
auditing server.
See “Troubleshooting Novell Audit” (http://
Auditing must be enabled on Identity Server to www.novell.com/documentation/novellaudit20/
activate this health check (click Devices > Identity novellaudit20/data/al0lh30.html).
Servers > Edit > Auditing and Logging).
Reverse Proxy - <Proxy Service Name>: Indicates the Check the health of the web server.
general health of all configured proxy services. A
separate row is created for each proxy service.
Linux: /var/log/novell-apache2/
Windows: \Program
Files\Novell\apache\logs\
TCP Listener - <IP Address:Port>: Indicates whether Restart the Apache service.
Access Gateway Service is listening on the specified
port. A separate row is created for each port the
Gateway Service is configured to listen on.
ApacheGateway.log: Appears when Access Gateway For more information about the problem, view the
Service is not healthy. It displays the latest error from error.log file in the following directory:
the Apache error.log file.
Linux: /var/log/novell-apache2/
Windows: \Program
Files\Novell\apache\logs\
Embedded Service Provider Configuration: Indicates See Section 2.6.3, “Managing Reverse Proxies and
whether Access Gateway has been configured to trust Authentication,” on page 125 for information
an Identity Server and whether that configuration has about assigning an Identity Server configuration to
been applied. Access Gateway.
Configuration Datastore: Indicates whether the Restore the configuration datastore. See
configuration datastore is functioning correctly. Section 32.1.7, “Repairing the Configuration
Datastore,” on page 1273.
Clustering: Indicates whether all the cluster members Restart the cluster members that are not active or
are active and processing requests. remove them from the cluster.
Signing, Encryption and SSL Connector Keys: Click Access Gateways > Edit > Service Provider
Certificates and replace any missing or expired
Indicates whether these keystores contain a valid key. keys.
System Incoming and Outgoing HTTP Requests: Verify that all members of the cluster have
sufficient bandwidth to handle requests. If a
Appears when throughput is slow. This health check cluster member is going down, the problem
monitors incoming HTTP requests, outgoing HTTP resolves itself as other members of the cluster are
requests on the SOAP back channel, and HTTP proxy informed that the member is down.
requests to cluster members. If one or more requests
remain in the queue for over 2 minutes, this health If a cluster member is slow because it does not’
check appears. have enough physical resources (speed or
memory) to handle the load, upgrade the
hardware.
TCP Listener(s): Indicates whether the listening port Restart Access Gateway.
for the Embedded Service Provider is healthy.
Embedded Service Provider’s Trusted Identity Modify Identity Server configuration and add an
Provider: Indicates whether the configuration that Identity Server.
Access Gateway trusts has been configured to contain
at least one Identity Server. Configure Access Gateway to trust an Identity
Server configuration. See “Creating a Proxy
Service” on page 127.
Audit Logging Server: Indicates whether the audit Check the network connection between Identity
agent is functioning and able to log events to the Server and the auditing server.
auditing server.
See “Troubleshooting Novell Audit” (http://
Auditing must be enabled on Identity Server to www.novell.com/documentation/novellaudit20/
activate this health check (click Devices > Identity novellaudit20/data/al0lh30.html).
Servers > Edit > Auditing and Logging).
Kibana: This service is used for data Restart the Kibana server.
analytics and data visualization.
rcnovell-kibana restart
ElasticSearch DB: Indicates that all the Restart the Elastic Search database service.
aggregated data is stored in Elastic
Search. This service is used for data rcnovell-elasticsearch restart
indexing.
4 Click Close.
An alert is generated whenever the system detects a condition that prevents it from performing
normal system services. Access Manager components sends alerts to various types of systems (such
as a Novell Audit server, a Sentinel server, or a Syslog server). Administrator are informed when
significant changes occur that can affect the Access Manager performance.
This section discusses the following topics:
Section 27.1, “Monitoring Identity Server Alerts,” on page 1217
Section 27.2, “Monitoring Access Gateway Alerts,” on page 1217
Section 27.3, “Monitoring Analytics Server Alerts,” on page 1221
Column Description
Server Name Lists the name of Access Gateway that sent the alert. To view additional information
about the alerts for a specific Access Gateway, click the name of an Access Gateway.
Severe Lists the number of critical alerts that have been sent and not acknowledged.
Warning Lists the number of warning alerts that have been sent and not acknowledged.
Information Lists the number of informational alerts that have been sent and not acknowledged.
3 To acknowledge all alerts for an Access Gateway, select the check box for Access Gateway, then
click Acknowledge Alert(s).
4 To view information about a particular alert, click the server name.
To configure the Syslog profile for Access Gateway Service on RHEL, perform the following steps:
1 Go to /etc/rsyslog.conf file.
2 Add the following under # Provides UDP syslog reception
$ModLoad imudp.so
$UDPServerRun 514
3 Restart the syslog service by using one of the following commands:
/etc/init.d/rsyslog restart OR rcsyslog start
Column Description
Server Name Lists the name of Analytics Server that sent the alert. To view additional information
about the alerts for a specific Analytics Server, click the name of an Analytics Server.
Severe Lists the number of critical alerts that have been sent and not acknowledged.
Warning Lists the number of warning alerts that have been sent and not acknowledged.
Information Lists the number of informational alerts that have been sent and not acknowledged.
3 To acknowledge all alerts for an Analytics Server, select the check box for the Analytics Server,
then click Acknowledge Alert(s).
4 To view information about a particular alert, click the server name.
NOTE: This release of Access Manager does not support SNMP traps.
Tomcat
Statistics
Sub Agent
Collector
Identity
HTTPS Server
Statistics
TCP port 705 Access
Gateway
UDP port 161
Master Agent eDirectory
SNMP
MIB file
This MIB file contains all Identity Server and Access Gateway attributes available to monitor the
state of the system. Figure 28-1 on page 1224 illustrates how Administration Console uses SNMP to
monitor Identity Server and Access Gateway.
If you install or upgrade Access Manager on a Linux server, the Master Agent is automatically
installed. A Windows server has an in-built SNMP Master Agent, but it does not support the AgentX
protocol. The AgentX protocol is used for communication between the Master Agent and Sub Agent.
Due to this, if you install Access Manager on a Windows server, you need to download and install the
Master Agent manually. For more information about installing the Master Agent on a Windows
server, see Installing and Enabling Monitoring for Access Manager on Windows
This MIB file contains textual information of Identity Server and Access Gateway attributes. You can
use these attributes to monitor the state of the system. The attributes are uniquely identified by an
OID (Object Identifier) or namespace. Figure 28-2 shows the hierarchy of a MIB file when viewed
with a MIB browser.
Figure 28-2 The MIB file viewed in a MIB Browser
iso.org.dod.internet.private.enterprises.
.1.3.6.1.4.1.
netiq.mibdoc.namMIB.namStatistics.
.1.3.6.1.4.1.1691.2.100.1.
namComponents.namDevices.
.1.3.6.1.4.1.1691.2.100.1.1.1
identityProvider. accessGateway.
.1.3.6.1.4.1.1691.2.100.1.1.1.1 .1.3.6.1.4.1.1691.2.100.1.1.1.2
idpAuthentication. agServerActivity.
4 5... 3 4...
.1.3.6.1.4.1.1691.2.100.1.1.1.1.2 3 .1.3.6.1.4.1.1691.2.100.1.1.1.2.1 2
idpAuthenticationProvided. agCpuUtilization.
3 4... 3 4...
.1.3.6.1.4.1.1691.2.100.1.1.1.1.2.1 2 .1.3.6.1.4.1.1691.2.100.1.1.1.2.1.1 2
Each statistic entry in the MIB file has a corresponding description to help identify the attribute.
Every time a new Identity Server or Access Gateway is added or removed, the SNMP data available in
Administration Console is updated. If a device is not accessible for some reason, the MIB file (when
viewed with a MIB Browser) displays the last reported statistics for all the attributes except for the
Health Status of the devices. The Health Status of the devices are updated periodically.
For example, you want to query the memory utilization of an Identity Server with IP address
10.0.0.0. The query is issued to Administration Console whose IP address is 192.168.0.0.
You can perform the query either by using the OID or by using the namespace of the object.
NOTE: You must provide the exact path of the Access Manager mib file.
In the same manner, you can query values of various attributes supported by Identity Server and
Access Gateway.
Using the same example, if you query idpHealthEntry parameter by using the Namespace, the
command is:
snmpget -v2c -m /opt/volera/roma/conf/NAM.mib -c netiq 192.168.0.0
.iso.org.dod.internet.private.enterprises.netiq.mibdoc.namMIB.namStatistic
s.namComponents.namDevices.identityProvider.idpApplication.idpMemoryTable.
idpMemoryEntry.idpMemory.10.0.0.0
The idpApplication parameter is substituted with the idpHealthEntry attribute in the above example.
NOTE: You must provide the exact path of the Access Manager mib file.
NOTE: The return value of NoReport indicates a server that is disconnected or unavailable.
NOTE: Ensure that you specify the command within quotes to start the Master Agent.
<vcdnModule name="snmp"
className="com.volera.vcdn.platform.snmp.SnmpAgentInit"
sequence="3">
<stringParam name="enable" value="true"/>
<stringParam name="masterAgentIp" value="127.0.0.1"/>
<stringParam name="masterAgentPort" value="705"/>
</vcdnModule>.
Ensure that this content is placed inside the <vcdnApplicationModule> tag.
7e Start the Tomcat server.
This ensures that SNMP Monitoring is enabled on a Windows server and the
platform.log file is also updated.
Impersonation enables a help desk user to perform certain actions on behalf of users without
knowing their credentials. The help desk user can log in on behalf of a user and troubleshoot an
issue. This helps the help desk user gain access to the user’s existing configuration and perform the
necessary actions required for troubleshooting.
With the help of audit events, the user can view the impersonated logs. This also helps determine
the details of the impersonator and impersonatee along with the session details.
Example: Let’s suppose Alice encounters an issue and is unable to access a target application. She
contacts the help desk user for help. Joe, from the help desk, logs in to Access Manager with his
credentials and sends a request to Alice to access her system. When Alice receives the request from
Joe, she grants permission. Joe initiates an impersonated session and troubleshoots the issue.
Impersonation Terminology
Impersonator: A help desk user authorized to perform impersonation on a user’s setup.
Impersonatee: A user whose identity is being impersonated by the help desk user.
Impersonated Session: A user session created for an impersonator to perform impersonation.
Topics include:
Section 29.1, “Prerequisites for Creating an Impersonated Session,” on page 1231
Section 29.2, “Enabling Impersonation,” on page 1232
Section 29.3, “Impersonation Flow,” on page 1232
Section 29.4, “Implementing Impersonation in Custom Portal Pages,” on page 1232
Section 29.5, “Audit Event for Impersonation,” on page 1235
Section 29.6, “Troubleshooting,” on page 1235
Impersonation 1231
The Impersonator must have the role that is authorized to perform Impersonation.
The Impersonatee has to give consent to the impersonator to access the session.
Impersonatee Tasks:
1 Log in to Access Manager as an impersonatee.
2 In the user portal page, click <user name> at the top right of the page and then click Help Desk
Session.
3 Approve or Deny the request from impersonator. The impersonator receives the request.
Upon receiving an approval from the impersonatee, the impersonated session is successfully
initiated.
1232 Impersonation
Topics include:
Section 29.4.1, “Understanding the Specific JSP Files,” on page 1233
Section 29.4.2, “Determining when to Show the Specific JSP Files,” on page 1233
If you have built a custom user portal for your users, ensure to make an additional change in
impersonator.jsp. The file is located in /opt/novell/nids/lib/webapp/jsp/. Make a
change to the default login page, line 218:
window.parent.location = "/nidp/portal";
You need to make the change based on whether the custom user portal loads as an iFrame or as a
stand-alone web page.
iFrame: Change "/nidp/portal" to be the full URL of the page that loads when an active
impersonation session starts. For example,
window.parent.local="URL of the page that loads after an active
impersonation session starts"
Stand-alone web page: Change the line to:
window.location="URL of the page that loads after an active impersonation
session starts"
Impersonation 1233
When you send an HTTP GET request to that endpoint from an authenticated session, it returns
XML similar to the following:
<UIIcons>
<UIIcon altText="Help Desk Session..." linkTarget="_top"
tags="LANDING_PAGE|width=425|type=dialog|height=300" title="Help Desk
Session..." url="nidp/jsp/impersonatee.jsp"/>
<UIIcon altText="Start Help Desk Session..." linkTarget="_top"
tags="LANDING_PAGE|width=425|type=dialog|height=300" title="Start Help
Desk Session..." url="nidp/jsp/impersonator.jsp"/>
</UIIcons>
Within the UIIcons element, there are zero, one, or two child elements named UIIcon. The title
attribute on those elements is one of the following three strings (if the user's locale indicates
English):
End Help Desk Session
When this element is available, the default User Portal displays a menu item with the same
name. When a user selects this menu item, it ends impersonation by calling https://NIDP-
hostname:port/nidp/app/ilogout.
NOTE: impersonator.jsp also includes a way to end a current impersonation session. You do
not need to check or act on this particular element if you have implemented this in the
impersonator.jsp file.
This element is available only if the Impersonation feature is enabled in Administration Console,
and the currently authenticated session is an active impersonation session.
When this element is available, the other two elements: Start Help Desk Session and Help Desk
Session are not available.
Start Help Desk Session
When this element is available, the default User Portal displays a menu item with the same
name. When a user selects this menu item, the User Portal loads impersonator.jsp in an
iFrame.
This element is available only if the Impersonation feature is enabled in Administration Console,
the currently authenticated session is not an active impersonation session, and the currently
authenticated user has a help desk role (as configured in the Impersonation feature configured
in Administration Console).
When this element is available, the Help Desk Session element is also available.
1234 Impersonation
29.5 Audit Event for Impersonation
To view the list of audit events, see “Access Manager Audit Events and Data” on page 1418.
29.6 Troubleshooting
For troubleshooting information, see “Troubleshooting Impersonation” on page 1391.
Impersonation 1235
1236 Impersonation
30 Back Up and Restore
30
You can run backup and restore utilities from the command line to back up and restore your Access
Manager configuration. An additional script, Diagnostic Configuration Export, allows you to export
your configuration so NetIQ Support can help diagnose possible configuration problems.
For more information about the Diagnostic Configuration Export utility, see Section 32.1.2,
“Diagnostic Configuration Export Utility,” on page 1264.
The following sections describe how to back up and restore your Access Manager configuration, how
to export your configuration for NetIQ Support, and how to restore the configuration of Identity
Servers and Access Gateways:
Section 30.1, “How The Backup and Restore Process Works,” on page 1237
Section 30.2, “Backing Up the Access Manager Configuration,” on page 1238
Section 30.3, “Restoring the Access Manager Configuration,” on page 1240
Section 30.4, “Restoring an Identity Server,” on page 1243
Section 30.5, “Restoring an Access Gateway,” on page 1243
You need to perform you own backup of custom or modified configuration files.
For information about how to perform a configuration backup, see Section 30.2, “Backing Up the
Access Manager Configuration,” on page 1238.
You need to restore a backup when Administration Console fails. If another device fails, you simply
replace the hardware, reinstall the device using the IP address of the failed device, and the device
imports into Administration Console and acquires the configuration of the failed device.
For the details of this process, see Section 30.4, “Restoring an Identity Server,” on page 1243 and
Section 30.5, “Restoring an Access Gateway,” on page 1243.
If Administration Console fails, you need to restore the configurations you backed up. Replace the
hardware and reinstall Administration Console by using the DNS name and IP address of the failed
console. Then use the restore utility to restore the certificates and the device configuration.
Administration Console notifies all devices that it is online and they resume communicating with it
rather than using a secondary console.
For details of this process, see Section 30.3.1, “Restoring the Configuration on a Standalone
Administration Console,” on page 1240.
If Identity Server was installed with Administration Console, the backup file contains only the Tomcat
configuration details for Administration Console. After you have installed Administration Console
and restored the configuration, you need to install Identity Server. Identity Server will acquire its
configuration parameters from Administration Console. For details of this process, see
Section 30.3.2, “Restoring the Configuration with an Identity Server on the Same Machine,” on
page 1241.
You must use the same password for both backup and restore.
7 Press Enter.
NOTE: After running the backup script, check the logs to verify that no errors occurred while running
the backup script. The log file location is displayed at the end of the script execution.
The backup script creates a ZIP file containing several files including the certificate information. This
file contains the following:
The configurations store’s CA key.
The certificates contained in the configuration store.
The trusted roots in the trustedRoots container of the accessManagerContainer object.
An encrypted LDIF file, containing everything found in the
OU=accessManagerContainer,O=novell container.
A server.xml file containing the Tomcat configuration information for Administration
Console.
A “delegatedusers_list” file containing the details of delegated users.
A “policyviewusers_list” file containing the details of delegated users.
A “backup_info” file that contains the basic details of the system on which the backup is being
taken.
The trusted roots are backed up in both LDIF and ZIP files. They are added to the ZIP file so that the
ZIP file has the complete certificate-related configuration.
IMPORTANT: The backup utility prompts you for a location to store the backup file. Select a location
from where the backup file will not be deleted when you uninstall the product. The default location
for Linux is /root/nambkup and for Windows it is C:/nambkup.
Name of the backup zip file stores some information. Do not change the name.
NOTE: Whenever the configuration store contains a Key Material Object (KMO) with a certificate
signing request in pending state, the KMO will not be exported by using the amdiagcfg script and
not be backed up by using the ambkup script.
NOTE: Restore should be made on the same version that was used to take the backup.
If you are restoring only Administration Console, other components should still function properly
after the restore.
30.3.2.1 Linux
Whenever you run the amrestore.sh script, Administration Console is restored as a standalone
Administration Console. You must perform the steps described in Step 8 to restore your Identity
Server into the configuration.
1 Ensure that the .zip file created during the backup process is accessible.
2 Log in as root.
3 Change to the /opt/novell/devman/bin directory.
4 Run the following command:
30.3.2.2 Windows
To perform a restore when an Administration Console and an Identity Server are installed on the
same machine:
1 Log in to as an administrator user.
2 Run the Access Manager restore utility.
2a From a command line, change to the utility directory:
Windows Server 2012: \Program Files\Novell\bin directory.
2b Specify amrestore.bat.
2c Answer the prompts.
3 Remove Identity Server from the cluster configuration. (See ““Removing a Server from a Cluster
Configuration” on page 54”.)
4 On the new machine, install Access Gateway, specifying Administration Console, IP address,
host name, and domain name of the failed machine.
5 (Conditional) If you have customized error messages, copy the message files to Access Gateway.
6 When the machine imports into Administration Console, add the machine to Access Gateway
cluster:
6a Click Devices > Access Gateways.
6b Select the name of Access Gateway and click Actions > Assign to Cluster > [Name of Cluster].
6c Update Access Gateway.
Code Promotion helps you replicate the configuration data of Access Manager from one setup to
another. You can export the configuration data as a password-protected encrypted file, then import
this file into another Access Manager system and seamlessly replicate the configuration into the
target system.
The exported configuration data includes generic Identity Server cluster configuration,
customization files, proxy services, protected resources, and policy configuration. The exported data
is independent of the device specific data and network specific data. Therefore, you can use Code
Promotion to replicate configuration between two Access Manager systems that are in different
networks, with a different number of devices, and with different user stores.
Section 31.1, “How Code Promotion Helps,” on page 1245
Section 31.2, “Sequence of Promoting the Configuration Data,” on page 1246
Section 31.3, “Prerequisites for Performing Code Promotion,” on page 1246
Section 31.4, “Configuring Custom File Paths,” on page 1247
Section 31.5, “Exporting the Configuration Data,” on page 1248
Section 31.6, “Importing the Configuration Data,” on page 1250
Section 31.7, “Troubleshooting Code Promotion,” on page 1257
Section 31.8, “Code Promotion Limitations,” on page 1258
NOTE: If you want to import only protected resources or proxy services along with the related
Identity Server contracts, you need to import only Access Gateway configuration. Code Promotion
also imports Identity Server dependencies.
IMPORTANT: Ensure that the custom files do not include any system-specific data.
NOTE: You must provide the complete name of the custom file. Code Promotion does not
support wildcard characters in file names. For example:
Supported: /opt/novell/nam/mag/webapps/agm/WEB-INF/config/current/
ErrorMessages.xml.en
Not supported: /opt/novell/nam/mag/webapps/agm/WEB-INF/config/current/
ErrorMessages.xml.*
3 Click OK.
On Windows, Code Promotion does not support importing the custom files. If needed, import the
files manually.
To import the Identity Server custom files manually on Windows, perform the following steps:
1 Extract the exported Code Promotion file (NAMExportedConfig_***.namcfg).
During the extraction process, if prompted, provide the same password given while exporting
the configuration.
2 After extracting the configuration file, go to the exportedconfig >
exportedCustomConfig folder.
To import the Access Gateway custom files manually on Windows, perform the following steps:
1 Extract the exported Code Promotion file (NAMExportedConfig_***.namcfg).
During the extraction process, if prompted, provide the same password given while exporting
the configuration.
2 After extracting the configuration file, go to the exportedconfig >
exportedCustomConfig folder.
3 Extract the respective custom configuration zip file for Access Gateway and copy custom files
manually to Access Gateway devices.
You can see the list of custom files those are successfully imported in the
filesSucceeded file available in the exportedCustomConfig > customfiles folder.
All custom files, which are successfully imported, are available in the C#-# folder name
representing the Windows C:\ partition.
Custom files located in C:\Program Files\Novell\Tomcat\webapps\nesp\jsp\
are available in the C#-#\ Program Files\Novell\Tomcat\webapps\nesp\jsp\
folder.
The administrators have the file permissions, such as Full Control, Modify, and
Read&Execute to perform file operations on custom files.
You can delete or back up these files if needed. If you delete these files from the disk, the Code
Promotion page does not list them any longer.
The exported configuration data includes:
Identity Server configuration
Cluster configuration
Shared Settings
Identity Server policies
NOTE: You cannot export configuration of an Access Gateway that is not part of any Access
Gateway cluster.
NOTE: If you saved a customization file at a location that is not a default location, ensure that
you update the file name, directory name, and path before exporting the file. For more
information, see Section 31.4, “Configuring Custom File Paths,” on page 1247.
Code Promotion does not support import or export of only custom files.
5 Click Next.
6 (Optional) Specify a password to encrypt the archived configuration data file.
You require this password to decrypt the ZIP file while importing configuration data into
another environment.
7 Click OK and save on your local system.
NOTE: You can delete the exported configuration data by selecting the required configuration, then
clicking Delete.
NOTE: This option backs up only Identity Server-specific configuration. To back up Access
Gateway configuration, you must use the ambackup file.
7 Click Next. Continue with Section 31.6.2, “Selecting the Component to Import the Configuration
Data,” on page 1251.
NOTE: Importing Identity Server configuration overwrites the existing Shared Settings on the
system with the new Shared Settings. However, if any of the existing settings on the target
system are not part of the source system configuration, Code Promotion does not delete them.
OIOSAML with five mappings OIOSAML with two mappings Replaces OIOSAML set with the
imported one. It has five mappings.
NOTE: You need to configure the import action for each cluster separately. If the cluster you
want to import has only one user store, Code Promotion maps the user store to the default user
store of the existing cluster. If the cluster you are importing has multiple user stores, then you
must specify how to map them to the user stores of the existing cluster.
4 Click Next.
Continue with Section 31.6.5, “Post-Import Configuration Tasks,” on page 1256.
IMPORTANT: You can import only enabled rewriter and logging profiles, not the disabled profiles.
Regardless of the type of logging profile (common or extended) and rewriter profile (word or
character), if the name of the profile is same on both the source and target systems, Code
Promotion overwrites the profile.
31.6.4.4 Setting Up New Proxy Services in the Target System after Import
To set up new proxy services in the target system, perform the following steps:
1 Specify the following details for all newly created proxy services:
NOTE: By default, all fields (Published DNS Name, Cookie Domain, Host Header, Web Server
Host Name, Web Server List, and Connect Port) contain source system entries.
Field Description
Published DNS (Only for domain-based proxy services) Specify the DNS name you want the public
Name to use to access your site. This DNS name must resolve to the IP address you set up
as a listening address on Access Gateway. The DNS name should be unique and not
in use by any other proxy service.
Cookie Specify the domain for which the cookie is valid. Cookie domain is set as the
Domain corresponding master proxy service's cookie domain for domain-based and path-
based proxy services. For a virtual proxy service, you can select a cookie domain
based on the DNS specified.
Host header Specify the name you want to send in the HTTP header to the web server.
Web Server Specify the DNS name of the web server that Access Gateway should forward to the
Host Name web server.
Web Server Specify Identity Server address or DNS name of web servers. You can define it on
List cluster level. If you want to specify it for an individual server, go to Devices > Access
Gateways > Edit > [Name of Reverse Proxy] > [Name of Proxy Service] > Web
Servers. You can specify a Web Server Host Name for an individual server. For more
information, see Section 2.6.4, “Configuring Web Servers of a Proxy Service,” on
page 132.
Connect Port Specify the port that Access Gateway uses to communicate with the web server.
2 Click Next.
3 Click Finish when the import process is completed. Continue with “Post-Import Configuration
Tasks” on page 1256.
NOTE: For information about installation and upgrade troubleshooting, see “Troubleshooting
Installation and Upgrade” in the NetIQ Access Manager 4.5 Installation and Upgrade Guide.
Troubleshooting 1259
Section 32.1.9, “Unable to Log In to Administration Console,” on page 1274
Section 32.1.10, “(Linux) Exception Processing IdentityService_ServerPage.JSP,” on
page 1275
Section 32.1.11, “Backup and Restore Fail Because of Special Characters in Passwords,” on
page 1275
Section 32.1.12, “Unable to Install NMAS SAML Method,” on page 1276
Section 32.1.13, “Incorrect Audit Configuration,” on page 1276
Section 32.1.14, “Unable to Update Access Gateway Listening IP Address in Administration
Console Reverse Proxy,” on page 1277
Section 32.1.15, “During Access Gateway Installation Any Error Message Should Not Display
Successful Status,” on page 1278
Section 32.1.16, “Incorrect Health Is Reported on Access Gateway,” on page 1278
Section 32.1.17, “Administration Console Does Not Refresh the Command Status
Automatically,” on page 1278
Section 32.1.18, “SSL Communication with Weak Ciphers Fails,” on page 1278
Section 32.1.19, “Error: Tomcat did not stop in time. PID file was not removed,” on page 1279
Section 32.1.20, “(Access Manager on Cloud) Metadata Under System Setup of SAML 2
Applications Is Displayed after a delay of 5 to 10 Seconds,” on page 1279
Section 32.1.21, “(Windows) Advanced Authentication Configuration Details Are Not Applied to
a New Node of the Identity Server Cluster,” on page 1279
1260 Troubleshooting
Select the appropriate action from the following table:
Device Pending with No Shows the devices that are in the pending state, even when all
Commands commands have successfully executed. Before deleting the device
from this list, check its Command Status. If the device has any
commands listed, select the commands, then delete them. Wait a
few minutes.
Access Gateways with Corrupt If you modify the configuration for a protected resource, update
Protected Resource Data Access Gateway with the changes, then review the configuration
for the protected resource and the changes have not been
applied, the configuration for the protected resource is corrupted.
Click Repair next to the protected resource that has a corrupted
configuration. You should then be able to modify its configuration,
and when you update Access Gateway, the changes should be
applied and saved.
Access Gateways with Duplicate After an upgrade, if you get errors related to invalid content for
Protected Resource Data policy enforcement lists, you need to correct them. The invalid
elements that do not have an associated resource data element
are listed in this section. Click Repair.
Access Gateways with Protected Protected resources have problems when policies are deleted
Resources Referencing before their references to the protected resources are removed. If
Nonexistent Policies you have protected resources in this condition, they are listed in
this section. Click the Repair button to remove these references.
Then verify that your protected resources have the correct
policies enabled. Click Access Gateways > Edit > [Name of
Reverse Proxy] > [Name of Proxy Service] > Protected Resources,
then change to the Policy View.
Troubleshooting 1261
Option Description and Action
Access Gateways with Invalid You can create XML validation errors on your Access Gateway
Alert Profile References Appliance if you start to create an alert profile (click Access
Gateways > Edit > Alerts > New), but you do not finish the
process. The incomplete alert profile does not appear in the
configuration for Access Gateway, so you cannot delete it. If such
a profile exists, it appears in the Access Gateways with Invalid
Alert Profile References list. Click Remove. You should then be
able to modify its configuration, and when you update Access
Gateway, the changes should be applied and saved.
Devices with Corrupt Data Store If an empty value is written to an XML attribute, the device with
Entries this invalid configuration appears in this list.
1262 Troubleshooting
32.1.1.3 Checking and Terminating User Sessions
The User Sessions page helps you to find users logged into your system and also helps to terminate
their sessions if required. It displays the active user details for each Identity Server. You can search
for a user with the user ID and terminate the sessions.
1 In Administration Console Dashboard, click Troubleshooting > User Sessions.
2 Specify the user ID and click Search. If a match is found, it lists the IP address of Identity Server
and its sessions.
3 Click Terminate Sessions to terminate the sessions of the specific user.
NOTE: User details are fetched once per administration session. The last updated date is
displayed. To refresh the data, click Refresh.
For more information about user sessions, see Section 32.3.28, “Terminating an Existing
Authenticated User from Identity Server,” on page 1326.
The following columns display information about the alerts for each server.
Column Description
Server Name Specifies the name of the server receiving alerts. Click the server name to view
more information about an alert before acknowledging it.
Severe Indicates how many severe alerts have been sent to the server.
Warning Indicates how many warning alerts have been sent to the server.
Informational Indicates how many informational alerts have been sent to the server.
Troubleshooting 1263
32.1.2 Diagnostic Configuration Export Utility
In Administration Console, you can create a LDIF file and export it for diagnostic purposes:
1 Log in as root.
2 On Linux: Change to the /opt/novell/devman/bin directory and run the following
command:
./amdiagcfg.sh
On Windows: Go to the C:\Program Files\Novell\bin directory and run the following
command:
./amdiagcfg.bat
3 Specify the Access Manager administrator’s password.
4 Specify the path where you want to store the diagnostic file.
5 Specify a name for the diagnostic file. The system adds .xml automatically as file extension.
6 Press Enter.
Similar to the backup utility, the Diagnostic Configuration Export utility creates a LDIF file with an
addition of an XML Dump file. Passwords from the final LDIF file are removed by a program called
Strippasswd.
Strippasswd removes instances of passwords in the LDIF file and replaces them with empty strings.
In the LDIF file, the password strings are blank. You might see occurrences within the file or text that
looks similar to password=“String”. These are not instances of passwords, but definitions that
describe passwords as string types.
With every Access Manager release, you must copy the corresponding XML style sheet file (XSL file)
to the same directory where the XML file is located. This helps in displaying the information in the
correct format. The XSL file is located at /opt/novell/devman/bin.
The XML file along with XSL file or LDIF file (if required) can then be sent to the Product Support for
help in diagnosing configuration problems.
Whichever method you use to stop Tomcat, Tomcat is stopped. Wait a minute before restarting
Tomcat.
1264 Troubleshooting
32.1.4 Restoring a Failed Secondary Console
If a secondary console fails, you need to remove its configuration from the primary console before
installing a new secondary console. If the failed console is part of the configuration, other Access
Manager devices try to contact it.
1 On the primary console, click Troubleshooting.
2 In the Other Known Device Manager Servers section, click Remove next to the secondary console
that is failed.
3 Remove traces of the secondary console from the configuration datastore:
3a In the Access Manager menu bar, select View Objects.
3b In the Tree view, select novell.
3c Delete all objects that reference the failed secondary console.
You should find the following types of objects:
SAS Service object with the hostname of the secondary console
An object that starts with the last octet of the IP address of the secondary console
DNS AG object with the hostname of the secondary console
DNS IP object with the hostname of the secondary console
SSL CertificateDNS with the hostname of the secondary console
SSL CertificateIP with the hostname of the secondary console
4 Install a new secondary console. For installation instructions, see Section 11.1, “Installing
Secondary Administration Console,” on page 973.
Troubleshooting 1265
4 Restore the configuration. For instructions, see Section 30.3, “Restoring the Access Manager
Configuration,” on page 1240.
5 Remove any secondary consoles from the configuration:
5a In Administration Console Dashboard, click Troubleshooting.
5b In the Other Known Device Manager Servers section, use the Remove button to remove any
secondary consoles.
6 Uninstall the secondary consoles. For instructions, see Uninstalling Administration Console in
the NetIQ Access Manager 4.5 Installation and Upgrade Guide.
7 Reinstall the secondary consoles as secondary consoles to the new primary console.
NOTE: Taking the backup of Administration Console configuration on one platform such as Linux and
restoring it to another platform such as on Windows or vice versa is not supported.
WARNING: Perform these steps only if the primary Administration Console cannot be restored. If
you have a recent backup, you can restore the primary Administration Console to new hardware.
This is an easier configuration task than converting a secondary console into a primary console. See
Section 32.1.5, “Moving the Primary Administration Console to a New Hardware,” on page 1265.
1266 Troubleshooting
32.1.6.2 Changing the Master Replica
Changing the master replica to reside on the new primary Administration Console makes this
Administration Console into the certificate authority for Access Manager. You need to first designate
the replica on the new primary Administration Console as the master replica. Then you need to
remove the old primary Administration Console from the replica ring.
“Linux Secondary Administration Console” on page 1267
“Windows Secondary Administration Console” on page 1267
Troubleshooting 1267
9 Click Partitions > Root, then select the name of the failed primary server.
10 From the menu, click Partitions > Replica Rings > Remove Server From Ring.
11 Specify the DN of the admin user in leading dot notation. For example:
.admin.novell
12 Specify password.
13 Continue with “Restoring CA Certificates” on page 1268.
1268 Troubleshooting
For example, delete <vcdnPrimaryAddress>10.10.10.11</vcdnPrimaryAddress> where
10.10.10.11 is the IP address of the failed primary administration console.
Troubleshooting 1269
NCP server object with the hostname of the failed primary console
PS object with the hostname of the failed primary console
4 Continue with “Performing Component-Specific Procedures” on page 1270.
1270 Troubleshooting
net stop Tomcat8
net start Tomcat8
When the Primary Administration Console Was Not Configured as the Audit Server
1 At Access Gateway Appliance, log in as the root user.
2 Open a terminal window and shut down all services by entering the following command:
/etc/init.d/novell-appliance stop
3 Edit the settings.properties file:
3a Enter: vi /opt/novell/devman/jcc/conf/settings.properties
3b Change the IP address in the remotemgmtip list from the IP address of the failed
Administration Console to the address of the new primary Administration Console.
3c Enter :wq! to save and exit.
4 At Access Gateway Appliance, start all services by entering the following commands:
/etc/init.d/novell-appliance start
5 (Conditional) Repeat this process for each Access Gateway that has been imported into
Administration Console.
When the Primary Administration Console Was Configured as the Audit Server
1 On the secondary Administration Console Dashboard, click Auditing.
2 In the Server Listening Address field change the IP address to the secondary Administration
Console’s IP address.
3 Click Apply > OK.
4 (Conditional) Repeat this procedure for each Access Gateway that has been imported into
Administration Console.
Troubleshooting 1271
Linux: Enter the /etc/init.d/novell-appliance stop command.
Windows: Click Control Panel > Administrative Tools > Services, then stop the following services:
Apache Tomcat
JCCServer
Stopping Apache Tomcat causes Apache 2.4 to also stop.
3 (Conditional) If your audit server was on the primary Administration Console, replace the old IP
address with the new primary Administration Console IP address:
3a On the secondary Administration Console Dashboard, click Auditing.
3b In the Server Listening Address field change the IP address to the secondary Administration
Console’s IP address.
3c Click Apply > OK.
4 Edit the settings.properties file:
4a Change to the directory and open the file.
Linux: /opt/novell/devman/jcc/conf
Windows: \Program Files\Novell\devman\jcc\conf
4b Change the IP address in the remotemgmtip list from the IP address of the failed
Administration Console to the address of the new primary Administration Console.
4c Save and exit.
5 At Access Gateway Service, start all services by entering the following command:
Linux: /etc/init.d/novell-appliance start OR rcnovell-appliance start
Windows: Click Control Panel > Administrative Tools > Services, then start the following services:
Apache Tomcat
JCCServer
Starting Apache Tomcat causes Apache 2.4 to also start.
6 (Conditional) Repeat this process for each Access Gateway Service that has been imported into
Administration Console.
1272 Troubleshooting
4 Start the services by entering the following commands:
/etc/init.d/novell-jcc start OR rcnovell-jcc start
/etc/init.d/novell-idp start OR rcnovell-idp start
http://<ip_address>:8028/nds
Replace <ip_address> with the IP address of your Administration Console.
Troubleshooting 1273
2 At the login prompt, enter the username and password of the admin user for Administration
Console.
The NDS iMonitor application is launched. For more information, see Accessing iMonitor (http:/
/www.novell.com/documentation/edir88/edir88/data/a6l60f7.html).
3 In the View bar, select the Repair icon.
For more information about DSRepair, see the following:
Click the Help icon.
Using NdsRepair (http://www.novell.com/documentation/edir88/edir88tshoot/data/
bq0gv5l.html)
1274 Troubleshooting
SLES 12 or later and RHEL 7 or later: /opt/novell/eDirectory/bin/ndsmanage
startall
4c Restart Tomcat.
5 (Windows) If you see this error, check the status of eDirectory:
5a Enter the following command:
net start "nds server0"
If the service has been started, this command returns a message that the service has been
started. If the service has been stopped, its starts eDirectory.
5b Verify that the agent is running. Click Control Panel > Novell eDirectory Services, then verify
that the Server box does not contain an agent closed message.
5c If the agent is closed, run dsrepair.
5d Restart Tomcat.
Troubleshooting 1275
32.1.12 Unable to Install NMAS SAML Method
When you try to create an Identity Server cluster configuration with an eDirectory user store and
with the Install NMAS SAML method option enabled and you have not installed the dependent
packages, the following error message is displayed:
Warning: Failed to create SAML Affiliate Object
com.novell.security.japi.nmas.LoginMethodModel.getLsmWINNNTStatus()I
One of the installation requirements for the Linux Administration Console is to install the compat
and the libstdc++ packages. On SLES 11, the compat package contains the libstdc++ library. Identity
Server also requires the compat package. For more information about installing these packages, see
TID 7006437 (http://www.novell.com/support/viewContent.do?externalId=7006437&sliceId=1).
Scenario 1:
1 If the values are not provided for the Server Listening IP Address, Server Public NAT IP Address,
and Port Numbers fields, enter the values, then click Apply.
2 If you change the existing values and click Apply, the following message is displayed:
Scenario 2:
1 If Server Listening IP Address, Server Public NAT IP Address and Port Numbers are valid and still
have problems, repush the configuration.
2 Change the port number to some invalid port number, then click Apply.
3 Change the invalid port number again to the valid port number, then click Apply.
The configuration is repushed and works successfully.
4 Update Access Gateway whose events are not seen.
5 Restart Access Gateway.
1276 Troubleshooting
32.1.14 Unable to Update Access Gateway Listening IP Address in
Administration Console Reverse Proxy
Administration Console fails to change Access Gateway listening IP address of the Reverse Proxy. The
health status of Access Gateway on Administration Console displays failure to start the protected
resource with old Listening IP address. However, when protected resource is viewed (Devices >
Access Gateways > Access Gateway or Access Gateway Cluster > Proxy), Administration Console
displays the new IP Address has been selected as listening IP address of the Reverse Proxy.
To workaround this issue:
1 Click Devices > Access Gateways.
1a Click the Health icon of Access Gateway that has the problem.
1b Note the Reverse Proxies that have the problem.
2 Click Devices > Access Gateways > Edit.
3 For each of the Reverse Proxies that have the problem, do the following:
3a Click Reverse Proxy.
3b Select the cluster member from the list.
3c Select the new IP address on which the proxy service will listen to.
3d Unselect the old IP address on which proxy service was listening to.
3e Click OK.
3f An alert is displayed as "Select at least one listening address for the service."
3g Click OK.
3h Again select Listening IP Address.
3i Click OK.
4 If the update link is enabled, click it. If not, do the following:
4a Click Edit for the cluster that has problem.
4b Click the Proxy name link.
4c Click Proxy service name in the Proxy Service list.
4d Enter the description and click OK.
After the device command status moves to Succeeded, verify the health status of Access Gateway.
Troubleshooting 1277
32.1.15 During Access Gateway Installation Any Error Message Should
Not Display Successful Status
Even after successful installation or upgrade of Access Gateway, the health shows failure in starting
ESP. After an fresh import of Access Gateway in Administration Console, Access Gateway Health
displays “ESP Failed to initialize : Unable to read <keystorefilelocation>”. The keystore file can be
Connector, Signing, Encryption or Truststore.
To workaround this issue:
1 On Access Gateway, go to the <keystorefilelocation> location as specified in the health error
message.
2 Delete the keystore/truststore indicated in the ESP error message.
3 In Administration Console Dashboard, click TroubleShooting > Certificates.
4 Enable the keystore device or cluster that has been deleted in Access Gateway and it needs to
be re-pushed.
5 Click Re-Push Certificate.
6 Restart server provider of Access Gateway.
1278 Troubleshooting
32.1.19 Error: Tomcat did not stop in time. PID file was not removed
While stopping Tomcat for Administration Console, Access Gateway, or Identity Server, you may get
this error message:
Tomcat did not stop in time. PID file was not removed.
Ignore this message. Tomcat will be forcibly stopped if it does not stop normally.
Troubleshooting 1279
Section 32.2.7, “Solving Apache Restart Issues,” on page 1291
Section 32.2.8, “Understanding the Authentication Process of Access Gateway Service,” on
page 1294
Section 32.2.9, “Issue While Accelerating the Ajax Applications,” on page 1300
Section 32.2.10, “Accessing Lotus-iNotes through Access Gateway Asks for Authentication,” on
page 1300
Section 32.2.11, “Configuration Issues,” on page 1300
Section 32.2.12, “The Embedded Service Provider Does not Start,” on page 1301
Section 32.2.13, “Cannot Inject a Photo into HTTP Headers,” on page 1301
Section 32.2.14, “Reimporting Access Gateway Takes the IP Address of the Old Administration
Console,” on page 1301
Section 32.2.15, “Reimporting Access Gateway Service Fails on Windows 2012 R2 Server,” on
page 1301
Section 32.2.16, “Access Gateway Caching Issues,” on page 1302
Section 32.2.17, “Issues while Changing the Management IP Address in Access Gateway
Appliance,” on page 1302
Section 32.2.18, “Issue While Adding Access Gateway in a Cluster,” on page 1303
Section 32.2.19, “Access Gateway Fails to Start After Upgrading SLES 11 SP3 to SLES 12,” on
page 1304
1280 Troubleshooting
Figure 32-1 Access Gateway Service Modules
Administration
JCC Console
Browser Gateway
Manager
ActiveMQ
Apache Identity
ESP Server
Proxy
Service
Web
Servers
Proxy Service: This component runs as an instance of Apache and is responsible for controlling
access to the configured protected resources on web servers. Low-level errors are reported in the
Apache logs. Some higher-level errors are also reported to the files in the amlogging/logs
directory.
ESP: The Embedded Service Provider is responsible for handling all communications with Identity
Server and is responsible for the communication that verifies the authentication credentials of users.
Log entries for this communication process, including errors, are logged in the catalina.out file
and the stdout.log file.
ActiveMQ: This module is used for real-time communication between Administration Console and
the Proxy Service. Errors generated from the Gateway Manager to the ActiveMQ module are logged
to the Tomcat logs. Errors generated from the Proxy Service to the ActiveMQ module are logged to
the Apache error logs.
JCC: The Java Communication Controller is the interface to Administration Console. It handles
health, statistics, configuration updates, and purge cache requests from Administration Console. It is
also responsible for certificate management. Errors generated between the JCC module and the
Gateway Manager are logged to the ags_error.log file. Errors generated between Administration
Console and the JCC module are logged to the jcc-0.log.x file
Troubleshooting 1281
Gateway Manager: This module is responsible for handling communication from JCC to the Proxy
Service. It also writes the configuration commands to the Apache configuration files and the Proxy
Service configuration file on disk. Errors generated while performing these tasks are logged to the
ags_error.log file.
User Session Cache: Access Gateway Service has one additional module, a User Session Cache
module. This module is responsible for managing user information across all Proxy Service
processes. Any errors generated by this module are logged to the Apache error logs.
For more information about these various log files, see the following:
Section 32.2.1.1, “Apache Logging Options for Gateway Service,” on page 1282
Section 32.2.1.2, “Access Gateway Service Log Files,” on page 1283
[<time and date stamp>] [warn] Init: SSL server IP/port conflict:
magdbmheguide.dsm.cit.novell.com:443 (C:/Program
Files/Novell/apache/conf/vhosts.d/dbmhMagEguide.conf:18) vs.
magwin1430external.dsm.cit.novell.com:443 (C:/Program
Files/Novell/apache/conf/vhosts.d/magMaster.conf:18)
You can ignore these errors because Access Gateway Service knows how to handle the traffic and
send the packets to the correct proxy service.
1282 Troubleshooting
For more information about Apache log files, see “Log Files” (http://httpd.apache.org/docs/2.4/
logs.html).
WARNING: If you set the log level to debug, the size of the file can grow quickly, consume all
available disk space, and crash the system. If you change the log level, you need to carefully monitor
available disk space and the size of the error log file.
getlogs <filename>
Troubleshooting 1283
You can specify a filename. If one is not specified, the file is called out. You can modify the
batch file to use a different default name.
The file is created in the current working directory.
The batch file includes only files that are not currently in use. If you need to include the most recent
version of a log file, you need to stop Access Gateway Service.
Verifying on Linux
1 Log in to the server as the root user.
2 Verify that the ActiveMQ service is running by using the following command:
1284 Troubleshooting
5 Verify that the user session cache service is running by using the following command:
Troubleshooting 1285
Ignore the localhost IP address (127.0.0.1) here.
9 If one or more services are not running, use the following commands to start the services:
/etc/init.d/novell-jcc start OR rcnovell-jcc start
/etc/init.d/novell-apache2 start OR rcnovell-apache2 start
/etc/init.d/novell-agcsd start
/etc/init.d/novell-activemq start OR rcnovell-activemq start
/etc/init.d/novell-mag start OR rcnovell-mag start
10 If a service does not start, view the log files to determine the cause. See the following:
Section 32.2.7, “Solving Apache Restart Issues,” on page 1291
Section 23.5.5, “Linux Access Gateway Appliance and Access Gateway Service Logs,” on
page 1163
Verifying on Windows
1 Log in to the machine as the administrator.
2 Click Control Panel > Administrative Tools > Services.
3 Ensure that the following services are running:
ActiveMQ
Apache Tomcat8
Apache2.4
JCCServer
4 If one or more services are not running, select the service and start it.
5 If a service does not start, view the log files to determine the cause. See the following:
Section 32.2.7, “Solving Apache Restart Issues,” on page 1291.
Section 23.5.6, “Windows Access Gateway Service Logs,” on page 1163
1286 Troubleshooting
<LocationMatch ".*\.doc$">
Header set Content-Disposition attachment
</LocationMatch>
<LocationMatch ".*\.docx$">
Header set Content-Disposition attachment
</LocationMatch>
<LocationMatch ".*\.xls$">
Header set Content-Disposition attachment
</LocationMatch>
<LocationMatch ".*\.xlsx$">
Header set Content-Disposition attachment
</LocationMatch>
<LocationMatch ".*\.ppt$">
Header set Content-Disposition attachment
</LocationMatch>
<LocationMatch ".*\.pptx$">
Header set Content-Disposition attachment
</LocationMatch>
3 Restart novell-apache2 services.
Troubleshooting 1287
IMPORTANT: Enabling logging in the debug mode enables most of the log levels, which might not be
required for troubleshooting. Hence, during high load period, perform the following steps to reduce
the impact on Access Gateway’s performance:
1 Click Devices > Access Gateways > Edit > Advanced Options.
2 Add the following options:
LogLevel error
LogLevel novell_ag_module:debug
LogLevel ssl:warn mpm_worker:warn core:warn
LogLevel proxy:warn proxy_balancer:warn proxy_ajp:warn proxy_http:warn
3 Click OK.
Adding these options enable only error, debug, and warn levels for specific components.
Debug mode enables core dumps, X-Mag headers in LAN traces, and increases log levels by enabling
advanced option in Access Gateway configuration. For example LogLevel debug. This sets apache log
level to debug in the error_log file.
Perform the following steps to obtain the system core dump:
1 Disable the limit for the maximum size of a core dump file. Add LimitCORE=infinity in /
etc/systemd/system/novell-apache2.service.
[Service]
Type=oneshot
EnvironmentFile=/etc/opt/novell/apache2/conf/.arg_file
Environment="LD_LIBRARY_PATH=/opt/novell/ssllib:/opt/novell/openssl/
lib"
ExecStart=/opt/novell/apache2/sbin/httpd $ARGL
ExecStop=/opt/novell/apache2/sbin/httpd -k stop
ExecReload=/opt/novell/apache2/sbin/httpd -k graceful
RemainAfterExit=yes
TasksMax=28000
LimitCORE=infinity
2 Configure a location for storing core dumps. You can create the core directory under /local.
Run the following command to create a directory in Access Gateway:
install -m 1777 -d /var/local/dumps
echo "/var/local/dumps/core.%e.%p"> /proc/sys/kernel/core_pattern
3 Add a line “kernel.suid_dumpable=2” to the /etc/sysctl.conf configuration file.
4 Add the CoreDumpDirectory /var/local/dumps advanced option in Access Gateway.
5 Run the following commands:
systemctl daemon-reload
systemctl restart novell-apache2.service
6 Apply changes to Access Gateway.
1288 Troubleshooting
This section describes the following tasks:
Section 32.2.5.1, “Starting Apache in Debug Mode,” on page 1289
Section 32.2.5.2, “Examining the Debug Information,” on page 1289
Section 32.2.5.3, “Disabling Debug Mode,” on page 1289
Troubleshooting 1289
Linux: /etc/init.d/novell-apache2 stop OR rcnovell-apache2 stop
/etc/init.d/novell-apache2 start nodebug OR rcnovell-apache2 start nodebug
Tool Description
Re-push Current Configuration If you have an Access Gateway that does not seem to be using the
current configuration, you can use Administration Console to push
the current configuration to Access Gateway. Click Troubleshooting.
In the Current Access Gateway Configuration section, select an
Access Gateway, then click Re-push Current Configuration.
Health icon In Administration Console, click the Health icon to view details
about the health of Access Gateway. For more information, see
Section 26.4.1, “Monitoring Health of an Access Gateway,” on
page 1208.
Tool Description
Task Manager Use this utility to check resources available on the system.
Control Panel > Administrative Use this utility to stop and start services.
Services > Services
netstat -a Use this command to view statistics about the listeners on Access
Gateway.
1290 Troubleshooting
32.2.6.2 Tools for Linux Access Gateway Service
Linux provides the following tools that can help you determine the cause of a problem:
Tool Description
curl Use this command to view identity provider metadata from Access
Gateway. See “Testing Whether the Provider Can Access the
Metadata” on page 1313.
netstat -a Use this command to view statistics about the listeners on Access
Gateway.
tail -f Use this command to view real time activity in key log files. For
information about useful files to tail, see “Access Gateway Service
Log Files” on page 1283.
AGM
Administration
Console
Configuration Update
JCC
Apache
Restart
JCC sends the configuration changes to Access Gateway Manager (AGM), which writes the Apache
configuration to disk. Apache is sent a restart command, which causes Apache to read the new
configuration, then Apache validates the configuration.
If the configuration is valid, Apache starts.
If the configuration is invalid, Apache fails to start.
Troubleshooting 1291
If Apache fails to start after a configuration change, roll back to the previous configuration. Restore a
backup if you have one, or use Administration Console to manually remove the modifications that
have caused the problem. If this does not solve the problem, try the following:
Section 32.2.7.1, “Removing an Advanced Configuration Settings,” on page 1292
Section 32.2.7.2, “Viewing the Logged Apache Errors,” on page 1292
Section 32.2.7.3, “Viewing the Errors as Apache Generates Them,” on page 1293
Section 32.2.7.4, “The ActiveMQ Module Fails to Start,” on page 1294
1292 Troubleshooting
32.2.7.3 Viewing the Errors as Apache Generates Them
Apache allows only a few errors to be sent to log files. To view all the errors, use the following
procedure to display the errors in a terminal window.
1 Copy the config.xml file in the current directory to a temporary location. Access Gateway
allows only one XML file to reside in the current directory.
Linux: /opt/novell/nam/mag/webapps/agm/WEB-INF/config/current
Windows: \Program Files\Novell\Tomcat\webapps\agm\WEB-INF\config
2 Copy the XML file from the pending directory to the current directory and rename it
config.xml.
The file in the pending directory has a long numeric name.
3 (Linux) Change the ownership of the file from root to novlwww:novlwww.
4 Use one of the following commands to restart Tomcat:
Linux: /etc/init.d/novell-mag restart OR rcnovell-mag restart
Windows: Use the following commands:
net stop Tomcat8
net start Tomcat8
5 (Linux) Restart Apache by using the following command:
/etc/init.d/novell-apache2 restart OR rcnovell-apache2 restart
Apache uses the terminal window to write the errors it discovers as it tries to process the
config.xml file.
6 (Windows) Run Apache in debug mode:
6a Use the following command to stop Apache:
net stop apache2.4
6b Change to the \Program Files\novell\apache\bin directory.
6c Enter the following command:
httpd -e Debug
Apache writes to the terminal window the errors it discovers as it tries to processes the
config.xml file.
7 At Administration Console, fix the configuration problems, then update Access Gateway.
Troubleshooting 1293
32.2.7.4 The ActiveMQ Module Fails to Start
The Active MQ module is used for real-time communication between Administration Console and
Access Gateway Service. Real-time communication is needed for commands such as purging cache,
gathering statistics, and updating health. Figure 32-3 illustrates this communication flow.
Figure 32-3 Real-Time Communication
AGM
Administration
Console
Real–Time Request
JCC ActiveMQ
Apache
When the ActiveMQ module fails to start, you cannot apply any configuration changes, and Access
Gateway does not set a listener for the configured port.
To start the module, it must be able to resolve the listening IP address to a DNS name. To install an
Access Gateway Service, the machine must have a DNS name and the IP address must resolve to this
name.
Access Gateway Service must handle these conditions and others as it determines whether it needs
to forward a login request to the Embedded Service Provider or use the user’s existing
authentication credentials.
1294 Troubleshooting
The following flow charts take you through this process:
Figure 32-4, “Identifying the Requester,” on page 1295
Figure 32-5, “Determining the Type of Request,” on page 1296
Figure 32-6, “Determining the Protection Type Assigned to the Resource,” on page 1298
Figure 32-7, “Evaluating the Cookie Domain,” on page 1299
Contains a
1 Session NO
Cookie?
YES Assign as
Public User
Is the
2 User Known YES
Locally?
NO
Does the
3 SB know YES
the User?
NO
Assign as Assign as
Public User Known User
Continue Processing
These first steps determine whether Access Gateway knows the user that has submitted the request.
In decision point 1, Access Gateway checks for a session cookie in the request.
If the request contains a session cookie, the session cookie needs to be validated. Processing
continues with the task in decision point 2.
If the request does not contain a session cookie, the user is unknown and is assigned as a public
user. Access Gateway continues processing with the tasks outlined in Figure 32-5 on page 1296.
Troubleshooting 1295
When the request contains a session cookie, Access Gateway checks its local user store for a user
that matches the session cookie. Each Access Gateway in the cluster maintains its own list of known
users.
If the session cookie matches one of the locally known users, the user is assigned that identity.
Access Gateway continues with the tasks outlined in Figure 32-5 on page 1296.
If the session cookie does not’ match one of the locally known users, Access Gateway needs to
know if one of the other Access Gateways in the cluster knows the user. Processing continues
with the task in decision point 3.
Access Gateway queries the session broker to see if one of the other Access Gateways in the cluster
knows this user.
If a match is found, the user is assigned that identity. Access Gateway continues with tasks
outlined in Figure 32-5 on page 1296.
If a match is not found, the user is unknown and is assigned as a public user. Access Gateway
continues with the tasks outlined in Figure 32-5 on page 1296.
Figure 32-5 Determining the Type of Request
Continue Processing
Is the
Strip Cookie
Request a
4 Cookie Broker YES Redirect
to URL
Reply?
NO
Is the
Request a Is the
5 Cookie Broker YES 5a User YES
Request? Authenticated?
NO NO
Redirect to Create a
the ESP for Cookie Broker
Does the Authentication Reply
6 URL Match NO
a PR?
YES
Return a
Continue Processing 403 Error Continues as a New Request
Access Gateway examines the request to determine what type of request it is.
1296 Troubleshooting
If the request is a cookie broker reply, Access Gateway strips the cookie from the URL and redirects
the request to the URL. The redirect is handled as a new request, and this new request flows to the
task in decision point 6, where the URL is examined.
If the request is not’ a cookie broker reply, Access Gateway examines the request to see if it is a
cookie broker request. If it is a cookie broker request, Access Gateway determines whether the user
is authenticated with the contract required by the protected resource.
If the user is authenticated, Access Gateway creates a cookie broker reply. This reply is handled
as a new request, and flows to the task in decision point 4.
If the user is not authenticated, the request is redirected to the Embedded Service Provider
(ESP). The ESP interacts with Identity Server to authenticate the user. Identity Server, the ESP,
and the reverse proxy all maintain authentication information. The ESP returns a new request,
which flows to the task in decision point 6, where the URL is examined.
If the URL does not match a URL of a protected resource (PR), Access Gateway returns an HTTP 403
error to the user.
If the URL in the request matches a URL of a protected resource, Access Gateway needs to examine
the protection type assigned to the resource. Access Gateway continues with the tasks outlined in
Figure 32-6 on page 1298.
Troubleshooting 1297
Figure 32-6 Determining the Protection Type Assigned to the Resource
Continue Processing
Is the PR
7 Protected with NO
a Contract?
YES
Is
the User
Authenticated
8 with the Required
YES
Contract?
NO
Is an Are the
Is the Authentication Authentication
9 PR Enabled YES 9a Header YES 9b Credentials YES
for NRL? Present? Valid?
NO NO NO
Is the NRL
Redirect
9c Option NO
Enabled?
YES
Return HTTP
Continue Processing 401 Evaluate for Policies
Unauthorized
1298 Troubleshooting
Before the user is prompted for credentials, Access Gateway needs to know whether the protected
resource has been enabled for non-redirected login (NRL).
If the resource has not been configured for non-redirected login, Access Gateway continues
with the tasks outlined in Figure 32-7 on page 1299.
If the resource has been configured for non-redirected login, Access Gateway needs to examine
the request for an authentication header and determine whether the header is valid. Processing
continues with the tasks outlined in decision points 9a, 9b, and 9c.
If the request does not contain an authentication header, Access Gateway needs to determine how
non-redirected login has been configured. On the Authentication Procedure configuration page, you
can select to enable the Redirect to Identity Server When No Authentication Header Is Provided
option.
If this option is enabled, Access Gateway continues with the tasks outlined in Figure 32-7 on
page 1299.
If this option is disabled, Access Gateway returns an HTTP 401 unauthorized message.
If the request does contain an authentication header, Access Gateway must verify that the
credentials are valid.
If the authentication credentials are valid, Access Gateway is finished with its authentication
checks and continues with evaluating the protected resource for policies.
If the authentication credentials are not valid, the process is the same as if the request did not
contain an authentication header and continues with the task in decision point 9c.
Figure 32-7 Evaluating the Cookie Domain
Continue Processing
Is PR in
the Same
10 Cookie YES
Domain?
NO
Generate a Redirect to
Cookie Broker the ESP for
Request Authentication
If you have configured your Access Gateway to use multiple domain-based proxy services, you can
configure them to share the same cookie domain (domains of development.novell.com and
support.novell.com can share the cookie domain of novell.com) or configure them so that
they cannot share a cookie domain (domains of a.slc.com and b.provo.com cannot share a
cookie domain).
Troubleshooting 1299
When Access Gateway reaches the task in decision point 10, it has determined that the protected
resource requires a contract and that user is not authenticated with that contract.
If the protected resource is in the same cookie domain, Access Gateway redirects the request to
the Embedded Service Provider (ESP). The ESP interacts with Identity Server to authenticate the
user. The ESP returns a new request, which flows to the task in decision point 6, where the URL
is examined.
If the protected resource is in a different cookie domain, Access Gateway generates a cookie
broker request. This new request flows to the task in decision point 5.
1300 Troubleshooting
32.2.12 The Embedded Service Provider Does not Start
After importing Access Gateway, sometimes the embedded service provider (ESP) does not start. In
this case, you will see an error in Administration Console while configuring the ESP:
Configuration not found
To workaround this issue, restart the ESP by using the /etc/init.d/novell-mag restart OR
rcnovell-mag restart command.
Troubleshooting 1301
32.2.16 Access Gateway Caching Issues
If you have caching issues with inodes, disk space, and cache corruption in Access Gateway, use
Apache htcacheclean tool which is used to keep the size of mod_disk_cache's storage within a
certain limit. This tool can run either manually or in daemon mode. When running in daemon mode,
it sleeps in the background and checks the cache directories at regular intervals for cached content
to be removed.
The htcacheclean utility tool is located at:
Linux: /opt/novell/apache2/sbin
Windows: C:\Program Files\Novell\apache\bin
The default cache location is:
Linux: /var/cache/novell-apache2
Windows: C:\apache_cache_root
Example: To clear 1024 MBytes of cache, run the following command:
Linux: ./htcacheclean -v -t -p/var/cache/novell-apache2 -l1024M
Windows: htcacheclean.exe -v -t -pC:\apache_cache_root -l1024M
For more information, see Apache htcacheclean tool (https://httpd.apache.org/docs/2.4/programs/
htcacheclean.html).
1302 Troubleshooting
romaAGDeviceSAXMLDoc of ou=ag-xxxxxx, ou=AppliancesContainer, ou=Partition,
ou=PartitionsContainer, ou=VCDN_Root, ou=accessManagerContainer, o=novell
romaAGConfigurationXMLDoc of ou=WorkingConfig, ou=ag-xxxx, ou=AppliancesContainer,
ou=Partition, ou=PartitionsContainer, ou=VCDN_Root, ou=accessManagerContainer,
o=novell
romaAGConfigurationXMLDoc of ou=CurrentConfig ou=ag-xxxx, ou=AppliancesContainer,
ou=Partition, ou=PartitionsContainer, ou=VCDN_Root, ou=accessManagerContainer,
o=novell
For the specific Access Gateway (esp)-identity server entry:
romaIDPDeviceSAXMLDoc of ou=idp-esp-xxxxxx, ou=AppliancesContainer, ou=Partition,
ou=PartitionsContainer, ou=VCDN_Root, ou=accessManagerContainer, o=novell
romaIDPDeviceXMLDoc of ou=idp-esp-xxxxxx, ou=AppliancesContainer, ou=Partition,
ou=PartitionsContainer, ou=VCDN_Root, ou=accessManagerContainer, o=novell
For other Access Gateway device entry (if they are in a cluster):
romaAGConfigurationXMLDoc of ou=WorkingConfig, ou=ag-yyyy, ou=AppliancesContainer,
ou=Partition, ou=PartitionsContainer, ou=VCDN_Root, ou=accessManagerContainer,
o=novell
romaAGConfigurationXMLDoc of ou=CurrentConfig, ou=ag-yyyy, ou=AppliancesContainer,
ou=Partition, ou=PartitionsContainer, ou=VCDN_Root, ou=accessManagerContainer,
o=novell
For tmp folder entry:
romaAGConfigurationXMLDoc of ou=CurrentConfig, ou=tmp_zzz, ou=AppliancesContainer,
ou=Partition, ou=PartitionsContainer, ou=VCDN_Root, ou=accessManagerContainer,
o=novell
romaAGConfigurationXMLDoc of ou=WorkingConfig, ou=tmp_zzz,
ou=AppliancesContainer, ou=Partition, ou=PartitionsContainer, ou=VCDN_Root,
ou=accessManagerContainer, o=novell
8 Start Access Gateway service by using the /etc/init.d/novell-mag start command.
9 Start the JCC service by using the /etc/init.d/novell-jcc start command.
10 Restart Administration Console, Identity Server and other Access Gateways in cluster.
Troubleshooting 1303
32.2.19 Access Gateway Fails to Start After Upgrading SLES 11 SP3 to
SLES 12
If you upgrade the operating system for all devices from SLES 11 SP3 to SLES 12, Access Gateway fails
to start. The following error message is displayed:
/opt/novell/apache2/sbin/httpd: error while loading shared libraries:
libpcrc.so.0: wrong ELF class: ELFCLASS32
This happens because Access Gateway dependencies do not get copied during an operating system
upgrade.
Workaround: Reinstall Access Gateway or create the following symbolic links at Access Gateway
server:
ln -s /usr/lib64/libpcre.so.1.2.1 /usr/lib64/libpcre.so.0
ln -s /usr/lib64/libdb-4.8.so /usr/lib64/libdb-4.5.so
ln -s /usr/lib64/libodbc.so.2.0.0 /usr/lib64/libodbc.so.1
ln -s /usr/lib64/libesmtp.so.6 /usr/lib64/libesmtp.so.5
1304 Troubleshooting
Section 32.3.15, “SAML Intersite Transfer URL Setup Does Not Work for Non-brokered Setups
after Enabling SP Brokering,” on page 1322
Section 32.3.16, “Orphaned Identity Objects,” on page 1322
Section 32.3.17, “Users Cannot Log In to Identity Server When They Access Protected Resources
with Any Contract Assigned,” on page 1323
Section 32.3.18, “An Attribute Query from OIOSAML.SP Java Service Provider Fails with Null
Pointer,” on page 1323
Section 32.3.19, “Disabling the Certificate Revocation List Checking,” on page 1324
Section 32.3.20, “Step Up Authentication for Identity Server Initiated SSO to External Provider
Does Not Work Unless It has a Matching Local Contract,” on page 1324
Section 32.3.21, “Metadata Cannot be Retrieved from the URL,” on page 1324
Section 32.3.22, “Authentication Request to a Service Provider Fails,” on page 1324
Section 32.3.23, “SAML 2.0 POST Compression Failure Does Not Throw a Specific Error Code,”
on page 1324
Section 32.3.24, “SAML 1.1 Service Provider Re-requests for Authentication,” on page 1325
Section 32.3.25, “Issue in Generating WS-Federation Claim for SharePoint 2010 On Windows,”
on page 1325
Section 32.3.26, “Identity Server Statistics Logs Do Not Get Written In Less Than One Minute,”
on page 1325
Section 32.3.27, “No Error Message Is Written in the Log File When an Expired Certificate Is
Used for the X509 Authentication,” on page 1326
Section 32.3.28, “Terminating an Existing Authenticated User from Identity Server,” on
page 1326
Section 32.3.29, “Clustered Nodes Looping Due to JGroup Issues,” on page 1327
Section 32.3.30, “Authentication With Aliases Fails,” on page 1327
Section 32.3.31, “nidp/app Does Not Redirect to nidp/portal after Authentication,” on
page 1328
Section 32.3.32, “Login to Office 365 Fails when WS-Trust MEX Metadata Is Larger than 65 KB,”
on page 1328
Section 32.3.33, “Unsafe Server Certificate Change in SSL/TLS Renegotiations Is Not Allowed,”
on page 1328
Section 32.3.34, “Viewing Request and Response Headers of All Protocols in a Log File,” on
page 1329
Section 32.3.35, “Provisioning of LDAP Attribute for Social Authentication User Failed,” on
page 1330
Section 32.3.36, “User Authentication Fails When the Advanced Authentication Generic Class Is
Used,” on page 1330
Section 32.3.37, “Cannot Create an Authentication Class with Advanced Authentication Generic
Class,” on page 1330
Section 32.3.38, “CORS Request to the Token Introspection Endpoint Fails,” on page 1331
Section 32.3.39, “The User Portal Page Does Not Display the Branding,” on page 1332
Troubleshooting 1305
For information about Identity Server logging, see Section 23.3.1, “Configuring Logging for Identity
Server,” on page 1138 and Section 23.3.2, “Configuring Session-Based Logging,” on page 1140.
1306 Troubleshooting
“Testing Whether the Provider Can Access the Metadata” on page 1313
“Manually Creating Any Auto-Generated Certificates” on page 1314
For information about metadata validation process and the flow of events that occur when
accessing a protected resource on Access Gateway, see “Troubleshooting 100101043 and
100101044 Errors in Access Manager” (http://www.novell.com/coolsolutions/appnote/
19456.html).
32.3.2.1 Metadata
If you change the base URL of the Identity Server, all service providers, including Embedded Service
Providers, need to be updated so that they use the new metadata:
“Embedded Service Provider Metadata” on page 1307
“Service Provider Metadata” on page 1307
Troubleshooting 1307
32.3.2.2 DNS Name Resolution
When the service provider tries to access the metadata on the identity provider, it sends the request
to the hostname defined in the base URL configuration of Identity Server. The base URL in Identity
Server configuration is used to build all the metadata end points.
To view the metadata of Identity Server with a DNS name of idpcluster.lab.novell.com,
enter the following URL:
https://idpcluster.lab.novell.com:8443/nidp/idff/metadata
Scan through the document and notice the multiple references to https://
idpcluster.lab.novell.com/... You should see lines similar to the following:
<md:SoapEndpoint>
https://idpcluster.lab.novell.com:8443/nidp/idff/soap
</md:SoapEndpoint>
<md:SingleLogoutServiceURL>
https://idpcluster.lab.novell.com:8443/nidp/idff/slo
</md:SingleLogoutServiceURL>
<md:SingleLogoutServiceReturnURL>
https://idpcluster.lab.novell.com:8443/nidp/idff/slo_return
</md:SingleLogoutServiceReturnURL>
The Embedded Service Provider of Access Gateway must be able to resolve the
idpcluster.lab.novell.com hostname of Identity Server. To test that it is resolvable, send a
ping command with the hostname of Identity Server. For example, from Access Gateway:
ping idpcluster.lab.novell.com
The same is true for Identity Server. It must be able to resolve the hostname of Access Gateway. To
discover the URL for Access Gateway metadata:
1 In Administration Console Dashboard, click Devices > Access Gateways > Edit > Reverse Proxy/
Authentication.
2 View the Embedded Service Provider section.
The URL of the metadata is displayed in this section.
To view the metadata, enter the displayed URL. Scan through the document and notice the multiple
references to the hostname of Access Gateway.
You should see lines similar to the following. In these lines, the hostname is ag1.provo.novell.com.
<md:SoapEndpoint>
http://ag1.provo.novell.com:80/nesp/idff/spsoap
</md:SoapEndpoint>
<md:SingleLogoutServiceURL>
http://ag1.provo.novell.com:80/nesp/idff/spslo
</md:SingleLogoutServiceURL>
<md:SingleLogoutServiceReturnURL>
http://ag1.provo.novell.com:80/nesp/idff/spslo_return
</md:SingleLogoutServiceReturnURL>
1308 Troubleshooting
To test that Identity Server can resolve the hostname of Access Gateway, send a ping command
with the hostname of Access Gateway. For example, from Identity Server:
ping ag1.provo.novell.com
To view sample log entries that are logged when a DNS name cannot be resolved, see “The
Embedded Service Provider Cannot Resolve the Base URL of Identity Server” on page 1312.
Troubleshooting 1309
32.3.2.4 Certificates in the Required Trust Stores
Ensure that the issuers of Identity Server and Embedded Service Provider certificates are added to
the appropriate trusted root containers.
When the server certificates are sent from the identity provider to the service provider client, and
from the service provider to the identity provider client, the client needs to be able to validate the
certificates. Part of the validation process is to confirm that the server certificate has been signed by
a trusted source. By default, well known external trusted certificates are bundled with Access
Manager. You can view this list here: Administration Console > Security > Certificates > External
Trusted Roots. If the issuer of server certificate is not present in the External Trusted Root list, the
import the issuers of the server certificate (intermediate and trusted roots) into the correct trusted
root stores:
The intermediate and trusted roots of the Embedded Service Provider certificate must be
imported into the NIDP Trust Store.
The intermediate and trusted roots of Identity Server certificate must be imported into the ESP
Trust Store.
For more information, see Section 15.5, “Importing a Signed Certificate,” on page 1047.
If you use certificates generated by Administration Console CA, the trusted root certificate is the
same for Identity Server and the Embedded Service Provider. If you are using external certificates,
the trusted root certificate might not be the same, and there might be intermediate certificates that
need to be imported.
To verify the trusted root certificates:
1 In Administration Console Dashboard, click Security > Certificates.
2 Determine the issuer of Identity Server certificate and the Embedded Service Provider
certificate:
2a Click the name of Identity Server certificate, note the name of the Issuer, then click Close.
2b Click the name of the Embedded Service Provider certificate of Access Gateway, note the
name of the Issuer, then click Close.
2c (Conditional) If you do not know the names of these certificates, see “Certificate Names”
on page 1309.
3 To verify the trusted root for Identity Server, click Devices> Identity Servers > Edit > Security >
NIDP Trust Store.
4 In the Trusted Roots section, scan for a certificate subject that matches the issuer of the
Embedded Service Provider certificate, then click its name.
If the Issuer has the same name as the Subject name, then this certificate is the root
certificate.
If the Issuer has a different name than the Subject name, the certificate is an intermediate
certificate in the chain. Click Close, and ensure that another certificate in the trust store is
the root certificate. If it isn’t there, you need to import it and any other intermediate
certificates between the one you have and the root certificate.
5 To verify the trusted root for the Embedded Service Provider, click Devices > Access Gateways >
Edit >Service Provider Certificates> Trusted Roots.
1310 Troubleshooting
6 In the Trusted Roots section, scan for a certificate subject that matches the issuer of Identity
Server certificate, then click its name.
If the Issuer has the same name as the Subject name, then this certificate is the root
certificate.
If the Issuer has a different name than the Subject name, the certificate is an intermediate
certificate in the chain. Click Close, and ensure that another certificate in the trust store is
the root certificate. If it isn’t there, you need to import it and any other intermediate
certificates between the one you have and the root certificate.
7 (Optional) If you have clustered your Identity Servers and Access Gateways and you are
concerned that not all members of the cluster are using the correct trusted root certificates,
you can re-push the certificates to the cluster members.
7a Click Troubleshooting > Certificates.
7b Select the Trust Store of your Identity Servers and Access Gateways, then click Re-push
certificates.
7c Update the Identity Severs and Access Gateways.
7d Check the command status of each device to ensure that the certificate was pushed to the
device. From Identity Servers page or Access Gateways page, click the Commands link.
To view sample log entries that are logged to the catalina.out file when a trusted root certificate
is missing, see “Trusted Roots Are Not Imported into the Appropriate Trusted Root Containers” on
page 1312.
1 In Administration Console Dashboard, click Devices > Identity Servers > Edit > Auditing and
Logging.
2 Select Enabled for File Logging and Echo to Console.
3 In the Component File Logger Levels section, set Application and Liberty to a debug level.
4 Click OK, update Identity Server, then update Access Gateway.
5 After enabling and applying the changes, duplicate the issue to add specific details to the log file
for the issue.
If the error is the 100101044 error, look at the log file on the Embedded Service Provider for the
error code
If the error is the 100101043 error, look at the log file on Identity Server for the error code.
On Linux, look at the catalina.out file, and on Windows, look at the stdout.log file.
6 (Conditional) To view the log files from Administration Console, click Auditing > General Logging,
then select the file and download it.
7 (Conditional) To view the log files on the device, change to the log directory.
On Linux, change to the /var/opt/novell/nam/logs/idp directory.
On Windows Server, change to the /Program Files/Novell/Tomcat/logs directory.
Troubleshooting 1311
Below are a few typical entries illustrating the most common problems. They are from the
catalina.out file of the Embedded Service Provider:
“The Embedded Service Provider Cannot Resolve the Base URL of Identity Server” on page 1312
“Trusted Roots Are Not Imported into the Appropriate Trusted Root Containers” on page 1312
“The Server Certificate Has an Invalid Subject Name” on page 1313
The Embedded Service Provider Cannot Resolve the Base URL of Identity Server
When the Embedded Service Provider cannot resolve the DNS name of Identity Server, the metadata
cannot be loaded and a hostname error is logged. In the following entries, the Embedded Service
Provider cannot resolve the idpcluster.lab.novell.com name of Identity Server.
<amLogEntry> 2009-08-06T16:24:56Z INFO NIDS Application: AM#500105024:
AMDEVICEID#esp-09C720981EEE4EB4:
AMAUTHID#YfdEmqCT2ZutwybD1eYSpfph8g5a5aMl6MGryq1hIqc=: ESP is requesting
metadata from IDP https://
idpcluster.lab.novell.com/nidp/idff/metadata </amLogEntry>
Trusted Roots Are Not Imported into the Appropriate Trusted Root Containers
When the trusted roots are not imported into the appropriate trusted root containers, a certificate
exception is thrown and an untrusted certificate message is logged. In the following log entries, the
Embedded Service Provider is requesting metadata from Identity Server, but the Embedded Service
Provider does not trust Identity Server certificate because the trusted root of the issuer of Identity
Server certificate is not in the Embedded Service Provider’s trusted root container.
1312 Troubleshooting
<amLogEntry> 2009-08-05T16:07:53Z INFO NIDS Application: AM#500105024:
AMDEVICEID#esp-09C720981EEE4EB4:
AMAUTHID#YfdEmqCT2ZutwybD1eYSpfph8g5a5aMl6MGryq1hIqc=: ESP is requesting
metadata from IDP https://idpcluster.lab.novell.com/nidp/idff/metadata </
amLogEntry>
https://idpcluster.lab.novell.com:8443/nidp/idff/metadata
Open a browser on Access Gateway Service, then enter the same URL.
Troubleshooting 1313
Because Access Gateway Appliance does not have a graphical interface, you need to use the curl
command to test whether Access Gateway Appliance can access the metadata of Identity Server. If
the DNS name of the identity provider is idpcluster.lab.novell.com, enter the following
command from Access Gateway machine:
curl -k https://idpcluster.lab.novell.com:8443/nidp/idff/metadata
To test whether Identity Server can access the metadata URL of Access Gateway, open a browser on
Identity Server machine. If the published DNS name of service provider is www.aleris.net, enter
the following URL:
https://www.aleris.net/nesp/idff/metadata
1314 Troubleshooting
object of type person that contained a common name equal to the Ecom_User_ID field
from the specified JSP form and mail equal to the Ecom_Email field from the same JSP
form.
JSP: The JSP property value needs to be the name of a new .jsp file that includes all the
needed fields for the Query property. The value of this attribute does not include the .jsp
extension of the file. For example, if you create a new .jsp file named login2.jsp, the
value of the JSP property is login2.
For more information about creating custom login pages that prompt for more than
username and password, see “Customizing Identity Server Login Page” on page 287.
Troubleshooting 1315
32.3.3.4 Federation Errors
Most errors that occur during federation occur because of time synchronization problems
between servers. Ensure that all of your servers involved with federation have their time
synchronized within one minute.
When the user denies consent to federate after clicking a Liberty link and logging in at the
identity provider, the system displays an error page. The user should acknowledge that
federation consent was denied and return to the service provider login page. This is the
expected behavior when a user denies consent.
1316 Troubleshooting
32.3.3.7 Duplicate Set-Cookie Headers
The Access Manager releases previous to Access Manager 3.1 SP1 allowed a colon in the Set-Cookie
header. Because the cookie specifications stipulate that a colon character cannot be used in a
cookie, the Set-Cookie header in Access Manager 3.1 SP1 removes the colon and sets a value similar
to the following:
UrnNovellNidpClusterMemberId=~03~0Bslo~0A~0B~14mop~0C~09; Path=/nidp
A second Set-Cookie header is included with the colon value to allow for backward compatibility
with devices that have not been upgraded to Access Manager 3.1 SP1. The devices requiring this old
style cookie include Identity Servers that haven’t been upgraded and any device with an Embedded
Service Provider that hasn’t been upgraded. The old Set-Cookie header value looks similar to the
following:
urn:novell:nidp:cluster:member:id=~03~0Bslo~0A~0B~14mop~0C~09; Path=/nidp
Both cookies contain the same information. Setting the two cookies does not impact functionality or
performance.
32.3.3.8 Identity Server Does Not Convert Passwords Containing Accents over
Letters (åäö) Correctly
Open the web.xml file located at /opt/novell/nids/lib/webapp/WEB-INF/ and add the
following:.
<filter>
<filter-name>EncodingFilter</filter-name>
<filter-
class>org.apache.catalina.filters.SetCharacterEncodingFilter</filter-
class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>EncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Troubleshooting 1317
32.3.4 Problems Reading Keystores after Identity Server Re-installation
This can occur if you replace a hard drive and incorrectly reinstall Identity Server. See Uninstalling
Components in the NetIQ Access Manager 4.5 Installation and Upgrade Guide for the correct
procedure.
32.3.5 After Setting Up the User Store to Use SecretStore, Users Report
500 Errors
If your eDirectory user store is running on SLES 11 SP1 64-bit (or a higher version) on x86-64
hardware, you can install the NMAS SAML method for SecretStore from Administration Console, but
the eDirectory server is missing the required support libraries.
When users try to enter values for SecretStore entries in a form, they receive the following message:
Status: 500 Internal Server Error, Description: Datastore Error
To correct the problem, you need to install the missing libraries on your eDirectory server. For
instructions, see TID 7006437 (http://www.novell.com/support/
viewContent.do?externalId=7006437&sliceId=1).
1318 Troubleshooting
PID = https://idp.siteb.novell.com/nidp/saml/metadata&
TARGET = https://idp.siteb.novell.com/nidp/app
In the identity provider, while adding the service provider, configure ID in the intersite transfer page.
Configure the login URL with port number -2443 instead of the provider ID URL:
https://idp.sitea.novell.com:2443/nidp/saml/idpsend?
id = <idname>&TARGET=https://idp.siteb.novell.com:2443/nidp/app
32.3.9 Attributes Are Not Available Through Form Fill When OIOSAML
Is Enabled
To workaround this issue, create a new attribute set with the OIOSAML mandatory attributes having
remote attribute mapping as its OID equivalent and associate the attribute set to the identity
provider configured at the SP.
3 Click OK.
4 Restart Tomcat.
NOTE: The secure cookies cannot be configured for ESP cluster as the communication between
Access Gateway and NESP is over HTTP on the loopback interface.
Troubleshooting 1319
32.3.12 Apache Portable Runtime Native Library Does Not Get Loaded in
Tomcat
The Apache Portable Runtime (APR) native library is not enabled by default. To workaround this
issue, enable the APR native library.
Steps to enable the APR native library:
1. Download OpenSSl from the download site (http://www.openssl.org/source/).
2. Extract the source (tar -zxvf openssl-version).
3. Compile and install (cd openssl-version) using the ./config, ./config shared, make,
and sudo make install commands.
For example:
idp:~/openssl-0.9.8q #./config
idp:~/openssl-0.9.8q #./config sharedapr-1.4.5
idp:~/openssl-0.9.8q #make
idp:~/openssl-0.9.8q #sudo make install
4. Download APR (http://apr.apache.org/download.cgi).
5. Extract the source (tar -zxvf apr-version).
6. Compile and install (cd apr-version) using the ./configure, make, and sudo make install
commands.
For example:
idp:~/apr-apr-1.4.5 #./configure
idp:~/apr-apr-1.4.5 #make
idp:~/apr-apr-1.4.5 #sudo make install
7. Create a lib folder under Openssl-version. For example, idp:~/openssl-0.9.8q/lib #
8. Copy *.so files from openssl-version to lib using idp:~/openssl-0.9.8q/lib #cp ../*.so.
9. Extract the wrapper library sources located in the Tomcat binary bundle $CATALINA_HOME/bin/
tomcat-native.tar.gz or download the latest version.
10. Extract the source, compile, and install $CATALINA_HOME/bin/tomcat-native-1.1.20-src using
this command:
$CATALINA_HOME/bin/tomcat-native-1.1.20-src/jni/native# ./configure --with-apr=/apr-
version folder location from root --with-java-home=/jdk location from -- libdir=/usr/lib/lib64 --
prefix=/usr/lib/lib64 --with-ssl=/openssl folder verion from root.
Example: Idp1:/var/opt/novell/tomcat7/bin/tomcat-native-1.1.20-src/jni/
native#./configure --with-apr=/root/apr-1.4.5 --with-java-home=/opt/
novell/jdk1.6.0_26/
If the message says "checking OpenSSL library version... ok", installation is successful. If it shows
"checking OpenSSL library version... is not compatible", installation is not successful.
11. Tomcat-Native-library compilation and installation:
idp1:/$CATALINA_HOME/bin/tomcat-native-1.1.20-src/jni/native # make
idp1:/$CATALINA_HOME/bin/tomcat-native-1.1.20-src/jni/native # sudo
make install
1320 Troubleshooting
12. Go to idp:/usr/lib/lib64 #. Crate link of these two files using the following command:
Idp:/usr/lib/lib64 # sudo ln -s libtcnative-1.dylib libtcnative-
1.jnilib
13. Copy all files from Idp:$CATALINA_HOME/bin/tomcat-native-1.1.20-src/jni/native/.libs to your
#Native library path (JAVA_LIB_PATH).
Idp:/var/opt/novell/tomcat7/bin/tomcat-native-1.1.20-src/jni/native/
.libs # cp * /opt/novell/lib64
14. If you are running the application through the APR connectors, it needs the SSL certificate file in
the .pem format.
To Create SSL Certificate File :
a. Log in to Administration Console.
b. Under the Security tab, click Certificates.
c. Select the certificate, which is configured in your IDP Cluster and click that certificate
name.
Example: Configure a certificate with the name [new_idp] and click new_idp.
d. Click Export Private/Public KeyPair.
e. Enter the encryption and decryption password.
f. Save the file. File is saved as .pfx.
g. Convert the .pfx format to .pem using https://www.sslshopper.com/ssl-converter.html.
Certificate file to Convert: Enter the location where you have saved the .pfx file.
Type of Current Certificate: Select PFX/PKCS#12.
Type To Convert To: select Standard PEM.
Click ConvertCerficate.
PFX Password: Enter the same password as given in step e and save the file.
15. If you need to run your Administration Console by using the APR connector, configure the
following details into server.xml of your Administration Console. (vi /opt/novell/nam/
adminconsole/conf/server.xml)
If you need to run your Identity Provider Server using the APR connector you can configure
these details into server.xml of your Identity Provider Server. (vi /opt/novell/nam/idp/conf/
server.xml)
16. APR Lifecycle Listener <Listener className="org.apache.catalina.core.AprLifecycleListener"
SSLEngine="on" />
17. APR Connector configuration:
Example: <Connector port="8443" maxHttpHeaderSize="8192" maxThreads="150"
minSpareThreads="25" maxSpareThreads="75" enableLookups="false" UploadTimeout="true"
acceptCount="100" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS"
SSLEngine="on" SSLCertificateFile="${catalina.home}/tomcatcert.pem"
SSLCertificateKeyFile="${catalina.home}/tomcatkey.pem" SSLPassword="tomcat" /> Give the
SSL Certificate File the same name as you entered for the .pem file.
Troubleshooting 1321
NOTE: SSLCertificateFile and sslProtocol are required to run when you are using the APR
connectors.
32.3.15 SAML Intersite Transfer URL Setup Does Not Work for Non-
brokered Setups after Enabling SP Brokering
To workaround this issue:
Create a brokering group that has local IDP as Identity Provider and SP1 and SP2 as Trusted
Providers.
Create brokering rules for the Intersite Transfer URL requests to SP2. All requests to SP1 will be
allowed.
This tool clears all orphaned federation objects related to Liberty, SAML 1.1, and SAML 2.0 from the
trust and configuration datastore, except for Shared Secret entries.
When the Access Manger setup includes Access Gateway and no persistent or transient federations
have been configured, these objects are not created.
1322 Troubleshooting
Linux:
1 Change the current working directory to /opt/novell/devman/nam_tools/ from a
terminal.
2 Run the following command:
/opt/novell/java/bin/java -classpath .:./lib/nam_tool.jar:./lib/
nidp.jar:./lib/NAMCommon.jar:./lib/bcprov-jdk15on-157.jar:./lib/jcce-
1.1.2.jar -Djava.util.logging.config.file=./conf/logging.properties
com.novell.nam.tools.defed.DefedTool
3 Select the option to delete orphan objects. The tool prompts to provide IP address of the
configuration datastore, port, user DN, and password.
The tool deletes all orphaned federation objects and displays the summary of total number of
federation entries encountered and number of the federation objects deleted.
You can use this tool on a remote server also.
Windows:
1 Go to the C:\Program Files\Novell\nam_tools folder.
2 Run the following command:
C:\Program Files\Novell\nam_tools>java -cp lib/nam_tool.jar;lib/
nidp.jar;lib/NAMCommon.jar;lib/bcprov-jdk15on-157.jar:./lib/jcce-
1.1.2.jar -Djava.util.logging.config.file=conf\logging.properties
com.novell.nam.tools.defed.DefedTool
3 Provide IP address of the configuration datastore, port, user DN, and password.
The tool deletes all orphaned federation objects and displays the summary of total number of
federation entries encountered and number of the federation objects deleted.
You can use this tool on a remote server also.
Troubleshooting 1323
32.3.19 Disabling the Certificate Revocation List Checking
For ADFS 2.0 to work with Access Manger SAML 2.0, you must disable the Certificate Revocation List
(CRL) checking.
To disable the CRL checking:
1 Modify the tomcat.conf file of Identity Server located at /opt/novell/nam/idp/conf/
tomcat.conf.
2 Add this parameterJAVA_OPTS="${JAVA_OPTS} -
Dcom.novell.nidp.serverOCSPCRL=false".
3 Restart Identity Server by using this command: /etc/init.d/novell-idp restart.
32.3.23 SAML 2.0 POST Compression Failure Does Not Throw a Specific
Error Code
The POST Compression feature is supported when both the identity provider and service provider
understand SAML 2 POST deflate and inflate. If the service provider sends a compressed message,
the identity provider needs to decompress the message and vice-versa. For the Access Manager
identity server and service provider, the nidpconfig.properties file located in /opt/novell/
nam/idp/webapps/nidp/WEBINF/classes needs to be modified to enable the SAML 2.0 POST
deflate and inflate.
1324 Troubleshooting
32.3.24 SAML 1.1 Service Provider Re-requests for Authentication
SAML 1.1 service provider performs a strict check on the name space of the attributes received in
assertion.
To disable this, perform the following steps:
1 Click Devices > Identity Servers > Edit > Options > New.
2 Select SAML1X ATTRIBUTE MATCH BY NAME in Property Type.
3 Select true in Property Value.
4 Click OK > Apply.
NOTE: Check for the endorsed folder in Tomcat (Catalina Home). This folder should contain stax-
api-1.0.1.jar, serializer.jar, xalan.jar, xercesImpl.jar, and xml-apis.jar.
32.3.26 Identity Server Statistics Logs Do Not Get Written In Less Than
One Minute
Identity Server statistics logs do not get written before one minute even though the time specified is
less than one minute, for example, 10 seconds. This issue happens only when the time is specified to
less than one minute.
Do not specify the time less than one minute. As a best practice, you should not set small period
because it increases the load on the server and also increases the log file size exponentially.
Troubleshooting 1325
32.3.27 No Error Message Is Written in the Log File When an Expired
Certificate Is Used for the X509 Authentication
When a user tries to authenticate with an expired client certificate, the authentication fails. The log
file does not have any information about the expiration of the certificate. Browsers also do not
display any error message about it.
To see the logs related to expired certificates, perform the following steps:
1 Enable the following Java option in tomcat.conf under /opt/novell/nam/idp/conf/:
JAVA_OPTS="${JAVA_OPTS} -Djavax.net.debug=ssl,handshake"
This option enables SSL logs.
2 Restart Identity Server.
1326 Troubleshooting
NOTE: User details are fetched once per administration session. The last updated date is
displayed. To refresh the data, click Refresh.
Troubleshooting 1327
32.3.31 nidp/app Does Not Redirect to nidp/portal after Authentication
After restarting Identity Server, accessing https://idp:port/nidp/app first time does not
redirect to https://<idp-url>: port/nidp/portal.
Workaround: After restarting Identity Server, access User Portal first time by using https://
idp:port/nidp/. Afterwards, the redirection works fine.
32.3.32 Login to Office 365 Fails when WS-Trust MEX Metadata Is Larger
than 65 KB
After upgrading Access Manager from a version earlier than 4.0 Service Pack 1, if you have
configured Identity Server to point to the Load Balancer virtual IP address than the real IP addresses
of the LDAP replica servers, Identity Server’s request to different LDAP server replicas fails.
Identity Server health becomes yellow from green and displays the following warning:
Ensure that the following replicas are operating correctly XXXX
After validating the LDAP server replica, the following message is displayed:
Server certificate change is restricted during renegotiation
This happens because Access Manager uses JDK version 7u71 or later from the version 4.0 Service
Pack 1 onwards. In JDK 7u71, unsafe server certificate change in SSL/TLS renegotiations is not
allowed by default.
To workaround this issue, perform any one of the following actions:
Add the following line in the /opt/novell/nam/idp/conf/tomcat.conf file:
JAVA_OPTS="${JAVA_OPTS} -Djdk.tls.allowUnsafeServerCertChange=true"
Instead of specifying the load balancer virtual IP address as the LDAP replica server, ensure that
Identity Server refers to each LDAP server directly and not through the load balancer. In this
way, Identity Server maintains all communications with the LDAP servers directly, maintains
states and connection information.
Create a wildcard certificate and assign this server certificate to all the LDAP servers in the
replica ring.
1328 Troubleshooting
32.3.34 Viewing Request and Response Headers of All Protocols in a Log
File
You can use one of the following options:
Option 1:
Perform the following steps:
1 Add the following filter to /opt/novell/nam/idp/conf/web.xml:
<filter>
<filter-name>requestdumper</filter-name>
<filter-class>
org.apache.catalina.filters.RequestDumperFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>requestdumper</filter-name>
<url-pattern>*</url-pattern>
</filter-mapping>
2 Add the following to the /opt/novell/nam/idp/conf/logging.properties file:
# Dumper
1request-dumper.org.apache.juli.FileHandler.level = INFO
1request-dumper.org.apache.juli.FileHandler.directory =
${catalina.base}/logs
1request-dumper.org.apache.juli.FileHandler.prefix = request-dumper.
1request-dumper.org.apache.juli.FileHandler.formatter =
org.apache.juli.VerbatimFormatter
org.apache.catalina.filters.RequestDumperFilter.level = INFO
org.apache.catalina.filters.RequestDumperFilter.handlers = 1request-
dumper.org.apache.juli.FileHandler
3 Update the following handler in the /opt/novell/nam/idp/conf/logging.properties
file:
handlers = 1catalina.org.apache.juli.FileHandler,
2localhost.org.apache.juli.FileHandler,
3manager.org.apache.juli.FileHandler, 4host-
manager.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler,
1request-dumper.org.apache.juli.FileHandler
A log file is created at /var/opt/novell/nam/logs/idp/tomcat/ that contains a log of all
the headers. A sample log file format: request-dumper.2016-05-09.log.
Option 2:
Add the following in /opt/novell/nam/idp/conf/tomcat.conf:
Troubleshooting 1329
JAVA_OPTS="${JAVA_OPTS} -
Dcom.sun.xml.wss.provider.wsit.SecurityTubeFactory.dump=false"
JAVA_OPTS="${JAVA_OPTS} -
Dcom.sun.xml.ws.transport.http.HttpAdapter.dump=true"
JAVA_OPTS="${JAVA_OPTS} -
Dcom.sun.xml.ws.transport.http.client.HttpTransportPipe.dump=true"
NOTE: Adding a new Identity Server cluster after configuring the Advanced Authentication server is
not recommended. However, if you must create a new Identity Server cluster, then perform the
workaround steps.
1330 Troubleshooting
Perform the following steps:
1 Click Devices > Identity Servers > Shared Settings > Advanced Authentication.
2 Delete the domain name or IP address of the Advanced Authentication server and specify a
dummy IP address. For example, 10.10.10.11.
3 Delete the config.xml file from each Identity Server node located in the following locations:
Linux: /etc/aaplugin/
Windows: C:/Program Files/Novell/aaplugin
4 Go to the Advanced Authentication administration portal and delete the endpoints.
5 At Access Manager, navigate to Devices > Identity Servers > Shared Settings > Advanced
Authentication again and specify the domain name or IP address of the Advanced
Authentication server.
6 Click Apply.
7 Verify that the endpoint’s ID and secret key are generated in the config.xml file.
8 Verify that the endpoint has been created in the Advanced Authentication server. Go to the
Advanced Authentication administration portal and verify that the hostname or domain name
of the Identity Server cluster is displayed as the endpoint under Endpoints.
This resolves the issue. You can now navigate to Devices > Identity Servers > Edit > Local and create an
authentication class, method, and contract.
Creating a FIDO method in the preceding step creates another issue:
Users authenticating through FIDO contract cannot log in. When the user activates the FIDO device,
Access Manager displays an error message that the authentication has failed.
To workaround this issue, perform the following steps:
1 Click Security > Trusted Roots.
2 Add the Advanced Authentication server certificate to the Trust store of the new Identity Server
cluster:
2a Select the Advanced Authentication server certificate that was generated when you
configured the Advanced Authentication server.
2b Click Add Trusted Roots to Trust Stores.
2c Select the Trust store and click OK.
3 Update Identity Server.
Troubleshooting 1331
Perform the following steps to update the port at the global level:
1 Click Devices > Identity Server > Edit > OAuth & OpenID Connect > Global Settings.
2 Under CORS Domains, edit the Limit To field. Ensure that the scheme and domain are correct,
then add the port.
For example, specify https://abc.example.com:8543.
Perform the following steps to update the port at the client application level:
1 Click Devices > Identity Server > Edit > OAuth & OpenID Connect > Client Applications.
2 Select the client application and click Authorized JavaScript origins (CORS).
3 Under Domains, ensure that the scheme and domain are correct, then add the port.
For example, specify https://abc.example.com:8543.
NOTE: Do not specify the port if you are using port 80 or 443.
32.3.39 The User Portal Page Does Not Display the Branding
In a SAML 2.0 federation, the post-authentication page does not display the branding while the user
executes the post-authentication method.
Workaround: Configure a post-authentication method that does not require user inputs, such as
passwordfetch method.
Section 32.4.1, “Launching Access Manager Dashboard Displays a Blank Page,” on page 1333
Section 32.4.2, “Graphs Do Not Display Any Data When You Launch Access Manager
Dashboard,” on page 1333
Section 32.4.3, “Clearing the Existing Realtime Data to View the Imminent Data on Graphs,” on
page 1333
Section 32.4.4, “Cannot Launch Access Manager Dashboard After Reimporting Analytics server,”
on page 1334
Section 32.4.5, “The Analytics Server Health Is Not Reported to Administration Console,” on
page 1334
Section 32.4.6, “Access Manager Dashboard Does Not Display Graphs, but Displays the Health
Status of Devices,” on page 1334
1332 Troubleshooting
32.4.1 Launching Access Manager Dashboard Displays a Blank Page
When you launch Access Manager Dashboard, it displays a blank screen. This can happen when time
is not synchronized between Administration Console and Analytics Server. The time must be same
on both servers. To understand if the issue is with time synchronization, you can check the log file at
/opt/novell/nam/dashboard/logs/catalina.out. If the time is not synchronized, you will
get the log information similar to the following example:
Security exception for user JWT expired at 2020-08-09T11:03:39+0530.
Current time: 2020-08-09T16:21:44+0530
If the time is synchronized but Access Manager Dashboard URL launches a blank page, then you
must perform the following on Administration Console Dashboard:
1 Click Troubleshooting > Certificates.
2 Click the certificate for Analytics Server.
3 Click Re-push certificates.
32.4.2 Graphs Do Not Display Any Data When You Launch Access
Manager Dashboard
When you launch the dashboard, it does not display data on the graphs. Also, the health of devices
that are displayed on the graphs for Identity Server, Access Gateway, Access Gateway Clusters, and
Identity Server Clusters is unavailable. This happens because the realtime index, where the events
are received and stored, does not exist on the Analytics Server.
To resolve this issue and view the realtime data graphs, perform the following steps:
1 Connect to Analytics Server by using SSH.
2 Run the following command to verify if the realtime events are getting stored in the realtime
index:
GUI command: Click Access Manager Dashboard > Dev tools GET realtime/_search
3 (Conditional) If you get the error "IndexMissingException[[realtime]
missing]","status":404, run the following command to list all indexes that are present
within Analytics Server:
GUI command: Click Access Manager Dashboard > Dev tools GET _cat/aliases?v
32.4.3 Clearing the Existing Realtime Data to View the Imminent Data
on Graphs
If you want to clear the existing realtime data to view only the latest data on the dashboard, you
must perform the following steps:
1 Use the SSH client to connect to Analytics Server.
2 Delete the realtime index data by using the following command:
GUI command: Click Access Manager Dashboard > Dev tools POST realtime/
_delete_by_query
{
Troubleshooting 1333
"query": {
"match_all": {}
}
}
It takes few minutes for the data to be reflected on the graphs.
rcnovell-jcc restart
1334 Troubleshooting
GET realtime/_count
{
"query": {"match": {
"eventID":
"002E000A"
}}
}
Troubleshooting 1335
32.5 Troubleshooting Certificate Issues
Section 32.5.1, “Resolving the JCC Communication between Devices and Administration
Console,” on page 1336
Section 32.5.2, “The Self-Signing Certificate Is Expired for Port 10013 on Analytics Server,” on
page 1337
Section 32.5.3, “Resolving Certificate Import Issues,” on page 1337
Section 32.5.4, “Mutual SSL with X.509 Produces Untrusted Chain Messages,” on page 1339
Section 32.5.5, “Certificate Command Failure,” on page 1340
Section 32.5.6, “Cannot Log In with Certificate Error Messages,” on page 1340
Section 32.5.7, “When a User Accesses a Resource, the Browser Displays Certificate Errors,” on
page 1340
Section 32.5.8, “Canceling Certificates Modification Results in Errors,” on page 1341
Section 32.5.9, “A Device Reports Certificate Errors,” on page 1341
Section 32.5.10, “Renewing the expired eDirectory certificates,” on page 1341
Section 32.5.11, “Certificate Trust Store Objects of the Identity Server Clusters Are Deleted
Randomly,” on page 1341
1336 Troubleshooting
Linux: conf/reimport_ags.sh jcc
Windows: conf\reimport_ags.bat jcc
5 Restart JCC
Linux: /etc/init.d/novell-jcc restart
Windows: Navigate to Control Panel > Administrative Tools > Services, then restart the
JCCServer service.
6 Restart the affected devices.
Troubleshooting 1337
To ensure that your certificate contains all the intermediate certificates and contains them in the
right order, import the certificate into Internet Explorer or Firefox.
For Internet Explorer, click Tools > Internet Options > Content > Certificates > Personal > Import.
For Firefox, click Tools > Options > Advanced > Encryption > View Certificates > Your Certificates >
Import.
Make sure the browser contains the public key for all the intermediate CAs. Then select the
certificate and export the certificate in .pfx format. In Internet Explorer, you must select to include
all the certificates in the chain. In Firefox, all the certificates in the chain are automatically included.
If you receive an error when importing the certificate, the error comes from either NICI or PKI. For a
description of these error codes, see Novell Certificate Server Error Codes and Novell International
Cryptographic Infrastructure (http://www.novell.com/documentation/nwec/index.html).
32.5.3.3 When the Full Certificate Chain Is Not Returned During an Automatic
Import of the Trusted Root
Access Manager allows you to automatically import the trusted root under the following conditions:
When enabling SSL communication between Access Gateway and the web server, you can
automatically import the root CA from the web server.
When setting up the user stores for Identity Server and adding the server replicas, you can
automatically import the root CA of the LDAP server.
If there are multiple certificates in the chain, sometimes the server does not send all the certificates
in the chain. When this happens, the following message is displayed:
The root CA certificate was not returned by the server. It might be
necessary
to manually import the root CA certificate and possible intermediate CA
certificates in order to complete the chain.
1338 Troubleshooting
To correct this problem, you need to manually import the missing entries. The easiest method to
obtain all the certificates in the chain, including the root CA, is to import the server certificate into
Internet Explorer, then export the chain and import it into Access Manager. If Access Manager
already has some of the certificates, it skips their import and imports only the missing certificates.
For instructions on this process, see “Using Internet Explorer to Add a Trusted Root Chain” on
page 1339.
Troubleshooting 1339
32.5.5 Certificate Command Failure
Certificate commands are generated when you upgrade Administration Console. Ensure that they
have completed successfully.
1 To determine whether a certificate command has failed, click Security > Command Status.
2 Note the destination trust store or keystore of the failed command.
3 Click Troubleshooting > Certificates.
The Certificates page displays all the keystores and trust stores configured for Access Manager.
4 Select the store, then click Re-push certificates.
This sends all assigned certificates to the store. You can re-push certificates multiple times
without causing any problems.
1340 Troubleshooting
32.5.8 Canceling Certificates Modification Results in Errors
An Access Gateway has the following issue when the certificate modifications are canceled:
If you make certificate changes on the Reverse Proxy or the Web Servers page, click the
Configuration Panel link, and then cancel the changes on the Configuration page, the Reverse Proxy is
configured with an invalid certificate.
To correct the problem, return to the page and select the old certificate. As soon as you exit the
page, the certificate is pushed to the device. Because you did not change the certificate, you do not
need to restart the Embedded Service Provider.
32.5.11 Certificate Trust Store Objects of the Identity Server Clusters Are
Deleted Randomly
When a trusted root certificate is added in Administration Console, the logs indicate that the cluster
object cannot be found. As a result, the truststore objects are deleted.
Use the following API to resolve this issue:
API: GET /roma/rest/keystores/idp?repair=true
Parameters
Repair: If specified, it recreates missing keystores automatically.
If not specified, it returns the state of keystores for Identity Server clusters.
Troubleshooting 1341
Response:
[
{
"clusterName": "IDPCluster",
"clusterID": "SCCw7xa8a",
"status": "Keystores have been repaired"
}
]
This API iterates through all Identity Server clusters and recreates keystores as needed.
1342 Troubleshooting
3 Select to echo the trace messages to the console:
For the Linux Access Gateway Appliance, Linux Access Gateway Service, or Linux Identity
Server, this sends the messages to the catalina.out file.
For the Linux Access Gateway Service or Windows Identity Server, this sends the messages
to the stdout.log file.
4 (Optional) Specify a path for Identity Server log files.
If you have a mixed platform environment (for example, Identity Server is installed on Windows
and Access Gateway is on Linux), do not specify a path.
5 For policy evaluation tracing, set the Application level to info in the Component File Logger
Levels section.
If you are only troubleshooting policies at this time, do not select any other options. This
reduces the amount of information recorded in the log files.
To see the policy SOAP messages, you need to set the Application level to verbose.
6 Update Identity Server.
7 Click Auditing > General Logging and download Identity Server and ESP catalina.out logs.
For role evaluation traces, view Identity Server catalina.out file (Linux) or the
stdout.log file (Windows).
If your Identity Servers are clustered, you need to look at the file from each Identity Server.
For Authorization, Form Fill, and Identity Injection evaluation traces, view the log file of
ESP of the device that is protecting the resource.
Linux Access Gateway Appliance or Service: This is the catalina.out file of Access
Gateway where the protected resource is defined. If Access Gateway is part of a
cluster, you need to look at this file from each Access Gateway in the group.
To view the actual ESP log file that contains only ESP log messages, see the
nidp.*.xml files in the /var/opt/novell/tomcat7/webapps/nesp/WEB-INF/
logs directory (or the directory you specified in Step 4). Depending upon how you
have configured File Wrap, the * portion of the filename contains the month, the
week, the day, and the hour.
Windows Access Gateway Service: This is the stdout.log file of Access Gateway
where the protected resource is defined. If Access Gateway is part of a cluster, you
need to look at this file from each Access Gateway in the group.
To view the actual ESP log file that contains only ESP log messages, see the
nidp.*.xml files in the \Program
Files\Novell\tomcat\webapps\nesp\WEB-INF\logs directory (or the
directory you specified in Step 4). Depending upon how you have configured File
Wrap, the * portion of the filename contains the month, the week, the day, and the
hour.
8 To understand what you are looking for in the log file, continue with one of the following:
“Understanding Policy Evaluation Traces” on page 1397 if you set Application level to info.
Section 32.6.9, “Policy Evaluation: Access Gateway Devices,” on page 1350 if you set
Application level to verbose.
Troubleshooting 1343
32.6.2 Common Configuration Problems That Prevent a Policy from
Being Applied as Expected
When you try to determine what is functioning incorrectly in a policy, you need to turn on policy
tracing and understand the evaluation traces. See the following:
Section 23.6, “Turning on Logging for Policy Evaluation,” on page 1164
“Understanding Policy Evaluation Traces” on page 1397
The CO entry line of a policy trace identifies when a policy condition evaluates to False or True. The
PA entry line indicates whether the Action was applied or ignored. If the results of the policy trace
are not what you expected for the user, the next step is to determine why the policy isn’t behaving
the way you want it to. Check for the following problems:
Section 32.6.2.1, “Enabling Roles for Authorization Policies,” on page 1344
Section 32.6.2.2, “LDAP Attribute Condition,” on page 1345
Section 32.6.2.3, “Result on Condition Error Value,” on page 1345
Section 32.6.2.4, “An External Secret Store and Form Fill,” on page 1346
1344 Troubleshooting
32.6.2.2 LDAP Attribute Condition
If you use an LDAP attribute as the condition for a Role policy or an Authorization policy and your
users are not being assigned the role or are denied access to a resource, the most likely cause of the
problem is the LDAP attribute name used in the policy. Some administration tools for the LDAP user
stores display a UI name or an eDirectory™ name rather than the LDAP attribute name. Access
Manager policies require the LDAP attribute name.
Use the following steps to identity whether the Access Manager policy has been configured for the
LDAP attribute name, a UI name, or an eDirectory name:
1 Use an LDAP browser to view one of your users in your LDAP user store.
You can download a Java-based tool from the Internet.
2 Verify the LDAP name of the attribute and that the user has the expected value.
3 In Administration Console Dashboard, click Policies > Policies > [Name of Policy] > Rule Number.
4 View the attribute name and value for the LDAP Attribute condition.
5 Verify the following:
The name of the attribute should match the name as displayed in the LDAP browser. The
attribute name is not case sensitive, but it should not contain any spaces. If you need to
modify the attribute used by the policy, click the attribute name, then select an attribute
from the list or select New LDAP Attribute to add one.
The value can be case sensitive, depending upon how you have configured the Mode for
the policy. If you have selected case sensitive for the Mode, ensure that the case in the
policy matches the case in the LDAP user store.
If the attribute is multi-valued and your users typically have multiple values, select
Substring as the Comparison type.
6 If these steps have not solved the problem, see “Result on Condition Error Value” on page 1345.
The logic is harder to follow when you start adding “if not” to the conditions. The user then matches
the condition by not matching the condition. For this type of condition, you need to ask whether you
want the action applied to any user when an error occurs evaluating the condition.
The logic is even harder to following when you start adding multiple condition groups that can also
have “or nots” and “if nots”.
Troubleshooting 1345
If you have a policy that uses “if not” conditions or uses multiple condition groups and it is not
producing the expected results, you might want to rewrite the policy so that it contains only positive
conditions.
You might want to modify the condition groups so that the policy uses multiple rules, with each rule
containing one condition group with the conditions you want the user to match for the action you
assign to the rule.
1346 Troubleshooting
Condition Data Refresh Interval
Client IP Request
URL Request
X-Forwarded-For IP Request
Troubleshooting 1347
32.6.4 Form Fill and Identity Injection Silently Fail
Login with Form Fill or Identity Injection can fail when all of the following conditions occur:
Your user store is configured to use Novell® SecretStore®.
The shared secrets needed for Form Fill or Identity Injection are locked because the shared
secrets are used by another application that is using the enhanced security feature. For
example, if the application writes a secret called ssn, and you use that same secret in a Form Fill
or Identity Injection policy, that secret is locked whenever the admin changes the user’s
password. Access Manager does not use the enhanced security feature when it writes shared
secrets.
The new unlock feature for SecretStore can resolve this issue. See “Determining a Strategy for
Unlocking SecretStore” on page 393.
1348 Troubleshooting
32.6.8 Policy Distribution
Policy definitions are not replicated, but are referenced by Access Gateways for which the policy is to
be evaluated. The policy reference mechanism is a set of XML elements that refer back to the policy
definitions stored in the various policy containers. If you have configured a policy for a protected
resource and an Access Gateway does not seem to be executing this policy, use the following
procedures to verify that Access Gateway has been configured to use the policy:
1 Set the level of Application logging to verbose. See Section 23.6, “Turning on Logging for Policy
Evaluation,” on page 1164.
This enables the tracing of the policy enforcement lists.
2 Search for name of your policy in a <PolicyEnforcementList> element. The
ExternalElementRef attribute contains a reference to the policy name.
You can find these elements in the catalina.out file (Linux) or stdout.log file (Windows).
3 If you cannot find the policy name, Access Gateway has not been configured to use the policy.
The configuration either needs to be applied or the policy needs to be enabled. For information
about how to assign a policy to a protected resource, see Section 2.6.5, “Configuring Protected
Resources,” on page 134.
4 If you find the policy name associated with the correct protected resource, you need to check
why the policy is not evaluating according to your design. Set the level of Application logging to
info and examine the policy trace from a user accessing the protected resource. See
“Understanding Policy Evaluation Traces” on page 1397.
Troubleshooting 1349
32.6.9 Policy Evaluation: Access Gateway Devices
The following diagram depicts how Authorization policies fit into the protected resource processing
for the proxy.
Figure 32-8 Policy Evaluation
Request Received
Protected
Resource NO
Defined?
YES
Authentication
Authentication
YES Returns NO
Enabled?
Success?
NO YES
Authorization
Authorization
YES Returns NO
Policy?
Success?
NO YES
Policies for Access Gateway devices are evaluated by the policy engine in Java. A SOAP interface is
used to transition from the proxy to Java and back. To see the SOAP messages, you need to set the
logging level of the Application level to verbose. See Section 23.6, “Turning on Logging for Policy
Evaluation,” on page 1164.
The SOAP messages are output to the catalina.out file (Linux) or stdout.log file (Windows).
Sample SOAP messages are shown in the following scenarios:
Section 32.6.9.1, “Successful Policy Configuration Example,” on page 1351
Section 32.6.9.2, “No Policy Defined Configuration Example,” on page 1351
Section 32.6.9.3, “Deny Access Configuration/Evaluation Example,” on page 1353
1350 Troubleshooting
32.6.9.1 Successful Policy Configuration Example
Note the Policy Enforcement Point (PEP) identifier of AGIdentityInjection in the request and the
PolicyID in the response.
Configuration Request
toBufSeg: <?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/
envelope/">
<SOAP-ENV:Body>
<NXPES ID="12">
<Configure-ag PEPName="AGIdentityInjection">
<PolicyEnforcementList
RuleCombiningAlgorithm="DenyOverridesWithPriority"
schemaVersion="1.32"
LastModified="1138389868885"
LastModifiedBy="cn=admin,o=novell">
<PolicyRef ElementRefType="ExternalWithIDRef"
ExternalElementRef="PolicyID_xpemlPEP_AGIdentity
Injection_ii_test"
ExternalDocRef="ou=xpemlPEP,ou=mastercdn,
ou=ContentPublisherContainer,ou=Partition,
ou=PartitionsContainer,ou=VCDN_Root,ou=access
ManagerContainer,o=novell:romaContentCollection
XMLDoc"
UserInterfaceID="PolicyID_xpemlPEP_AGIdentity
Injection_ii_test"/>
</PolicyEnforcementList>
</Configure-ag>
</NXPES>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Configuration Response
LibertyProcessMsgCB:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/
envelope/">
<SOAP-ENV:Body>
<NXPES Id="" Status="success">
<ConfigureResponse PolicyId="755OK8P0-7543-518M-8L8M-N0P2LM2
N3O27">
<ContextDataElement Enum="2551"/>
</ConfigureResponse>
</NXPES>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Troubleshooting 1351
Configuration Request
toBufSeg: <?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/
envelope/">
<SOAP-ENV:Body>
<NXPES ID="11">
<Configure-ag PEPName="AGAuthorization">
<PolicyEnforcementList
RuleCombiningAlgorithm="DenyOverridesWithPriority"
schemaVersion="1.32"
LastModified="1138389868885"
LastModifiedBy="cn=admin,o=novell">
<PolicyRef ElementRefType="ExternalWithIDRef"
ExternalElementRef="PolicyID_xpemlPEP_AGIdentity
Injection_ii_test"
ExternalDocRef="ou=xpemlPEP,ou=mastercdn,ou=Content
PublisherContainer,ou=Partition,ou=Partitions
Container,ou=VCDN_Root,ou=accessManager
Container,o=novell:romaContentCollectionXMLDoc"
UserInterfaceID="PolicyID_xpemlPEP_AGIdentityInjection_
ii_test"/>
</PolicyEnforcementList>
</Configure-ag>
</NXPES>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Configuration Response
LibertyProcessMsgCB:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/
envelope/">
<SOAP-ENV:Body>
<NXPES Id="" Status="emptypolicyset"/>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
1352 Troubleshooting
32.6.9.3 Deny Access Configuration/Evaluation Example
The following is a sample of a configuration request for a Deny policy and an evaluation request for
this policy.
Configuration Request
toBufSeg: <?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/
envelope/">
<SOAP-ENV:Body>
<NXPES ID="17">
<Configure-ag PEPName="AGAuthorization">
<PolicyEnforcementList
RuleCombiningAlgorithm="DenyOverridesWithPriority"
schemaVersion="1.32"
LastModified="1138718667305"
LastModifiedBy="cn=admin,o=novell">
<PolicyRef
ElementRefType="ExternalWithIDRef"
ExternalElementRef="PolicyID_xpemlPEP_AGIdentityInjection
_custom_test"
ExternalDocRef="ou=xpemlPEP,ou=mastercdn,ou=Content
PublisherContainer,ou=Partition,ou=PartitionsContainer,
ou=VCDN_Root,ou=accessManagerContainer,o=novell:roma
ContentCollectionXMLDoc"
UserInterfaceID="PolicyID_xpemlPEP_AGIdentityInjection
_custom_test"/>
<PolicyRef
ElementRefType="ExternalWithIDRef"
ExternalElementRef="PolicyID_xpemlPEP_AGAuthorization_
deny-all"
ExternalDocRef="ou=xpemlPEP,ou=mastercdn,ou=Content
PublisherContainer,ou=Partition,ou=PartitionsContainer,
ou=VCDN_Root,ou=accessManagerContainer,o=novell:roma
ContentCollectionXMLDoc"
UserInterfaceID="PolicyID_xpemlPEP_AGAuthorization
_deny-all"/>
</PolicyEnforcementList>
</Configure-ag>
</NXPES>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Troubleshooting 1353
Configuration Response
LibertyProcessMsgCB:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/
envelope/">
<SOAP-ENV:Body>
<NXPES Id="" Status="success">
<ConfigureResponse
PolicyId="55N3NL81-L29N-2619-K0M8-2L963M0MM701"/>
</NXPES>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Evaluation Request
toBufSeg: <?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/
envelope/">
<SOAP-ENV:Body>
<NXPES ID="18">
<Evaluate PolicyId="55N3NL81-L29N-2619-K0M8-2L963M0MM701"
Verbose="on"/>
</NXPES>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Evaluation Response
LibertyProcessMsgCB:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/
envelope/">
<SOAP-ENV:Body>
<NXPES Id="" Status="success">
<EvaluateResponse>
<DoAction ActionName="Deny" ActionTTL="-1" Enum="2620">
<Parameter Enum="10" Name="Message" Value=""/>
</DoAction>
</EvaluateResponse>
</NXPES>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
1354 Troubleshooting
Section 32.7.4, “Changes to MobileAccess do not Appear in Administration Console,” on
page 1355
Section 32.7.5, “Facebook Basic SSO Connector Does Not Work from MobileAccess,” on
page 1356
32.7.1 Using the Same Mobile Device for Different Users Causes the
Expired Session Error
Issue: You have a company iPad or Android tablet. User1 has registered and used the tablet with the
company and then left the company. You deregister User1 and then reassign the tablet to User2.
After User 2 registers the tablet and tries to access an appmark, they get an error of expired session.
Solution: The user must try the appmark a second time and then they can access the resource. The
reason for this is a cookie still exists for User1, who no longer is valid. The second attempt replaces
the cookie with a valid cookie for User2.
Troubleshooting 1355
Solution: Access Manager synchronizes the changes between Administration Consoles and this can
take some time. There is a built-in delay so that the changes have time to synchronize between
Administration Consoles. If you need a further delay than the built-in delay, you can increase the
delay with a Java parameter. The Java parameter is defined in a configuration file on Linux and as a
registry key on Windows servers.
This problem occurs when you change the Branding of the User Portal page as well. If you make the
change for MobileAccess, you do not need to make additional changes to fix Branding. The solution
is the same for both features.
JAVA_OPTS="${JAVA_OPTS} -DAMSrvDoorBellDelay=10000"
The value is in milliseconds. This example increases the delay to 10 seconds.
1c Save and close the tomcat8.conf file.
1d Restart Tomcat to have the parameter take effect.
/etc/init.d/novell-ac restart
2 (Conditional) If you have a Windows server, you must add a registry key.
2a Launch the Registry Editor as an administrator, by clicking Start > Run, then enter regedit.
2b In the left pane of the Registry Editor, navigate to My Computer > HKEY_LOCAL_MACHINE
>SOFTWARE > Wow6432Node > Apache Software Foundation > Procurn2.0 > Tomcat8 >
Parameters > Java.
2c Double-click Options in the right pane of the Registry Editor.
2d Add the following key with the delay value that is appropriate for your environment:
-DAMSrvDoorBellDelay=10000"
The value is in milliseconds. This example increases the delay to 10 seconds.
2e Close the Registry Editor.
2f Restart Tomcat by using the following commands:
1356 Troubleshooting
the user does not get the username and password field on the same login page. Therefore, Facebook
login from MobileAccess is not possible. And, if the user selects Login to another account, the login
page fields do not get populated.
Solution: Remove the existing Facebook account from the device.
Troubleshooting 1357
See the details of the failure Administration Console tomcat logs at the following location:
Linux: /opt/novell/nam/adminconsole/logs/catalina.out
Windows: \Program Files\Novell\Tomcat\logs\stdout.log
Windows: \Program Files\Novell\Tomcat\logs\stderr.log
Collect the error details and contact the Technical Support team.
To restore your system, go to the Dashboard and click the drop-down menu in the upper right corner
> Code Promotion. You will find the backup file that was created as part of import. Download the file
and then click Import Configuration on the same page. Re-import this backup configuration to
restore to the previous configuration.
1358 Troubleshooting
The server.xml file includes the address parameter within <Connector
NIDP_Name="connector">
2 Perform one of the following options:
(Recommended) Add 127.0.0.1 to the address parameter
This limits the connector to listen on port 8443 for only the mentioned IP addresses.
Remove the address parameter
This allows the Connector to listen on any IP address that is configured in the system, which
can be a security issue or a clash with another service listening on port 8443 on another
NIC of the same server.
For more information about this issue, see TID 7018876 (https://www.novell.com/support/kb/
doc.php?id=7018876).
Troubleshooting 1359
Ensure that while importing, no other administrator is making changes to configuration. If it is
already locked, click Please unlock to override. Unlock Access Gateway cluster in Access Gateway user
interface for which you are importing the configuration data.
32.8.2.5 Access Gateway Cluster Is Not Associated with any Identity Server
Error message: Could not generate Access Gateway import overview
Ensure that you associate Access Gateway cluster with an Identity Server cluster before importing
protected resources that have Identity Server dependencies such as contracts and custom attributes.
32.8.2.8 Cannot Import a Virtual Proxy Service to SSL enabled Master Proxy
Error message: Invalid input
Cannot import the new virtual proxy service in (name of reverse proxy) >
(name of proxy service) from source Access Gateway cluster <name of the
cluster> because SSL is enabled in the reverse proxy <name of the reverse
proxy on the target system> in the target Access Gateway cluster.
Import of virtual proxy services to a SSL enabled proxy service in the target system is not allowed.In
such cases, ensure that you exclude virtual proxy services during import.
1360 Troubleshooting
32.8.2.9 Cookie Domain and Published DNS Name Do Not Match
Error message: Domain-Based Multi-Homing requires the Published Domain Name of
proxy service <name of the proxy service being imported> to be in the
Cookie Domain of the first Proxy Service under Reverse Proxy
Master proxy service's cookie domain does not match with the imported Domain Based Proxy
Service's DNS name.
Update the published DNS name for the specified proxy service while importing it.
For importing a proxy service or protected resource, if the corresponding reverse proxy or master
proxy service does not exist, then you must create reverse proxy and master proxy service on the
target system before starting the Code Promotion import.
Importing only selected protected resources for a domain-based proxy service that does not exist in
the target setup fails. You must also import the related domain-based proxy service in such cases.
Troubleshooting 1361
32.8.2.14 DNS Name Is Not Unique
Error message: Published DNS Name is not unique under Reverse Proxy in the
target setup.
DNS name must be unique under a reverse proxy. Specify a unique name in the Published DNS Name
field for the proxy service during import.
32.9.1 Enabling the Debug Option for the Device Fingerprint Rule
When enabled, the debug option shows all parameters fetched from the browser before submitting
the fingerprint.
Perform the following steps to enable the debug option for the Device Fingerprint rule:
1 Linux: Open /opt/novell/nam/idp/conf/tomcat.conf of Identity Server:
Windows: Go to \Program Files\Novell\Tomcat\bin. Double click tomcat8w and open
the Java tab.
2 Add the following option:
1362 Troubleshooting
JAVA_OPTS="${JAVA_OPTS} -
Dcom.microfocus.nam.device.fingerprint.debug=true"
3 Restart Identity Server.
NOTE: When the Debug option is enabled, the fingerprint data is shown to all users during log in to
Identity Server. It is recommended to disable this option after debugging is completed.
The following sections include evaluation traces and log entries in different scenarios for this rule:
Section 32.9.2.1, “A Fingerprint Does Not Exist,” on page 1363
Section 32.9.2.2, “Fingerprint Matches,” on page 1364
Section 32.9.2.3, “Fingerprint Does Not Match,” on page 1365
Section 32.9.2.4, “When Fingerprint Matches though Some Parameters in the Group Do Not
Match,” on page 1366
Section 32.9.2.5, “When Fingerprint Does Not Match as the Evaluation of Group Parameters
Fails,” on page 1367
Troubleshooting 1363
Evaluating device fingerprint for user: cn=admin,o=novell
Correlation ID: NA
Currently fetched device info:
{"cpuArchitecture":{"cpuArchitecture_cpuArchitecture":"amd64"},"deviceLang
uage":{"deviceLanguage_deviceDefaultLanguage":"en-
US","deviceLanguage_deviceLanguageSet":"en-
US,en"},"navigatorPlatform":{"navigatorPlatform_navigatorPlatform":"Linux
x86_64"},"operatingSystem":{"operatingSystem_osVersion":"x86_64","operatin
gSystem_osName":"Linux"},"userAgent":{"userAgent_uaVersion":"39.0","userAg
ent_uaName":"Firefox"},"nonce":"1470327524972","deviceType":"NA$NA$NA","dn
t":"NA","navigatorConcurrency":"NA","deviceTouchPoints":"NA","colorDepth":
24, }
Total number of known devices to compare against: 0
Overall Result: Mismatch
Failure Cause: No fingerprint or known device found.
***************************Trace End*************************
</amLogEntry>
<amLogEntry> 2016-08-04T16:18:49Z DEBUG NIDS Application:
Method: RiskManager.evaluateRisk
Thread: http-nio-164.99.184.39-8443-exec-4
DFPRule : false </amLogEntry>
<amLogEntry> 2016-08-04T16:18:49Z DEBUG NIDS Application:
Method: RiskManager.evaluateRisk
Thread: http-nio-164.99.184.39-8443-exec-4
Rule considered for risk score: DFPRule </amLogEntry>
<amLogEntry> 2016-08-04T16:18:49Z DEBUG NIDS Application:
Method: RiskManager.evaluateRisk
Thread: http-nio-164.99.184.39-8443-exec-4
traceList: RL~groupName~GeneralGP~ruleCount~1~Success~riskScore~55
RU~~DFPRule~~negateResult~false~exceptionRule~false~result~false~
</amLogEntry>
1364 Troubleshooting
{"deviceType":"NA$NA$NA","deviceLanguage_deviceDefaultLanguage":"en-
US","userAgent_uaVersion":"39.0","lastUsageTime":"1470327529609","cpuArchi
tecture_cpuArchitecture":"amd64","dnt":"NA","nonce":"1470327524972","opera
tingSystem_osVersion":"x86_64","deviceLanguage_deviceLanguageSet":"en-
US,en","userAgent_uaName":"Firefox","navigatorConcurrency":"NA","deviceTou
chPoints":"NA","navigatorPlatform_navigatorPlatform":"Linux
x86_64","colorDepth":"24","operatingSystem_osName":"Linux"}
Match Percentage: 100.0
************End of comparison against known device***************
**************************Trace End*************************
</amLogEntry>
<amLogEntry> 2016-08-04T16:22:55Z DEBUG NIDS Application:
Method: RiskManager.evaluateRisk
Thread: http-nio-164.99.184.39-8443-exec-1
DFPRule : true </amLogEntry>
<amLogEntry> 2016-08-04T16:22:55Z DEBUG NIDS Application:
Method: RiskManager.evaluateRisk
Thread: http-nio-164.99.184.39-8443-exec-1
traceList: RL~groupName~GeneralGP~ruleCount~1~Success~riskScore~0
RU~~DFPRule~~negateResult~false~exceptionRule~false~result~true~
</amLogEntry>
Troubleshooting 1365
Offending Mandatory Attribute: operatingSystem_osVersion
***************End of comparison against known device***************
***************************Trace End*************************
</amLogEntry>
<amLogEntry> 2016-08-04T16:29:36Z DEBUG NIDS Application:
Method: RiskManager.evaluateRisk
Thread: http-nio-164.99.184.39-8443-exec-1
DFPRule : false </amLogEntry> <amLogEntry> 2016-08-04T16:29:36Z DEBUG NIDS
Application:
Method: RiskManager.evaluateRisk
Thread: http-nio-164.99.184.39-8443-exec-1
Rule considered for risk score: DFPRule </amLogEntry>
<amLogEntry> 2016-08-04T16:29:36Z DEBUG NIDS Application:
Method: RiskManager.evaluateRisk
Thread: http-nio-164.99.184.39-8443-exec-1
traceList: RL~groupName~GeneralGP~ruleCount~1~Success~riskScore~55
RU~~DFPRule~~negateResult~false~exceptionRule~false~result~false~
</amLogEntry>
32.9.2.4 When Fingerprint Matches though Some Parameters in the Group Do Not
Match
When the group parameters do not match 100%, but meet the match criteria specified in the rule.
Device Fingerprint Evaluation Trace
Evaluating device fingerprint for user: cn=admin,o=novell
Correlation ID: NA
Currently fetched device info:
{"availFontSet":{},"cpuArchitecture":{"cpuArchitecture_cpuArchitecture":"a
md64"},"deviceLanguage":{"deviceLanguage_deviceDefaultLanguage":"en-
US","deviceLanguage_deviceLanguageSet":"en-
US,en"},"html5DataSet":{},"navigatorPlatform":{"navigatorPlatform_navigato
rPlatform":"Linux
x86_64"},"operatingSystem":{"operatingSystem_osVersion":"x86_64","operatin
gSystem_osName":"Linux"},"screenResolution":{},"userAgent":{"userAgent_uaV
ersion":"39.1","userAgent_uaName":"Firefox"},"webglData":{},"nonce":"14703
28282330","deviceType":"NA$NA$NA","dnt":"NA","navigatorConcurrency":"NA","
deviceTouchPoints":"NA","colorDepth":24,"headerSet":{},"userDN":{},"client
IP":{}}
Total number of known devices to compare against: 1
Overall Result: Match
*************Summary of comparison against known device*************
Evaluation Result: Match
Device Fingerprint:
{"deviceType":"NA$NA$NA","deviceLanguage_deviceDefaultLanguage":"en-
US","userAgent_uaVersion":"39.0","lastUsageTime":"1470328017123","cpuArchi
tecture_cpuArchitecture":"amd64","dnt":"NA","nonce":"1470328016641","opera
tingSystem_osVersion":"x86_64","deviceLanguage_deviceLanguageSet":"en-
US,en","userAgent_uaName":"Firefox","navigatorConcurrency":"NA","deviceTou
chPoints":"NA","navigatorPlatform_navigatorPlatform":"Linux
x86_64","colorDepth":"24","operatingSystem_osName":"Linux"}
Match Percentage: 85.71429
1366 Troubleshooting
Mismatching Flexible Attributes: [userAgent_uaVersion]
***************End of comparison against known device***************
***************************Trace End*************************
</amLogEntry>
<amLogEntry> 2016-08-04T16:31:39Z DEBUG NIDS Application:
Method: RiskManager.evaluateRisk
Thread: http-nio-164.99.184.39-8443-exec-2
DFPRule : true </amLogEntry>
<amLogEntry> 2016-08-04T16:31:39Z DEBUG NIDS Application:
Method: RiskManager.evaluateRisk
Thread: http-nio-164.99.184.39-8443-exec-2
traceList: RL~groupName~GeneralGP~ruleCount~1~Success~riskScore~0
RU~~DFPRule~~negateResult~false~exceptionRule~false~result~true~
</amLogEntry>
32.9.2.5 When Fingerprint Does Not Match as the Evaluation of Group Parameters
Fails
When the group parameters does not match the criteria as specified in the rule.
Device Fingerprint Evaluation Trace
Evaluating device fingerprint for user: cn=admin,o=novell
Correlation ID: NA
Currently fetched device info:
{"availFontSet":{},"cpuArchitecture":{"cpuArchitecture_cpuArchitecture":"a
md64"},"deviceLanguage":{"deviceLanguage_deviceDefaultLanguage":"en-
US","deviceLanguage_deviceLanguageSet":"en-
US"},"html5DataSet":{},"navigatorPlatform":{"navigatorPlatform_navigatorPl
atform":"Linux
x86"},"operatingSystem":{"operatingSystem_osVersion":"x86_64","operatingSy
stem_osName":"Linux"},"screenResolution":{},"userAgent":{"userAgent_uaVers
ion":"39.0","userAgent_uaName":"Firefox"},"webglData":{},"nonce":"14703287
61567","deviceType":"NA$NA$NA","dnt":"NA","navigatorConcurrency":"NA","dev
iceTouchPoints":"NA","colorDepth":24,"headerSet":{},"userDN":{},"clientIP"
:{}}
Total number of known devices to compare against: 1
Overall Result: Mismatch
*************Summary of comparison against known device*************
Evaluation Result: Mismatch
Device Fingerprint:
{"deviceType":"NA$NA$NA","deviceLanguage_deviceDefaultLanguage":"en-
US","userAgent_uaVersion":"39.1","lastUsageTime":"1470328521354","cpuArchi
tecture_cpuArchitecture":"amd64","dnt":"NA","nonce":"1470328503258","opera
tingSystem_osVersion":"x86_64","deviceLanguage_deviceLanguageSet":"en-
US,en","userAgent_uaName":"Firefox","navigatorConcurrency":"NA","deviceTou
chPoints":"NA","navigatorPlatform_navigatorPlatform":"Linux
x86","colorDepth":"24","operatingSystem_osName":"Linux"}
Failure Cause: Flexible attributes percentage match is lesser than
threshold.
Match Percentage: 71.42857
Mismatching Flexible Attributes: [userAgent_uaVersion,
deviceLanguage_deviceLanguageSet]
**************End of comparison against known device***************
Troubleshooting 1367
**************************Trace End*************************
</amLogEntry>
<amLogEntry> 2016-08-04T16:39:51Z DEBUG NIDS Application:
Method: RiskManager.evaluateRisk
Thread: http-nio-164.99.184.39-8443-exec-2
DFPRule : false </amLogEntry>
<amLogEntry> 2016-08-04T16:39:51Z DEBUG NIDS Application:
Method: RiskManager.evaluateRisk
Thread: http-nio-164.99.184.39-8443-exec-2
Rule considered for risk score: DFPRule </amLogEntry>
<amLogEntry> 2016-08-04T16:39:51Z DEBUG NIDS Application:
Method: RiskManager.evaluateRisk
Thread: http-nio-164.99.184.39-8443-exec-2
traceList: RL~groupName~GeneralGP~ruleCount~1~Success~riskScore~55
RU~~DFPRule~~negateResult~false~exceptionRule~false~result~false~
</amLogEntry>
NOTE: If any critical issue happens, you can disable Advanced Session Assurance for the specific
URLs and user-agents. For information about how to disable Advanced Session Assurance, see
“Disabling Advanced Session Assurance” on page 1029.
1368 Troubleshooting
Windows: \Program Files\Novell\Apache\logs\error.log
Section 32.10.1.1, “Using Logs,” on page 1369
Section 32.10.1.2, “Using debug Logs,” on page 1370
LogLevel crit
Identity Server:
1 Click Devices > Identity Servers > Edit > Auditing and Logging.
2 Select File Logging and Echo to Console.
3 Under Component File Logger Levels > Application, select severe.
If you want advanced troubleshooting, enable the debug level. See “Using debug Logs” on
page 1370.
Troubleshooting 1369
Identity Server
<amLogEntry> 2016-09-23T09:59:06Z SEVERE NIDS Application:
*************Device Fingerprint Evaluation Trace*************
Evaluating device fingerprint for user: cn=admin,o=novell
Correlation ID:
d2ee43e3fbb2ca0487c9088fbc14c64cae552ecf6233412aa73fe6758a329598
Currently fetched device info: {"headerSet":{"user-agent":"Microsoft
Office Protocol Discovery"}}
Total number of known devices to compare against: 1
Overall Result: Mismatch
***************************Trace End*************************
</amLogEntry>
LogLevel debug
1370 Troubleshooting
Identity Server:
1 Click Devices > Identity Servers > Edit > Auditing and Logging.
2 Select File Logging and Echo to Console.
3 Under Component File Logger Levels > Application, select debug.
Sample log messages generated at the debug log level when Session Assurance fails:
Device Fingerprint Evaluation Trace for Identity Server
This log snippet provides the following information:
User DN
Correlation ID (session ID)
Currently fetched device information
Device Fingerprint (Device fingerprint stored in the session)
Result
Failure cause
Offending Mandatory Attribute (information about the parameter that did not match)
List of parameters being considered in the fingerprinting
Troubleshooting 1371
operatingSystem_osVersion":"7"}
Failure Cause: Atleast one mandatory attribute failed match/is
unavailable.
Offending Mandatory Attribute: deviceLanguage_deviceLanguageSet
***************************Trace End*************************
</amLogEntry>
1372 Troubleshooting
operatingSystem_osVersion
Sep 29 18:03:05 lsb httpd[30697]: [info] AM#504600000 AMDEVICEID#ag-
95F88CA3CFF470ED: AMAUTHID#: AMEVENTID#8568: server side finger print=user-
agent
Sep 29 18:03:05 lsb httpd[30697]: [info] AM#504600000 AMDEVICEID#ag-
95F88CA3CFF470ED: AMAUTHID#: AMEVENTID#8568: advanced session assurance =
timezoneOffset
Sep 29 18:03:05 lsb httpd[30697]: [info] AM#504600000 AMDEVICEID#ag-
95F88CA3CFF470ED: AMAUTHID#: AMEVENTID#8568: advanced session assurance =
dnt
Sep 29 18:03:05 lsb httpd[30697]: [info] AM#504600000 AMDEVICEID#ag-
95F88CA3CFF470ED: AMAUTHID#: AMEVENTID#8568: advanced session assurance =
navigatorConcurrency
Sep 29 18:03:05 lsb httpd[30697]: [info] AM#504600000 AMDEVICEID#ag-
95F88CA3CFF470ED: AMAUTHID#: AMEVENTID#8568: advanced session assurance =
navigatorPlatform_navigatorPlatform
Sep 29 18:03:05 lsb httpd[30697]: [info] AM#504600000 AMDEVICEID#ag-
95F88CA3CFF470ED: AMAUTHID#: AMEVENTID#8568: advanced session assurance =
userAgent_uaName
Sep 29 18:03:05 lsb httpd[30697]: [info] AM#504600000 AMDEVICEID#ag-
95F88CA3CFF470ED: AMAUTHID#: AMEVENTID#8568: advanced session assurance =
userAgent_uaVersion
Sep 29 18:03:05 lsb httpd[30697]: [info] AM#504600000 AMDEVICEID#ag-
95F88CA3CFF470ED: AMAUTHID#: AMEVENTID#8568: advanced session assurance =
html5DataSet_html5AVData
Sep 29 18:03:05 lsb httpd[30697]: [info] AM#504600000 AMDEVICEID#ag-
95F88CA3CFF470ED: AMAUTHID#: AMEVENTID#8568: advanced session assurance =
availFontSet_availableFonts
Sep 29 18:03:05 lsb httpd[30697]: [info] AM#504600000 AMDEVICEID#ag-
95F88CA3CFF470ED: AMAUTHID#: AMEVENTID#8568: advanced session assurance =
webglData
Sep 29 18:03:05 lsb httpd[30697]: [info] AM#504600000 AMDEVICEID#ag-
95F88CA3CFF470ED: AMAUTHID#: AMEVENTID#8568: session assurance policy
configured successfully
32.10.2.1 Cookie mismatch. The session might have been hijacked. Logging out
session <sessionID>
This message is logged when the session might have been hijacked. If the session is intact and still
you get this error, contact the technical support team with debug logs.
Troubleshooting 1373
32.10.2.2 Nonce has been used already. Possible replay attack. Logging out the
session <sessionID>
This message is logged when the session might have hijacked. Contact the technical support team
with debug logs and login again.
32.10.2.3 Fingerprint evaluation failed. The session might have been hijacked.
Logging out the session <sessionID>
Check the log to see what error occurred. Mostly, this message is logged when the fingerprint does
not match.
For example, you will see the following mismatch error when language settings do not match during
a user session. This might be due to session hijacking as language settings would not match when
two different users are trying to access the same session from separate devices.
1374 Troubleshooting
Session Assurance interval is 1.0 minute
<amLogEntry> 2016-09-06T19:19:34Z DEBUG NIDS Application:
Method: NIDPSessionAssurance.initializeFPConfiguration
Thread: RMI TCP Connection(1)-127.0.0.1
Session assurance interval 1.0minutes
</amLogEntry>
Parameters being evaluated in the fingerprint are Client IP, User-agent, Hardware Parameters,
Operating System, Screen Resolution and TimeZone Offset.
Session assurance plan <?xml version="1.0" encoding="UTF-8"
standalone="yes"?>
<FingerprintConfiguration Enabled="true" ID="IDP" TriggerTimer="1"
MatchLevel="100">
<PropertyParams PropertyName="clientIP" PropertyRequired="true"/>
<PropertyParams PropertyName="colorDepth" PropertyRequired="true"/>
<PropertyParams PropertyName="cpuArchitecture_cpuArchitecture"
PropertyRequired="true"/>
<PropertyParams PropertyName="deviceTouchPoints"
PropertyRequired="true"/>
<PropertyParams PropertyName="deviceType" PropertyRequired="true"/>
<PropertyParams PropertyName="operatingSystem_osName"
PropertyRequired="true"/>
<PropertyParams PropertyName="operatingSystem_osVersion"
PropertyRequired="true"/>
<PropertyParams PropertyName="user-agent" PropertyRequired="true"/>
<PropertyParams
PropertyName="screenResolution_availableScreenResolution"
PropertyRequired="true"/>
<PropertyParams PropertyName="screenResolution_screenResolution"
PropertyRequired="true"/>
<PropertyParams PropertyName="timezoneOffset" PropertyRequired="true"/>
</FingerprintConfiguration>
</amLogEntry>
List of server-side parameters: Client IP and User Agent
<amLogEntry> 2016-09-06T19:19:34Z DEBUG NIDS Application:
Method: NIDPSessionAssurance.initializeFPConfiguration
Thread: RMI TCP Connection(1)-127.0.0.1
Server Side Fingerprint Attributes [clientIP, user-agent] </amLogEntry>
List of client-side parameters: Hardware Parameters, Operating System Parameters, Screen
Resolution, Time Zone Offset
<amLogEntry> 2016-09-06T19:19:34Z DEBUG NIDS Application:
Method: NIDPSessionAssurance.initializeFPConfiguration
Thread: RMI TCP Connection(1)-127.0.0.1
Client Side Fingerprint Attributes [colorDepth,
cpuArchitecture_cpuArchitecture, deviceTouchPoints, deviceType,
operatingSystem_osName, operatingSystem_osVersion,
screenResolution_availableScreenResolution,
screenResolution_screenResolution, timezoneOffset] </amLogEntry>
Troubleshooting 1375
Information about whether exclude has been configured for any resource
<amLogEntry> 2016-09-06T19:19:34Z DEBUG NIDS Application:
Method: NIDPSessionAssurance.getNidpConfigPropertyString
Thread: RMI TCP Connection(1)-127.0.0.1
Property read from edirectory configuration store -------->
Property:SESSION ASSURANCE USER AGENT REGEX EXCLUDE LIST Value: Android 4\.
</amLogEntry>
32.10.4 The Advanced Session Assurance Page Does Not Display the
Access Gateway Cluster
After upgrading Access Manager to 4.5, sometimes the Advanced Session Assurance page may not
display the Access Gateway cluster. The Identity Server clusters are displayed correctly.
To work around this issue, close the browser and access Administration Console using a new browser
session.
1376 Troubleshooting
32.11.1 Modifying a Configuration That References a Removed Object
One scenario that causes the XML validation errors is when a configuration references an object that
has been removed. For example, a custom authentication contract was created and assigned to a
protected resource. The contract was manually deleted from Identity Server configuration, but
Access Gateway protected resource still references it, even though it is not displayed in the user
interface. After you identify the missing link, you can use the Access Manager interface to work
around the problem.
To troubleshoot this scenario:
1 Search the /opt/novell/devman/share/logs/app_sc.0.log file on Administration
Console server for #200904025: Error - XML VALIDATION FAILED.
After you find the entry, work backwards to identify the start of the Java exception. Locate the
problem strings or entry from the configuration, such as the following string
authprocedure_NEIL___Name_Password___Form found in the following entry:
Troubleshooting 1377
(Msg)<amLogEntry> 2007-05-23T15:45:06Z ERROR DeviceManager:
AM#200904025: Error
- XML VALIDATION FAILED. PLEASE CHECK APP_SC LOG </amLogEntry>
2 On Access Gateway Appliance, change to the /opt/novell/nam/mag/webapps/agm/WEB-
INF/config/current directory and open the config.xml file. Search for the problem
string and the corresponding protected resource.
The example below shows that the problem string is tied to the
ProtectedResourceID_svhttp_mylag_iMon_root resource. This maps to the HTTP
reverse proxy called mylag, the service called iMon, and the protected resource called root.
----- snippet from problem area of config.xml ------
<ProtectedResource Name="root" Enable="1" Description=""
LastModified="116973455
5995" LastModifiedBy="cn=admin,o=novell"
UserInterfaceID="ProtectedResourceID_sv
http_mylag_iMon_root"
ProtectedResourceID="ProtectedResourceID_svhttp_mylag_iMon
_root">
</URLPathList>
<PolicyEnforcementList LastModified="1168947602067"
schemaVersion="1.34"
LastModifiedBy="cn=admin,o=novell"
RuleCombiningAlgorithm="DenyOverridesWithPri
ority">
<PolicyRef ElementRefType="ExternalWithIDRef"
ExternalDocRef="ou=xpemlPEP,ou=mastercdn,ou=ContentPublisherContainer,
ou=Partition,ou=PartitionsContainer,ou=VCDN_Root,ou=accessManagerConta
iner,o=novell:romaContentCollectionXMLDoc"
UserInterfaceID="PolicyID_xpemlPEP_AGFormFill_1168947167634"
ExternalElementRef="PolicyID_xpemlPEP_AGFormFill_1168947167634"/>
</PolicyEnforcementList>
<AuthenticationProcedureRef
AuthProcedureIDRef="authprocedure_NEIL___Name_Password___Form"/>
</ProtectedResource>
1378 Troubleshooting
3 Look at the AuthenticationProcedureRef variable, which points to the contract assigned
to the protected resource. You can see that the
authprocedure_NEIL___Name_Password___ Form contract is assigned to it.
However, when you look at Access Gateway Appliance configuration in Administration Console,
you can see that the assigned contract is [None], which is not the contract shown in the
example. Change it to another contract name, apply the change, then set the contract back to
[None] to clear the problem entry. The setup now operates with no XML validation errors.
Troubleshooting Steps
1 On Administration Console, search the /opt/novell/devman/share/logs/app_sc.0.log
file for #200904025: Error - XML VALIDATION FAILED.
After you find the entry, work backwards to identify the start of the Java exception. From this,
locate the problem strings or entry from the configuration, such as
ProtectedResourceID_svhttp_sjh_portal_sjh_portal_1179933619340. This
message also indicates that a defined protected resource might not be unique. The
configuration shows that before the Java exception, there is not enough information to narrow
down the problem, so more troubleshooting is required.
The following is a snippet from the problem area of app_sc.0.log file that indicates that
there are multiple occurrences of a protected resource.
Caused by: org.xml.sax.SAXParseException: cvc-id.2: There are multiple
occurrences of ID value
'ProtectedResourceID_svhttp_sjh_portal_sjh_portal_1179933619340'.
at
org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unk
nown Source)
at org.apache.xerces.util.ErrorHandlerWrapper.error(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:453)
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:770)
at com.volera.vcdn.platform.util.XmlUtil.validateXML(y:3304)
at com.volera.vcdn.webui.sc.dispatcher.ConfigWorkDispatcher.A(y:793)
at
com.volera.vcdn.webui.sc.dispatcher.ConfigWorkDispatcher.do_deviceconf
ig(y:648)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.j
ava:39)
at
Troubleshooting 1379
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccess
orImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at com.volera.vcdn.webui.sc.dispatcher.DefaultDispatcher.invoke(y:469)
at
com.volera.vcdn.webui.sc.dispatcher.DefaultDispatcher.processRequest(y
:1732)
at com.volera.roma.app.handler.DispatcherHandler.processRequest(y:3168)
at com.volera.roma.servlet.GenericController.doPost(y:53)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:716)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
cationFilterChain.java:200)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
lterChain.java:146)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext
.invokeNext(StandardPipeline.java:594)
at com.novell.accessmanager.tomcat.SynchronizationValve.invoke(y:297)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java
:433)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:152
)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proces
sConnection(Http11Protocol.java:705)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPo
ol.java:683)
at java.lang.Thread.run(Thread.java:534)
(Msg)<amLogEntry> 2007-05-23T13:22:15Z ERROR DeviceManager:
AM#200904025: Error - XML VALIDATION FAILED. PLEASE CHECK APP_SC LOG </
amLogEntry>
2 Confirm that the change has not been applied at Access Gateway Appliance:
2a In Administration Console Dashboard, select Devices > Access Gateways > Edit > Advanced
Options and add the following line:
LogLevel debug
2b Click OK and then update Access Gateways.
For more information about Access Gateway log, see Section 23.4.1, “Managing Access
Gateway Logs,” on page 1149.
2c Search for in-memory errors in the error_log file. When these errors are displayed, the
working Access Gateway Appliance configuration has not been updated with the latest
changes.
1380 Troubleshooting
2d Identify the protected resource with these issues. In the following case, the protected
resource is the same, so you must look at the config.xml file and search for this specific
protected resource. For example:
May 23 13:22:14 chw-amtlag1-176 : 404502 0: 7168: 0: 0:
VcpConfiguration::reconfigure starting AafLog
May 23 13:22:14 chw-amtlag1-176 : 404502 0: 7168: 0: 0:
VcpConfiguration::reconfigure finished
Error at file "in-memory", line 328, column 306
Message: Datatype error: Type:InvalidDatatypeValueException,
Message:ID
'ProtectedResourceID_svhttp_sjh_portal_sjh_portal_1179933619340' is
not unique.
ERROR: Error retrieving config.xml: No data available
3 Search for the preceding string in the /opt/novell/nam/mag/webapps/agm/WEB-INF/
config/current/config.xml file. You should see the following type of information:
<ProtectedResourceList>
<ProtectedResource Name="sjh_redirect" Enable="1"
Description="" LastModified="1179934022767"
LastModifiedBy="cn=admin,o=novell"UserInterfaceID="ProtectedResourceID
_svhttp_sjh_portal_sjh_portal_1179933619340"
ProtectedResourceID="ProtectedResourceID_svhttp_sjh_portal_sjh_portal_
1179933619340">
<URLPathList LastModified="4294967295" LastModifiedBy="String">
<URLPath URLPath="/*" UserInterfaceID="/*"/>
</URLPathList>
<PolicyEnforcementList LastModified="1179934011081"
schemaVersion="0.1" LastModifiedBy="cn=admin,o=novell"
RuleCombiningAlgorithm="DenyOverridesWithPriority"
IncludedPolicyCategories=""/>
<AuthenticationProcedureRef
AuthProcedureIDRef="authprocedure_Name_Password___Form"/>
</ProtectedResource>
</ProtectedResourceList>
You should also see the following information:
Troubleshooting 1381
<ProtectedResourceList LastModified="1179949051828"
LastModifiedBy="cn=admin,o=novell">
<ProtectedResource Name="sjh_redirect" Enable="1" Description=""
LastModified="1179949051828" LastModifiedBy="cn=admin,o=novell"
UserInterfaceID="ProtectedResourceID_svhttp_sjh_portal_sjh_portal_1179
933619340"
ProtectedResourceID="ProtectedResourceID_svhttp_sjh_portal_sjh_portal_
1179933619340">
<URLPathList LastModified="4294967295" LastModifiedBy="String">
<URLPath URLPath="/*" UserInterfaceID="/*"/>
</URLPathList>
<PolicyEnforcementList LastModified="1179949047445"
schemaVersion="0.1" LastModifiedBy="cn=admin,o=novell"
RuleCombiningAlgorithm="DenyOverridesWithPriority"
IncludedPolicyCategories="">
<PolicyRef ElementRefType="ExternalWithIDRef"
ExternalDocRef="ou=xpemlPEP,ou=mastercdn,ou=ContentPublisherContainer,
ou=Partition,ou=PartitionsContainer,ou=VCDN_Root,ou=accessManagerConta
iner,o=novell:romaContentCollectionXMLDoc"
UserInterfaceID="PolicyID_xpemlPEP_AGAuthorization_1176770874051"
ExternalElementRef="PolicyID_xpemlPEP_AGAuthorization_1176770874051"/>
</PolicyEnforcementList>
<AuthenticationProcedureRef
AuthProcedureIDRef="authprocedure_Name_Password___Form"/>
</ProtectedResource>
</ProtectedResourceList>
This is the duplicate entry that is causing the problem. You need to clear one of the entries from
the configuration. If you clear it from the /opt/novell/nam/mag/webapps/agm/WEB-INF/
config/current/config.xml file, then any change applied in the UI rewrites the
information to the config.xml file.
4 Remove the duplicate entry from Administration Console server’s configuration store. To do
this, you need an LDAP browser.
You can download a free Java-based tool from the Internet.
4a Start the LDAP browser, then locate the ag-xxxx that matches Access Gateway Appliance
you are having problems with.
The easiest way is to go to the Auditing > General Logging tab of the Access Manager
Administration Console and identify your Access Gateway Appliance ID. This ID
corresponds to the first four digits of the ag-xxxx in the LDAP browser.
4b Click the ag-xxxx container. You should see CurrentConfig and WorkingConfig containers
within this Access Gateway container.
4c Select the CurrentConfig, then the RomaAGConfigurationXMLDoc attribute. Copy and
paste the attribute value into any editor. This is the configuration from the LAG.
4d Search for the RomaAGConfigurationXMLDoc attribute string and remove the entire
section on one of the hits starting with <ProtectedResourceList> and ending with </
ProtectedResourceList>.
4e Select and save the modified text.
4f Paste the saved text into the RomaAGConfigurationXMLDoc attribute value.
4g Repeat these steps for the RomaAGConfigurationXMLDoc attribute in WorkingConfig,
and remove the duplicate entry that is causing the XML validation errors.
1382 Troubleshooting
5 Restart Tomcat on Administration Console machine.
6 Log in to Administration Console again. Make a small change to the setup and apply that
change, and verify that the XML validation error has disappeared.
32.12.1 The Token Endpoint Returns the Invalid Code Error Message
When the LDAP administrator does not have write access to the Authorization Grant LDAP Attribute,
the token endpoint returns the invalid_code: code invalid or already used error
message.
Ensure that the LDAP administrator has the rights of a supervisor or a super admin to write on the
Authorization Grant LDAP Attribute. For information about how to assign the rights, refer to the
documentation of the specific LDAP directory.
Troubleshooting 1383
32.12.2 OAuth Tokens Are in Binary Format Instead of JWT Format
After upgrade if the tokens are issued in binary format instead of JWT format, ensure the following
conditions are met:
All the nodes of Identity Server cluster are upgraded.
The status of all the nodes of the Identity Server cluster displays Current in Administration
Console.
If you have already upgraded and updated all the nodes of Identity Server cluster, then perform the
following:
1 Verify if the property issueJWT is set to true in the nidsOAuthTenantXML attribute of the
nidsOAuthTenants object class on the local eDirectory configuration store.
2 (Conditional) If the value is set to true, go to Step 4.
3 (Conditional) If the value is set to false, change it to true then restart Identity Server.
4 Restart all the nodes of the Identity Server cluster.
5 Send a request through browser to see if tokens get issued in JWT format.
Verify the REST communication between browser and Identity Server by using Chrome developer
console.
32.12.6 A Specific Claim Does Not Come to the UserInfo Endpoint during
Claims Request
Verify the following points:
Whether the user has a value for that attribute. If the value is empty, UserInfo does not return
any value in JSON.
1384 Troubleshooting
The Identity Sever has provided the requested scope. You can check this with the TokenInfo
endpoint by providing an Access token.
(Conditional) For the client credentials flow, the Require user permission option is deselected.
32.12.9 The Access Token Does Not Get Exchanged with Authorization
Code When Using a Multi-Node Identity Server Cluster
In a multi-node cluster setup when a client requests for an authorization code, an Identity Server
node verifies the client and issues the code. When the client requests for token using the
authorization code and if the request is sent to another node, it can send the HTTP 400 Bad
Request error message.
To avoid getting the error when exchanging the authorization code for token, you must disable the
Expect: 100-Continue header from the request.
Troubleshooting 1385
3 Delete the nidsOAuthKeysXML attribute.
4 Go to Administration Console, click Devices > Identity Server > Edit, and update the Identity
Server cluster.
You can customize the level of detail of the information (tracing threshold) provided by Jersey tracing
facility. You can set the tracing threshold at a request level through X-Jersey-Tracing-Threshold HTTP
request header. The request level configuration overrides any application level setting. Supported
levels include SUMMARY, TRACE, and VERBOSE.
SUMMARY: basic summary information about the main request processing stages
TRACE: detailed information about activities in all main request processing stages (default
threshold value)
VERBOSE: extended information similar to the TRACE level, however it includes details about
entity providers (MBR/MBW) that were skipped during the provider selection phase for any
reason (such as lower priority or pattern matching). Additionally, in this mode all received
request headers are echoed as part of the tracing information.
For more information, see Monitoring and Diagnostics (https://jersey.java.net/documentation/
latest/monitoring_tracing.html).
The following are the recommended conditions in an Identity Server Role policy that assigns the
NAM_OAUTH2_DEVELOPER role:
LDAP Attribute
LDAP Group
LDAP OU conditions
1386 Troubleshooting
The client registration will not work if this role policy contains any of the following conditions:
Authenticating IDP
Authentication Contract
Authentication Method
Authentication Type
Credential Profile
Liberty User profile
Roles from Identity Provider
User Store
For information about updating the value, see “Restricting the Number of Requests” on page 640.
Troubleshooting 1387
Deleting an existing resource server
Using any of the configured Access Manager Resource Servers after updating nidsOAuthGrant
attribute
These issues occur because the syntax of nidsOAuth2CFGXML is set to string or octet instead of
stream.
To change the syntax to stream, perform the following steps on Administration Console:
1 Back up nidsOAuth2CFGXML
1a On the dashboard, click <user name> at the top right of the page and then
click Manage Directory Objects.
1b Navigate to novell > accessManagerContainer > nids > cluster > SCCxxxxxx > OACxxxxxx >
OATxxxxxx.
1c In the content frame, click the Edit icon next to OATxxxxxx.
1d Under Valued Attributes select nidsOAuth2CFGXML and then click Edit.
1e On the Edit Attribute page, click the Edit icon.
1f Copy the content under Unicode Values and then save it as an xml file in any local folder.
2 Delete nidsOAuth2CFGXML
2a On the dashboard, click <user name> at the top right of the page and then
click Manage Directory Objects.
2b Navigate to novell > accessManagerContainer > nids > cluster > SCCxxxxxx > OACxxxxxx >
OATxxxxxx.
2c In the content frame, click the Edit icon next to OATxxxxxx.
2d Under Valued Attributes select nidsOAuth2CFGXML.
2e Click Delete > OK > Apply > OK.
3 Log in to NDS iMonitor (eDirectory’s Management Utility) to update the attributes
3a Open a browser and enter the following URL:
https://<Admin console ip>:8030/nds/trace
3b Log in using the FQDN credentials.
For example, User FDN: admin.novell and Password: novell
3c Under DS Trace Options select the following options:
Backlinker
Janitor
Purge
These options are required along with the options that are selected by default.
3d Click Trace On > Update.
3e In the navigation pane, click Agent Configuration > Agent Triggers.
3f Select the following options and then click Submit:
Janitor
1388 Troubleshooting
Purger
Reference Check
3g Click Trace Configuration > Trace Live
3h A message similar to the following is displayed:
BLink: 109 Valid Attributes, 0 Invalid Attributes in the Cached
attributes list
4 Run the LDIF file on the Administration Console server
4a Click here to open and then save the LDIF file.
4b Go to C:\Novell\NDS\.
4c Run the following ice command:
ice.exe -v -C -n -S LDIF -v -c -f <LDIF file path> -D LDAP -v -L
C:\Novell\NDS\DIBFiles\CertServ\SSCert.der -s <IP address of
Administration Console> -p <port number> -d <cn> -w <password>
For example, run ice.exe -v -C -n -S LDIF -v -c -f
C:\Users\Administrator\Desktop\1102902.ldif -D LDAP -v -L
C:\Novell\NDS\DIBFiles\CertServ\SSCert.der -s 164.99.184.112 -p 636
-d cn=admin,o=novell -w novell
4d Restart the tomcat service on Administration Console.
5 Restore the values from the back up file to nidsOAuth2CFGXML
5a On the dashboard, click <user name> at the top right of the page and then
click Manage Directory Objects.
5b Navigate to novell > accessManagerContainer > nids > cluster > SCCxxxxxx > OACxxxxxx >
OATxxxxxx.
5c In the content frame, click the Edit icon next to OATxxxxxx.
5d Under Unvalued Attributes select nidsOAuth2CFGXML and then use the left arrow to move
it under Valued Attributes.
5e Click the Edit icon and then click Choose File to upload the backed up xml file.
5f Click Upload File > Modify > OK.
NOTE: If the value of nidsOAuth2CFGXML is not uploaded properly, you can edit the value by using
LDAP admin utility with Administration Console credentials.
Troubleshooting 1389
32.13.1 No Value Is Fetched from Attribute Source in Identity Server
In Identity Server, no Attribute Source value is fetched from the data source. However, the test
functionality fetches the data and displays the correct result in Administration Console.
To troubleshoot this issue, check the error logs for any Data Source connection issues.
Linux: /opt/novell/nam/logs/idp/tomcat/catalina.out
Windows: \Program Files\Novell\Tomcat\logs\stdout.log
If the Data Source is a database, ensure that the driver jars are available in both Identity Server and
Administration Console. If the Data Source is a secure LDAP connection, ensure that SSL certificate of
the LDAP directory is imported in Identity Server’s trust store. Update all Identity Servers.
To troubleshoot this issue, specify a correct format of the JDBC URL. You can refer to the example
specified in the Edit Data Source interface.
Error 2:
While testing a database connection, if the error message displays: “driverClassName
specified class 'com.microsoft.sqlserver.jdbc.SQLServerDriver' could not
be loaded”, or “driverClassName specified class
'oracle.jdbc.driver.OracleDrive' could not be loaded”, then the issue is with the
respective drivers.
To troubleshoot this issue, add the corresponding database drivers in Administration Console and
Identity Server respectively. Restart Administration Console and Identity Server.
Error 3:
While testing a data source connection, if the error message displays: "Exception during pool
initialization", then the issue can be with the incorrect SID specified in the database URL or
due to incorrect port or hostname.
To troubleshoot this issue, check the error logs for any data source connection issues:
Linux: /opt/novell/nam/logs/adminconsole/tomcat/catalina.out
Windows: \Program Files\Novell\Tomcat\logs\stdout.log
1390 Troubleshooting
32.13.3 Regex Replace Error Message
While performing a regex replace function, if you specify /a, then, the following error message
displays:
On Firefox browser: Incorrect syntax : invalid regular expression flag a
On Chrome browser: Incorrect syntax : Invalid flags supplied to RegExp
constructor 'a'
To troubleshoot this issue, ensure that you specify a correct regular expression. For example: i (case
insensitive), g (global search) are valid flags. A regular expression has the following format:
/pattern/modifiers. Example: var patt = /abc/i. Where, /abc/i is a regular expression and
abc is a pattern (used in the search). i is a modifier (modifies the search to be case-insensitive).
Troubleshooting 1391
This problem occurs when you make changes to MobileAccess as well. If you make the change for
Branding, you do not need to make additional changes to fix Branding. The solution is the same for
both features.
JAVA_OPTS="${JAVA_OPTS} -DAMSrvDoorBellDelay=10000"
The value is in milliseconds. This example increases the delay to 10 seconds.
1c Save and close the tomcat8.conf file.
1d Restart Tomcat to have the parameter take effect.
/etc/init.d/novell-ac restart
2 (Conditional) If you have a Windows server, you must add a registry key.
2a Launch the Registry Editor as an administrator, by clicking Start > Run, then enter regedit.
2b In the left pane of the Registry Editor, navigate to My Computer > HKEY_LOCAL_MACHINE
>SOFTWARE > Wow6432Node > Apache Software Foundation > Procurn2.0 > Tomcat8 >
Parameters > Java.
2c Double-click Options in the right pane of the Registry Editor.
2d Add the following key with the delay value that is appropriate for your environment:
-DAMSrvDoorBellDelay=10000"
The value is in milliseconds. This example increases the delay to 10 seconds.
2e Close the Registry Editor.
2f Restart Tomcat by using the following commands:
1392 Troubleshooting
32.16.1 Sample Authentication Traces
An authentication trace is logged to the catalina.out file of Identity Server that authenticates the
user. If Access Gateway initiates the authentication because of a user request to a protected
resource, the Embedded Service Provider log file of Access Gateway also contains entries for the
authentication sequence. Identity Server logging must be enabled to produce authentication traces
(see Section 23.3.1, “Configuring Logging for Identity Server,” on page 1138).
This section describes the following types of authentication traces:
Section 32.16.1.1, “Direct Authentication Request to Identity Server,” on page 1393
Section 32.16.1.2, “Protected Resource Authentication Trace,” on page 1395
Troubleshooting 1393
8. <amLogEntry> 2009-06-14T17:14:39Z WARNING NIDS Application: Event Id:
3015456, Note 1: F35A3C7AD7F2EEDEB3D17F99EC3F39D1, Note 2: Manager, Note 3:
Document=(ou=xpemlPEP,ou=mastercdn,ou=Content
PublisherContainer,ou=Partition,ou=PartitionsContainer,ou=VCDN_Root,ou=acc
essManagerContainer,o=novell:romaContentCollectionXMLDoc),Policy=(Manager)
,Rule=(1::RuleID_1181251958207),Action=(AddRole::ActionID_1181252224665),
Numeric 1: 0 </amLogEntry>
Table 32-3 Log Entry Descriptions for an Authentication Trace from an Identity Server
Entry Description
1 Indicates that a login request is in process. This is the first entry for a login request. The requester,
even though login has not been successful, is assigned an authentication ID. You can use this ID to
find the log entries related to this user. The entry also specifies the URL of the requested resource,
in this case the /nidp/app resource called the End User Portal. The saved TARGET message does
not contain a value, so this step will be repeated.
1394 Troubleshooting
Entry Description
4 Indicates that the a login request is in process. The saved TARGET message contains a value, so the
required information has been gathered to start the authentication request. The AM# correlation
tag is AM#500105015, which is the same value as the first log entry.
5 Indicates that an exchange is occurring between the client and Identity Server to obtain the
required credentials. Each contract requires a different exchange. The AM# correlation tag is
AM#500105009, which is the same value as the second log entry.
6 Provides the DN of the user attempting to log in and indicates that the user’s credentials are being
sent to the LDAP server for verification.
7 Provides information about an auditing event. If you have not enabled auditing or you have not
selected the login events, this entry does not appear in your log file. This event contains
information about who is logging in and the contract that is being used.
8 Provides information about an auditing event. If you have not enabled auditing or you have not
selected the login events, this entry does not appear in your log file. This event contains
information about the Manager policy that is evaluated during login.
9 Provides information about an auditing event. If you have not enabled auditing or you have not
selected the login events, this entry does not appear in your log file.
10 Contains the entry for processing a Role policy. When a user logs in, all Role policies are evaluated
and the user is assigned any roles that the user has the qualifications for. For more information,
see Section 32.16.2, “Understanding Policy Evaluation Traces,” on page 1397.
11 Contains a summary of who logged in from which user store and the names of the Role policies
that successfully assigned roles to the user.
12 Contains the final results of the login, with the URL that the request is redirected to.
Troubleshooting 1395
Entries from an Identity Server Log
<amLogEntry> 2009-07-31T17:36:39Z INFO NIDS Application: AM#500105016:
AMDEVICEID#AA257DA77ED48DB0:
AMAUTHID#YfdEmqCT2ZutwybD1eYSpfph8g5a5aMl6MGryq1hIqc=: Processing login
resulting from Service Provider authentication request. </amLogEntry>
1396 Troubleshooting
Entries from an Access Gateway Log
<amLogEntry> 2009-07-31T17:35:05Z INFO NIDS Application: AM#500105005:
AMDEVICEID#esp-2FA73CE1A376FD91:
AMAUTHID#YfdEmqCT2ZutwybD1eYSpfph8g5a5aMl6MGryq1hIqc=: Processing proxy
request for login using contract name/password/uri and return url http://
jwilson.provo.novell.com/ </amLogEntry>
Correlating the Log Entries between Identity Server and Access Gateway
You can see that these two trace sequences are for the same authentication request because the
artifact (AAMoz+rm2jQjDSHjea8U9zm3Td/U2ax0YZCo/qBNool8WkZiTCt7N7Jx) that is
exchanged is the same. You can use the AMAUTHID in each file to search for other requests that this
user has made.
To associate a distinguished name with the AMAUTHID, use the catalina.out file of Identity
Server. Event AM#500105014 contains the DN of the user.
Troubleshooting 1397
Section 32.16.2.5, “Authorization Traces,” on page 1409
Section 32.16.2.6, “Form Fill Traces,” on page 1411
32.16.2.1 Format
A policy log entry starts with the standard log entry elements: <amLogEntry> followed by the
correlation tags.
(For information about correlation tags, see “Understanding the Correlation Tags in the Log Files” on
page 1136.)
The following log entry is a trace of an evaluation of a Role policy:
<amLogEntry> 2009-06-07T21:40:25Z INFO NIDS Application: AM#500199050:
AMDEVICEID#9921459858EAAC29:
AMAUTHID#YfdEmqCT2ZutwybD1eYSpfph8g5a5aMl6MGryq1hIqc=: IDP
RolesPep.evaluate(), policy trace:
~~RL~0~~~~Rule Count: 1~~Success(67)
~~RU~RuleID_1181251958207~Manager~DNF~~1:1~~Success(67)
~~CS~1~~ANDs~~1~~True(69)
~~CO~1~LdapGroup(6645):no-param:hidden-value:~ldap-group-is-member-
of~SelectedLdapGroup(66455):hidden-param:hidden-value:~~~True(69)
~~PA~ActionID_1181252224665~~AddRole~Manager~~~Success(0)
~~PC~ActionID_1181252224665~~Document=(ou=xpemlPEP,ou=mastercdn,
ou=ContentPublisherContainer,ou=Partition,ou=PartitionsContainer,ou=VCDN_R
oot,ou=accessManagerContainer,o=novell:romaContentCollectionXMLDoc),Policy
=(Manager),Rule=(1::RuleID_1181251958207),Action=(AddRole::ActionID_118125
2224665)~AdditionalRole(6601):unknown():Manager:~~~Success(0)
</amLogEntry>
The Role policy evaluated in this entry has the following definition:
1398 Troubleshooting
Figure 32-9 Manager Policy Definition
The following sections use this policy and its trace to explain the information contained within each
line of a policy trace. The policy trace part of the entry starts with a policy trace:, which is
followed by one or more of the following types:
RL - Rule List Evaluation Result (page 1399)
RU - “Rule Evaluation Result” on page 1400
CS - Condition Set Evaluation Result (page 1401)
CO - Condition Evaluation Result (page 1402)
PA - Policy Action Initiation (page 1403)
PC - Policy Action Completion (page 1403)
Elements within a type are separated from each other with the tilde (~) character. If an element does
not have a value, no value is inserted, which results in two or more tildes between values. Two tildes
means one element didn’t have a value, three tildes means that two elements didn’t have values,
and so forth.
Troubleshooting 1399
Table 32-4 describes the fields found in an RL trace.
Element Description
In the sample RL trace, this is Rule Count: 1, indicating that there is one
rule in the policy.
<Result> A string followed by a number that specifies the result of the evaluation. See
“Policy Result Values” on page 1405.
Element Description
<ParentPolicyName> The name of the parent policy to which the rule is assigned.
1400 Troubleshooting
Element Description
<ConditionSetCount:ActionCount> The number of condition sets and actions defined for this
rule.
In the sample RU trace, this is 1:1, for one condition set and
one action.
Element Description
<ConditionSetID> The identifier assigned to the condition set. Rules can have multiple condition
sets.
In this sample CS trace, this is 1, for the first and only condition set defined
for the rule.
<JoinType> Specifies how the condition results are combined, if there are multiple
condition sets. Possible values include ANDs and ORs.
<NOT> The string NOT if the result was negated prior to reporting; otherwise the
field has no value. This is the If Not option when creating a condition group.
In the sample CS trace, the condition group was not negated, therefore the
field is not present.
<Result> A string followed by a number that specifies the result of the evaluation. See
“Policy Result Values” on page 1405.
In the sample CS trace, this is True (69), indicating that the condition
evaluated to True.
Troubleshooting 1401
Condition Evaluation Result
A CO trace has the following fields:
~<ConditionID>~<LHSOperand>~<Operator>~<RHSOperand>~<NOT>~<Result>[~<Resul
tOnError>]
A CO trace looks similar to the following:
~~CO~1~LdapGroup(6645):no-param:hidden-value:~ldap-group-is-member-
of~SelectedLdapGroup(66455):hidden-param:hidden-value:~~~True(69)
Table 32-7 describes the fields in a Condition trace.
Element Description
<ConditionID> The identifier assigned to the conditions in the condition group. The first
condition is assigned 1.
<LHSOperand> The enumerative value and parameter list of the left operand. It is the first
value specified for the comparison and has the following format:
The Condition Name is the string assigned to the condition type specified in
the policy. The Data ID is a numerical value assigned to the condition type.
<RHSOperand> The enumerative value and parameter list of the right operand. It is the
second value specified for the comparison and has the same format as the
<LHSOperand>.
1402 Troubleshooting
Element Description
<NOT> The string NOT if the result was negated prior to reporting; otherwise the
field has no value. This is the If Not option when creating a condition.
In the sample CO trace, this condition result was not negated, therefore the
field is represented by a tilde.
<Result> A string followed by a number that specifies the result of the comparison. See
“Policy Result Values” on page 1405.
In the sample CO trace, this is True (69), indicating that the condition
evaluated to True—the user is a member of the specified LDAP group.
<ResultOnError> A string describing the error that occurred. This is an optional field that only
appears when the condition evaluation results in an error.
Element Description
<ActionID> The identifier assigned to the action. In the sample PA trace, this is
ActionID_1181252224665.
<Result> A string followed by a number that specifies the result of the assigning the action. See
“Policy Result Values” on page 1405.
In the sample PA trace, this is Success(0), which indicates that the action of
assigning the Manager role to the user was successful.
Troubleshooting 1403
~<ActionID>~<ActionName>~<ActionParmeters>~~~<Result>[~<ActionError>]
A PC trace looks similar to the following:
~~PC~ActionID_1181252224665~~Document=(ou=xpemlPEP,ou=mastercdn,
ou=ContentPublisherContainer,ou=Partition,ou=PartitionsContainer,ou=VCDN_R
oot,ou=accessManagerContainer,o=novell:romaContentCollectionXMLDoc),Policy
=(Manager),Rule=(1::RuleID_1181251958207),Action=(AddRole::ActionID_118125
2224665)~AdditionalRole(6601):unknown():Manager:~~~Success(0)
Table 32-9 describes the fields in a Policy Action Completion trace.
Element Description
In the sample PC trace, the action has the following parts in its name:
Document=(ou=xpemlPEP,ou=mastercdn,
ou=ContentPublisherContainer,ou=Partition,ou=PartitionsContainer,ou
=VCDN_Root,ou=accessManagerContainer,o=novell:romaContentCollec
tionXMLDoc)
Policy=(Manager)
Rule=(1::RuleID_1181251958207)
Action=(AddRole::ActionID_1181252224665)
In this sample PC trace, the Role policy has an action and a parameter. The
value of this element is AdditionalRole(6601):unknown():
Manager:
<Result> A string followed by a number that specifies the result. See “Policy Result
Values” on page 1405.
<ActionError> A string describing the error that occurred when invoking the action. This is
an optional field that only appears when the Result field contains an error
code.
1404 Troubleshooting
32.16.2.2 Policy Result Values
The last field in a trace string is the <result> field. Table 32-10 lists the possible values:
3 Error: Configuration initialization An error was detected during the policy configuration
processing.
70 Condition unknown Condition input was not available, so the results are
unknown.
73 Error: Data unavailable The data required for evaluation was unavailable.
Troubleshooting 1405
When the User Is Assigned Roles
Roles are assigned at authentication, so this type of trace is found in the catalina.out file (Linux)
or the stdout.log file (Windows) of Identity Server. This is a trace of a user who does not match
the requirements to be assigned the Manager Role (for a definition of this Role policy, see Figure 32-
9 on page 1399).
<amLogEntry> 2009-06-11T15:38:38Z INFO NIDS Application: AM#500199050:
AMDEVICEID#9921459858EAAC29:
AMAUTHID#YfdEmqCT2ZutwybD1eYSpfph8g5a5aMl6MGryq1hIqc= : IDP
RolesPep.evaluate(), policy trace:
~~RL~0~~~~Rule Count: 1~~Success(67)
~~RU~RuleID_1181251958207~Manager~DNF~~1:1~~Success(67)
~~CS~1~~ANDs~~1~~False(68)
~~CO~1~LdapGroup(6645):no-param:hidden-value:~ldap-group-is-member-
of~SelectedLdapGroup(66455):hidden-param:hidden-value:~~~False(68)
</amLogEntry>
This trace describes the following about the policy.
1. The RL trace indicates that the policy has one rule and that the policy evaluated without error.
2. The RU trace indicates that the rule (RuleID_1181251958207) has one condition and one
action and that the rule evaluated without error.
3. The CS trace indicates that the condition set evaluated to False (the user logging in does not
match the conditions of the set).
4. The CO trace indicates that the condition evaluated to False (the user logging in does not match
the condition).
When you are troubleshooting why a user is not granted access to a resource that uses a role in its
Authentication policy, the first step should be to look at Identity Server file and determine whether
the user was assigned the role. In this trace, you can see that the user was not assigned the role. To
fix this problem, you can either change the conditions of the Role policy to match the user or change
the user’s information so that the user matches the existing condition in the Role policy.
1406 Troubleshooting
<amLogEntry> 2009-07-13T22:13:29Z INFO NIDS Application: AM#501102050:
AMDEVICEID#esp-51A474B83BFDDF4F:
AMAUTHID#YfdEmqCT2ZutwybD1eYSpfph8g5a5aMl6MGryq1hIqc=: PolicyID#N748097P-
3507-3KP7-4241-410PN4152094: NXPESID#1718: AGAuthorization Policy Trace:
~~RL~1~~~~Rule Count: 1~~Success(0)
~~RU~RuleID_1182876316974~Allow_Sales~DNF~~1:1~~Success(0)
~~CS~1~~ANDs~NOT~1~~True(69)
~~CO~1~CurrentRoles(6660):no-param:authenticated~com.novell.nxpe.
condition.NxpeOperator@string-substring~SelectedRole(6661):hidden-
param:hidden-value:~~~False(68)
~~PA~1~~Deny Access Messasge~Sorry, you must work in sales
today.~~~Success(0)
~~PC~1~~Document=(ou=xpemlPEP,ou=mastercdn,ou=ContentPublisherCon
tainer,ou=Partition,ou=PartitionsContainer,ou=VCDN_Root,ou=accessManagerCo
ntainer,o=novell:romaContentCollectionXMLDoc),Policy=(Allow_Sales),Rule=(1
::RuleID_1182876316974),Action=(Deny::1)~~~~Success(0)
</amLogEntry>
This trace is for a Deny policy that denies access if the user has not been assigned the Sales role. The
CO line indicates that the condition is looking for a role and that the user did not match the
condition.
The CS line indicates that the condition is a negative condition, meaning that the user matches the
condition set when the user does not match the condition. This is the case for this user, so the
condition set evaluates to True, and the action is then applied.
The PA line describes the action that was applied.
Troubleshooting 1407
<amLogEntry> 2009-06-11T19:02:44Z INFO NIDS Application: AM#501103050:
AMDEVICEID#esp-534FD0D0E32FE4BD:
AMAUTHID#YfdEmqCT2ZutwybD1eYSpfph8g5a5aMl6MGryq1hIqc=: PolicyID#51N4214K-
74L1-491L-7190-2M9K04K21393: NXPESID#726: AGIdentityInjection Policy
Trace:
~~RL~0~~~~Rule Count: 1~~Success(67)
~~RU~RuleID_1181251426062~basic_auth_ii~DNF~~0:1~~Success(67)
~~PA~ActionID_1181251427701~~Inject Auth Header~uid~uid(1):
CredentialProfile(7010:):NEPXurn~3Anovell~3Acredentialprofile~3A2005-
03~2Fcp~3ASecrets~2Fcp~3ASecret~2Fcp~3AEntry~40~40~40~40WSCQSSToken~40~40~
40~40~2Fcp~3ASecrets~2Fcp~3ASecret~5Bcp~3AName~3D~22LDAPCredentials~22~5D~
2Fcp~3AEntry~5Bcp~3AName~3D~22UserName~22~5D:~Ok~Success(0)
~~PA~ActionID_1181251427701~~Inject Auth Header~password~pwd(1):
CredentialProfile(7010:):NEPXurn~3Anovell~3Acredentialprofile~3A2005-
03~2Fcp~3ASecrets~2Fcp~3ASecret~2Fcp~3AEntry~40~40~40~40WSCQSSToken~40~40~
40~40~2Fcp~3ASecrets~2Fcp~3ASecret~5Bcp~3AName~3D~22LDAPCredentials~22~5D~
2Fcp~3AEntry~5Bcp~3AName~3D~22UserPassword~22~5D:~Ok~Success
(0)
~~PC~ActionID_1181251427701~~Document=(ou=xpemlPEP,ou=mastercdn,
ou=ContentPublisherContainer,ou=Partition,ou=PartitionsContainer,ou=VCDN_R
oot,ou=accessManagerContainer,o=novell:romaContentCollectionXMLDoc),Policy
=(basic_auth_ii),Rule=(1::RuleID_1181251426062),Action=(InjectAuthHeader::
ActionID_1181251427701)~~~~Success(0)
</amLogEntry>
1408 Troubleshooting
When the User Has Not Authenticated
If the user has not authenticated and therefore has no authentication credentials, the trace for an
Identity Injection policy with an authentication header looks similar to the following:
<amLogEntry> 2009-06-11T20:16:51Z INFO NIDS Application: AM#501103050:
AMDEVICEID#esp-534FD0D0E32FE4BD: PolicyID#OL8659PL-0K69-0N0N-0845-
5PN113KM3842: NXPESID#2539: AGIdentityInjection Policy Trace:
~~RL~0~~~~Rule Count: 1~~Success(67)
~~RU~RuleID_1181251426062~basic_auth_ii~DNF~~0:1~~Success(67)
~~PA~ActionID_1181251427701~~Inject Auth Header~uid~uid(1):
CredentialProfile(7010:):NEPXurn~3Anovell~3Acredentialprofile~3A2005-
03~2Fcp~3ASecrets~2Fcp~3ASecret~2Fcp~3AEntry~40~40~40~40WSCQSSToken~40~40~
40~40~2Fcp~3ASecrets~2Fcp~3ASecret~5Bcp~3AName~3D~22LDAPCredentials~22~5D~
2Fcp~3AEntry~5Bcp~3AName~3D~22UserName~22~5D:~Ok~Success(0)
~~PA~ActionID_1181251427701~~Inject Auth
Header~password~pwd(1):CredentialProfile(7010:):NEPXurn~3Anovell~3Acredent
ialprofile~3A2005-03~2Fcp~3ASecrets~2Fcp~3ASecret~2Fcp~3AEntry
~40~40~40~40WSCQSSToken~40~40~40~40~2Fcp~3ASecrets~2Fcp~3ASecret~5Bcp~3ANa
me~3D~22LDAPCredentials~22~5D~2Fcp~3AEntry~5Bcp~3AName~3D~22UserPassword~2
2~5D:~Ok~Success(0)
~~PC~ActionID_1181251427701~~Document=(ou=xpemlPEP,ou=mastercdn,
ou=ContentPublisherContainer,ou=Partition,ou=PartitionsContainer,ou=VCDN_R
oot,ou=accessManagerContainer,o=novell:romaContentCollectionXMLDoc),Policy
=(basic_auth_ii),Rule=(1::RuleID_1181251426062),Action=(InjectAuthHeader::
ActionID_1181251427701)~~~~Success(0)
</amLogEntry>
For a trace of an Authorization policy that uses a role, see “When an Authorization Policy Uses a
Role” on page 1406.
Troubleshooting 1409
When the Protected Resource Requires Authentication
The following is a successful trace of an Authorization policy that requires the user to have the value
of Manager in the title attribute. To obtain this data, the user must be authenticated.
The policy contains two rules: a Permit rule if the user has the value of Manager in the title attribute,
and a Deny rule that denies all other users. This policy has been assigned to protect an Access
Gateway resource.
<amLogEntry> 2009-08-02T15:55:05Z INFO NIDS Application: AM#501101050:
AMDEVICEID#esp-2FA73CE1A376FD91: PolicyID#459O8443-N8P5-KO21-68OM-
K172P107N4O5: NXPESID#1743: Evaluating policy </amLogEntry>
1410 Troubleshooting
policy might be assigned to a public resource (no authentication required) and use the time of day
condition or day of the week condition for its evaluation criteria. See “When the Protected Resource
Does Not Require Authentication” on page 1411.
Troubleshooting 1411
Enabling Form Fill Logging
Two modules evaluate the Form Fill policy and log entries:
Embedded Service Provider (ESP) of Access Gateway evaluates the Form Fill policy and logs
entries to its file. ESP sends the messages to the catalina.out file (Linux) or the
stdout.log file (Windows) of Access Gateway. To enable ESP logging, see Section 23.6,
“Turning on Logging for Policy Evaluation,” on page 1164.
The proxy service of Access Gateway reports on the process of finding the form data and filling
it in.
For Access Gateway Appliance, see the /var/log/novell-apache2/soapmessages file.
You can configure a custom filter and file to log Form Fill entries. For the filter, enable the Form
Fill Processing events in the Advanced Log Level Options section.
1412 Troubleshooting
</p>
<table border="0" width="86%">
<tr>
<td width="25%">Username:</td>
<td width="75%">
<input type="TEXT" name="username">
</td>
</tr>
<tr>
<td width="25%">Password:</td>
<td width="75%">
<input type="PASSWORD" name="password" size="30">
</td>
</tr>
<tr>
<td width="25%">title:</td>
<td width="75%">
<input type="TEXT" name="title" size="30">
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="hidden" name="formNum" value="1">
<input type="submit" value="Login">
<input type="reset">
</td>
</tr>
</table>
</center>
</form>
</body>
</html>
Troubleshooting 1413
Figure 32-11 The Form Fill Policy for the mylogin Form
This policy is configured so that the user never sees the form. Even on first login, the form is filled in
for authenticated users because the user’s authentication credentials are used for the username and
password fields, and the title field value is obtained from the LDAP user store. If the user does not
have a value for the title attribute, the user sees the form every time the page is accessed. If you
want the value to be saved for these users, you need to change the policy to use a secret store rather
than an LDAP attribute.
The following trace is from the catalina.out file of the Embedded Service Provider of an Access
Gateway Appliance. The entries have been numbered so that they can be described, and a few extra
line breaks and spaces have been added to make the entries easier to read.
1414 Troubleshooting
1. <amLogEntry> 2009-09-14T00:15:52Z INFO NIDS Application: AM#501101050:
AMDEVICEID#esp-917A1174C8A270FC: PolicyID#06OO287L-06LO-KKP4-207M-
6971PPM6147L: NXPESID#2663: Evaluating policy </amLogEntry>
The sample trace is from the error_log file of a Access Gateway Appliance. Some of the lines are
very long, and extra white space has been added to make them easier to read.
Troubleshooting 1415
Sep 9 17:05:08 nam40-mag1 httpd[16354]: [warn] AMEVENTID#40:
FF:fillSilent: mastercdnForm_Fill3310
Sep 9 17:05:08 nam40-mag1 httpd[16354]: [warn] AMEVENTID#40: FF:Filling:
username
Sep 9 17:05:08 nam40-mag1 httpd[16354]: [warn] AMEVENTID#40: FF:Filling:
password
Sep 9 17:05:08 nam40-mag1 httpd[16354]: [warn] AMEVENTID#40: FF:Filling:
title
Sep 9 17:05:08 nam40-mag1 httpd[16354]: [warn] AMEVENTID#40: FF: No Match
<formNum>
Sep 9 17:05:08 nam40-mag1 httpd[16354]: [warn] AMEVENTID#40:
FF:fillInteractive FormFill Policy :mastercdnForm_Fill3310 Inject
JavaScript Policy: mastercdnForm_Fill3510
Sep 9 17:05:08 nam40-mag1 httpd[16354]: [warn] AMEVENTID#42:
FF:fillSilent: mastercdnForm_Fill3310, referer: http://www.ag1.com/
identity/forms/simple.html
Sep 9 17:05:08 nam40-mag1 httpd[16354]: [warn] AMEVENTID#42: FF:Not Found:
<form>, referer: http://www.ag1.com/identity/forms/simple.html
Sep 9 17:05:08 nam40-mag1 httpd[16354]: [warn] AMEVENTID#42: FF:no <Form
pol:mastercdnForm_Fill3310, referer: http://www.ag1.com/identity/forms/
simple.html
On Access Gateway Appliance, you can get more detailed information about the process that was
used to fill the form when you turn on logging to the soapmessages file.
1416 Troubleshooting
<filter>
<filter-name>DebugFilter</filter-name>
<description> Filter to set the masked cookies in http response
for debugging purpose.</description>
<filter-
class>com.novell.nidp.servlets.filters.debug.MaskedCookiesSetter</
filter-class>
</filter>
<filter-mapping>
<filter-name>DebugFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
3 Restart Identity Server.
Identity Server sets the HJSESSIONID cookie in the browser containing the same hashed
value as that in the log references to a session.
<filter>
<filter-name>DebugFilter</filter-name>
<description> Filter to set the masked cookies in http response
for debugging purpose.</description>
<filter-
class>com.novell.nidp.servlets.filters.debug.MaskedCookiesSetter</
filter-class>
</filter>
<filter-mapping>
<filter-name>DebugFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
3 Restart ESP.
ESP sets the HJSESSIONID cookie in the browser containing the same hashed value as that in
the log references to a session.
Troubleshooting 1417
32.17 Access Manager Audit Events and Data
See Chapter 33, “Access Manager Audit Events and Data,” on page 1419.
1418 Troubleshooting
33 Access Manager Audit Events and Data
3
This section contains all the audit events logged by Access Manager. Each event contains the
following details:
EventID
Description
Originator Title
Target Title
Subtarget Title
Text1 Title
Text2 Title
Text3 Title
Value1 Title
Value1 Type
Group Title
Data Length
Data Type values stored.
Each field contains a single character token (such as B, U, Y, and so on) that represent the data
fields of the audit event, with each letter representing a different data field. The mapping of the
character tokens to data fields is found in the nids_en.lsc file.
Audit events are device-specific. You can select events for the following devices:
Administration Console: In Administration Console Dashboard, click Auditing.
Identity Server: Click Devices > Identity Servers > Edit > Auditing and Logging.
Access Gateway: Click Devices > Access Gateways > Edit > Auditing.
Section 33.1, “JavaScript Object Notation (JSON) Event Format,” on page 1423
Section 33.2, “NIDS: Sent a Federate Request (002e0001),” on page 1424
Section 33.3, “NIDS: Received a Federate Request (002e0002),” on page 1425
Section 33.4, “NIDS: Sent a Defederate Request (002e0003),” on page 1425
Section 33.5, “NIDS: Received a Defederate Request (002e0004),” on page 1426
Section 33.6, “NIDS: Sent a Register Name Request (002e0005),” on page 1426
Section 33.7, “NIDS: Received a Register Name Request (002e0006),” on page 1426
Section 33.8, “NIDS: Logged Out an Authentication that Was Provided to a Remote Consumer
(002e0007),” on page 1427
Section 33.9, “NIDS: Logged out a Local Authentication (002e0008),” on page 1427
Section 33.10, “NIDS: Provided an Authentication to a Remote Consumer (002e0009),” on
page 1428
The following table lists the event fields with its corresponding description:
Field Description
Component Specifies the name of the Access Manager component. For example, “nipd”
identifies that the audit is triggered by Identity Server.
eventId Specifies the event ID. For example, 002E0025. To view all the events and their
corresponding event IDs, see the below sections.
Originator Specifies the ID of the device that generated this event. For example,
9772686A5705BA6C is the device with ID “idp-9772686A5705BA6C”
Target Specifies the target on which this action is executed. In the above example, the
action is risk-based authentication, hence the target is the user id for which the risk
was assessed.
stringValue1 Specifies an event-specific string value. The value of this field varies from event to
event. For example, it is null if the event has no value to pass.
stringValue2 Specifies an event-specific string value. The value of this field varies from event to
event. For example, it is null if the event has no value to pass.
stringValue3 Specifies an event-specific string value. The value of this field varies from event to
event. For example, it is null if the event has no value to pass.
numbericValue1 Specifies an event-specific string value. The value of this field varies from event to
event. For example, it is null if the event has no value to pass.
numbericValue2 Specifies an event-specific string value. The value of this field varies from event to
event. For example, it is null if the event has no value to pass.
numbericValue3 Specifies an event-specific string value. The value of this field varies from event to
event. For example, it is null if the event has no value to pass.
NOTE: The Syslog agents use the rfc3164 message format. For more information, see RFC 3164
documentation (https://www.ietf.org/rfc/rfc3164.txt).
Originator (B): Schema Title: Originator Data Description: JCC Device ID (AMDEVICEID#device_id:)
Target (U): Schema Title: Authentication Contract Name Data Description: Contract URI
SubTarget (Y): Schema Title: User Identifier Data Description: User DN
Text1 (S): Schema Title: Authentication Identifier Data Description: IDP Session ID
(AMAUTHID#auth_id:)
Text2 (T): Schema Title: Reason Data Description: Reason Message
Text3 (F): Schema Title: Authentication Source Data Description: Contains a JSON object comprising
information such as user agent, cluster ID for Identity Server, service provider name, and PID. For a
contract, contains the authentication method name; for Liberty, contains the service provider IP; for
SAML 1.1, contains the SAML assertion issuer; for SAML 2.0, contains the service provider IP.
Value1 (1): 0
Group (G): 0
Data Length (X): 0
Data (D): Schema Title: Client IP Address Description: IP Address of the host from which the
authentication failed.
Description: NIDS: Failed to broker an authentication from identity provider to service provider as
identity provider and service provider are not in same group
Originator (B): Schema Title: Originator Data Description: JCC Device ID (AMDEVICEID#device_id:)
Target (U): Schema Title: User Identifier Data Description: User DN
SubTarget (Y): null
Text1 (S): Schema Title: Identity Provider IdentifierDescription : Identity Provider ID
Text2 (T): Schema Title: Service Provider IdentifierDescription: Service Provider ID
Text3 (F): null
Value1 (1): 0
Group (G): 0
Data Length (X): Schema Title: Target URL Length Description: Byte length of the target URL
Data (D): Schema Title: Target URL Description: Target URL
Description: NIDS: Failed to broker an authentication from identity provider to service provider
because a policy evaluated to deny
Originator (B): Schema Title: Originator Data Description: JCC Device ID (AMDEVICEID#device_id:)
Target (U): Schema Title: User Identifier Data Description: User DN
SubTarget (Y): Schema Title: Broker Group Name Description: Name of the Brokering Group
Text1 (S): Schema Title: Identity Provider IdentifierDescription: Identity Provider ID
Text2 (T): Schema Title: Service Provider IdentifierDescription: Service Provider ID
Text3 (F): Schema Title: Broker Policy Description: Name of the Broker Policy that evaluated to deny
Value1 (1): 0
Group (G): 0
Data Length (X): Schema Title: Target URL Length Description: Byte length of the target URL
Data (D): Schema Title: Target URL Description: Target URL
Event codes for Access Manager consist of 4 fields that describe the type of code and the module
that produced it:
Severity (1 digit)
1 = severe - Describes problems that need to be resolved for the system to run correctly.
2 = error - Describes that a failure occurred, but the system is operational.
3 = warn - Describes a situation that the administrator needs to be aware of and might
need to address. The system is currently running properly.
4 = config - Describes the configuration related information.
5 = info - Describes events that occur.
6 = debug - Describes execution points within the software.
9 = internal - Describes an error that is for internal use only. This error code is not
documented in any public documentation.
Component issuing the error code (3 digits)
Sub-grouping for further classification within a component (2 digits)
Event code (three digits)
0 000 00 000
The following sections divide the event codes by component, then describe them:
Section 34.1, “Administration Console (009),” on page 1477
Section 34.2, “Identity Server (001),” on page 1511
Section 34.3, “Linux Access Gateway Appliance(045),” on page 1555
Section 34.4, “Access Gateway Service (046),” on page 1556
Section 34.5, “Server Communications (JCC) (007),” on page 1560
Section 34.6, “Policy Engine (008),” on page 1577
Section 34.7, “SOAP Policy Enforcement Point (011),” on page 1581
Section 34.8, “Backup and Restore (010),” on page 1585
Section 34.9, “Modular Authentication Class (012),” on page 1591
Application
100901001 Error getting web manager Cause: Administration Console was not installed correctly
or has become corrupt.
100901002 Error in initializing the Cause: Administration Console was not installed correctly
dirCerts APIs or has become corrupt. Specifically, the PKI and/or
certificate management jars may be missing or have
mismatched versions.
-Djava.library.path=/opt/novell/lib
100901003 Error in init Cause: Administration Console was not installed correctly
or has become corrupt.
100901004 Error in Cause: Servlet error when retrieving data from a multipart
CertHandler.getMultipartPa form.
ramValue
Action: Submit a request to Product Support for analysis
and resolution.
100901008 Could not remove certificate Cause: The keystore that contains the certificate might not
with the given alias from the exist or might have become corrupt.
keystore
Action: View the configuration store, find the keystore
object, and check that the certificate is no longer in the key
list. If it is there, manually remove it.
Also, find the keystore on the file system of the device and
remove the key manually using the Java keytool program for
JKS keystores.
100901011 Error in creating or Cause: Test certificates might have been accidentally
configuring one or more of deleted from the file system.
Identity Server
Configuration cluster Cause: Error communicating with Identity Server(s) while
keystores pushing down the test certificates.
100901012 keystore already exists Cause: Creating a keystore that already exists on the device.
100901013 Error in init (using reflection Cause: The java class is unable to locate another java class
to call a method has failed in through reflection.
init)
Action: Submit log to Novell Support for analysis and
resolution.
700901014 Cannot add non-existent key Cause: The certificate you are trying to add to a keystore
to keystore does not exist.
700901015 Cannot add key to non- Cause: The keystore does not exist.
existent keystore
Action: Specify a valid keystore or create the keystore.
700901016 Could not add key to Cause: Some platforms and keystore formats only support a
keystore because the alias limited number of characters in the alias name.
was too long.
Action: Use a shorter alias.
700901017 Could not add key to Cause: Many keystores allow only one key to be contained
keystore because the in it because the keystore has a specific purpose in Access
maximum number of keys Manager Appliance.
has been reached
Action: Remove unused keys from the keystore and try
again.
700901020 Cannot remove non-existent Cause: The key no longer exists in Access Manager.
key from keystore
Action: View the configuration store and find the keystore
object and manually remove the key from the key list.
700901021 Cannot remove key from Cause: The keystore does not exist.
non-existent keystore
Action: Specify a valid keystore.
100901023 CertHandler.doGetCertFrom Cause: The server IP or DNS name and port combination is
Server: Could not connect to not reachable.
server IP and port
Action: Verify that the IP address or DNS name exists and
that the port is correct. You can try connecting to it with a
web browser or other utility.
100901024 CertHandler.doGetCertFrom Cause: The server IP or DNS name and port combination
Server: certificate was not had no certificate to be presented.
obtained from server IP and
port Action: Verify that the IP address or DNS name exists and
the port is correct. Verify that the server you are attempting
to import the certificate from has a certificate. You can try
connecting to it with a web browser or other utility.
100901026 The node keystore does not Cause: The grouping of Identity Servers (Identity Server
exist. Cannot add cluster Configuration) or Access Gateways is trying to locate a
keys to a non-existent keystore on one of Identity Server or Access Gateway
keystore. devices but the keystore cannot be found.
100901027 Error in Cause: The cluster keystore representation object was not
CertHandler.getNIDPDevice found.
KeystoreName (The name of
the device's keystore was Cause: The cluster keystore representation did not have a
not found). device type specified.
100901030 Error in Cause: The cluster object was not found in the
CertHandler.getNodeKeysto configuration store, the type of the cluster could not be
reNames (The cluster object determined, or the cluster server list was empty.
was not found in the
configuration store, or the Action: No action needed unless your devices are unable to
cluster server list was communicate. If you are having problems with
empty). communication, delete and recreate Identity Server
configuration or Access Gateway cluster that is causing the
problem.
100901032 The device does not exist Cause: It's possible the device is in a partially-imported
but the certificate is in a state.
keystore assigned to that
device. Action: Delete the keystore, if possible, and re-import the
device.
100901033 The device does not exist Cause: It's possible the device is in a partially-imported
but the keystore is assigned state.
to that device.
Action: Delete the keystore, if possible, and re-import the
device.
100901035 Unable to remove the node Cause: Could not locate the keystore object in the
keystore setting off Access configuration store.
Gateway group device.
Action: No action required.
700901037 Unable to remove all keys Cause: The keystore does not exist.
from keystore.
Cause: There is a corrupt key in the keystore.
700901038 Unable to reinitialize Cause: One of the device keystores does not exist.
keystore contents for a
particular device in a group Action: Re-create the keystore or delete and recreate the
or configuration. group or configuration and then re-add the devices to it.
700901039 Unable to assess whether Cause: The cluster keystore representation does not exist or
the keystore contains a is corrupt.
tomcat connector
certificate. Cause: Unable to locate the devices in the group/
configuration.
700901040 Error adding a key to Cause: The original certIficate information could not be
keystore during the renew located.
certificate process.
Action: Manually create a new certificate and place it into
all the keystores which previously held the certificate being
renewed.
100901041 Unable to extract the public Cause: The source keystore does not exist.
key from a key during the
auto-import public Action: Select a valid keystore.
certificate process. Cause: The specified source key does not exist.
Action: Verify that the key you have specified to export the
public certificate from exists.
100901042 Unable to set up the initial Cause: When trying to locate the cluster keystores so that
keys for the cluster. their contents can be initialized, one or more of those
keystore representations could not be found.
100901043 The source keystore does Cause: The source keystore does not exist.
not exist. Cannot push keys
from a non-existent Action: Usually the source keystore is a cluster keystore
keystore. representation. Try deleting and recreating Identity Server
configuration or Access Gateway cluster to ensure those
cluster keystore representations get created.
Application
100902001 Error - Exception thrown in Cause: Cannot post alert to internal subsystem.
eventOccurred of
vcdn.application.sc.alert.Ale Action: Non-fatal error. No action required.
rtEventListener
100902002 Error - Exception thrown in Cause: Cannot post alert to internal subsystem.
eventOccurred of
vcdn.application.sc.alert.Ale Action: Submit the app_sc.0.log file for resolution.
rtEventListener.
100902003 Error - Exception thrown in Cause: Problem occurred update Identity Server Alert
logAlert of count.
vcdn.application.sc.alert.Ale
rtLogger. Action: Non-fatal error. May be a symptom of a more
serious condition. Submit the app_sc.0.log file for
resolution.
100902004 Error - Exception thrown in Cause: Could not update or read the list of trusted server
the execute method of certificates.
vcdn.application.sc.alert.Cer
tUpdateWork. Action: Be sure the /var/opt/novell/novlwww/
devman.cacerts file exists, is a valid Java keystore, and is
not corrupted. To check its status, enter the following
command:
/opt/novell/java/bin/keytool -v -list -
keystore devman.cacerts
100902005 Error - (The specified device) Cause: Identity Server was not properly imported.
has not been imported.
Failed to start device. Action: Go to Access Gateway Server List and click Repair
Import. (The repair import. functionality works for any
server type.) Otherwise, submit the app_sc.0.log file for
resolution.
100902006 Error importing device (with Cause: The Server was not properly imported.
the specified ID).
Action: Go to Access Gateway Server List and click Repair
Import. (The repair import. functionality works for any
server type.) If this fails, reinstall the server component.
100902007 Error - Import failed. Cause: Unable to communicate with the Server being
Retrying. imported.
100902008 Error auto importing. Retry. Cause: Unable to communicate with the Server being
imported.
100902009 Error - Could not create Cause: Error creating Server object in config store during
subcontext: cn=(The import.
specified Context)
Action: Go to Access Gateway Server List and click Repair
Import. (The repair import functionality works for any
server type.) Otherwise, submit the app_sc.0.log file
for resolution.
100902010 Error - (The given ESP) does Cause: There was a error during Administration Console
not exist! installation.
100902011 Error - Exception reading Cause: The file required during the import process could
(the given ESP) not be read.
100902012 Error - Could not import Cause: The error occurred while creating the configuration
LDIF. for the Embedded Service Provider.
100902013 Error - Could not find (the Cause: Error connecting to the config store while importing
specified DN) the Embedded Service Provider.
100902014 Error - ESP Configuration Cause: Could not find the configuration for the imported
was not found, so auto- Embedded Service Provider.
import failed.
Action: Go to Access Gateway Server List and click Repair
Import. (The repair import functionality works for any
server type.) Otherwise, submit the app_sc.0.log file for
resolution.
100902015 Error - Exception thrown in Cause: Error during import of server component.
importDevice of
vcdn.application.sc.alert.Re Action: Go to Access Gateway Server List and click Repair
gisterCommand. Import. (The repair import functionality works for any
server type.) Otherwise, submit the app_sc.0.log file for
resolution.
100902016 Error - ImportThread null Cause: Internal error occurred during import.
member vars.
Action: Go to Access Gateway Server List and click Repair
Import. (The repair import functionality works for any
server type.) Otherwise, submit the app_sc.0.log file for
resolution.
100902017 Error - Could not connect to Cause: Either the primary Administration Console is down
eDir for certs. (if this is a secondary console), or the config store is down.
100902018 Error during execution. Cause: Error executing an external program during import
process.
100902019 Error - Could not get (the Cause: An error occurred while trying to read data for a
given number of) bytes of command.
payload data.
Action: Ensure the server component is operating properly.
Otherwise, submit the app_sc.0.log file for resolution.
100902020 Error - VException thrown Cause: Problem executing a command from a server
while executing command in component.
vcdn.application.sc.alert.Ale
rtCommandHandler. Action: Ensure the server component is operating properly.
Otherwise, submit the app_sc.0.log file for resolution.
100902022 Error - VCDNException Cause: Error occurred in processing the response from an
thrown in responseReceived Access Gateway server.
method of
vcdn.application.sc.config.A Action: Ensure the server component is operating properly.
GApplyWork Otherwise, submit the app_sc.0.log file for resolution.
100902023 Error - VCDNException Cause: Error occurred while sending configuration to Access
thrown in Gateway server.
performConfiguration
method of Action: Ensure the server component is operating properly.
vcdn.application.sc.config.A Otherwise, submit the app_sc.0.log file for resolution.
GConfigWork
100902024 Error - VCDNException Cause: Error occurred in processing the response from an
thrown in responseReceived Access Gateway server.
method of
vcdn.application.sc.config.A Action: Ensure the server component is operating properly.
GConfigWork Otherwise, submit the app_sc.0.log file for resolution.
100902025 Error - Exception thrown in Cause: Error occurred in processing the response from an
processAGResponse method Access Gateway server.
of
vcdn.application.sc.config.A Action: Ensure the server component is operating properly.
GConfigWork Otherwise, submit the app_sc.0.log file for resolution.
100902031 Error - SchedulerException Cause: Error occurred while scheduling an immediate apply
thrown in of the current configuration.
configureDeviceNow
method of Action: Submit the app_sc.0.log file for resolution.
vcdn.application.sc.config.C
onfigManager
100902032 Error - Exception thrown in Cause: Error occurred while performing pending actions.
the execute method of
vcdn.application.sc.config.C Action: Submit the app_sc.0.log file for resolution.
onfigWork
100902033 Error setting LDAP attribute Cause: Pending actions could not be completed because of
in performPendingActions a problem communicating with the config store.
of
vcdn.application.sc.config.C Action: Ensure the config store is functioning correctly.
onfigWork Otherwise, submit the app_sc.0.log file for resolution.
100902034 Error invoking method in Cause: Problem occurred while invoking a method during a
performPendingActions of pending action.
vcdn.application.sc.config.C
onfigWork Action: Submit the app_sc.0.log file for resolution.
100902035 Error executing pending Cause: Problem occurred while displaying a pending dialog
action (name) in message.
performPendingActions of
vcdn.application.sc.config.C Action: This is a non-fatal error. If the problem persists,
onfigWork submit the app_sc.0.log file for resolution.
100902036 Error - Exception thrown in Cause: Error occurred while retrieving XML data from the
getConfigXML of config store.
vcdn.application.sc.config.C
onfigWork Action: Ensure the config store is functioning correctly.
Otherwise, submit the app_sc.0.log file for resolution.
100902037 Error - VException thrown in Cause: Error occurred while saving the applied
saveInDB method of configuration in the config store.
vcdn.application.sc.config.C
onfigWork Action: Ensure the config store is functioning correctly.
Otherwise, submit the app_sc.0.log file for resolution.
100902038 Error - VException thrown in Cause: Error occurred while sending the Audit event for a
configFinished method of changed configuration.
vcdn.application.sc.config.D
eviceConfigApplyWork Action: Ensure the Audit server and the config store are
functioning properly. Otherwise, submit the
app_sc.0.log file for resolution.
100902039 Error - VException thrown in Cause: Error occurred while sending the Audit event for a
configFinished method of changed configuration.
vcdn.application.sc.config.D
eviceConfigWork Action: Ensure the Audit server and the config store are
functioning properly. Otherwise, submit the
app_sc.0.log file for resolution.
100902040 Error - Exception thrown in Cause: Error occurred while parsing the XML for a group
processConfigDiff method of configuration.
vcdn.application.sc.config.D
eviceGroupConfigWork Action: Error occurred while sending the Audit event for a
changed configuration.
100902041 Error - Exception thrown in Cause: Error occurred while processing a group member
memberConfigFinished configuration apply response.
method of
vcdn.application.sc.config.D Action: Ensure the server component is functioning
eviceGroupConfigWork properly. Otherwise, submit the app_sc.0.log file for
resolution.
100902042 Error - Exception thrown in Cause: Error occurred while re-applying a server
removePendingFromFailedLi configuration.
st method of
vcdn.application.sc.config.D Action: Submit the app_sc.0.log file for resolution.
eviceGroupConfigWork
100902044 Error - Exception thrown in Cause: Error occurred while scheduling a group
the execute method of configuration.
vcdn.application.sc.config.D
eviceGroupConfigWork Action: Submit the app_sc.0.log file for resolution.
100902045 Error - VException thrown in Cause: Error occurred while applying configuration to a
performWork method of group member.
vcdn.application.sc.config.M
ultiDeviceConfigWork Action: Ensure the server component is functioning
properly. Otherwise, submit the app_sc.0.log file for
resolution.
100902046 Error - Exception thrown in Cause: Error occurred while applying configuration to a
performWork method of group member.
vcdn.application.sc.config.M
ultiDeviceConfigWork Action: Ensure the server component is functioning
properly. Otherwise, submit the app_sc.0.log file for
resolution.
100902047 Error - SchedulerException Cause: Error occurred while trying to get the scheduled
thrown in configuration.
getDeviceGroupConfigWork
method of Action: Ensure the config store is functioning correctly.
vcdn.application.sc.config.M Otherwise, submit the app_sc.0.log file for resolution.
ultiDeviceConfigWork
100902048 Error - VException thrown in Cause: Error occurred while importing status from a group
configFinished method of member.
vcdn.application.sc.config.M
ultiDeviceConfigWork Action: Ensure the config store is functioning correctly.
Otherwise, submit the app_sc.0.log file for resolution.
100902050 Error - Exception thrown in Cause: Error occurred while sending a command to an
the sendCommand method Access Gateway server.
of
vcdn.application.sc.comman Action: Ensure the server component is functioning
d.AGCommandWork correctly. Otherwise, submit the app_sc.0.log file for
resolution.
100902051 Error - Exception thrown in Cause: Error occurred while processing a command
the processAGResponse response from an Access Gateway server.
method of
vcdn.application.sc.comman Action: Ensure the server component is functioning
d.AGCommandWork correctly. Otherwise, submit the app_sc.0.log file for
resolution.
100902057 Error - IOException thrown Cause: Error generating chained certificate command.
in the setCertChainData
method of Action: Submit the app_sc.0.log file for resolution.
vcdn.application.sc.comman
d.CertCommand
010090261 Error - VException thrown in Cause: Error occurred while processing a command
the response from an Identity Server or ESP.
updateNIDPCommandStatu
s method of Action: Ensure the server component is functioning
vcdn.application.sc.comman correctly. Otherwise, submit the app_sc.0.log file for
d.IDPCommandWork resolution.
100902062 Error - Exception thrown in Cause: Error occurred while processing a command
the processIDPResponse response from an Identity Server or ESP.
method of
vcdn.application.sc.comman Action: Ensure the server component is functioning
d.IDPCommandWork correctly. Otherwise, submit the app_sc.0.log file for
resolution.
100902063 Error - VCDNException Cause: Error occurred while executing a server command.
thrown in the execute
method of Action: Ensure the server component is functioning
vcdn.application.sc.comman correctly. Otherwise, submit the app_sc.0.log file for
d.JCCCommandWork resolution.
100902064 Error - Exception thrown in Cause: Error occurred while sending a server command.
the sendCommand method
of Action: Ensure the server component is functioning
vcdn.application.sc.comman correctly. Otherwise, submit the app_sc.0.log file for
d.JCCCommandWork resolution.
100902065 Error - Exception thrown in Cause: Error occurred while processing a response from a
the processResponse server command.
method of
vcdn.application.sc.comman Action: Ensure the server component is functioning
d.JCCCommandWork correctly. Otherwise, submit the app_sc.0.log file for
resolution.
300902069 Exception changing factory Cause: Error occurred while changing factory XML during
LocalAddress. configuration import.
100902070 Error - ConverterException Cause: Error occurred during translation of NetWare Access
thrown in the Gateway configuration.
getCurrentDeviceXML
method of Action: Submit the app_sc.0.log file for resolution.
vcdn.application.sc.core.AG
Device
100902071 Error - NamingException Cause: Config store could not be accessed or an internal
thrown in the importDevice error occurred.
method of
vcdn.application.sc.core.AG Action: Ensure the config store is functioning properly.
Device Otherwise, submit the app_sc.0.log file for resolution.
100902072 Error - VException thrown in Cause: Config store could not be accessed or an internal
the importDevice method of error occurred.
vcdn.application.sc.core.AG
Device Action: Ensure the config store is functioning properly.
Otherwise, submit the app_sc.0.log file for resolution.
100902073 Error - Exception thrown in Cause: Config store could not be accessed or an internal
the importDevice method of error occurred.
vcdn.application.sc.core.AG
Device Action: Ensure the config store is functioning properly.
Otherwise, submit the app_sc.0.log file for resolution.
100902074 Error - NamingException Cause: Config store could not be accessed or an internal
thrown in the error occurred.
vcdn.application.sc.core.Au
ditManager constructor. Action: Ensure the config store is functioning properly.
Otherwise, submit the app_sc.0.log file for resolution.
100902075 Error - JDOMException Cause: Audit XML data could not be parsed.
thrown in the
processDocument method Action: Submit the app_sc.0.log file for resolution.
of
vcdn.application.sc.core.Au
ditManager
100902077 Error - Exception thrown in Cause: Config store could not be accessed or an internal
the setDefaultServer error occurred.
method of
vcdn.application.sc.core.Au Action: Ensure the config store is functioning properly.
ditManager Otherwise, submit the app_sc.0.log file for resolution.
100902078 Error - VException thrown in Cause: Config store could not be accessed or an internal
the writeConfig method of error occurred.
vcdn.application.sc.core.Au
ditManager Action: Ensure the config store is functioning properly.
Otherwise, submit the app_sc.0.log file for resolution.
100902079 Error - NamingException Cause: Config store could not be accessed or an internal
thrown in the writeConfig error occurred.
method of
vcdn.application.sc.core.Au Action: Ensure the config store is functioning properly.
ditManager Otherwise, submit the app_sc.0.log file for resolution.
100902080 Error - Exception thrown in Cause: Config store could not be accessed or an internal
the writeConfig method of error occurred.
vcdn.application.sc.core.Au
ditManager Action: Ensure the config store is functioning properly.
Otherwise, submit the app_sc.0.log file for resolution.
100902081 Error - SException thrown in Cause: Config store could not be accessed or an internal
the getIDPConfigObject error occurred.
method of
vcdn.application.sc.core.Au Action: Ensure the config store is functioning properly.
ditManager Otherwise, submit the app_sc.0.log file for resolution.
100902082 Error - NamingException Cause: Config store could not be accessed or an internal
thrown in the error occurred.
getIDPConfigObject method
of Action: Ensure the config store is functioning properly.
vcdn.application.sc.core.Au Otherwise, submit the app_sc.0.log file for resolution.
ditManager
100902083 Error - Exception thrown in Cause: Config store could not be accessed or an internal
the getIDPConfigObject error occurred.
method of
vcdn.application.sc.core.Au Action: Ensure the config store is functioning properly.
ditManager Otherwise, submit the app_sc.0.log file for resolution.
300902087 Warning - Exception thrown Cause: The last executed command status ID could not be
in the read.
getLastScheduledWorkID
method of Action: Non-fatal error.
vcdn.application.sc.core.De
viceGroupManager
100902088 Error - Could not get version Cause: Could not get version from device.
from device. Ensure that it is
running properly. Action: Ensure that the server component is running
properly, then click Repair Import. Otherwise, submit the
app_sc.0.log file for resolution.
100902093 Error - Could not find esp cfg Cause: Error deleting improperly imported server.
SCC to remove in cluster
container. Action: Non-fatal error.
100902094 Error deleting the trusted Cause: Error accessing config store.
IDP entry for ESP.
Action: Ensure the config store is functioning properly.
Otherwise, submit the app_sc.0.log file for resolution.
100902095 Error - NamingException Cause: Error saving health status in config store.
thrown in the
setHealthCheck method of Action: Ensure the config store is functioning properly.
vcdn.application.sc.core.De Otherwise, submit the app_sc.0.log file for resolution.
viceManager
100902096 Error - Could not find the DN Cause: Error saving health status in config store.
specified.
Action: Ensure the server component imported correctly
and the config store is functioning properly. Otherwise,
submit the app_sc.0.log file for resolution.
100902097 Error - Exception thrown in Cause: Error occurred while deleting the server objects.
the deleteDevice method of
vcdn.application.sc.core.De Action: Ensure the config store is functioning properly.
viceManager Otherwise, submit the app_sc.0.log file for resolution.
100902098 Error - Exception thrown in Cause: Error updating the version following an upgrade of a
the setHealthCheck method server component.
of
vcdn.application.sc.core.De Action: Allow the operation to try again. Otherwise, submit
viceManager the app_sc.0.log file for resolution.
300902099 Warning - Exception thrown Cause: The last executed command status ID could not be
in the read.
getLastScheduledWorkID
method of Action: Non-fatal error.
vcdn.application.sc.core.De
viceManager
300902101 Identity configuration not Cause: Identity server configuration not found in config
found for device. store.
100902102 Error - Exception thrown in Cause: The config store is not reachable or the user does
the createCertEntry method not have rights to modify the config store
of
vcdn.application.sc.core.Key Action: Verify the config store is up and that the user has
Manager rights to create objects in the following container:
ou=KeyContainer,ou=Partition,ou=PartitionsCo
ntainer,ou=VCDN_root,ou=accessManagerContain
er,o=novell
100902103 Error - Exception thrown in Cause: The config store is not reachable or the user does
the deleteCertEntry method not have rights to modify the config store
of
vcdn.application.sc.core.Key Action: Verify the config store is up and that the user has
Manager rights to delete objects in the following container:
ou=KeyContainer,ou=Partition,ou=PartitionsCo
ntainer,ou=VCDN_root,ou=accessManagerContain
er,o=novell
100902104 Error - Exception thrown in Cause: The config store is not reachable or the user does
the modifyCertEntryXml not have rights to modify the config store
method of
vcdn.application.sc.core.Key Action: Verify the config store is up and that the user has
Manager rights to modify objects in the following container:
ou=KeyContainer,ou=Partition,ou=PartitionsCo
ntainer,ou=VCDN_root,ou=accessManagerContain
er,o=novell
100902105 Error - Exception thrown in Cause: The config store is not reachable or the user does
the createKeyStoreEntry not have rights to modify the config store
method of
vcdn.application.sc.core.Key Action: Verify the config store is up and the user has rights
Manager to create objects in the following container:
ou=KeyContainer,ou=Partition,ou=PartitionsCo
ntainer,ou=VCDN_root,ou=accessManagerContain
er,o=novell
100902106 Error - Exception thrown in Cause: The config store is not reachable or the user does
the deleteKeyStoreEntry not have rights to modify the config store
method of
vcdn.application.sc.core.Key Action: Verify the config store is up and that the user has
Manager rights to delete objects in the following container:
ou=KeyContainer,ou=Partition,ou=PartitionsCo
ntainer,ou=VCDN_root,ou=accessManagerContain
er,o=novell
100902107 Error - Exception thrown in Cause: The config store is not reachable or the user does
the not have rights to modify the config store
modifyKeyStoreEntryXml
method of Action: Verify the config store is up and that the user has
vcdn.application.sc.core.Key rights to modify objects in the following container:
Manager ou=KeyContainer,ou=Partition,ou=PartitionsCo
ntainer,ou=VCDN_root,ou=accessManagerContain
er,o=novell
100902108 Error - Exception thrown in Cause: Error creating an element in the specified XML
the createElement method document.
of
vcdn.application.sc.core.Poli Action: Submit the app_sc.0.log file for resolution.
cyConfig
100902109 Error - Exception thrown in Cause: Error setting an attribute value on modified
the setLastModified method elements.
of
vcdn.application.sc.core.Poli Action: Submit the app_sc.0.log file for resolution.
cyConfig
100902114 Error - Exception thrown in Cause: Error occurred while executing a server command.
the execute method of
vcdn.application.sc.core.wor Action: Ensure the server component is functioning
k.ReimportDeviceWork correctly. Otherwise, submit the app_sc.0.log file for
resolution.
100902115 Error - Exception thrown in Cause: Error occurred while executing a server command.
the getHealth method of
vcdn.application.sc.health.H Action: Ensure the server component is functioning
ealthCheck correctly. Otherwise, submit the app_sc.0.log file for
resolution.
100902116 Error - Inner Exception Cause: Error occurred while executing a server command.
thrown in the execute
method of Action: Ensure the server component is functioning
vcdn.application.sc.health.H correctly. Otherwise, submit the app_sc.0.log file for
ealthCheck resolution.
100902117 Error - Outer Exception Cause: Error occurred while executing a server command.
thrown in the execute
method of Action: Ensure the server component is functioning
vcdn.application.sc.health.H correctly. Otherwise, submit the app_sc.0.log file for
ealthCheck resolution.
100902118 Error - VException thrown in Cause: Error occurred while receiving/logging a health
the eventOccurred method event.
of
vcdn.application.sc.health.H Action: Ensure the server component is functioning
ealthEventListener correctly. Otherwise, submit the app_sc.0.log file for
resolution.
100902119 Error getting Health Module Cause: Error occurred while executing a server command.
or Service
Action: Ensure the server component is functioning
correctly. Otherwise, submit the app_sc.0.log file for
resolution.
100902120 Error - Exception thrown in Cause: Error occurred while executing a server command.
the execute method of
vcdn.application.sc.health.H Action: Ensure the server component is functioning
ealthUpdateWork correctly. Otherwise, submit the app_sc.0.log file for
resolution.
Platform
100903001 Error - Unable to find a Cause: Problem during the import of the device.
trusted client certificate.
Action: Consult the documentation to re-import the device
into Administration Console.
100903002 Error building delayed Cause: Error occurred while processing a request.
response.
Action: Ensure the server component is functioning
correctly. Otherwise, submit the app_sc.0.log file for
resolution.
100903003 Error setting return code in Cause: Error occurred while processing a request.
HttpServletResponse.
Action: Ensure the server component is functioning
correctly. Otherwise, submit the app_sc.0.log file for
resolution.
100903006 Error creating XML Element Cause: Error occurred while editing XML.
in ResponseBuilder
Action: Ensure the server component is functioning
correctly. Otherwise, submit the app_sc.0.log file for
resolution.
100903007 Error waiting on mutex in Cause: Error occurred while getting responses.
RequestDispatcher
Action: Ensure the server component is functioning
correctly. Otherwise, submit the app_sc.0.log file for
resolution.
100903008 Error notifying mutex in Cause: Error occurred while receiving a response.
RequestDispatcher
Action: Ensure the server component is functioning
correctly. Otherwise, submit the app_sc.0.log file for
resolution.
100903009 Error receiving in Cause: Error occurred while receiving an internal response.
SendInternal of
VConnection Action: Ensure the server component is functioning
correctly. Otherwise, submit the app_sc.0.log file for
resolution.
100903010 Error getting response code Cause: Error occurred while getting the code.
in VConnection
Action: Ensure the server component is functioning
correctly. Otherwise, submit the app_sc.0.log file for
resolution.
Web UI
100904001 Error reading manager data Cause: Error occurred while reading data.
in UIManager.
Action: Ensure the server component is functioning
correctly. Otherwise, submit the app_sc.0.log file for
resolution.
100904004 Error - Exception thrown in Cause: Error occurred while logging out.
logout of
WebApplicationFilter. Action: Ensure the server component is functioning
correctly. Otherwise, submit the app_sc.0.log file for
resolution.
100904005 Error - VException thrown in Cause: Error occurred while getting user information.
getUserInfo of
WebManager. Action: Ensure the server component is functioning
correctly. Otherwise, submit the app_sc.0.log file for
resolution.
100904006 Error - Exception thrown in Cause: Error occurred while getting device information.
getDeviceInfo of
WebManager. Action: Ensure the server component is functioning
correctly. Otherwise, submit the app_sc.0.log file for
resolution.
100904007 Error - Exception thrown in Cause: Error occurred while getting policy information.
getPolicyInfo of
WebManager. Action: Ensure the server component is functioning
correctly. Otherwise, submit the app_sc.0.log file for
resolution.
100904008 Error - Exception thrown in Cause: Error occurred while getting policy type specification
getTypeSpecificationInfo of information.
WebManager.
Action: Ensure the server component is functioning
correctly. Otherwise, submit the app_sc.0.log file for
resolution.
100904009 Error - Exception thrown in Cause: Error occurred while getting device configuration.
getDeviceConfig of
WebManager. Action: Ensure the server component is functioning
correctly. Otherwise, submit the app_sc.0.log file for
resolution.
100904010 Error - Exception thrown in Cause: Error occurred while getting device configuration.
getPolicyConfig of
WebManager. Action: Ensure the server component is functioning
correctly. Otherwise, submit the app_sc.0.log file for
resolution.
100904011 Error - Exception thrown in Cause: Error occurred while getting policy type specification
getTypeSpecificationConfig configuration.
of WebManager.
Action: Ensure the server component is functioning
correctly. Otherwise, submit the app_sc.0.log file for
resolution.
100904012 Error - Exception thrown in Cause: Error occurred while getting parameter information.
parameterMapToString of
WebManager. Action: Ensure the server component is functioning
correctly. Otherwise, submit the app_sc.0.log file for
resolution.
100904013 Error while logging out user Cause: Error occurred while logging out NDS user object.
{0}.
Action: Ensure the server component is functioning
correctly. Otherwise, submit the app_sc.0.log file for
resolution.
100904014 Error - Exception thrown in Cause: Error occurred while getting selection criteria.
getSelectionCriteria of
WebPanel. Action: Ensure the server component is functioning
correctly. Otherwise, submit the app_sc.0.log file for
resolution.
100904015 Error - Exception thrown in Cause: Error occurred while getting panel version.
getPanelVersion of
WebPanel. Action: Ensure the server component is functioning
correctly. Otherwise, submit the app_sc.0.log file for
resolution.
100904016 Error - Group Config failed. Cause: Error occurred while applying group configuration.
100904017 Error - Schedule Group Cause: Error occurred while scheduling group configuration.
Config failed
Action: Ensure the server component is functioning
correctly. Otherwise, submit the app_sc.0.log file for
resolution.
100904018 Error - Update XML and Cause: Error occurred while updating configuration.
Device Config failed
Action: Ensure the server component is functioning
correctly. Otherwise, submit the app_sc.0.log file for
resolution.
100904019 Error - Unlock Config failed. Cause: Error occurred while unlocking the configuration.
100904020 Error - Exception thrown in Cause: Error occurred while canceling a pending
do_cancelPendingConfig of configuration.
ConfigWorkDispatcher.
Action: Ensure the server component is functioning
correctly. Otherwise, submit the app_sc.0.log file for
resolution.
100904021 Error - Exception thrown in Cause: Error occurred while canceling a pending
do_cancelPendingConfig of configuration.
ConfigWorkDispatcher.
Action: Ensure the server component is functioning
correctly. Otherwise, submit the app_sc.0.log file for
resolution.
100904022 Error - Exception thrown in Cause: Error occurred while reapplying a pending
do_reapplyPendingConfig of configuration.
ConfigWorkDispatcher.
Action: Ensure the server component is functioning
correctly. Otherwise, submit the app_sc.0.log file for
resolution.
100904023 Error - Exception thrown in Cause: Error occurred while applying configuration.
do_deviceConfig of
ConfigWorkDispatcher. Action: Ensure the server component is functioning.
Otherwise, submit the app_sc.0.log file for resolution.
100904024 Error - Exception thrown in Cause: Error occurred while scheduling configuration.
do_scheduleDeviceConfig of
ConfigWorkDispatcher. Action: Ensure the server component is functioning
correctly. Otherwise, submit the app_sc.0.log file for
resolution.
200904025 Error - XML VALIDATION Cause: XML created by GUI does not match the XML
FAILED. PLEASE CHECK schema and fails validation.
APP_SC LOG.
Action: Cancel the changes that were made and try again. In
any case, submit the app_sc.0.log file for resolution.
100904026 Error applying settings in Cause: Error occurred while applying configuration.
ConfigXmlUpdateDispatcher
. Action: Ensure the server component is functioning
correctly. Otherwise, submit the app_sc.0.log file for
resolution.
100904027 Error - Exception thrown in Cause: Error occurred while saving configuration.
do_save of
ConfigXmlUpdateDispatcher Action: Ensure the server component is functioning
. correctly. Otherwise, submit the app_sc.0.log file for
resolution.
100904028 Error - Exception thrown in Cause: Error occurred while canceling configuration
do_cancel of changes.
ConfigXmlUpdateDispatcher
. Action: Ensure the server component is functioning
correctly. Otherwise, submit the app_sc.0.log file for
resolution.
100904029 Error - Exception thrown in Cause: Error occurred while refreshing configuration
do_refreshConfig of manager panel.
ConfigXmlUpdateDispatcher
. Action: Ensure the server component is functioning
correctly. Otherwise, submit the app_sc.0.log file for
resolution.
100904030 Error - Exception thrown in Cause: Error occurred while setting an XML attribute.
setLastModParams of
ConfigXmlUpdateDispatcher Action: Ensure the server component is functioning
. correctly. Otherwise, submit the app_sc.0.log file for
resolution.
100904031 Error - IOException thrown Cause: Error occurred while xpath mapping on the current
in getXPathMap of panel.
ConfigXmlUpdateDispatcher
. Action: Ensure the server component is functioning
correctly. Cancel changes on the current panel, return, and
try again. Otherwise, submit the app_sc.0.log file for
resolution.
100904032 Error decoding: {0}. Cause: Error occurred while xpath mapping on the current
panel.
100904033 Error - Exception thrown in Cause: Error occurred while processing request.
processRequest of
ExceptionDispatcher. Action: Ensure the server component is functioning
correctly. Otherwise, submit the app_sc.0.log file for
resolution.
100904034 Error - Exception thrown in Cause: Error occurred while processing request.
the service method of
ServletDispatcher. Action: Ensure the server component is functioning
correctly. Otherwise, submit the app_sc.0.log file for
resolution.
100904035 Error - Exception thrown in Cause: Error occurred while inserting dispatchers.
ServletDispatcher.
Action: Ensure the server component is functioning
correctly. Otherwise, submit the app_sc.0.log file for
resolution.
100904036 Error - Exception thrown in Cause: Error occurred while processing request.
processRequest of
DeviceCommandHandler. Action: Ensure the server component is functioning
correctly. Otherwise, submit the app_sc.0.log file for
resolution.
100904037 Error - VException thrown in Cause: Error occurred while accessing data store.
setNIDPCommandState of
DeviceCommandHandler. Action: Ensure the data store is functioning correctly.
Otherwise, submit the app_sc.0.log file for resolution.
100904038 Error - NamingException Cause: Error occurred while accessing data store.
thrown in
setNIDPCommandState of Action: Ensure the data store is functioning correctly.
DeviceCommandHandler. Otherwise, submit the app_sc.0.log file for resolution.
100904039 Error - Could not find signing Cause: An error occurred during the import of the device.
keystore for {0}.
Action: Consult the documentation and re-import the
device into Administration Console.
100904040 Error - Could not find Cause: An error occurred during the import of the device.
encryption keystore for {0}.
Action: Consult the documentation and re-import the
device into Administration Console.
100904041 Error - Could not find Cause: An error occurred during the import of the device.
connector keystore for {0}.
Action: Consult the documentation and re-import the
device into Administration Console.
100904042 Error - Could not find trust Cause: An error occurred during the import of the device.
keystore for {0}.
Action: Consult the documentation and re-import the
device into Administration Console.
100904043 Error - Could not find OCSP Cause: An error occurred during the import of the device.
trust keystore for {0}.
Action: Consult the documentation and re-import the
device into Administration Console.
100904044 Error - No keys were Cause: The keystore does not have any certificates in it. This
assigned to keystore: {0}. may or may not be a bad condition. For instance, the OCSP
trust store can be empty and that should not cause a
problem. The signing, encryption, connector, provider, and
consumer keystores should have one certificate in them. If it
is empty, either the device import failed or the user
manually removed the certificate from the keystore.
100904045 Error - Exception thrown in Cause: Error occurred while processing request.
processRequest of
UpgradeDeviceGroupHandl Action: Ensure the server component is functioning
er. correctly. Otherwise, submit the app_sc.0.log file for
resolution.
100904046 Error - Exception thrown in Cause: Error occurred while processing request.
processRequest of
UpgradeDeviceHandler. Action: Ensure the server component is functioning
correctly. Otherwise, submit the app_sc.0.log file for
resolution.
100904047 Error - Exception thrown in Cause: Error occurred while getting update information.
getUpgradeInfo of
UpgradeDeviceHandler. Action: Ensure the server component is functioning
correctly. Otherwise, submit the app_sc.0.log file for
resolution.
Application Handlers
100905001 Error during repair import. Cause: Error occurred while attempting to repair import.
100905002 Error - Failed to remove Cause: Error occurred while attempting to remove server.
server.
Action: Submit the app_sc.0.log file for resolution.
100905003 Error setting device groups. Cause: Error occurred while attempting to mark a server as
a member of a group.
Action: Delete the server from the group and retry or delete
the group and recreate. Otherwise, submit the
app_sc.0.log file for resolution.
100905004 Error setting device admin. Cause: Error occurred while attempting to give an
Administrator access to a server.
100905005 Error - Exception thrown Cause: Error occurred while importing a server.
while importing appliance.
Action: Delete the server from the list and reinstall.
Otherwise, submit the app_sc.0.log file for resolution.
100905006 Error getting health info. Cause: Error occurred while getting health information for a
server.
100905011 Error while changing the Cause: Internal error while processing request.
cached device port.
Action: Ensure the Management IP Address is correct or
edit as needed. Otherwise, submit the app_sc.0.log file
for resolution.
100905012 Error while changing the Cause: Internal error while processing request.
cached device password.
Action: Ensure the Management Password is correct or edit
as needed. Otherwise, submit the app_sc.0.log file for
resolution.
100905013 Error - Exception thrown Cause: Internal error while processing request.
while processing request in
EditApplianceHandler Action: Ensure all values on the Server Details Edit page are
correct and edit as needed. Otherwise, submit the
app_sc.0.log file for resolution.
100905014 Error - Exception thrown Cause: Error occurred while processing a request.
while modifying device
handler in Action: Ensure the server component is functioning
EditDeviceHandler. correctly. Otherwise, submit the app_sc.0.log file for
resolution.
100905015 Error - Exception thrown Cause: Error occurred while processing a request.
while changing password in
EditDeviceHandler. Action: Ensure the server component is functioning
correctly. Otherwise, submit the app_sc.0.log file for
resolution.
100905022 Error processing client certs Cause: Internal error while processing request.
in GenericPipeHandler.
Action: Ensure the server component is functioning
correctly. Otherwise, submit the app_sc.0.log file for
resolution.
100905030 Error occurred while getting Cause: Unable to get alert status for the group.
device manager in
doGroupAlertStatus of Action: Ensure the config store is functioning correctly.
GroupCreateHandler. Otherwise, submit the app_sc.0.log file for resolution.
100905031 Error occurred while setting Cause: Unable to set alert status for the group.
alert status for group {0} :
{1}. Action: Ensure the config store is functioning correctly.
Otherwise, submit the app_sc.0.log file for resolution.
100905032 Error occurred while Cause: Unable to make updates to the group.
updating group {0} : {1}.
Action: Ensure the config store is functioning correctly.
Otherwise, submit the app_sc.0.log file for resolution.
100905033 Error occurred while Cause: Unable to remove servers from the group.
removing devices from
group {0} : {1}. Action: Ensure the config store is functioning correctly.
Otherwise, submit the app_sc.0.log file for resolution.
100905034 Error - Naming Exception Cause: Unable to remove servers from the cluster.
thrown in
removeDeviceFromCluster Action: Ensure the config store is functioning correctly.
of GroupCreateHandler. Otherwise, submit the app_sc.0.log file for resolution.
100905035 Error - Exception thrown in Cause: Error occurred while removing servers from the
removeDeviceFromCluster cluster.
of GroupCreateHandler.
Action: Ensure the config store is functioning correctly.
Otherwise, submit the app_sc.0.log file for resolution.
100905036 Error - Exception thrown in Cause: Error occurred while removing servers from the
removeDeviceFromCluster cluster.
of GroupCreateHandler.
Action: Ensure the config store is functioning correctly.
Otherwise, submit the app_sc.0.log file for resolution.
100905037 Error occurred while adding Cause: Error occurred while adding servers to the group.
devices to group {0} : {1}.
Action: Ensure the config store is functioning correctly.
Otherwise, submit the app_sc.0.log file for resolution.
100905038 Error - Naming Exception Cause: Error occurred while adding servers to the cluster.
thrown in
addDeviceToCluster of Action: Ensure the config store is functioning correctly.
GroupCreateHandler. Otherwise, submit the app_sc.0.log file for resolution.
100905039 Error - Exception thrown in Cause: Error occurred while adding servers to the cluster.
addDeviceToCluster of
GroupCreateHandler. Action: Ensure the config store is functioning correctly.
Otherwise, submit the app_sc.0.log file for resolution.
100905040 Error - Exception thrown in Cause: Error occurred while adding servers to the cluster.
addDeviceToCluster of
GroupCreateHandler. Action: Ensure the config store is functioning correctly.
Otherwise, submit the app_sc.0.log file for resolution.
100905041 Error occurred while adding Cause: Error occurred while adding servers to the cluster.
devices to group {0} : {1}.
Action: Ensure the config store is functioning correctly.
Otherwise, submit the app_sc.0.log file for resolution.
100905065 Error - Exception thrown in Cause: Error occurred while restarting Embedded Service
callRestartESP of Provider.
SPConfigHandler.
Action: Ensure the server component and ESP are
functioning correctly or restart ESP again. Otherwise,
submit the app_sc.0.log file for resolution.
100905066 Error restarting {0}. Cause: Error occurred while restarting Embedded Service
Provider.
100905067 Error - Could not lookup {0}. Cause: Error occurred while looking up DN in config store.
100905069 Error - Exception thrown in Cause: Error occurred while accessing config store.
createTrustedIDP of
SPConfigHandler. Action: Ensure the config store is functioning correctly.
Otherwise, submit the app_sc.0.log file for resolution.
100905070 Error getting the esp trusted Cause: Error occurred while accessing config store.
IDP.
Action: Ensure the config store is functioning correctly.
Otherwise, submit the app_sc.0.log file for resolution.
100905071 espTrustAccessDN not set. Cause: Error occurred while accessing config store.
100905072 Error deleting trusted IDP Cause: Error occurred while accessing config store.
config.
Action: Ensure the config store is functioning correctly.
Otherwise, submit the app_sc.0.log file for resolution.
100905074 Error - Exception thrown in Cause: Error occurred while processing request.
processRequest of
ScheduleHandler. Action: Ensure the config store is functioning correctly.
Otherwise, submit the app_sc.0.log file for resolution.
100905075 Error - Exception thrown in Cause: Error occurred while processing request.
setEnable of
ScheduleHandler. Action: Ensure the config store is functioning correctly.
Otherwise, submit the app_sc.0.log file for resolution.
100905076 Error - Exception thrown Cause: Error occurred while processing request.
while removing scheduled
work in ScheduleHandler. Action: Ensure the config store is functioning correctly.
Otherwise, submit the app_sc.0.log file for resolution.
100905077 Error - Exception thrown Cause: Error occurred while unlocking configuration.
while releasing config lock in
ScheduleHandler. Action: Ensure the config store is functioning correctly.
Otherwise, submit the app_sc.0.log file for resolution.
100905078 Error - Exception thrown in Cause: Error occurred while modifying scheduled work.
modify method of
ScheduleHandler. Action: Ensure the config store is functioning correctly.
Otherwise, submit the app_sc.0.log file for resolution.
100905079 Error - Exception thrown in Cause: Error occurred while scheduling work.
executeNow method of
ScheduleHandler. Action: Ensure the config store and server component are
functioning correctly. Otherwise, submit the
app_sc.0.log file for resolution.
100905082 Error - Exception thrown in Cause: Error occurred while scheduling work.
create method of
ScheduleHandler. Action: Ensure the config store and server component are
functioning correctly. Otherwise, submit the
app_sc.0.log file for resolution.
100905083 Config store Error Cause: The connection to the config store is experiencing
problems.
/opt/novell/eDirectory/bin/ndsrepair -T
Policy
1009 06000 Cannot set update status for Cause: The composite ID of the extension specified cannot
NULL policy extension. be resolved to an extension ID.
1009 06001 Cannot retrieve policy Cause: The extension ID specified cannot be found in the
collection info object for the configuration store.
extension.
Action: If you see a problem with your extensions, note this
error in the log and call support.
1009 06002 Cannot retrieve device info Cause: When trying to set the Update status on devices
object for a device which use an extension, the device info was unable to be
located in the configuration store.
Action: Ensure that certificates for ESP are imported and trusted into
IDP configuration. Check the metadata URL for the ESP and ensure
the metadata can be retrieved from a browser: http://<DNS_name>/
nesp/idff/metadata
If you are seeing this error after changing the IP address of Access
Gateway, restart Tomcat on Identity Server.
Cause: The IDP needs to have access to the internet to resolve and
reach the CRL and OCSP URLs for ESP certificate validation.
Action: Ensure the internet access is enabled, else the IDP will not
trust the ESP certificate even if it has the signing and intermediary
certificates.
Action: Ensure the IDP is running and that all certificates are
imported and trusted. Check the metadata URL for the IDP and
ensure the metadata can be retrieved from a browser: http://
<DNS_name>/nidp/idff/metadata A common cause is the base URL
on the IDP is set incorrectly.
Action: Delete the associated web service definition and recreate it.
Action: Delete the associated web service definition and recreate it.
Action: Check the WSC (Sender side) request and resend it.
Action: Check the WSS headers in WSC (Sender side) request and
resent it.
Action: Check the WSS headers in WSC (Sender side) request and
resend it.
Action: Check the WSS headers in WSC (Sender side) request and
resend it.
Action: Ensure that the host is available and that the configuration
information for the replica is correct.
Action: Delete all data locations from the associated web service and
add them back into the list.
Action: Evaluate the reason for the error and take appropriate
action.
Action: Evaluate the reason given in the error message, and take
appropriate action.
Action: Evaluate the reason given in the error message, and take
appropriate action.
Action: Install user X509 certificate on the client browser and try
again.
Action: In case of CRLs, next attempt to fetch CRL should get a fresh
CRL after purging the cached one. In case of OCSP, notify the OCSP
server administrator.
Action: Ensure its going to the right OCSP server and that it is
operating correctly.
Action: Import OCSP server trusted root in Nidp's OCSP trust store.
Action: Verify the OCSP server URL. Ensure NIDP's OCSP trust store
has the right OCSP server public-key certificate.
Action: Currently, CRLs can be fetched over http and LDAP protocols.
Ensure the X509class config and/or user/client certificate CRL
extension does not have any other transport protocol specified.
Action: Check the password policy for the user and verify that admin
has permission to retrieve the password for that user.
Action: Check the universal password policy for the user and verify
that admin has permission to retrieve the password for that user.
Action: Check the simple password policy for the user and verify that
admin has permission to retrieve the password for that user.
Cause: User lookup failed for the Distinguished Name (DN) with
password fetch class.
Action: Include the correct SPNEGO token in the request to use this
authentication
Action: Ensure that both the identity and service providers are
configured correctly to trust each other. Provide proper credentials
during the authentication process at the identity provider.
NOTE: URI specifies a value that uniquely identifies the contract from
all other contracts.
If the time is not in sync between the identity provider and the
service provider, the subject is invalid because of the timestamp sent
with the subject.
Action: Determine the origin of the assertion and ensure that you
want to accept assertions from it.
Action: Check the configuration for identifying users for the trusted
provider and ensure the specified method can resolve to a single
user in your directory.
Action: Check the logs to determine the class that is failing to load.
Ensure the class being loaded is in the classpath of the JVM.
Action: Turn tracing on and look for any obvious causes for the issue.
Action: Check at the IDP for a reason why the authentication was a
failure. It may just be necessary to attempt authentication again.
Cause: An attempt was made to load a JSP page that does not exist.
Action: Determine the JSP not loading and ensure it is in the correct
location.
Action: Specify cards to use only by clicking them. Ensure that the
PID in the login URL exactly matches the entity ID specified in the
metadata.
Action: Check the certificates for the trusted provider and ensure
they are valid.
Action: Check the brokering rule and try to access with the valid
user.
300101062 An Identity Cause: When you configure a policy for a spsend request to SAML
Provider response 2.0, the user is denied the policy rule, and a message is displayed.
was received that
failed to Action: You are accessing an URL that is not intended for you.
authenticate this Contact your administrator.
session.
300105036 Office365 assertion Cause: User LDAP attribute value is empty in the user store.
NameID value is
null, check user Action: Check the user attribute in configured user store. If NameID
<user name> value is null, check user {1} attribute {0} value.
attribute value.
600105009 Type:DEBUG:NIDP:APP:009
200104401 Login failed. Please Rule group is not associated to Risk-Based authentication class. Map
try again. a rule group to the class.
200104403 Authentication Authentication failed. The geolocation rule is enabled but the
failed. geolocation provider is not configured or is configured incorrectly.
500104400 Access denied. User is denied login because the risk score is high.
Contact your
administrator
500104402 Access denied. No risk level is defined for this risk score.
Contact your
administrator
200104067 The target domain Cause: URL is not configured as a whitelist domain or it is invalid.
is unknown.
Contact your Action: If the URL is valid and required, contact the administrator to
administrator. get it configured in the redirection whitelist.
[1-9]04501000 Multi-homing See the string value in the message for a description of the cause.
[1-9]04502000 Service manager See the string value in the message for a description of the cause.
[1-9]04503000 Browser request See the string value in the message for a description of the cause.
processing
[1-9]04504000 Authentication See the string value in the message for a description of the cause.
processing
[1-9]04505000 Authorization See the string value in the message for a description of the cause.
processing
[1-9]04506000 Identity Injection See the string value in the message for a description of the cause.
processing
[1-9]04507000 Form Fill processing See the string value in the message for a description of the cause.
[1-9]04508000 Caching See the string value in the message for a description of the cause.
[1-9]04509000 Processing of Web See the string value in the message for a description of the cause.
server responses and of
responses to browser
requests
[1-9]04511000 Rewriter processing See the string value in the message for a description of the cause.
[1-9]04512000 SOAP back channel See the string value in the message for a description of the cause.
processing
[1-9]04513000 Device communication See the string value in the message for a description of the cause.
channel (VCC)
[1-9]04514000 VM controller See the string value in the message for a description of the cause.
processing
[1-9]04515000 Connection See the string value in the message for a description of the cause.
management
[1-9]04516000 Core utilities (VXE) See the string value in the message for a description of the cause.
[1-9]04517000 Data Stream processing See the string value in the message for a description of the cause.
[1-9]04518000 SSL processing See the string value in the message for a description of the cause.
[1-9]04519000 Command processing See the string value in the message for a description of the cause.
[1-9]04520000 Profiler See the string value in the message for a description of the cause.
[1-9]04521000 Proxy start See the string value in the message for a description of the cause.
[1-9]04522000 Audit event processing See the string value in the message for a description of the cause.
304600404 Authentication Request: Cause: An unknown contract was received from the
Unknown Contract Embedded Service Provider. This can happen if the
configuration of Identity Server and Access Gateway are
not synchronized.
504600000 URL Accessed A request for access to an unprotected URL has been
received.
504600100 Protected Resource Accessed A request for access to a protected URL has been received.
504600401 Login Request: Redirect To The authentication request was redirected to the
ESP Embedded Service Provider
504600402 Authentication Request: Set The request has been redirected to set the cookie.
Cookie
504600403 Authentication Request: The original URL request has been redirected to the
Redirect URL with Cookie Embedded Service Provider with a cookie.
504600405 Authentication Request: NRL The protected resource is configured for non-redirected
Request login.
604600001 URL Accessed: Trace This event accesses the URL trace summary.
Summary
604600002 URL Accessed: Scheme The URL accessed on wrong scheme is redirected.
Redirect
604600003 URL Accessed: Pinned The URL in the PIN list is accessed.
604600301 Session Broker: Cookie Not The session broker returns the status of cokkie not found.
Found
604600302 Session Broker: Add User The session broker requests to add user.
604600303 Session Broker: Get Cookie The session broker requests cookie.
604600304 Session Broker: Delete User The session broker deletes a user sent from SOAP request.
604600306 Session Broker: Update User The session broker updates a user sent from SOAP request.
604600307 Session Broker: Cookie The session broker returned requested cookie.
Found
604600308 Session Broker: Add User The session broker adds the user sent from SOAP request.
SOAP Request
604600309 Session Broker: User Added The session broker adds user request which are
successfully processed.
604600310 Session Broker: Delete User The session broker deletes the user successfully.
Successful
604600311 Session Broker: Delete User The session broker failed to delete user.
Failed
204601102 Policy Configuration Reply: Cause: An error was detected while processing a policy
Policy Error configuration request.
204601302 Policy Evaluation Reply: Cause: An error was detected while processing a policy
Policy Error evaluation request.
504601100 Policy Configuration Reply: The Authorization policy has been configured successfully.
Success
504601203 Policy Evaluation Request A policy evaluation request has been received; the
evaluation has started.
504601300 Policy Configuration Reply: The Authorization policy evaluation results allowed access
Access allowed, no match due to policy default action.
504601301 Policy Configuration Reply: The Authorization policy evaluation results allowed access.
Access allowed
504601302 Policy Configuration Reply: The Authorization policy evaluation results denied access.
Access denied
204602102 Policy Configuration Reply: Cause: An error was detected while processing a policy
Policy Error configuration request.
204602302 Policy Evaluation Reply: Cause: An error was detected while processing a policy
Policy Error evaluation request.
504602100 Policy Configuration Reply: The Identity Injection policy has been configured
Success successfully.
204603101 Policy Configuration Reply: The policy ID is not included in policy configuration
No Policy ID request.
204603102 Policy Configuration Reply: Cause: An error was detected while processing a policy
Policy Error configuration request.
204603302 Policy Evaluation Reply: Cause: An error was detected while processing a policy
Policy Error evaluation request.
204603304 Policy Evaluation Reply: Cause: A parsing error was detected while processing a
Parse Error: Unknown field policy evaluation request.
504603100 Policy Configuration Reply: The Form Fill policy has been configured successfully.
Success
504603300 Policy Evaluation Reply: The Form Fill policy evaluation was successful.
Success
504603301 Policy Evaluation Reply: No The Form Fill policy was not found.
Policy
504603400 Get User Attributes A request has been sent to get user attributes.
504603401 Set User Attributes A request has been sent to set user attributes.
204650002 DCC Message Processing These events will processes the DCC messages.
504650002
604650002
704650002
204650005 Device Information Requests These events process the request of the device
information.
504650005
604650005
704650005
204650001 Command Processing Administration Console initiates the log events pertaining
to processing commands.
504650001
604650001
704650001
504650013 Refresh Policy The log events pertaining to a Refresh Policy command
received from Administration Console.
504650014 Cache Clear The log events pertaining to a Cache Clear command
received from Administration Console.
Statistics (51)
204651001 Statistics Request Processing The log events pertaining to the processing of a Statistics
request from device manager.
304651001
504651001
604651001
704651001
Health (52)
204652001 Health Request Processing The log events pertaining to the processing of a health
request from device manager.
304652001
604652001
704652001
100701002 Cannot interpret PKCS12 Cause: The PKCS12 package was corrupted in transit or
data for CertCommand contained a certificate with a unsupported level encryption
for the Java security provider (such as 4096 bit support).
100701003 Set key entry failed on Cause: The Java keystore password became out of sync with
[store name] the admin server, or an IO error occurred.
100701004 KeyStoreException - set Cause: The Java keystore password became out of sync with
certificate entry failed the admin server, or an IO error occurred.
100701005 KeyStoreException - delete Cause: A keystore entry for the specified alias does not exist.
entry failed
Action: Verify the previous key import commands were
successful. Otherwise, submit the app_sc.0.log and
jcc-0.log.0 files for resolution.
100701006 Exception - key usage Cause: The key usage extension specified by Administration
extension failed Console was invalid.
100701007 Exception - get alternate Cause: Alternate name format specified by Administration
name extension failed Console was invalid.
100701008 KeystoreInfo class has not Cause: Likely a previous error occurred during keystore
been initialized initialization.
100701009 [key file] is missing required Cause: The keystore information supplied at installation is
information for keystore missing or corrupt.
named [keystore name]
Action: Reinstall. Otherwise submit the jcc-0.log.0 file
for resolution.
100701010 [key file] is missing Cause: The keystore information supplied at installation is
missing or corrupt.
100701011 Exception - close keystore Cause: Could not write the key to the keystore.
(persisting) failed
Action: Try the operation again. Otherwise, submit the
jcc-0.log.0 file for resolution.
100701012 Exception - eDirectory Cause: Could not connect to the config store.
keystore initialization failed
Action: Restart the server.
100701013 Exception - Java keystore Cause: The password to the keystore was incorrect, or the
initialization failed keystore file could not be opened.
100701014 Exception PKCS12 keystore Cause: The password to the PKCS12 key was incorrect.
initialization failed
Action: Submit the jcc-0.log.0 file for resolution.
100701015 Exception - loading keystore Cause: The encrypted keystore_info.xml file could not be
failed read.
Package com.novell.jcc.client
100702001 Exception sending alert Cause: Alert could not be sent to the Administration
Console.
100702002 Could not create default Cause: A problem occurred creating the default XML
response XML document.
100702003 Exception while building Cause: The alert information was not saved in XML correctly.
alert request: [exception],
retrying Action: Submit the jcc-0.log.0 file for resolution.
100702004 Configuration for Device Cause: The settings file determining where to send the alert
Manager not set was not found.
100702005 Error getting configuration Cause: There was a problem reading the settings file.
for Device Manager
Action: Restart the novell-jcc service. Otherwise, submit the
jcc-0.log.0 file for resolution.
100702006 Alert could not be sent Cause: The response from Administration Console was not
successful.
100702007 Bad health URL Cause: The IP address or port setting for Administration
Console has been corrupted.
100702008 Error sending alert Cause: The system cannot communicate with
Administration Console.
100702009 Error sending alert Cause: The system cannot communicate with
Administration Console, or some other communication
error occurred.
100702010 Exception - connection Cause: An error occurred with reading the alert response or
disconnect failed a disconnect error occurred.
100702011 Queued alerts cannot be Cause: The class structure has likely changed or the
saved alertdispatch.dat file could not be created.
100702012 Queued alerts cannot be Cause: The code has likely changed or the alertdispatch.dat
restored file could not be read.
100702013 Exception - setting keystore Cause: The keystore_info.xml file was corrupt or does not
or trust store failed exist.
100702014 Exception getting health Cause: Could not communicate to obtain the health from
from [service name] named component.
100702015 Exception creating health Cause: A problem occurred reading health data while
XML creating the health XML.
100702017 Error sending periodic Cause: The system cannot communicate with
health Administration Console.
100702018 Error sending periodic Cause: The system cannot communicate with
health Administration Console, or some other communication
error occurred.
100702019 Crypto key not found Cause: The jcc.keystore file was not found.
100702020 Error calling Cause: An RMI error occurred communicating with the
initializationComplete/ novell-jcc service.
serviceStopComplete
Action: Ensure the installation completed successfully, and
that the novell-jcc service is running. Otherwise, submit the
jcc-0.log.0 file for resolution.
100702021 Server is not connected Cause: The novell-jcc service is not running.
100702022 Error binding to RMI port Cause: The novell-jcc service is not running, or the RMI
ports are already bound by some other process.
100702023 Error registering with server Cause: The component could not register with the novell-jcc
service. Likely and RMI communication error.
100702024 Cannot contact server; Cause: The novell-jcc service was stopped, likely
retrying temporarily.
100702025 Error sending alert to server Cause: An RMI communication error likely occurred while
sending an alert to the novell-jcc service.
Action:
100702027 Queued alerts cannot be Cause: The [name]-alerts.dat file was corrupted.
restored
Action: The error is non-fatal, but monitor the file system
for further problems.
Package com.novell.jcc.handler
100703001 Exception - Response Cause: A problem occurred creating the default XML
creation failed document.
100703002 Exception - Response Cause: The default response information was not saved in
creation failed XML correctly.
100703003 Error executing command: Cause: Command response from a server component was
response is null not set.
100703004 Bad URL from Device Cause: The URL given by the administration server was
Manager "+responseURL+ incorrect.
100703005 Command error Cause: The protocol used in response to the command was
malformed.
100703006 Command response error, Cause: Administration Console is likely temporarily down or
retry # restarting.
Action: Allow for retry to occur. If all retries fail, ensure that
Administration Console is up and functioning.
100703007 Major or minor version not Cause: A server component did not supply the required
supplied [version] version information.
100703009 Content-Length header Cause: The data read did not match the expected length.
[total] and actual data
length [read] mismatch Action: Restart the server component. If the problem
persists, submit the jcc-0.log.0 file for resolution.
100703010 Could not connect to [URL] Cause: Could not communicate with Administration Console
or the server component.
100703011 Exception - stats response Cause: Could not convert stats XML to be sent to
creation failed Administration Console.
100703012 Exception - version Cause: Could not convert version XML to be sent to
response creation failed Administration Console.
Package com.novell.jcc.proxy
100704001 Exception - Cipher socket Cause: Could not create socket cipher key.
create key failed
Action: Submit the jcc-0.log.0 file for resolution.
100704002 AGProxy has not initialized Cause: The proxy subcomponent is not initialized.
as client is null
Action: Restart the novell-jcc service. Otherwise, submit the
jcc-0.log.0 file for resolution.
100704004 Error sending [name] Cause: Could not send the command to Access Gateway.
command
Action: If the problem persists, restart the server. Otherwise
submit the jcc-0.log.0 file for resolution.
100704005 Could not send alert Cause: A problem occurred while sending alert.
100704006 Exception - update Cause: Could not read the config user password.
password failed
Action: Restart the server. Otherwise, submit the jcc-
0.log.0 file for resolution.
100704007 ecc.cfg does not exist! Cause: A problem during the installation process occurred.
100704008 Error loading ecc.cfg Cause: Could not read the ecc.cfg file.
100704009 Stopped waiting for JCC Cause: The server didn't initialize in a timely manner.
server
Action: Restart the novell-jcc service.
100704010 Cannot write ecc.cfg Cause: Could not write the specified config file.
100704011 Error reading configuration Cause: Could not parse Access Gateway configuration data.
100704012 Cannot write ecc.cfg Cause: Could not write specified file.
100704013 Exception - check esp status Cause: An RMI error occurred while communicating to the
failed ESP component.
100704014 Error reading password Cause: Could not read the config user password.
100704015 Exception - Cipher socket Cause: Could not create socket cipher key.
create key failed
Action: Submit the jcc-0.log.0 file for resolution.
100704016 Load settings failed Cause: The settings could not be loaded for Linux AG.
100704017 LAGProxy has not initialized Cause: The proxy subcomponent is not initialized.
as client is null
Action: Restart the novell-jcc service. Otherwise, submit the
jcc-0.log.0 file for resolution.
100704018 Could not send alert Cause: An error occurred while sending an alert.
100704019 Stopped waiting for JCC Cause: The server didn't initialize in a timely manner.
server
Action: Restart the novell-jcc service.
100704020 Error reading configuration Cause: Could not parse Access Gateway configuration data.
100704021 Exception - setting VCC ID Cause: Could not write the config.xml file with the
failed original ID.
100704022 Linux Proxy is not running Cause: The proxy novell-vmc service has stopped
responding.
/etc/init.d/novell-vmc restart
100704024 Exception - Cipher socket Cause: Could not create socket cipher key.
create key failed
Action: Submit the jcc-0.log.0 file for resolution.
100704025 Stopped waiting for JCC Cause: The server didn't initialize in a timely manner.
server
Action: Restart the novell-jcc service.
Package com.novell.jcc.schedule
100705001 Error getting client details Cause: An RMI communication error likely occurred.
100705002 Error getting client details Cause: An RMI communication error likely occurred.
100705003 Exception getting stats from Cause: The periodic statistics subsystem was not able to get
[name] the stats from the server component.
100705004 Exception creating stats Cause: An error occurred while creating statistics XML data.
XML
Action: Submit the jcc-0.log.0 file for resolution.
100705005 Bad stats URL Cause: The IP address or port setting for Administration
Console has been corrupted.
100705006 Error sending periodic stats Cause: The system cannot communicate with
Administration Console.
100705007 Error sending periodic stats Cause: The system cannot communicate with
Administration Console, or some other communication
error occurred.
100705008 Error sending statistics Cause: The system cannot communicate with
Administration Console, or some other communication
error occurred.
Package com.novell.jcc.server
100706001 [service name] not Cause: The server component was already disconnected.
registered
Action: This is a non-fatal error.
100706002 [service name] not found in Cause: The specified server component was not found so it
registry could not be unregistered.
100706003 Client list cannot be saved Cause: An IO error occurred while saving the list of
registered server components.
100706004 Client list cannot be Cause: An IO error occurred while reading the list of
restored registered server components.
100706005 Could not stop connector Cause: The embedded HTTP server could not be stopped.
100706007 Exception - setting keystore Cause: The keystore_info.xml file could not be read,
properties on http or was corrupted.
connector failed
Action: Submit the jcc-0.log.0 file for resolution.
Reinstall if necessary.
100706008 Could not start HTTP server. Cause: Some other application may be using the port we
Retry Number: [n] require to be open.
100706009 Exception during jcc Cause: A problem shutting down the embedded HTTP
shutdown server occurred.
100706010 Exception in testing HTTP Cause: An error testing the HTTP server occurred.
server
Action: This is a non-fatal error.
100706012 Failed to load eDirectory Cause: Service could not register handler into keystore Java
keystore provider environment handler set.
100706013 Missing keystore Cause: An install-time problem occurred where the keystore
information file: [key information file was not created, or was deleted after
information file]. Certificate installation.
Management functions are
unavailable Action: Submit the jcc-0.log.0 file for resolution.
100706014 Exception - command failed Cause: The post-keystore update command failed.
100706016 Error during execution Cause: The external command did not execute properly.
100706017 Exception - delete info Cause: A problem occurred deleting internal information.
failed
Action: This is a non-fatal error.
100706018 JCC Server startup failed Cause: A critical error occurred during the startup of the
novell-jcc service.
/etc/init.d/novell-jcc restart
100706019 Embedded HTTP Server Cause: The internal HTTP server was already started when
already started asked to start.
100706020 Error starting embedded Cause: Another process is likely using the novell-jcc service
tomcat port (default 1443).
100706021 RMI problem Cause: An error occurred during the shutdown process.
100706022 RMI exception Cause: An error occurred during the shutdown process.
100706023 Server did not initialize Cause: A server component initialization message could not
within 60 seconds be completed as the novell-jcc service is not finished
initializing.
/etc/init.d/novell-jcc restart
100706024 Exception - JCC server Cause: A server component initialization message could not
initialization failed be completed.
/etc/init.d/novell-jcc restart
100706025 Error binding to RMI [port] Cause: Another process is likely using the novell-jcc service
port (default 1197).
100706026 Error registering remote Cause: A problem occurred during the RMI bind process.
object
Action: Ensure that all components are of the same build of
Access Manager. Then restart novell-jcc service.
100706027 Error sending alert Cause: A problem occurred sending the import command to
Administration Console.
100706028 Error getting client details Cause: An RMI communication error has occurred between
for import the server component and the novell-jcc service.
100706030 Exception - get keystore Cause: A problem occurred sending the keystore
information failed information from the keystore_info.xml file.
100706031 Error getting key [key name] Cause: A problem occurred receiving the assigned keys
to [key file] during a reimport operation.
100706032 Could not get keystore Cause: A problem occurred receiving the assigned keystore
information for reimport of information during a reimport operation.
[service name]
Action: Ensure the admin console is operational, perform
the steps to re-trigger an auto-import. Otherwise, submit
the jcc-0.log.0 and app_sc.0.log files for
resolution.
100706034 Exception - get key failed Cause: An assigned key could not be obtained during a
reimport operation.
100706035 RMI exception during Cause: An RMI communication error occurred while
execution of [command executing a command from Administration Console.
name]
Action: Try the operation again. If the problem persists,
submit the jcc-0.log.0 file for resolution.
100706037 Error collecting health from Cause: An RMI communication error occurred while
[service name] obtaining the health information from a server component.
100706038 Error collecting stats from Cause: An RMI communication error occurred while
[service name] obtaining the stats information from a server component.
Package com.novell.jcc.servlet
100707003 No client found with ID Cause: The specified server component known to
[service name] Administration Console is not currently running, or cannot
communicate with the novell-jcc service.
100707004 [appliance id] header Cause: An invalid request was submitted to the novell-jcc
missing from [IP address] service.
100707005 No handler is registered for Cause: An invalid request was submitted to the novell-jcc
[query string] service.
100707006 Exception registering Cause: A problem occurred during start up of the novell-jcc
handler service.
Package com.novell.jcc.sockets
100708001 Could not initialize the Cause: The cipher could not be initialized.
cipher
Action: Try restarting the novell-jcc service.
100708002 Could not initialize the Cause: The cipher could not be initialized.
cipher
Action: Try restarting the novell-jcc service.
100708003 Error creating socket Cause: A possible security problem has been attempted, or
factory the jcc.keystore file is corrupt.
100708004 Could not find Cause: The install process did not complete successfully.
keystore_info.xml
Action :Restart the novell-jcc service. Otherwise, submit the
jcc-0.log.0 file for resolution and reinstall the server
component.
Package com.novell.jcc.util
100709001 Error saving settings Cause: An IO error occurred while saving install-time
settings.
100709002 Error loading settings Cause: An IO error occurred while reading install-time
settings.
100709003 Error creating JCC key Cause: A critical error occurred while creating the certificate
for communicating with the administration server.
100709004 Error saving settings Cause: An IO error occurred while saving install-time
settings.
100709005 Exception - install trusted Cause: A communication error occurred while sending
roots failed trusted roots to the administration server.
100709006 Could not get keys Cause: The default keys could not be obtained from the
administration server.
100709007 Error getting esp ID Cause: The server component install likely terminated
before completion.
100709008 Exception - configure LAG Cause: A problem occurred while setting up keystore
failed information for Access Gateway.
100709009 Could not get admin name/ Cause: An install-time error occurred during install.
password from NW
Action: Reinstall the server.
100709010 Could not create keystores Cause: An error occurred while creating the keystore
information during the configuration process.
100709011 Exception - get key failed Cause: The default key could not be obtained from
Administration Console during the initial configuration.
100709012 Exception - Cert not valid Cause: The default trusted root obtained from
Administration Console is not yet valid.
Action: Ensure the system time and time zone matches that
of Administration Console, then reinstall.
100709013 Exception - Cert not valid Cause: The default trusted root obtained from
Administration Console is not yet valid.
Action: Ensure the system time and time zone matches that
of Administration Console, then reinstall.
100709014 Error creating key Cause: A critical error occurred writing the jcc.keystore
file.
100709016 Could not open [jcc log file] Cause: Ensure the installation succeeded.
100709018 No remote management Cause: An IP address has not been specified for
address is set. Administration Console.
100709021 Exception - get JCC keystore Cause: The keystore_info.xml file is missing, or
information failed corrupt.
100709024 Object could not be saved Cause: A system setting file cannot be saved.
100709025 Object cannot be restored Cause: A system setting file cannot be restored.
100801001 Error No Memory: Memory Cause: Low system memory. Resource allocation failed.
allocation failed.
100802001 Action: Determine cause for low system memory and
resolve.
100803001
100804001
100805001
100806001
200801002 Error Bad Data: Policy Cause: Administration Console has produced an invalid
configuration contains an invalid policy configuration document.
200802002 policy parameter list enumerative
Cause: Policy configuration document has been corrupted.
200803002 value.
Action: Take any or all of the following actions:
200804002
1. Submit the log file to Novell Support to aid in
200805002 determining and fixing the source of the problem.
200806002 2. Back up to a previously working policy configuration
until the problem has been fixed.
3. Examine the policy configuration document
(available in PEP trace entries) to determine the
erroneous policy document element and remove the
corresponding policy statement from your policy
configuration until a fix for the problem is available.
200801003 Error Configuration. The policy Cause: Administration Console has produced an invalid
configuration is syntactically policy configuration document.
200802003 incorrect or malformed.
Cause: Policy configuration document has been corrupted.
200803003
Action: Take any or all of the following actions:
200804003
1. Submit the log file to Novell Support to aid in
200805003 determining and fixing the source of the problem.
200806003 2. Back up to a previously working policy configuration
until the problem has been fixed.
3. Examine the policy configuration document
(available in PEP trace entries) to determine the
erroneous policy document element and remove the
corresponding policy statement from your policy
configuration until a fix for the problem is available.
200801004 General Failure: Internal software Cause: Unexpected exception caught during policy
error. evaluation.
200802004
Action: Submit log file to Novell Support for analysis and
200803004 problem resolution.
200804004
200805004
200806004
200801072 Interface Unavailable: Invalid Cause: Administration Console has produced an invalid
InformationContext or policy configuration document.
200802072 ResponseContext enumerative
Invalid PolicyTypeSpec schema.
200803072 value.
Cause: Policy configuration document has been corrupted.
200804072
Action: Take any or all of the following actions:
200805072
1. Submit the log file to Novell Support to aid in
200806072 determining and fixing the source of the problem.
2. Back up to a previously working policy configuration
until the problem has been fixed.
3. Examine the policy configuration document
(available in PEP trace entries) to determine the
erroneous policy document element and remove the
corresponding policy statement from your policy
configuration until a fix for the problem is available.
200801073 Data Unavailable: Policy Engine Cause: Inaccessible user store or database.
could not obtain needed
200802073 information to complete policy Action: Ensure user store or database is available.
200805073
200806073
200801074 Illegal State: Policy Engine caught Cause: Unexpected software exceptions.
NullPtrException during policy
200802074 configuration or evaluation. Action: Submit log to Novell Support for analysis and
resolution.
200803074
200804074
200805074
200806074
200804075
200805075
200806075
300801071 Evaluation Canceled: Active policy Cause: May occur during system shutdown.
evaluation canceled.
300802071 Action: If not caused by system shutdown, submit log to
Novell Support for analysis and resolution.
300803071
300804071
300805071
300806071
500803000
500804000
500805000
500806000
500803005
500804005
500805005
500806005
500801067 No Action: Policy evaluation Cause: No action was executed during a policy evaluation.
rendered no Action.
500802067 Action: No Action. Informational only.
500803067
500804067
500805067
500806067
200802070 Condition Unknown. Policy Cause: Administration Console has produced an invalid
configuration contains an policy configuration document.
unsupported condition handler
definition. Cause: Policy configuration document has been corrupted.
Messages are logged to the catalina.out for trace and application level logging when Identity Server
logging is enabled.
General/Configuration
501101010 Start Policy Soap Handler Policy Soap Message Handler received start command.
501101011 Stop Policy Soap Handler Policy Soap Message Handler received stop command.
101101012 Policy Evaluator Not Running The Policy Evaluator has been stopped.
101101022 Unsupported request A NXPES command other than configure, evaluate or terminate
received was received.
201101023 Unrecognized Policy Policy evaluation was requested for an unknown policy.
Identifier
Cause: The policy identifier known to Access Gateway is stale.
501101032 Configure - Empty Policy Set The set of policies requested either do not apply to the policy
enforcement point or the set of policies do not match the
categories selected in the policy enforcement list.
501101040 Terminating policy The set of policies represented by the policy ID are no longer
needed and will be removed from the operating policy set.
501101050 Evaluating policy An evaluation request has been received for the set of policies
represented by the policy ID.
501101051 Policy Evaluation - Invalid User session received for policy evaluation was not found or
User Error contains invalid data.
Action: Most often, this error will automatically restart the user
identification process for Access Gateway.
501101052 Policy Evaluation - The Policy Evaluator is unable to gain access to information
Information Query Error required by the policy.
501101053 Policy Evaluation - WSC An attempt to use the WSC query mechanism of the ESP failed,
Query Error the requested policy data is unavailable.
501101054 Policy Evaluation - Cluster Attempt to retrieve user session data from ESP cluster member
Data Query Error failed.
Action: Most often, this error will automatically restart the user
identification process for Access Gateway.
501101055 Policy Evaluation - Cluster Informational message containing the number of retries the ESP
Query Retry Count has made to request policy information from another cluster
member.
Authorization PEP
Backup
201001001 Backup failed to export Cause: The ICE utility failed to export directory information to an
data from the LDIF file.
configuration store.
Action: Ensure that ICE is in the proper location (Linux: /opt/
novell/eDirectory/bin).
201001002 Backup failed to format Cause: The ldifReverse utility failed to sort the LDIF records.
data for a successful
restore. Action: Ensure that ldifReverse is in the proper location (Same
directory as backup command).
Action: Check for the backup file you specified with "_pre"
appended to the file name.
Replace bkupfile with the filename you specified for the backup
file. It should create bkupfile which is the desired back up file.
201001003 Backup failed to export Cause: The certtool utility failed to export the certificates to a zip
certificates to the file.
backup zip file.
Action: Ensure that certtool.jar is in the proper location (Same
directory as backup command).
Restore
201002001 Backup file does not Cause: The backup file does not exist. The name of the backup file
exist. specified in answer to the prompt should not include the final the
.ldif or .zip extension.
201002002 Backup file does not Cause: An simple analysis of the backup file indicates that the LDIF
appear to be valid. file specified backup file (with .ldif appended to the name) is not
a valid backup file.
201002003 Restore failed to access Cause: The ICE utility failed to access the eDirectory configuration
the configuration store. store.
201002004 Restore failed to format Cause: Restore was not able to save a current copy of the
the current configuration store. A current copy of the config store is saved
configuration store before the import in case the import fails.
data.
Action: Ensure that ldifReverse is in the proper location (Same
directory as backup command).
201002005 Restore failed to Cause: ICE failed. Unknown reason because it has previously been
prepare the invoked successfully in the restore script.
configuration store for
data import.
201002006 Restore failed to Cause: ICE failed. Unknown reason because it has previously been
prepare the invoked successfully in the restore script.
configuration store for
data import.
101002007 Restore failed to restore Cause: ICE failed. Unknown reason because it has previously been
the backup data. invoked successfully in the restore script.
ou=accessManagerContainer,o=novell
/opt/novell/eDirectory/bin/ice -SLDIF -f
recover.ldif -C -n -DLDAP -sxxx.xxx.xxx.xxx -p636 -
k -dcn=admin, o=novell -wadmin_password -F
101002008 Failed to restore Cause: The java program restores the certificate failed. The java
certificate from backup program is certtool.jar which provides command line access to
file. various eDirectory certificate functions.
Action: See the log file (ambkup.log) for more specific details. The
log file contains a listing of relevant parameters with each error
message. Assuming the back up from which you are trying to restore
was successful, failure to restore is probably an incorrectly supplied
parameter. Enter the following command:
101002009 Failed to reconfigure Cause: The VCDN user objects were not restored with their
VCDN user objects. passwords. Device Manager will not start up until the passwords
have been properly set.
certtool utility
201003002 IP address is missing. Cause: The certtool.jar was launched without the -edirIP option. A
script file might have been incorrectly modified.
201003005 eDirectory user id Cause: The certtool.jar was launched without the -eDirUser option.
missing. A script file might have been incorrectly modified.
201003006 eDirectory user Cause: The certtool.jar was launched without the -edirPwd option. A
password missing. script file may have been incorrectly modified.
201003009 File name missing. Cause: The certtool.jar was launched without the -file (name of
backup file) option. A script file may have been incorrectly modified.
201003011 Encryption password Cause: The certtool.jar was launched without the -pwd option. A
missing. script file may have been incorrectly modified.
201003013 Name of trusted root Cause: The certtool.jar was launched without the -trContainer
container missing. (trusted root container) option. A script file may have been
incorrectly modified.
201003040 Failed to open backup Cause: Backup was unable to create or access the backup file in
file for writing. which to save certificate information.
201003042 Failed to retrieve Cause: The certtool failed to retrieve the certificate identified in the
certificate xxxx from error. Problems have been seen trying to export certificate with
eDirectory. pending CSRs.
201003043 Failed to write Cause: The certificate identified in the error message did not get
certificate xxxx to saved to the backup file.
backup file.
Action: An exception string included in the message my provide
additional information.
301003044 Error closing backup. Cause: Likely will not cause a problem.
Action: Try extracting the contents of the zip file created by backup
to verify the integrity of the zip file.
201003045 Failed to write trusted Cause: The trusted root identified in error messages did not get
root xxxx to backup file. saved to the backup file.
201003046 Failed to retrieve Cause: The certtool failed to retrieve the trusted root identified in
trusted root xxxx from the error. Likely a PKI or eDirectory error.
eDirectory.
Action: This error will be accompanied by an error string.
201003049 Failed to retrieve the CA Cause: The certtool failed to retrieve the CA key identified in the
xxxx from eDirectory. error.
Likely a PKI or
eDirectory error. Action: This error will be accompanied by an error string.
201003050 Failed to write CA key Cause: The CA key identified in the error did not get written to the
xxxx to backup file. backup file.
201003051 Failed to open backup Action: Ensure the backup file exists. Do not include .ldif or .zip
file for reading. in the name of the back up file.
Action: Ensure the user logged in has sufficient rights to access the
file.
301003053 Error closing backup. Action: This error occurred after all restore operations had
completed. Should not cause any problem.
201003056 Error importing CA key: Action: The CA key was not restored. See the accompanying Error for
xxxx more information. Likely a PKI error.
201003057 Error importing key: Cause: The CA key was not restored. See the accompanying Error for
xxxx more information. Likely a PKI error.
201003058 Error importing trusted Cause: The trusted root was not restored. See the accompanying
root: xxxx Error for more information. Likely a PKI error.
VCDN configuration
201004001 Failed to configure The VCDN user objects were not restored with their passwords.
VCDN objects for data Device Manager will not start up until the passwords have been
store access. properly set.
201004002 Application Error. The VCDN user objects were not restored with their passwords.
Device Manager will not start up until the passwords have been
properly set. Accompanied by a stack trace with more information.
Log file: catalina.out for trace and application level logging as enabled by the log settings (click
Identity Server > Edit > Logging)
General/Configuration
301201001 NMAS Authentication The log message language resource file could not be located.
Class
Cause: The log message language resource file was not found
The following sections contain additional documentation and information about Access Manager:
Appendix A, “Data Model Extension XML,” on page 1595
Appendix B, “SOAP versus REST API,” on page 1601
Appendix C, “OAuth versus Other Protocols,” on page 1603
Appendix D, “OAuth Concepts,” on page 1605
Appendix E, “Access Manager Reports Samples,” on page 1613
Appendix 1593
1594 Appendix
A Data Model Extension XML
A
The data model for some web services is extensible. You can enter XML definitions of data model
extensions in a custom profile (for more information, see “Modifying Service and Profile Details for
Employee, Custom, and Personal Profiles” on page 557). Data model extensions hook into the
existing web service data model at predefined locations.
All schema model extensions reside inside of a schema model extension group. The group exists to
bind model data items together under a single localized group name and description. Schema model
extension groups can reside inside of a schema model extension root or inside of a schema model
extension. There can only be one group per root or extension. Each root is hooked into the existing
web service data model. Multiple roots can be hooked into the same location in the existing web
service data model. This conceptual model applies to the structure of the XML that is required to
define data model extensions.
The high-level view of the data model extension XML is as follows:
<SchemaExtensions>
<Root>
<Group>
<Extension>
<Group>
<Extension>...</Extension>
<Extension>...</Extension>
...
</Group>
</Extension>
<Extension>
<ValueSet>
<Value/>
<Value/>
</ValueSet>
</Extension>
...
</Group>
<Root>
<Root>...</Root>
...
</SchemaExtensions>
Elements
The definition of the attributes for each data model extension XML element are as follows:
“Root Element” on page 1596
“Group Element” on page 1596
“Extension Element” on page 1597
Root Element
parent: The unique identifier of the “hook point” in the web service’s data model. These hook points
are defined by the web service data model schema. These unique identifiers represent the xpaths of
each data item within the model schema. Possible values for the parent attribute are listed in Table
A-1:
package (required): The Java package name where all classes for this root are implemented. This
includes resource description classes and data model instance classes. For example,
com.novell.nids.profile.model.extensions.
resourceClass (required): The Java class name of the resource description class that is used to load
all resources associated with this root. Because resource description class files are assumed to reside
in the root’s package, only the filename is needed. Resource description classes are Java classes that
must be created by the person extending the model. You must also extend the
com.novell.nidp.resource.NIDPResDesc class.
Group Element
resourceID: The resource ID of the display name of the group. This resource ID is assumed to be a
key in the resource bundle supplied by the resource description class file associated with the
containing root.
Extension Element
name (required): The name of the data model extension. This name must be the name of the XML
element that will be used in the data model.
class (optional): The Java class name of the data model instance class. Because data model instance
class files are assumed to reside in the root’s package, only the filename is needed. If this attribute is
omitted, then the value of the name attribute must be the instance class filename.
syntax: The syntax of this data model extension. Possible values are:
String
LocalizedString
Container
format: Required if the syntax is String or LocalizedString. The syntax of this data model extension.
Possible values are:
Caselgnore
CaseExtract
URI
URL
Date
DateNoYear
CountryCode
LanguageCode
KeyInfo
Number
upper: The upper bound of a numeric value. Use this attribute only if the format attribute value is
Number. The value is a signed integer. If this attribute is omitted, the default value is
java.lang.Integer.MAX_VALUE.
lower (optional): The lower bound of a numeric value. This attribute is only used if the format
attribute value is Number. The value is a signed integer. If this attribute is omitted, the default value
is java.lang.Integer.MIN_VALUE.
min (required): The cardinality of the XML element represented by this data model extension. It is
the minimum number of elements allowed. The value is an unsigned integer. If this attribute is
omitted, the default value is 0.
max (required): The cardinality of the XML element represented by this data model extension. It is
the maximum number of elements allowed. The value is an unsigned integer. If this attribute is
omitted, the default value is 1. The value UNBOUNDED may be used to indicate that there are no
bounds.
ValueSet Element
A ValueSet element contains a set of fixed values that a data model entry can contain. If a data
model extension has a ValueSet, the user interface to edit the value of that extension limits the user
to these values. The ValueSet element has no attributes.
Value Element
A Value element represents a value in a ValueSet. It contains the actual value to be stored in the data
model entry and the display name resource ID associated with the value.
resourceID (required): The resource ID of the display name of the value. This resource ID is assumed
to be a key in the resource bundle supplied by the resource description class file associated with the
containing root.
value (required): The value stored in the data model entry.
name (required): The name of the data model extension. This name must be the name of the XML
element that is used in the data model.
SOAP REST
Stands for Simple Object Access Protocol Stands for Representational State Transfer
Strongly typed, strict specification for Less restrictive about the implementation
implementation
Uses interfaces and named operations to expose Uses URI and methods to expose resources
business logic
Both SMTP and HTTP are valid application layer Tied to the HTTP transport model
protocols used as Transport for SOAP
Uses WSDL for communication between consumer Uses XML or JSON to send and receive data
and provider
Invokes services by calling RPC method Invokes services through URL path
The following table lists the differences among OAuth, OpenID Connect, WS-Trust, WS Fed, and
SAML:
An open protocol to allow Provides single sign-on An XML-based open Allows secure identity
secure authorization in a (SSO) layer on top of the standard data format for propagation and token
simple and standard OAuth protocol for exchanging exchange between web
method from web, consumers. authentication and services.
mobile and desktop authorization data
applications. between an identity Enables applications to
provider and a service construct trusted SOAP
Provides API provider. message exchanges.
authorization between
applications. Encompasses profiles,
bindings and constructs
to achieve SSO,
federation, and identity
management.
OAuth tokens can be Uses JSON tokens Deals with XML as the Uses Request Security
binary, JSON, or SAML data construct or token Token (RST) and Request
format. Security Token Response
(RSTR)
Uses HTTP exclusively Uses HTTP exclusively No restriction on the No restriction on the
transport format. You can transport format. You can
use SOAP, JMS, or any use SOAP, JMS, or any
transport you want to use transport you want to use
to send SAML tokens or to send SAML tokens or
messages. messages.
Designed for use with Designed for use with Used in enterprise SSO Used in enterprise SSO
applications on the applications on the scenarios. scenarios.
Internet. Internet.
Role Description
Resource Owner The owner of a protected resource who can grants access to the resource. A
user of a printer is a resource owner who can grant access to the printer app to
print a document.
Resource Server Hosts the protected resources. It accepts and responds to requests by using
Access tokens.
Authorization Server Generates Access tokens for a client application after authenticating the
resource owner and obtaining authorization from the resource owner. The
authorization server in Access Manager is Identity Server.
ID Token Contains a user’s claims such as identity, email address, and other profile
information. It also specifies the issuing authority.
JSON Web Token (JWT)
Access Token (JWT) Required to access protected resources. Contains the attributes, such as
scope, claims and duration, that are granted by the authorization server.
Refresh Token (JWT) Used to obtain access tokens. The authorization server issues a Refresh
token to the client application. Client applications use this token to obtain
a new Access token when the current Access token expires or is no longer
valid.
Client Key and Secret A client application uses a client key to identify itself to a service provider.
A client application uses the client secret to establish the ownership of the
client key. The authorization server assigns a key and a secret to a client
application while registering it.
Endpoint Description
Authorization Endpoint Client applications use this endpoint to interact with the resource
owner and obtain an authorization grant. It is located on an
authorization server.
Token Endpoint Client applications use this endpoint to obtain an Access token by
providing their authorization grant or Refresh token. It is also located on
an authorization server.
Redirect...
1
...with client_id, scope, state, redirect_uri
2
Authenticate
3
Redirect...
1
...with client_id, scope, state, redirect_uri
2
Authenticate resource owner and
confirm authorization grant
3
Redirect with redirect_uri, access
token in URI fragment
4
...to request redirect_uri without the fragment
5
Return web page with embedded script to
extract access token
6
Execute script to retrieve access token
7
Process Flow:
1. The client application prepares an authentication request containing the desired request
parameters and sends the request to the authorization server.
Process Flow:
1. The client application generates an authentication request containing the desired request
parameters and sends the request to the authorization server.
2. The authorization server authenticates the user.
3. The authorization server obtains the user consent.
4. The authorization server sends the user to the client application with an ID token and, if
requested, an Access token.
5. The client application validates the ID token and retrieves the user's Subject Identifier.
NOTE: The authorization code can be exchanged only one time. Hence, if you use authorization code
and the access token combination, the code cannot be used for exchanging the token again.
Process Flow
1. The client application generates an authentication request containing the desired request
parameters and sends the request to the authorization server.
2. The authorization server authenticates the user.
NOTE: Email is a mandatory scope configured by the administrator and all client applications can
access this scope by default. You cannot deselect this scope on the consent page.
The client application must remember the scopes a user has provided earlier in the consent. For the
next request, the client application must ask for the scopes that the user did not provide in the
earlier request. For example, if a client application asks for five scopes and the user provides only
three scopes, the client application must remember user's choice and must not ask for the five
scopes again unless it is an absolute requirement.
This section provides samples of reports that you can generate by using the Access Manager
Reporting Solution Pack.
“Application Access Summary Report” on page 1614
“User Application Access Summary Report” on page 1615
“Application Specific User Access Report” on page 1616
“Federation Summary Report” on page 1617
“User Login Contract Summary Report” on page 1618
“User Login Failure Report” on page 1619
“Application Specific Risk based Authentication Report” on page 1620
NOTE: In this sample report, Office365 and SuccessFactors are names of the protected resources
configured in Access Gateway reverse proxies. These are not federated Office 365 and Success Factor
requests.