Intelligence Platform Middle-Tier Administration Guide
Intelligence Platform Middle-Tier Administration Guide
4 Intelligence
®
Platform
Middle-Tier Administration Guide
Third Edition
SAS® Documentation
The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2016. SAS® 9.4 Intelligence Platform: Middle-Tier
Administration Guide, Third Edition. Cary, NC: SAS Institute Inc.
SAS® 9.4 Intelligence Platform: Middle-Tier Administration Guide, Third Edition
Copyright © 2016, SAS Institute Inc., Cary, NC, USA
What's New in Middle-Tier Administration for the SAS 9.4 Intelligence Platform . . . ix
Accessibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
viii Contents
ix
Whatʼs New
What's New in Middle-Tier
Administration for the SAS 9.4
Intelligence Platform
Overview
SAS is currently shipping the third maintenance release for SAS 9.4. The SAS
9.4 middle-tier software includes changes to several SAS clients and
infrastructure components. This book provides details associated with these
capabilities. The capabilities that are introduced or enhanced since the initial
SAS 9.4 release are highlighted below.
The third maintenance release for SAS 9.4 provides significant enhancements
that support security configuration and management. Some of the configuration
changes are required for existing deployments. Support has been added for the
following enhancements and updates:
n “Support for Enabling Auditing of Internal Accounts”
Starting in May 2015, guest access support is available through SAS Logon
Manager. See “Support for Guest Access”.
The October 2014 release for SAS 9.4 has updates to SAS Information Retrieval
Studio. See “Updates to SAS Information Retrieval Studio for TLS”.
The second maintenance release for SAS 9.4 has the following improvements
and changes:
n “Enhancements for SAS Content Server”
The first maintenance release for SAS 9.4 has the following changes and
enhancements:
x Middle-Tier Administration
Beginning in the third maintenance release for SAS 9.4, you can enable auditing
support for the following accounts by updating the -
Dspring.profiles.active JVM option:
n creating internal accounts
For more information, see “Enable Auditing for Internal Accounts” on page 70.
Starting with the third maintenance release for SAS 9.4, an administrator can
close a session, effectively causing a user's logoff from a SAS web application,
using the SAS Web Administration Console.
For more information, see “Force Users to Log Off” on page 76.
Security Support for SAS Web Applications xi
Beginning in the third maintenance release for SAS 9.4, you can enable Spring
audit profiles by updating the -Dspring.profiles.active JVM option.
For more information, see “Enable Audit Profiles” on page 70.
Starting with the third maintenance release for SAS 9.4 are security
improvements that provide additional controls and setup for TLS encryption, and
simplify TLS support. The SAS Deployment Manager can be used to automate
the process of updating the list of trusted CA certificates, known as the trusted
CA bundle. At installation, a list of trusted CA certificates that are distributed by
Mozilla is installed and SAS products are automatically configured to use this.
You can then use the SAS Deployment Manager to add your own trusted
certificates to this list.
For more information, see “Configuring Middle-Tier Services for the Third
Maintenance Release for SAS 9.4” on page 245.
Beginning in the third maintenance release for SAS 9.4 is added security for
SAS web applications. In scenarios where applications are using the SAS
middle tier as a proxy for accessing external URLs, additional security has been
added through a whitelist, or security filter, of allowed sites. You can also
whitelist certain HTTP request methods.
SAS web applications that require external access to URLs must also have a
whitelist of URLs that can be accessed.
For additional information, see:
n “Whitelist of Websites and Methods Allowed to Link to SAS Web
Applications” on page 275
n “Configuring the Cross Domain Proxy Servlet through a Whitelist” on page
277
n “Enabling Support for Forward Proxy Authentication” on page 279
xii Middle-Tier Administration
Starting with the third maintenance release for SAS 9.4, SAS has made changes
that are expected to result in a 40% to 50% improvement (decrease) in start-up
time for SAS Web Application Server. No configuration changes are needed
after applying the maintenance release. You should automatically see the
improvements when you restart the application server. For more information, see
http://support.sas.com/resources/papers/proceedings15/SAS1904-2015.pdf.
Note: The improvement in start-up time will vary based on the specific hosting
environment, including but not limited to the operating system and hardware of
the server where SAS Web Application Server is installed.
Beginning in the May 2015 release for SAS 9.4, guest access is available
through SAS Logon Manager for software clients that specifically allow guest
logons. An optional feature, guest access provides anonymous access to a
subset of resources and functionality in some SAS web applications.
For more information, see “Configuring Guest Access” on page 111.
Starting with the October 2014 release for SAS 9.4, TLS is supported for search
by SAS Information Retrieval Studio. To configure TLS for previous releases,
manual updates must be made to the SAS-configuration-directory\Levn
\Web\Applications\SearchInterfacetoSASContent\url_list.txt file.
For more information, see “Configuring for TLS” on page 166.
Beginning in the second maintenance release for SAS 9.4, SAS Content Server
enables you to prevent certain file extensions and MIME types from being
uploaded by specifying the extensions and types in the config.xml file. By
default, any file type can be uploaded to the SAS Content Server. By disallowing
certain attachment types from being uploaded, you can ensure that a file
extension matches its contents and provide file scanning capabilities.
Support for TLS with Client Certificate Authentication xiii
Also, starting in the second maintenance release for SAS 9.4, you can manually
configure a file or database data store for SAS Content Server. The data store
enables you to store large files or databases. The benefits of using data stores
over traditional storage methods include elimination of redundant files and
reduced temporary file overhead.
For more information, see Chapter 10, “Administering the SAS Content Server,”
on page 117.
Starting with the second maintenance release for SAS 9.4, SAS Mobile BI 7.1
has a new user interface. The new interface does not include a banner. For this
reason, support for the configuration properties that customize the banner in the
native mobile viewers is discontinued in SAS Mobile BI 7.1.
For more information, see Chapter 15, “Managing Devices,” on page 171.
Beginning in the first maintenance release for SAS 9.4 is the ability to add
custom content to a SAS web applications.
Starting with the first maintenance release for SAS 9.4 is added functionality for
managing mobile devices that use SAS Mobile BI. Devices are managed either
by inclusion or exclusion.
For more information, see Chapter 15, “Managing Devices,” on page 171.
Beginning in the first maintenance release for SAS 9.4, Transport Layer Security
(TLS) configuration allows clients to authenticate with the SAS middle tier using
a client certificate that is installed in their web browser. When a client certificate
is used for authentication and installed in a web browser, you are not required to
provide a user name and password to log on. There are two possible
configurations: TLS for SAS Web Server and SAS Web Application Server and
TLS for a stand-alone SAS Web Application Server.
xiv Middle-Tier Administration
For more information, see “Support for TLS with Client Certificate
Authentication” on page 244.
In the first maintenance release for SAS 9.4, SAS Logon Manager enables you
to customize the behavior of the Sign Out button, in order to integrate with
various security scenarios.
For more information, see Chapter 9, “Administering SAS Logon Manager,” on
page 101.
The initial SAS 9.4 middle-tier software includes SAS Web Server for use as an
HTTP server and SAS Web Application Server. SAS Web Application Server is a
lightweight server that provides enterprise-class features for running SAS web
applications. Both products can be installed and configured automatically with
the SAS Deployment Wizard.
For more information about SAS Web Server, see Chapter 3, “Administering
SAS Web Server,” on page 29.
For more information about SAS Web Application Server, see Chapter 4,
“Administering SAS Web Application Server,” on page 35.
The initial SAS 9.4 release includes enhancements to the SAS Deployment
Wizard to simplify SAS Web Application Server clustering. In previous releases,
the following steps required manual configuration, but are performed
automatically in this release:
n install a Java environment and web application server software
n create repository configuration files for each instance of SAS Content Server
With the enhancements, you can easily configure vertical cluster members
(additional server instances on the same machine) and horizontal cluster
members (install and configure servers on additional machines).
Combining vertical and horizontal clustering is also supported and can be
configured easily.
Note: There are SAS applications that do not support middle-tier clustering. As
a result, those applications run on the master node in the cluster. If the master
Enhancements to SAS Logon Manager xv
node is not available, then the application is not available (even if other SAS
applications are available on other nodes in the cluster). For a list of SAS
applications that do not support clustering, see Exceptions to the Middle-Tier
Clustering Support in the SAS Guide to Software Updates.
Starting with the initial SAS 9.4 release, SAS Web Infrastructure Platform Data
Server is included, which replaces the SAS Framework Data Server that was
used in SAS 9.3. The data server provides a transactional store for SAS middle-
tier software.
The server can be installed and configured automatically with the SAS
Deployment Wizard. The server is based on PostgreSQL 9.1.9. SAS configures
a single server instance and SAS Web Application Server instances are
configured with JDBC data sources that access the server. SAS Environment
Manager also stores transactional information in the server.
For more information, see “SAS Web Infrastructure Platform Data Server” on
page 17.
SAS Content Server is a web application that provides WebDAV features for
your SAS deployment. Starting with the initial SAS 9.4 release is an update for
SAS Content Server to provide JCR 2.0 features.
By default, the SAS Content Server is also enhanced to use the SAS Web
Infrastructure Platform Data Server for storage. In previous releases, this was an
option during the installation process. Using the database for storage simplifies
using SAS Content Server in a web application server cluster because there is
no longer any need for repository reconfiguration.
For more information, see Chapter 10, “Administering the SAS Content Server,”
on page 117.
Starting with the initial SAS 9.4 release, the web applications are managed as
EAR files, but they are deployed as web application archive (WAR) files. In
previous SAS releases, the SAS web applications were managed and deployed
as enterprise web application archive (EAR) files.
xvii
Accessibility
For information about the accessibility of any of the products mentioned in this
document, see the usage documentation for that product.
xviii Middle-Tier Administration
1
Part 1
Middle-Tier Overview
Chapter 1
Working in the Middle-Tier Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Chapter 2
Interacting with the Server Tier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2
3
1
Working in the Middle-Tier
Environment
Understanding the Middle-Tier Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Middle-Tier Software Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
SAS Web Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
SAS Web Application Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Java Runtime Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
JMS Broker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Cache Locator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
SAS Environment Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
SAS Web Infrastructure Platform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Services and Applications in the SAS Web Infrastructure Platform . . . . . . . . . . . . . 7
SAS Foundation Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
SAS Web Infrastructure Platform Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
SAS Workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
SAS Content Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
SAS Web Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
SAS Web Report Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
SAS Information Delivery Portal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
SAS BI Dashboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
SAS BI Portlets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
SAS Help Viewer for the Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Starting the Web Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Middle-Tier Log Locations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
graphical user interface that users navigate with a web browser. These
applications rely on servers on the SAS server tier to perform SAS processing,
including data query and analysis.
The following figure shows how the middle tier interacts with the other tiers of
the SAS Intelligence Platform. For a description of these components, see SAS
Intelligence Platform: Overview.
HTTP
Mobile devices (to
Enterprise Resource view some types
Planning (ERP) Systems SAS Environment Manager
of reports)
n SAS web applications, which can include SAS Web Report Studio, the SAS
Information Delivery Portal, the SAS BI Dashboard, and other SAS products
and solutions.
n the SAS Web Infrastructure Platform, which includes the SAS Content Server
and other infrastructure applications and services.
n the JMS Broker, which is used to provide distributed communication with
Java Messaging Services. Some SAS web applications use queues and
topics for business logic.
n the Cache Locator, which is used by SAS web applications to locate and
connect to a distributed cache. The SAS web applications use the cache to
maintain awareness of user sessions and to share application data.
n SAS Environment Manager, which is used to monitor and manage the server
tier and middle tier of the SAS deployment.
The SAS Intelligence Platform architecture provides the flexibility to distribute
these components according to your organization's requirements. For small
implementations, the middle-tier software, SAS Metadata Server, and other SAS
servers, such as the SAS Workspace Server and SAS Stored Process Server,
Middle-Tier Software Components 5
can all run on the same machine. In contrast, a large enterprise might have
multiple servers and a metadata repository that are distributed across multiple
platforms. The middle tier in such an enterprise might distribute the web
applications to many web application server instances on multiple machines.
The following figure illustrates the middle-tier components:
SAS Stored
SAS Preferences SAS Workflow SAS Comment
Process Web
Manager Engine Manager
Application
SAS Environment
SAS Web Server
Manager
Wizard can automatically configure the web application server, or you can
configure it manually.
The following applications and services run in the web application server
environment:
n applications and services that are part of the SAS Web Infrastructure
Platform
n the SAS Web Report Studio, SAS Information Delivery Portal, SAS BI
Dashboard, and SAS Help Viewer for the Web applications
Depending on which products and solutions you have purchased, your site might
have additional web applications.
JMS Broker
A JMS Broker instance is configured as a server on the machine that is used for
the SAS middle tier. This software fully implements the Java Message Service
1.1 specification and acts as a message broker. It provides advanced features
such as clustering, multiple message stores, and the ability to use file systems,
and databases as a JMS persistence provider.
Cache Locator
SAS Web Application Server uses the distributed data cache that is available
with VMware vFabric GemFire. SAS uses the cache as a peer-to-peer cache. In
order for the instances of SAS Web Application Server to join as members of the
cache, the Cache Locator is used. The locator provides the mechanism for peer
discovery. The locator is used by instances of SAS Web Application Server and
the SAS Web Infrastructure Platform Scheduling Services.
The following services and applications are included in the SAS Web
Infrastructure Platform:
Table 1.1 Services and Applications in the SAS Web Infrastructure Platform
SAS Authorization Service This service is used by some SAS web applications
that manage authorization through web services.
SAS BI Web Services for Can be used to enable your custom applications to
Java invoke and obtain metadata about SAS Stored
Processes. Web services enable distributed
applications that are written in different programming
languages and that run on different operating systems
to communicate using standard web-based protocols.
Simple Object Access Protocol (SOAP) is a common
protocol. SAS includes support for JSON and REST as
well.
The SAS BI Web Services for Java interface is based
on the XML For Analysis (XMLA) Version 1.1
specification.
SAS Content Server Stores digital content (such as documents, reports, and
images) that can be created and used by the SAS web
applications.
SAS Identity Services Provides SAS web applications with access to user
identity information.
SAS Principal Services Enables access to core platform web services for SAS
applications.
SAS Shared Web Assets Contains graph applet JAR files that are shared across
SAS web applications. They display graphs in stored
processes and in the SAS Stored Process Web
Application.
SAS Stored Process Web Provides a mechanism for web clients to run SAS
Application Stored Processes and return the results to a web
browser. The SAS Stored Process Web Application is
similar to the SAS/IntrNet Application Broker, and has
similar syntax and debug options. Web applications can
be implemented using the SAS Stored Process Web
Application, the Stored Process Service API, or a
combination of both. Here is how the SAS Stored
Process Web Application processes a request:
1 A user enters information in an HTML form using a
web browser and then submits it. The information is
sent to a web server, which invokes the first
component, the SAS Stored Process Web
Application.
2 The Stored Process Web Application accepts data
from the web server, and contacts the SAS
Metadata Server for retrieval of stored process
information.
3 The stored process data is then sent by the Stored
Process Web Application to a stored process server
via the object spawner.
4 The stored process server invokes a SAS program
that processes the information.
5 The results of the SAS program are sent back
through the web application and web server to the
web browser.
In the middle tier, the SAS Web Infrastructure Platform plays a critical role with a
collection of middle-tier services and applications that provide basic integration
services.
In the web application server, two sets of services are available to all SAS web
applications:
n SAS Foundation Services
n user authentication
10 Chapter 1 / Working in the Middle-Tier Environment
n profile management
n session management
n activity logging
n connection management
n WebDAV service
SAS Workflow
SAS Workflow provides services that work together to model, automate,
integrate, and streamline business processes. It provides a platform for more
efficient and productive business solutions. SAS Workflow is used by SAS
solutions that benefit from business process management.
SAS Workflow Studio is a desktop client application that is used to design and
deploy workflows. The SAS middle tier hosts the workflow engine and the
workflow services.
SAS BI Dashboard
SAS BI Dashboard enables users to create, maintain, and view dashboards to
monitor key performance indicators that convey how well an organization is
performing. SAS BI Dashboard includes an easy-to-use, drag and drop interface
for creating dashboards that include graphics, text, colors, and hyperlinks. The
application leverages Flash in the Rich Internet Application (RIA) architecture.
The Dashboard Viewer enables users to complete the following tasks:
n Interact with data through interactive highlighting
n Indicators
With the ability to save favorite dashboards and add comments, users can
collaborate and easily access dashboards with customized information. All
content is displayed in a role-based, secure, customizable, and extensible
environment.
SAS BI Portlets
The SAS BI Portlets are based on JSR 168 and are available with SAS
Enterprise Business Intelligence Server. These portlets are seamlessly
integrated into the SAS Information Delivery Portal. SAS BI Portlets enable
users to access, view, or work with content items that reside in either the SAS
Metadata Server or the SAS Content Server.
1 Start the SAS servers and services in the correct order. For more information
about the sequence, see “Overview of Server Operation” in SAS Intelligence
Platform: System Administration Guide.
2 Start a browser session and point the browser to the web application that you
want to access. For the correct URL, see the Instructions.html
document, which resides in the Documents subdirectory of your
configuration directory. The exact URL varies depending on the host name
and port number that was defined for your environment.
14 Chapter 1 / Working in the Middle-Tier Environment
For more information about SAS server logging, see “Administering Logging for
SAS Servers” in SAS Intelligence Platform: System Administration Guide.
For additional information about specific web application logs, see SAS
Intelligence Platform: Web Application Administration Guide.
15
2
Interacting with the Server Tier
Configuration Shared between the Middle Tier and the Server Tier . . . . . . . . . . 15
SMTP Mail Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
SAS Web Infrastructure Platform Data Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
About the Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Installation Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Network Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Password Policy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Administering Logging for the Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
pgAdmin III Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Creating a New Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Database Roles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Deleting a Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Backing Up or Restoring a Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
JDBC Data Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
About the Data Sources Used by the Middle Tier . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Connection Information for the JDBC Data Source . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Job Execution Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
n Understand the use of the SAS Web Infrastructure Platform Data Server.
You can configure SMTP authentication by adding the following properties to the
Resource definition that is shown above:
mail.smtp.auth true
mail.smtp.user username
SAS Web Infrastructure Platform Data Server 17
password password
Note: The password can be encoded.
3 Click Advanced, and then set the new values for Email.Host or Email.Port.
Installation Directory
The SAS Deployment Wizard installs and configures a server instance in the
SAS-configuration-directory
\Lev1\WebInfrastructurePlatformDataServer directory. This path
includes the following script and directories:
webinfdsrvc.bat
This script is used to start, stop, and determine the running status for the
server. It specifies the network port number and the path to the data
directory. For UNIX deployments, the script is named webinfdsrvc.sh and is
configured to start the server as the SAS installer account.
18 Chapter 2 / Interacting with the Server Tier
data
This directory contains server configuration files and the data files for the
databases that are managed by the server. SAS configures the server to
store data in the UTF-8 character encoding. Do not modify the files in this
directory without direction from SAS Technical Support.
Logs
SAS configures the server to generate log files in this directory. Log files are
rotated automatically after they reach 10 MB.
The _webinfdsvrc_console.log file is generated during start-up. Look at this
log first if you have trouble starting the server.
Databases
In a SAS 9.4 Enterprise Business Intelligence deployment, the server is
configured to manage the following databases:
Administration
This database contains configuration information for the modules that SAS
develops to extend the features of SAS Environment Manager.
EVManager
This database is used by SAS Environment Manager. The database contains
configuration and metric information for the machines and servers that SAS
Environment Manager manages in your deployment.
SharedServices
This database is used by the SAS web applications and middle-tier software.
For example, comments that are added through various web applications are
stored in this database. Digital content that is stored with SAS Content
Server is also stored in this database.
Note: You can choose to use a third-party vendor database server for this
database when you install and configure software with the SAS Deployment
Wizard. This database is identified as the SAS Web Infrastructure Platform
Database on the pages in the wizard.
transportsvcs_db
This database is used by SAS Visual Analytics Transport Service. The
database stores mobile logon history information, as well as the device’s
blacklist and whitelist data that is maintained through SAS Visual Analytics
Administrator. It is also used to support caching within the Transport Service
application.
If your deployment includes SAS solutions software that supports SAS Web
Infrastructure Platform Data Server, then more databases might be configured
on the server.
Network Access
The server is configured to accept connections on all network interfaces and
requires password authentication. By default, SAS configures the server to use
network port number 9432. This network port number avoids conflicts with the
default port (5432) that other PostgreSQL servers might use.
SAS Web Application Server instances are configured with JDBC Data Sources
that reference the SharedServices database and the Administration database.
SAS Web Infrastructure Platform Data Server 19
Password Policy
The user name and password for the SAS Web Infrastructure Platform Data
Server administrator are specified during installation, using the SAS Deployment
Wizard. The password can be updated using the SAS Deployment Manager.
Passwords for the SAS Web Infrastructure Platform Data Server are subject to
the following guidelines:
For information about stopping and restarting the server, depending on your
operating system, see “Methods for Operating Servers” in SAS Intelligence
Platform: System Administration Guide.
For more information about how to create a database using a shell program, see
http://www.postgresql.org/docs/manuals/. Navigate to PostgreSQL Client
Applications createdb.
Database Roles
There are usually two roles that are created when a database is created. The
first is a login role (the administrator user), which is usually specified during
installation, using the SAS Deployment Wizard. When the database is deleted,
this role should also be deleted. The second role that is created is a group role
named database name_admin. This role should also be deleted when the
database is deleted.
To delete a database role, run the following command:
dropuser name
For more information about how to delete a role using a shell program, see
http://www.postgresql.org/docs/manuals/. Navigate to PostgreSQL Client
Applications dropuser.
Deleting a Database
You should delete a database when the following conditions occur:
n You are instructed to do so during configuration.
For more information about how to delete a database using a shell program, see
http://www.postgresql.org/docs/manuals/. Navigate to PostgreSQL Client
Applications dropdb.
information, see “Using the Deployment Backup and Recovery Tool” in SAS
Intelligence Platform: System Administration Guide.
n IBM DB2
n MySQL
n PostgreSQL
If you have not already done so, make sure that you review “Configuring an
Alternate Database for SAS Web Infrastructure Platform Services ” in SAS
Intelligence Platform: Installation and Configuration Guide.
Your site can choose to use the database that you are familiar with. However,
some SAS solutions have requirements for specific databases. Consider these
requirements when you select a database to use as the data source for the SAS
Web Infrastructure Platform. As a default option, the SAS Web Infrastructure
Platform Data Server can be configured as the data source for SAS Web
Infrastructure Platform.
The default database server for SAS Web Infrastructure Platform is the SAS
Web Infrastructure Platform Data Server. The JDBC connection parameters for
the server are provided in the following table:
Table 2.2 JDBC Connection Parameters for SAS Web Infrastructure Platform Data
Server
These settings are configured during initial deployment. However, you need to
know the connection information if you make changes later, such as moving the
server to another host system.
Note: You must specify the user name and password values as required to
access the data source.
These settings are represented in SAS Web Application Server in the SAS-
configuration-directory\Levn\Web\WebAppServer
\SASServer1_1\conf\server.xml file:
<Resource auth="Container" driverClassName="org.postgresql.Driver"
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory" initialSize="10"
jdbcInterceptors="org.apache.tomcat.jdbc.pool.interceptor.ConnectionState;
org.apache.tomcat.jdbc.pool.interceptor.StatementFinalizer"
jmxEnabled="true" maxActive="100" name="sas/jdbc/SharedServices"
password="${pw.sas.jdbc.SharedServices}" testOnBorrow="true"
type="javax.sql.DataSource"
url="jdbc:postgresql://hostname.example.com:9432/SharedServices"
username="SharedServices" validationInterval="30000"
validationQuery="select 1"/>
Console. The settings define the job thread pool and the execution thread pools
for all logical servers that the service uses for delegating work.
When a new server context is configured for use by the Job Execution Service,
the Configuration Manager notifies the Job Execution Service instances to
reload their configurations to add the new server context. The following settings
are updated at run time by the Job Execution Service:
n A new logical server that is configured to be used by the Job Execution
Service
n The following job execution queues:
o minimum thread pool size
o maximum thread pool size
o algorithm
All other settings are not applied and made active automatically. They are
activated as follows:
n When you restart the SAS Web Infrastructure Platform Services or SAS Web
Application Server
n When you can set the state of some properties at run time through the JMX
bean (MBean) for the service with a JMX console
n When you click the Reconfigure button in SAS Web Administration Console.
For more information, see “Updating the Job Execution Service
Configuration” on page 78.
The default configuration for the job execution services does not check role-
based permissions. If role-based security is enabled, then the job execution
service checks that the identity submitting the request has sufficient permission.
Role Capabilities
Job Execution: Job Administrator Can submit jobs of high, normal, and low
priority and perform all job-related
operations.
Job Execution: Job Designer Can add, update, or remove jobs and
tasks from metadata.
Job Execution: Job Submitter Can submit normal priority jobs for
execution.
26 Chapter 2 / Interacting with the Server Tier
The following figure shows the default capabilities associated with the job
administrator role.
Part 2
Middle-Tier Components
Chapter 3
Administering SAS Web Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Chapter 4
Administering SAS Web Application Server . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Chapter 5
Administering Cache Locator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Chapter 6
Administering JMS Broker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
28
29
3
Administering SAS Web Server
About SAS Web Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Installing SAS Web Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Automatic Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Manual Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Using HTTPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Understanding the SAS Web Server Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Understanding SAS Web Server Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Using the httpdctl Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Using the appsrvconfig Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Using Windows Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Using SAS Environment Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Monitoring SAS Web Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Viewing Performance With SAS Environment Manager . . . . . . . . . . . . . . . . . . . . . . 33
Viewing Load-Balancing Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Automatic Configuration
SAS Web Server is installed with SAS Deployment Wizard. The wizard can also
automatically configure the server. By default, the server is installed on the same
machine as SAS Web Application Server. However, because the topology is
defined in a plan file that the wizard uses, the server can be deployed to a
different machine if the topology is defined that way in the plan file.
To use this feature, select the Configure SAS Web Server automatically check
box on the SAS Web Server: Automated or Manual Configuration Option page of
SAS Deployment Wizard.
Manual Configuration
If you prefer to configure SAS Web Server manually, make sure the Configure
SAS Web Server automatically check box is not selected when you use SAS
Deployment Wizard. Once the wizard completes, the Instructions.html file
provides step-by-step instructions that describe how to configure the server
manually. The instructions are customized for your deployment, including the
correct host names and file system paths.
If you choose to configure the server manually, you must also configure SAS
Web Application Server manually.
Using HTTPS
If you plan to use HTTPS, then it is best to enable the feature during the
installation and configuration time frame with SAS Deployment Wizard. SAS
Deployment Wizard prompts for a CA-signed certificate and private key. Both
must be in PEM encoded format.
If you have a CA-signed certificate, SAS Deployment Wizard prompts for the path to the
certificate and the path to the RSA private key that is not protected with a pass phrase.
An RSA private key file that is not protected with a pass phrase begins as follows:
Example Code 3.1 RSA Private Key without a Pass phrase
-----BEGIN RSA PRIVATE KEY-----
MIICXgIBAAKBgQC4vPQMyiVKvjIERVNfa34iVxeauzcUa8zc2xBHRlJ43uAvvWuL
63yeGl8QQoT55yqhAWhs62i24lE34t2ituhCm0QYbU1KiyB9PNyfOk3/2E7Y7o1T
Do not use an encrypted private key. An encrypted RSA private key file begins as
follows:
Example Code 3.2 Encrypted RSA Private Key
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,FB353F5E4F1719EB
LigQnszN4joO24QonLHCEl7d4LlLa6uMEqdxhl1PX8O4o+pbY5cEQJBbCiRlEmfg
Io5V/YZUa+uGG82ULsAUy3zWTHP+OjxpTV/3gjLwbmD3+JM5Dd0jFLGenfPF5hld
Understanding the SAS Web Server Configuration 31
SAS Deployment Wizard also prompts for the certificate. A certificate file from a
certificate authority typically begins as follows:
Example Code 3.3 Certificate Authority-Signed Certificate
Certificate:
Data:
Version: 3 (0x2)
Serial Number: 1 (0x1)
Signature Algorithm: sha1WithRSAEncryption
...
-----BEGIN CERTIFICATE-----
MIIDhDCCAu2gAwIBAgIBATANBgkqhkiG9w0BAQQFADB+MQswCQYDVQQGEwJVUzEL
MAkGA1UECBMCTkMxDTALBgNVBAcTBENhcnkxDDAKBgNVBAoTA1NBUzENMAsGA1UE
The actual task is identified in a command task file that is located in the SAS-
configuration-directory\Levn\Web\Scripts\WebServer\props. The
file is generated and then executed. The file does not exist until the
appsrvconfig.cmd command is used.
Information about using the appsrvconfig.cmd command for configuration tasks
is provided in SAS Configuration Scripting Tools on page 297.
See Also
SAS Environment Manager: User's Guide
The web page provides information about each load balancer. Some of the
information is identified in the following list:
n routes (each instance of SAS Web Application Server is identified as a route)
n route status
4
Administering SAS Web Application
Server
About SAS Web Application Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Installing SAS Web Application Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Automatic Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Manual Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Multiple Machine Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Understanding SAS Web Application Server Configuration . . . . . . . . . . . . . . . . . . 37
Server Naming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Server Directories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Specifying JVM Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Deploying Web Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Understanding SAS Web Application Server Management . . . . . . . . . . . . . . . . . . 38
Using the tcruntime-ctl Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Using the appsrvconfig Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Using Windows Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Using SAS Environment Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Monitoring SAS Web Application Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Checking Prerequisite Servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
About Checking Prerequisite Servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Enabling the Prerequisite Checker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
with the SAS Metadata Server and other SAS software products to maintain
reliability and reduce administration in the SAS deployment.
The following list identifies some enhancements that are implemented in SAS
Web Application Server:
n automatically connects to Cache Locator on server start-up for distributed
communication.
n accesses the JMS resources provided by JMS Broker.
Automatic Configuration
By default, SAS Web Application Server is installed by the SAS Deployment
Wizard when you install SAS software for your deployment. The SAS
Deployment Wizard can automatically configure a server instance, deploy the
web applications, and also automatically configure related middle-tier
components such as SAS Web Server, JMS Broker, and Cache Locator.
To use this feature, select the Configure the web application server
automatically check box on the Web Application Server: Automatic
Configuration page of the SAS Deployment Wizard.
Manual Configuration
If you prefer to configure SAS Web Application Server manually, make sure the
Configure the web application server automatically check box is not selected
when you use the SAS Deployment Wizard. Once the wizard completes, the
Instructions.html file provides step-by-step instructions for how to configure the
server manually. The instructions are customized for your deployment, including
the correct host names and file system paths.
The generated Instructions.html file also includes information about installing
and configuring the related middle-tier components: SAS Web Server, JMS
Broker, and Cache Locator.
Server Naming
The default name for the first server instance is SASServer1_1.
The server name and instance is broken down as follows:
SASServer1
This portion identifies the server name.
_1
This portion identifies the first instance of the server. Additional instances of
this server (for vertical clustering) increment the number as in _2, _3, and so
on.
Your deployment might include additional managed servers. If your deployment
includes a SAS solution, the web applications related to the solution might be
deployed to managed servers with names like SASServer8_1 or
SASServer12_1.
Your deployment might include SASServer2_1. This server instance is created
when the SAS Deployment Wizard is used at the custom prompting level and
enabling the multiple managed server option. This option is useful for distributing
some of the web applications to the SASServer2_1 instance.
If you have configured multiple instances of a managed server, such as
SASServer1_1 and SASServer1_2, then the web applications that support
clustering are deployed identically to each instance. Each of these instances is a
vertical cluster member. For applications that do not support clustering, only one
instance is configured on the first server instance.
See Also
“Adding a Vertical Cluster Member” on page 192
Server Directories
Configured instances of SAS Web Application Server are stored in the SAS-
configuration-directory\Levn\WebAppServer directory and
subdirectories.
SAS-configuration-directory\Levn\Web\WebAppServer\SASServer1_1
This directory represents an instance of SAS Web Application Server.
Information about some of the subdirectories is as follows:
bin
This directory includes a command for starting and stopping the server.
More information about controlling the server is described in
“Understanding SAS Web Application Server Management”.
conf
SAS software manages the configuration files in this directory. If you
modify a file, your customizations are overwritten the next time SAS
software configures the server.
38 Chapter 4 / Administering SAS Web Application Server
sas_webapps
This directory is used for the SAS web applications. SAS software
manages the addition and removal of web applications from the directory.
See Also
For information about redeploying, see “Redeploy Web Applications” on page 91.
Note: On Windows, the status option does not indicate whether the server is
running or stopped.
The Windows service has the advantage of providing the server status (started
or stopped), which is not available with the tcruntime-ctl.bat command line
tool. In addition, the Windows service manages the service dependencies.
See Also
SAS Environment Manager: User's Guide
Note: The server portion of SAS Environment Manager runs in its own instance
of a web application server. However, SAS Environment Manager is configured
to use SAS Logon Manager for authentication, and this requires that SAS Web
Application Server is running before you can access SAS Environment Manager.
See Also
SAS Environment Manager: User's Guide
n SAS Cache Locator, only for the server where SAS Web Infrastructure
Platform is deployed
n SAS JMS Broker
When one or more of the SAS servers are restarted at the same time, it is
recommended that you let these prerequisite servers start before SAS Web
Application Server instances. When SAS servers are configured to automatically
start as Windows Services, this is the recommended process.
By default, the LifeCycle Listener is not enabled in the current release. In order
to use this feature, you must configure it manually.
Checking Prerequisite Servers 41
For information about configuring the LifeCycle Listener for clustered servers,
see “Configuring the Prerequisite Checker for Clustered Servers ” on page 198.
42 Chapter 4 / Administering SAS Web Application Server
43
5
Administering Cache Locator
About the Cache Locator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Installing Cache Locator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Single Machine Deployments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Multiple Machine Deployments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Understanding the Cache Locator Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Setting the Bind Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Modifying the Configuration to Accommodate a Firewall . . . . . . . . . . . . . . . . . . . . 45
About Cache Locator Port Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Updating the JVM Options to Accommodate a Firewall . . . . . . . . . . . . . . . . . . . . . . 45
Determining the Number of Required Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
A B C D E
Total
Members Ports per Member Total Ports
in the Member s per (Column C
Deployme (Column Machin * Column
Scenario nt Machine* A * 4) e D)
Middle 20 2 40
tier
Middle 28 4 112
tier
Middle 36 6 216
tier
* In these scenarios, the middle tier machine contains one instance of the Cache Locator and one or more
instances of SAS Web Application Server. The server tier machine contains one instance each of the
Cache Locator, SAS Distributed In-Process Scheduler Job Runner, and SAS Web Infrastructure Platform
Scheduling Services.
48 Chapter 5 / Administering Cache Locator
49
6
Administering JMS Broker
About JMS Broker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Installing JMS Broker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Understanding the JMS Broker Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Monitoring JMS Broker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Part 3
Middle-Tier Applications
Chapter 7
Administering the SAS Web Infrastructure Platform . . . . . . . . . . . . . . . . . . 53
Chapter 8
Administering SAS Web Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Chapter 9
Administering SAS Logon Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Chapter 10
Administering the SAS Content Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Chapter 11
Administering the SAS BI Web Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
Chapter 12
Administering SAS Web Application Themes . . . . . . . . . . . . . . . . . . . . . . . 147
Chapter 13
Administering SAS Flex Application Themes . . . . . . . . . . . . . . . . . . . . . . . 163
Chapter 14
Administering the Search Facility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
52
53
7
Administering the SAS Web
Infrastructure Platform
About SAS Web Infrastructure Platform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Purpose of the SAS Web Infrastructure Platform . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
SAS Preferences Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
SAS Comment Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Using Configuration Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Overview of Configuration Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Summary of Steps for Using Configuration Manager . . . . . . . . . . . . . . . . . . . . . . . . 57
Example: Configure a Property for SAS Web Report Studio . . . . . . . . . . . . . . . . . . 57
Setting Global Properties for SAS Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Purpose of the SAS Application Infrastructure Properties . . . . . . . . . . . . . . . . . . . . 59
Changing a SAS Application Infrastructure Property . . . . . . . . . . . . . . . . . . . . . . . . . 60
SAS Application Infrastructure Property Descriptions . . . . . . . . . . . . . . . . . . . . . . . . 60
Using the SMS Alert Notification Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Specifying Connection Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
About Internal and External Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Changing Internal Connection Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Changing External Connection Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Configuring Auditing for SAS Web Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Overview of Auditing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Audit Record Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Guidelines for Auditing the SAS Middle Tier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Enable Auditing for Additional Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Enable Auditing for Internal Accounts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Enable Audit Profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Archive Process for Audit Records . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Purging Audit Records . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Using the SAS Web Administration Console . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
About the SAS Web Administration Console . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Access the SAS Web Administration Console . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Monitor Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Viewing Audit Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Performing Server Maintenance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Updating the Job Execution Service Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Managing Notification Templates and Letterheads . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Managing Web Infrastructure Platform Privileges and Roles . . . . . . . . . . . . . . . . . 81
Managing Web-layer Permissions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
54 Chapter 7 / Administering the SAS Web Infrastructure Platform
Note: The My alerts portlet alert notification option does not only refer to
the My alerts portlet that is available with SAS Information Delivery Portal.
You do not have to have SAS Information Delivery Portal to choose this
option. Selecting this option indicates that you prefer to store alert
notifications in a database file that you can retrieve and display using
mechanisms provided by various SAS solutions.
Language
Select the locale (language and country) that you prefer.
Format
Select the preferred format for dates, time, and currency.
Portal
Specify the position of the portal navigation bar in the SAS Information
Delivery Portal. You can also specify the sort order for packages that are
published in the portal. You can sort packages in descending order (newest
packages are at the top) or in ascending order (oldest packages are at the
top).
2 To edit the comment, in the right pane, click Edit. An Edit Comment page
opens in which you can make changes. When you are finished, click Save.
3 To delete the comment, in the right pane, click Delete. You are prompted to
confirm the deletion.
56 Chapter 7 / Administering the SAS Web Infrastructure Platform
n The Connection tab enables you to modify the parameters for connections
to SAS web applications. For more information, see “Specifying Connection
Properties” on page 64.
n The Settings tab offers default values for settings that can be modified. For
modifying values in the Settings tab, and to understand how the lock and
unlock icons function, see “Setting Global Properties for SAS Applications”
on page 59.
n The Advanced tab includes a limited number of default property names and
values. You can modify existing properties and their values, or add custom
properties and values for SAS web applications.
n The Authorization tab enables you to specify permissions for users and
groups and apply Access Control Templates.
Although certain XML configuration files (for example,
SASWebReportStudioProperties.xml file for SAS Web Report Studio) are
available and supported for SAS web applications, it is recommended that you
use the Configuration Manager to configure and set properties.
5 Enter the property name as shown and specify the property value:
7 Click OK to exit the Web Report Studio 4.4 Properties dialog box.
Figure 7.3 Advanced Tab for SAS Web Report Studio 4.4 Properties
The dimmed fields indicate that the values are inherited from the SAS
Application Infrastructure, and these values are shared with other web
applications. The values in the dimmed fields can be changed only in the SAS
Application Infrastructure properties.
Setting Global Properties for SAS Applications 59
The locked icon indicates that a field is locked. When a field has a locked
icon, the value or setting for that particular field cannot be overridden on the
Settings tab for other SAS applications that inherit the setting. By default, all
fields on the Settings tab of the SAS Application Infrastructure Properties dialog
box are locked.
60 Chapter 7 / Administering the SAS Web Infrastructure Platform
5 Select the property to change from the left panel. Use the menus or text
fields to set the property.
6 Click OK.
Settings are not applied and activated automatically. You must restart the SAS
Web Infrastructure Platform Services and the applications that use the changed
property. If unsure, restart the web application server.
Default theme SAS Default This setting controls the default theme
that is used by the SAS web
applications. For information about
creating an alternative theme, see
Chapter 12, “Administering SAS Web
Application Themes,” on page 147.
Default Logon Target none Use the menu to select the application
to which default URL requests are
directed upon successful
authentication. In this way, a site can be
configured to direct users to SAS Web
Report Studio, SAS Information
Delivery Portal, or some solution, as a
default target depending on
requirements. The typical choices are
identified in the following list:
n AdminHome — SAS Web
Administration Console
n WRSLogon — SAS Web Report
Studio
n PortalLogon — SAS Information
Delivery Portal
n DisplayDashboard — SAS BI
Dashboard
n MobileAdmin — SAS BI Dashboard
Mobile Device Administration
Alert notifications type Portal Use the menu to select the default
notification types. For information about
using the SMS text message setting,
see “Using the SMS Alert Notification
Type” on page 62.
E-mail digest 4
frequency
Short date format varies Use the menu to set the default format
for date, time, and datetime values.
Time format
Time/Date format
Currency display varies Use the menu to set the default format
format for currency values.
Currency number
format
user’s email address type is set to sms, and the address is provided in an SMS
text message format.
Make sure that you know the SMS E-mail gateway for the provider. Some SMS
E-mail gateways for providers in the North American market are as follows:
n Verizon: [email protected]
n AT&T: [email protected]
n Sprint: [email protected]
n T-Mobile: [email protected]
In addition to making sure that recipients of the SMS text messages have a
SMS-style email address, you might need to set two properties related to SMS
text messages.
n Host Name
n Port Number
n Service
Web Browser
Web Server, Third-Party SAS Web Application Server
Product, or Hardware SAS Environment Manager
Load Balancer. Other Middle-Tier Components
Firewall
The following display shows the internal connection information for SAS BI
Dashboard properties.
If a SAS web application is moved to a different machine (and you are not using
SAS Web Server), you must modify the connection information. If you configured
SAS Web Server manually for HTTPS, you must change the protocol.
Changing the values for the Host Name, Port, or Service fields on the tab
enables the SAS Web Application Infrastructure Platform to redirect clients to
the proper locations in a custom environment. For the host name, you can
supply an IP address. If you enter an IP version 6 address, you must enclose the
address in brackets.
For example: [FE80::202:B3FF:FE1E:8329].
In addition, starting at the third maintenance release of SAS 9.4, you must edit
the SAS-configuration-directory\Levn\Web\SASEnvironmentManager
\server-version-EE\hq-engine\hq-server\webapps\ROOT\WEB-INF
\classes\identity-service.properties file. Locate the following line and
enter the correct information for your environment:
url.base=https\://server/
Specifying Connection Properties 67
Clear the Use internal connection information check box and then enter the
connection information for the proxy.
In any environment where the internal and external connection information must
differ due to different access rules, you must specify the following JVM option for
SAS Web Application Server:
-Dsas.retry.internal.url=true
Note: After specifying this JVM option, you must restart the SAS Web
Application Server in order for the change to take affect.
In addition, starting at the third maintenance release of SAS 9.4, you must edit
the SAS-configuration-directory\Levn\Web\SASEnvironmentManager
\server-version-EE\hq-engine\hq-server\webapps\ROOT\WEB-INF
\classes\identity-service.properties file. Locate the following line and
enter the correct information for your environment:
url.base=https\://server/
See Also
“Specifying JVM Options” on page 38
68 Chapter 7 / Administering the SAS Web Infrastructure Platform
Overview of Auditing
SAS web applications and other SAS middle-tier services provide auditing
features. Depending on the application and its configuration, these auditing
features can record all actions performed both by the direct users of the system
and by the system itself. Some applications might provide a more complete
audit, detailing not only the actions that are performed but also the states of the
objects that are affected by those actions.
Log on, log off, and unsuccessful log on attempts create audit records for all
deployments. Additional actions that can be audited for SAS Web Infrastructure
Platform are described in this section. If a SAS solution is installed, see the
solution documentation for information about additional actions that can be
audited.
n When auditing for security, audit generally and then audit specifically.
Analyze the records from general audit options to provide the basis for
targeting specific audited actions.
n When auditing for historical information, audit for actions that are important to
your business only. Avoid cluttering valuable audit records with less relevant
audited actions. Narrowing the focus to valuable actions also reduces the
amount of audit trail administration.
n Align the audit requirements to the most strictly regulated application. If your
SAS deployment includes a number of SAS applications, the applications
might have varying requirements. Make sure that the audited actions match
the most strictly regulated application.
When auditing is enabled and audit records are generated, the audit trail size
increases according to two factors:
n the number actions that are enabled for auditing
n how frequently the audited actions are performed
If the SAS Web Infrastructure Platform database becomes completely full and
audit records cannot be inserted, the audited actions cannot be successfully
executed until the audit trail is purged. The system administrator must control
the rate of increase and size of the audit trail. To control the size of the audit trail,
consider the following strategies:
n Be selective about which actions are enabled for auditing. If the number of
audited actions is reduced, then unnecessary and useless audit records are
not generated and are not stored in the audit trail.
n Design archive rules to move important, but not critically important,
information out of the audit trail. This process archives the audit records of
interest and removes them from the main audit table. For information about
archiving, see “Archive Process for Audit Records” on page 72.
n Purge the audit archive tables as needed.
n content service
n job execution service
n workspace service
n scheduling service
n impersonation service
2 Review the comments to locate the service that you want to audit. Each of
the services is commented out in the initial deployment. The following
example shows the job execution service:
<!-- Job Execution Service auditing
<bean class="com.sas.svcs.aop.auditing.jes.SuccessfulSubmitJobAuditAdvice">
<property name="auditRecorder" ref="auditService" />
</bean>
3 Add closing comment markup and then remove the original closing comment
markup (––>) from the bottom of the code block. Save your changes.
4 Rebuild the SAS Web Infrastructure Platform with the SAS Deployment
Manager.
Note: Subsequent upgrade activities can overwrite this file. For example, if
you later install a maintenance release that includes aop-config.xml, then
you must repeat this procedure.
Enabling auditing for other SAS applications requires editing different files, but
the steps are similar to the previous procedure. For example, auditing for SAS
Workflow is controlled with the SASHOME\SASWebInfrastructurePlatform
\9.4\Static\wars\sas.workflow\WEB-INF\spring-config\aop-
config.xml file.
You need to specify this option for the instances of SAS Web Application Server
that are used for running SAS Logon Manager only.
See Also
“Specifying JVM Options” on page 38
You need to specify this option for the instances of SAS Web Application Server
that are used for running SAS Logon Manager only.
The following table lists the audit profiles that can be enabled:
Configuring Auditing for SAS Web Applications 71
See Also
“Specifying JVM Options” on page 38
To control the archive job schedule, you can add a JVM option to SAS Web
Application Server. The -Dsas.audit.archive.cron JVM option can be used
to specify the schedule. The schedule is set with a syntax that is similar to cron:
-Dsas.audit.archive.cron="second minute hour day_of_month month day_of_week"
The following example schedules the archive job to run each day at midnight on
Windows:
-Dsas.audit.archive.cron="0 0 0 * * *"
The following example schedules the archive job to run each day at midnight on UNIX:
-Dsas.audit.archive.cron=\"0 0 0 \* \* \*\"
Note: On UNIX systems, the quotation marks and asterisks must be preceded
by a backslash.
You can confirm the archive job runs and reads the archive rules by adding a
logging context to com.sas.svcs.audit at the INFO level.
Configuring Auditing for SAS Web Applications 73
The following table identifies the common object types and actions that you
might want to include in the SAS_AUDIT_ARCHIVE_RULE table:
User log on -1 8
Sent E-mail -1 44
Add job 11 0
Submit job 10 3
Retrieve job 11 45
Cancel job 10 47
Release job 10 48
Update job 11 1
Remove job 11 37
To delete records for a specific time frame, issue the following SQL statements:
For information about deleting records from other database vendors, see the
documentation for that database.
Note: Depending on the software that is licensed at your site, your SAS Web
Administration Console might include additional functionality. For more
information about the console at your site, see the administration guides for your
applications.
Monitor Users
2 In the Users pane, select the check box in the last column of the row that
contains the name of an authenticated user.
You can select multiple check boxes in order to send email to several users.
To select all of the check boxes, select the check box in the heading of the
last column.
3 Click the action menu in the heading of the last column, and select Send
E-mail.
4 If necessary, enter the email address of the recipient. If you enter more than
one address, separate the addresses with a semicolon.
76 Chapter 7 / Administering the SAS Web Infrastructure Platform
The email addresses are already listed for users whose addresses are
defined in SAS metadata.
6 If you have more than one recipient, specify whether you want to send a
single message to all recipients or to send a separate message to each
recipient.
7 Click Send.
2 In the Users pane, select the check box next to an authenticated user's
name.
You can select multiple check boxes in order to force off several users. To
select all of the check boxes, select the check box in the heading of the last
column.
3 Click the Action menu in the heading of the last column and select Force
Log Off.
A confirmation page displays the user ID, email address, and last logon time
for the selected user. Review this information to ensure that you want to
continue with the logoff operation.
2 In the Audit Reports pane, enter an authenticated user's ID in the text field,
and click Submit Query.
Overview
Tasks such as making changes to the metadata, restarting a metadata server,
restarting the object spawner, or restarting a web application can be performed
safely only when users are not logged on to applications or when new users are
prohibited from logging on to the applications.
You can use the console to enable session draining for a SAS Web Application
Server instance. This prevents new sessions from being sent to the server
instance. You can use this feature as one step in a sequence of other tasks to
prepare the system for maintenance.
The SAS Web Administration Console cannot stop, pause, or start servers. For
instructions about system maintenance tasks such as stopping, pausing, or
starting servers, see the SAS Intelligence Platform: System Administration
Guide.
78 Chapter 7 / Administering the SAS Web Infrastructure Platform
2 On the load balancer manager page, select the worker URL to drain, enable
the Drain option, and click Submit.
4 On the Server Maintenance page, select the check box for the server to drain
sessions from.
Note: If a server does not run an application that provides middle-tier
services, then the server is not listed. This is because there is no reason to
redirect connections away from that server.
5 Click the action menu in the heading of the last column, and select Drain
Sessions.
Existing sessions on the server continue to work, but new sessions are not
directed to the server. You can monitor the progress of session draining with
SAS Environment Manager.
In SAS Environment Manager, monitor the hostname tc Runtime
SASServern_m resource. Use the Views Application Management page to
view the number of sessions. For more information, see the Help or SAS
Environment Manager: User’s Guide.
Note: The sessions for the SAS BI Dashboard Event Generation application do
not reach zero.
New sessions are accepted once you restart the server instance.
About Notifications
Applications that are part of the SAS Web Infrastructure Platform can send
event-driven notifications to users. When an event occurs, the application uses
Using the SAS Web Administration Console 79
the notification template that is associated with that event to create an email
message and send it to the appropriate users. SAS Workflow Studio is an
example of an application that uses notifications.
SAS provides standard notification templates for the SAS Web Infrastructure
Platform applications that you have licensed. You can use SAS Web
Administration Console to do the following:
n customize the wording and format of the standard templates
Beginning with SAS 9.4, notifications are managed by SAS Content Services.
2 On the Notification Templates page, select the locale in which you want to
work.
3 If you want to create a new template, click the plus icon (+) above the table.
In the New Template window, enter a name and an optional description. Click
Save.
4 On the Notification Templates page, click the name of the new template (or
click the name of an existing template that you want to edit or test).
n Edit the template body in the HTML, text, and Short Message Service
(SMS) formats, as needed.
n Specify a letterhead to be incorporated into the notification (for HTML and
text formats only).
n Click Preview to verify that the notification appears as it is expected.
6 Click Save on the Edit page to save any changes that you have made. The
version number is automatically updated, and the new version is
automatically set as the active version.
If you need to delete a notification template, select the appropriate locale on the
Notification Templates page. Then select the check box for the appropriate
letterhead, and click the minus icon (-) above the table.
Note: You should not delete the templates that are provided by SAS.
2 On the Notification Letterheads page, select the locale in which you want to
work.
3 If you want to create a new letterhead, click the plus icon (+) above the table.
In the New Letterhead window, enter a name and an optional description.
Click Save.
4 On the Notification Letterheads page, click the name of the new letterhead
(or click the name of an existing letterhead that you want to edit).
6 Click Save when you are finished. If you edited an existing letterhead, the
version number is updated and the new version is automatically set as the
active version.
You can now associate the letterhead with a notification template and then
preview or test the template to verify its appearance. See “Create, Edit, Test, or
Delete a Notification Template” on page 79.
If you need to delete a notification letterhead, select the appropriate locale on
the Notification Letterheads page. Then select the check box for the appropriate
letterhead, and click the minus icon (-) above the table.
2 On the Edit page, use the drop-down box to select the version that you want
to activate. Then click Activate as new version.
The newly activated template or letterhead is saved with an updated version
number.
3 On the Choose Principal page, select the user or group to which you want to
assign roles. The drop-down list displays users and groups that are
registered in SAS metadata. After making a selection, click Next.
4 On the Choose Roles page, select the check box for each role that you want
to assign to the user or group. To remove a role assignment, clear the check
box.
2 On the Choose Role page, select the role that you want to assign, and click
Next.
3 On the Choose Identities page, select the check box for each user and group
to which the role is to be assigned. To remove the role assignment from a
user or group, clear the check box.
TIP You can select the Groups link at the top of the page to move quickly
to the list of groups.
2 On the Choose Role page, select the role whose privileges you want to edit,
and click Next.
3 On the Choose Privileges page, select the check box for each privilege that
is to be assigned to the role. To remove a privilege, clear the check box.
a If the requesting user has a direct grant or denial, that determines the
outcome.
b If a group to which the requesting user belongs has a direct denial, the
outcome is a denial.
c If a group to which the requesting user belongs has a direct grant (and no
relevant group denial is found), the outcome is a grant.
4 If the top of the hierarchy is reached and no relevant access control is found,
the outcome is a denial.
2 The Web Authorization: Access Controls page displays content folders and
objects in a tree format. Click the plus icons to expand the nodes, and use
the scroll bars as needed to view the expanded tree.
3 Click the folder or object of interest to select it. The Properties section
displays the path, object type, and owner information for the selected folder
or object, and the Direct Access Controls section displays the current
permission settings.
84 Chapter 7 / Administering the SAS Web Infrastructure Platform
4 In the Direct Access Controls section, select the check box to select or clear
the option Child objects can inherit these settings.
5 For each user or group that is displayed, use the drop-down boxes as
needed to modify the permission settings.
a In the first column of the last row of direct access controls, select the
appropriate principal type (User or Group). From the second drop-down
box, select the user or group for which you want to assign permissions.
(The drop-down list displays users and groups that are registered in SAS
metadata.) Use the drop-down boxes in columns three through seven to
assign settings for each permission.
b To specify permissions for another user or group, click the plus icon (+) at
the end of the last row. In the new row, select the principal type, the user
or group, and the appropriate permission settings. To specify permissions
for more users and groups, repeat this step as needed.
8
Administering SAS Web Applications
About SAS Deployment Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Rebuilding the SAS Web Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
When to Rebuild the SAS Web Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Rebuild Web Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Web Application Names and EAR and WAR Files . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Web Application Custom Content . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Redeploying the SAS Web Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
About Redeploying Web Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Redeploy Web Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Reconfiguring the Web Application Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Administering Logging for SAS Web Applications . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Logging for SAS Web Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Change the Logging Levels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Changing the Authorization Requirement for Changing Logging Levels . . . . . . . 98
Changing the Location of the Log Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
o If you remove the configuration for the SAS Information Delivery Portal,
do not select the Remove all User Content option unless you have
made a backup copy of the content repository. If you choose this option,
you must re-create the content later from your backup. When you choose
to remove portal content, all pages, portlets, and other items created by
the users are removed.
o If you remove the configuration for the Web Infrastructure Platform, the
contents of the SAS Content Server repository (located in the SAS-
configuration-directory\Lev1\AppData\SASContentServer
\Repository directory) are not deleted. If you do not need the contents
of this directory, you should manually delete the contents before
rebuilding the Web Infrastructure Platform with the SAS Deployment
Manager.
Access the SAS Deployment Manager by running the SAS-installation-
directory\SASDeploymentManager\9.4\sasdm.exe command. On UNIX
operating environments, the command is sasdm.sh.
Help. (SAS Help Viewer for Midtier Applications combines SAS Help Viewer
for the Web software with various help content into its EAR file.)
The following web applications use SAS Help Viewer for Midtier Applications:
o SAS Information Delivery Portal Help
o SAS Web Report Studio Help
o SAS Web Report Viewer Help
o SAS BI Dashboard Help
o SAS Comment Manager Help
n After installing a maintenance release or hot fixes, rebuild the web
applications that were updated at your site. Follow the instructions in the
maintenance documentation or the hot fix instructions. Because the web
applications are rebuilt, you might lose any customizations that you added
after the initial deployment.
5 Specify the configuration directory and the level (for example, Lev1) on the
Select Configuration Directory/Level page. Click Next.
6 Enter the user ID and password for an unrestricted administrative user (for
example, sasadm@saspw) on the Specify Connection Information page.
Click Next.
7 Select the check boxes for the web applications that you want to rebuild and
click Next.
8 Review the Summary page and click Start. The SAS Deployment Manager
builds the files for the selected applications. For the names and location of
the files, see “Web Application Names and EAR and WAR Files” on page
88.
88 Chapter 8 / Administering SAS Web Applications
9 If you are rebuilding theme content, you might need to stop and restart the
web application server as follows.
If SAS Web Application Themes is deployed to the web application server,
then the first time a custom theme is deployed, the web application server
must be stopped and restarted. Any subsequent modifications to the custom
theme do not require a restart of the web application server unless the theme
descriptors have been changed.
After rebuilding the web applications, the next action is typically to redeploy
them. See “Redeploying the SAS Web Applications” on page 91.
n SAS-configuration-directory\Lev1\Web\Staging\exploded
When the SAS Deployment Manager is used to rebuild a web application, the
files for the web application in the previous directories are overwritten. The
following table identifies the product configuration name that is used in the SAS
Deployment Manager for the web applications that are part of the SAS
Enterprise Business Intelligence Server. Use this table to understand which web
applications and files are updated when a product configuration is selected in
the SAS Deployment Manager.
Product
Configuration Application Filename
Help Viewer for Midtier SAS Help Viewer for Midtier sas.webdocmdversion.ear
App version Applications
Product
Configuration Application Filename
2 To use your custom content, run the SAS Deployment Manager and choose
to rebuild the web applications. Doing so rebuilds the web applications,
inserting the custom content into the archives under the appropriate paths.
For more information, see “Rebuild Web Applications” on page 87.
3 Redeploy the web applications. For more information, see “Redeploy Web
Applications” on page 91.
Note: If custom content has the same path and name of content normally
included in the archive, then the custom content takes precedence.
Redeploying the SAS Web Applications 91
When you redeploy the SAS web applications, you can refer to your list or the
Instructions.html file, to ensure that you redeploy each application to the
correct server.
5 Specify the configuration directory and the level (for example, Lev1) on the
Select Configuration Directory/Level page. Click Next.
6 Enter the user ID and password for an unrestricted administrative user (for
example, sasadm@saspw) on the Specify Connection Information page.
Click Next.
7 The manager provides a warning that SAS Web Application Server will be
stopped. Be aware that the web applications are not available while the
92 Chapter 8 / Administering SAS Web Applications
server is stopped. Select the Allow the application server to stop check
box and click Next.
8 Select the check boxes for the web applications that you want to redeploy
and click Next.
For the names, see “Web Application Names and EAR and WAR Files” on
page 88.
9 Review the Summary page and click Start. The SAS Deployment Manager
stops the server, deploys the web applications, and starts the server.
2 Copy the updated application EAR and WAR files from the primary machine
to the staging directory on the additional machines.
The staging directory is typically SAS-configuration-directory\Levn
\Web\Staging.
Log4j Dynamic
Configuration Logging
Task File Changes
Log4j Dynamic
Configuration Logging
Task File Changes
n com.sas.services
n com.sas.services.deployment
n com.sas.services.discovery
n com.sas.services.util
ALL
enables all logging.
TRACE
displays finer-grained informational events then DEBUG.
DEBUG
displays the informational events that are most useful for debugging an
application.
INFO
displays informational messages that highlight the progress of the
application.
WARN
displays potentially harmful situations.
ERROR
displays error events that might allow the application to continue to run.
FATAL
displays very severe error events that might cause the application to end
abnormally.
OFF
disables all logging.
2 Locate the category for the class that you want to modify and modify the
value of the priority parameter:
<category
additivity="false"
name="com.sas.workflow">
<priority
value="WARN"/>
<appender-ref
ref="SAS_CONSOLE"/>
<appender-ref
ref="SAS_FILE"/>
</category>
column shows the context root and path for the URL to the logging control
console.
* This application is not listed in the Web Administration Console, but you can make changes to the
dynamic logging settings by accessing the context root and using the Logging Control Console. For more
information, see “Accessing the Logging Control Console” on page 98.
2 Expand Application Management and then select the web application that
you want to change.
Note: The first time you expand this section, it might indicate that logging
configuration management is not enabled for the application. The
applications can require one minute to refresh and display the control
console.
4 Select the radio button for the class and logging level that you want to
change.
5 Click Submit Changes. The change takes effect immediately. You do not
need to restart the web application.
98 Chapter 8 / Administering SAS Web Applications
The list of applications and the context that you need to specify are listed in
“Applications That Support Dynamic Logging”.
n SASServer1_1\sas_webapps\sas.authorization.services.war
\WEB-INF\web.xml
n SASServer1_1\sas_webapps\sas.wip.services.war\WEB-INF
\web.xml
n SASServer1_1\sas_webapps\sas.identity.services.war\WEB-
INF\web.xml
n SASServer1_1\sas_webapps\sas.svcs.logon.war\WEB-INF
\web.xml
n SASServer1_1\sas_webapps\sas.principal.services.war\WEB-
INF\web.xml
2 Locate the logging servlet section and set the applySecurity parameter:
<servlet>
<servlet-name>logging</servlet-name>
<servlet-class>
com.sas.svcs.webapp.servlet.http.LoggingAdminServlet
</servlet-class>
<init-param>
<param-name>applySecurity</param-name>
<param-value>true</param-value>
</init-param>
</servlet>
If you made a change and want it to persist when applications are rebuilt and
redeployed, then make the same change in the web.xml.orig file for the
application. See the following list for the locations of the files.
n SASHOME\SASWebInfrastructurePlatform\9.4\Configurable\wars
\sas.authorization.services\WEB-INF\web.xml.orig
n SASHOME\SASWebInfrastructurePlatform\9.4\Configurable\wars
\sas.wip.services\WEB-INF\web.xml.orig
n SASHOME\SASWebInfrastructurePlatform\9.4\Configurable\wars
\sas.principal.services\WEB-INF\web.xml.orig
n SASHOME\SASWebInfrastructurePlatform\9.4\Configurable\wars
\sas.identity.services\WEB-INF\web.xml.orig
n SASHOME\SASWebInfrastructurePlatform\9.4\Configurable\wars
\sas.svcs.logon\WEB-INF\web.xml.orig
2 Locate the file appender and modify the value of the file parameter:
<appender
class="org.apache.log4j.FileAppender"
name="SAS_FILE">
<param
name="append"
value="true"/>
<param
name="file"
value="C:/SAS/Config/Lev1/Web/Logs/SASLogon9.4.log"/>
<layout
class="com.sas.svcs.logging.CustomPatternLayout">
<param
name="ConversionPattern"
value="%d [%t] %-5p [%u] %c - %m%n"/>
</layout>
</appender>
9
Administering SAS Logon Manager
About SAS Logon Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Customizing Sign-in, Sign-out, and Time-out Messages . . . . . . . . . . . . . . . . . . . . 102
Step 1: Customize the Message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Step 2: Configure SAS Application Infrastructure . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Step 3: Rebuild and Redeploy SAS Web Infrastructure Platform . . . . . . . . . . . . 103
Step 4: Back Up the Customized Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Displaying a Warning Message for Inactive User Sessions . . . . . . . . . . . . . . . . . 103
Understanding Inactive Users and Time-out Warnings . . . . . . . . . . . . . . . . . . . . . 103
Step 1: Configure the SAS Application Infrastructure . . . . . . . . . . . . . . . . . . . . . . . 104
Step 2: Set the Interval for the Inactive Session Warning . . . . . . . . . . . . . . . . . . . 104
Step 3: Enable the Inactive Session Warning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Configuring the HTTP Session Time-out Interval . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Customizing the Sign-out URL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Changing the Banner Title . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Changing the Appearance of the Sign-in Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Configuring the Global Single Sign-On Time-out Interval . . . . . . . . . . . . . . . . . . . 110
Understanding the Time-out Interval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Considerations for Changing the Time-out Interval . . . . . . . . . . . . . . . . . . . . . . . . . 111
Specifying a Different Time-out Interval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Configuring Guest Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
About Guest Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Limiting Content for Guest Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Enabling or Disabling Guest Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Configuring Middle-Tier Security Policies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Disabling Concurrent Sign-in Sessions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Disabling the SAS Trusted User Account . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Disabling Cross-Frame Scripting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
1 In the SASHOME\SASWebInfrastructurePlatform\9.4\Static\wars
\sas.svcs.logon\WEB-INF\view\jsp\default\ui directory, edit the
files that you want to change:
n logon_custom.jsp
n logoff_custom.jsp
n timeout_custom.jsp
Click OK.
3 Verify that the custom sign-out message is displayed when you sign in and
sign out from the web application.
n SAS BI Dashboard
n SAS Preferences
If you want to specify a different session time-out interval for each SAS
application, complete this task for each SAS application by defining the
App.SessionTimeoutWarningInterval property and a custom value in
minutes.
3 Enter the number of minutes for the inactive session warning in the Property
Value field and click OK.
To enable these properties to take effect, restart the web application server.
Configuring the HTTP Session Time-out Interval 105
1 Use the table that follows this procedure to identify the files to modify.
3 Use the SAS Deployment Manager to rebuild the modified SAS web
applications.
4 Use the SAS Deployment Manager to redeploy the modified SAS web
applications.
The following table lists the file or files that should be modified to specify a time-
out interval for each web application.
* The session-config element described in Step 2 must be added to the web.xml.orig file for this application.
6 Enter the sign-out URL to which users should be redirected in the Property
Value field.
The property files are localized, so there is one property file for each
language that is supported. Typically, you need to edit only those files that
match the languages needed by your users. In the SAS-installation-
directory\SASWebInfrastructurePlatform\9.4\Static\wars
\sas.svcs.logon\WEB-INF\classes directory, the title values are stored
in the messages.properties and messages_locale.properties files.
a Search for the lines that begin with sas.browser.title and sas.page.title.
b Replace the values in the files with your desired title. For example, to
change the banner and browser title to Custom sign in manager title,
specify the following values:
sas.browser.title=Custom sign in manager title
sas.page.title=Custom sign in manager title
Note: The properties files might be overwritten by updates such as hot fixes or
maintenance releases. If so, you must repeat the preceding steps.
1 To change fonts and background colors, edit the sas.css and sas_ie.css style
sheet that is located in the following path:
110 Chapter 9 / Administering SAS Logon Manager
SAS-installation-directory/SASWebInfrastructurePlatform/9.4/
Static/wars/sas.svcs.logon/themes/default/css
b Update the following file to point to the new or updated image files:
SAS-installation-directory/
SASWebInfrastructurePlatform/9.4/Static/wars/
sas.svcs.logon/WEB-INF/classes/default-theme.properties
3 Use the SAS Deployment Manager to rebuild the SAS Web Infrastructure
Platform web application. See “Rebuilding the SAS Web Applications” on
page 86.
4 Use the SAS Deployment Manager to redeploy the SAS Web Infrastructure
Platform web application. See “Redeploying the SAS Web Applications” on
page 91.
5 Back up each new or changed image file, and keep a list of the changes that
you made to the style sheet.
TIP This behavior can be changed so that reaching an HTTP session time-
out causes the global single sign-on session to time-out as well. Set the Log
user off on timeout policy is set to Yes. For more information, see
Configuring Middle Tier Security Policies.
One area where the HTTP session time-out and global single sign-on time-out
are similar is that they both are reset when a user accesses an application.
Configuring Guest Access 111
n Because all guest users connect as the same shared, surrogate identity (the
SAS Anonymous Web User), all guest users see the same features and
resources. All guest users can see what the SAS Anonymous Web User can
see and perform the same functions as the SAS Anonymous Web User.
TIP To ensure that the resources and functionality that are available to
guests remain as intended, periodically access SAS web applications as a
guest.
n To provide guest access within an intranet only, place the applications behind
a firewall. For more information, see Chapter 16, “Best Practices for
Configuring Your Middle Tier,” on page 187.
n In a deployment that uses web authentication, additional middle-tier
configuration is required to support guest access. For more information, see
“Fallback to SAS Form-based Authentication” on page 242.
For more information about the webanon account, and creating the account after
the initial installation has finished, see “SAS Anonymous Web User” on page
255.
Check for metadata updates Check on This is a deprecated property. Do not change the
navigation value unless you are directed to by SAS Technical
Support.
Profile refresh interval 600000 This is a deprecated property. Do not change the
value unless you are directed to by SAS Technical
Support.
Allow client password storage Yes Indicates whether the site permits remote SAS clients
to store user password credentials locally on the
client. Many sites prohibit end-user clients from
caching or persisting passwords for use in distributed
applications.
Log user off on time-out No Determines how a time-out in one SAS web
application affects a user’s global single sign-on
session. When this value is set to No, a user can
reach a time-out limit in one web application but still
have a valid global single sign-on session and be
able to use other web applications. When this value is
set to Yes, whenever any web application reaches a
time-out limit, the global single sign-on session is
ended and the user must reauthenticate to use a web
application.
Setting this value to Yes reproduces the behavior
provided in SAS 9.3 and earlier releases.
114 Chapter 9 / Administering SAS Logon Manager
Allow user sign-in from web sign-out Yes Determines whether to display a Sign In button on
page the sign-out successful page. Some sites, especially
those that deploy walk-up kiosks, might want to
ensure that their application users close the browser
for added security.
Allow user sign-in from web time-out Yes Determines whether to display a Sign In button on
page the session timed out page. Some sites, especially
those that deploy walk-up kiosks, might want to
ensure that their application users close the browser
for added security.
Display sign-out security message Yes Determines whether to display a security message on
the sign-out successful page. Some sites, especially
those that deploy walk-up kiosks, might want to
ensure that their application users close the browser
for added security.
Display time-out security message Yes Determines whether to display a security message on
the session timed out page. Some sites, especially
those that deploy walk-up kiosks, might want to
ensure that their application users close the browser
for added security. For more information about time-
out values, see “Configuring the HTTP Session Time-
out Interval” on page 105.
Allow clients to keep service Yes Determines whether desktop client applications keep
sessions alive resources alive. If set to No, then resources time out
in a similar manner to web applications. If set to Yes,
then desktop client applications ping the server to
keep the resources available.
Disabling the SAS Trusted User Account 115
6 Click OK.
Settings are not applied and made active automatically. You must restart the
SAS Web Infrastructure Platform Services or the web application server.
See Also
“Specifying JVM Options” on page 38
<property name="headersToSet">
<props>
<prop key="X-UA-Compatible"><![CDATA[IE=EmulateIE8]]></prop>
<!-- For greater security the logon page can be blocked from
being embedded in an iframe. -->
<!-- This can be done by uncommenting one of the X-Frame-Options
lines below -->
<!-- See https://developer.mozilla.org/en-US/docs/Web/HTTP/X-Frame-Options
for details-->
<!-- <prop key="X-Frame-Options">DENY</prop> -->
<!-- <prop key="X-Frame-Options">SAMEORIGIN</prop> -->
</props>
</property>
3 Uncomment the line that represents the option that you choose.
4 To enable your changes to take effect, restart SAS Web Application Server.
117
10
Administering the SAS Content
Server
About the SAS Content Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
SAS Content Server Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Moving Content or Backing Up the SAS Content Server . . . . . . . . . . . . . . . . . . . . 120
Preventing File Types from Being Uploaded . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Deploying Content Manually to the SAS Content Server . . . . . . . . . . . . . . . . . . . 121
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Security Considerations for SAS Content Server Scripts . . . . . . . . . . . . . . . . . . . 122
Load Content Manually to the SAS Content Server . . . . . . . . . . . . . . . . . . . . . . . . 123
Update Content Manually for the SAS Content Server . . . . . . . . . . . . . . . . . . . . . 124
Adjust Directive URLs Manually . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Log Files Generated by the Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Using the SAS Content Server Administration Console . . . . . . . . . . . . . . . . . . . . 125
About the SAS Content Server Administration Console . . . . . . . . . . . . . . . . . . . . . 125
Access the SAS Content Server Administration Console . . . . . . . . . . . . . . . . . . . 126
A Brief Tour of the Console Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Modify Permissions for WebDAV Folders and Files . . . . . . . . . . . . . . . . . . . . . . . . 127
Create a New Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Add Files to the SAS Content Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
Delete Folders or Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
Enabling the Data Store . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
About the Data Store . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Configuring the Data Store . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Using the Garbage Collection Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Implementing Authorization for the SAS Content Server . . . . . . . . . . . . . . . . . . . 133
Overview of SAS Content Server Authorization . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Example Scenario: SAS Content Server Authorization . . . . . . . . . . . . . . . . . . . . . 133
Manual Configuration Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
When Do I Need to Perform These Tasks? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
Reconfiguring the WebDAV Repository URL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Reconfiguring the Server Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Configuring the SAS Content Server to Use an Existing
Customer Reverse Proxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
118 Chapter 10 / Administering the SAS Content Server
For information about how to update the Central Authentication Service (CAS)
options, see “Configuring the SAS Content Server to Use an Existing Customer
Reverse Proxy ” on page 137.
120 Chapter 10 / Administering the SAS Content Server
n Create a backup for input to a system other than the SAS Content Server.
To prevent certain file extension from being uploaded, follow these steps:
3 Remove the comment that encloses the parm name and specify the file
extensions and MIME types that are applicable for your environment.
Note: Separate the list of file extensions and MIME types with commas.
To enable these settings to take effect, restart SAS Web Application Server.
Overview
SAS web applications such as the SAS Information Delivery Portal and SAS
Web Report Studio require the availability of content for its users. The SAS
Content Server provides a WebDAV content repository that stores digital content
(such as documents, reports, and images) that is created and used by SAS
client applications.
To enable the availability of the content in the SAS Content Server, you can load
content, update existing content, and adjust web applications that store SBIP
URLs. These tasks can be automated or they can be performed manually.
The following table shows the choices available in the SAS Deployment Wizard,
and the results or manual tasks that follow these choices.
Options Selected in SAS Deployment Wizard Results and Instructions for Manual Tasks
SAS Web Server: Automated or Manual SAS Web Server and SAS Web Application
Configuration Option Server are configured automatically. SAS web
applications are deployed automatically, and
Web Applications: Automatic Deployment content is loaded to the SAS Content Server. If
Deploy web applications automatically is selected applicable, web applications that store SBIP
URLs are adjusted automatically.
122 Chapter 10 / Administering the SAS Content Server
Options Selected in SAS Deployment Wizard Results and Instructions for Manual Tasks
SAS Web Server: Automated or Manual SAS Web Server and SAS Web Application
Configuration Option Servers are configured automatically.
Instructions are provided on how to manually
Web Applications: Automatic Deployment deploy SAS web applications, load content to
Deploy web applications automatically is not selected the SAS Content Server, and adjust any web
applications that store SBIP URLs.
Manually configure SAS Web Server, SAS Web Application Instructions are provided on how to perform all
Server, deploy the web applications, load the content to the tasks manually.
SAS Content Server, and adjust any web applications that
store SBIP URLs.
The following table shows when you can load or update content (and adjust
URLs) either automatically or manually.
Table 10.3 Criteria for Deploying Content to the SAS Content Server
Configuration of Deployment of
Web Application Web
Server Applications Load Content Update Content Adjust URLs
The following table shows the files associated with loading content to the SAS
Content Server or updating content. The filename for the batch or script file
includes the order number.
config.init:
[echo] ant.version=Apache Ant version 1.7.0 compiled on December 13 2006
[echo] ant.file=/opt/SASHome/SASWebInfrastructurePlatform/9.4/Config/webinfpltfm_config.xml
[echo] file.encoding=ISO646-US
[echo] about to read property file because config.init.set=${config.init.set}
[GetObjectProperties] Error connecting to the metadata server: Access denied.
[GetObjectProperties] Host: hostname.example.com
[GetObjectProperties] Port: 8561
[GetObjectProperties] User: sasadm@saspw
[GetObjectProperties] m_mdFactory: com.sas.metadata.remote.MdFactoryImpl@74db2c
[GetObjectProperties] Error finding foundation repository: Encountered metadata exception.
BUILD FAILED
/opt/SASHome/SASDeploymentManager/9.4/products/
cfgwizard__nnnnn__prt__xx__sp0__1/Utilities/configuration_targets.xml:95: null
If you need to update or add a password, use the PWENCODE procedure. The following
code example shows how to generate the encoded form of the password changeit. Copy
and paste the result into the scripts.
Example Code 10.1 PWENCODE Procedure Example
proc pwencode in="changeit" method=sas002; run;
The SAS log shows the value to copy and paste into the script:
{SAS002}4DE4CF4F130AC6BE4A6934E0596C8222
After you run the scripts, remove the encoded form of the passwords from the
scripts as an additional security measure.
SAS-configuration-directory\Lev1\Web\Utilities
\manualLoadContent-OrderNumber.bat
n On UNIX:
SAS-configuration-directory/Lev1/Web/Utilities/
manualLoadContent.sh-OrderNumber.sh
If web applications were deployed manually, this script contains the credentials
for the SAS Administrator, as well as the SAS Trusted User. The password is
always encrypted in the file. After loading content successfully, remove
credentials for the SAS Administrator and the SAS Trusted User.
If web applications were deployed automatically, the script does not contain the
required credentials. You must manually enter the required credentials in this
script file.
124 Chapter 10 / Administering the SAS Content Server
SAS-configuration-directory\Lev1\Web\Utilities
\manualUpdateContent-OrderNumber.bat
n On UNIX:
SAS-configuration-directory/Lev1/Web/Utilities/
manualUpdateContent-OrderNumber.sh
If web applications were deployed manually, this script contains the credentials
for the SAS Administrator, as well as the SAS Trusted User. The password is
always encrypted in the file. After loading content successfully, remove
credentials for the SAS Administrator and the SAS Trusted User.
If web applications were deployed automatically, the script does not contain the
required credentials. You must manually enter the required credentials in this
script file.
After updating content manually for the SAS Content Server, adjust directive
URLs manually by running the appropriate script or batch file:
n On Windows:
SAS-configuration-directory\Lev1\Web\Utilities
\manualAdjustURLs-OrderNumber.bat
n On UNIX:
SAS-configuration-directory/Lev1/Web/Utilities/
manualAdjustURLs-OrderNumber.sh
The instructions for running the script or batch file are provided in the
Instructions.html migration or the UpdateInstructions.html file during
an upgrade. The script contains the credentials for the SAS Administrator, as
well as the SAS Trusted User. The password is always encrypted. When you
have successfully loaded the content, remove the credentials for the SAS
Administrator and the SAS Trusted User.
On UNIX:
SAS-configuration-directory/Lev1/Logs/Configure
n create folders
n delete folders
126 Chapter 10 / Administering the SAS Content Server
Objects in the console are either folders or files. By default, the initial view of the
console displays the following folders:
sascontent
contains content that has been added to SAS Content Server by SAS
applications. You see a folder only if the folder contains content.
sasdav
contains content that has been added to the SAS Content Server. By default,
sasdav contains the following folders:
n sasdav/Users contains personal repository folders for users. A user's
folder is created automatically when the user logs on to a SAS web
application. Users have full rights to their own folders.
n sasdav/Templates contains templates that are used for email
notification in SAS solutions.
Using the SAS Content Server Administration Console 127
sasfolders
contains content that has been defined in the SAS Folders tree in the SAS
Metadata Server. You see a folder only if the folder contains content.
CAUTION! Administrators should not manage folders and content here.
The content within this folder and subfolders is mapped to SAS Folders in the
SAS Metadata Server. It is recommended that you use the SAS Management
Console to add and manage folders.
Depending on the software that is installed at your site, your console might
contain additional folders.
To navigate in the console, follow these steps:
2 Use the breadcrumb trail above the list to return to a parent folder. For
example, in the breadcrumb trail, click sasdav to return
to the sasdav folder.
The console displays the following information for each item listed:
Item name
displays the name of the folder or file.
Primary type
is an internal value that designates the type of object in the repository.
Date created
is the date on which the object was created.
Date modified
is the date on which the object was modified.
Delete
when the delete button is clicked, the selected objects are deleted.
Permissions
when the permissions icon is clicked, opens a page where permissions
can be modified for the object.
1 Click the permission icon next to the item that you want to modify. A
permissions page appears.
The following display shows a portion of the console with permissions for a
folder:
Permissions Purpose
Read Allows the principal to read the object. For folders, this
permission allows the principal to see the members of
the folder.
Permissions Purpose
Inherit Read Objects created in this folder inherit this setting for their
Read permission (and Inherit Read permission for
subfolders).
Inherit Write Objects created in this folder inherit this setting for their
Write permission (and Inherit Write permission for
subfolders).
Inherit Delete Objects created in this folder inherit this setting for their
Delete permission (and Inherit Delete permission for
subfolders).
Inherit Admin Objects created in this folder inherit this setting for their
Admin permission (and Inherit Admin permission for
subfolders).
Note: Inherited permissions are assigned when objects are created. Each
object has its own set of permissions. Inherited permissions are static; dynamic
inheritance does not occur.
If you are applying permissions to folders, then the following options are
available:
Usage of these tools and techniques is beyond the scope of this documentation
(with the exception of the DAVTree utility).
n If you delete an item in the sasfolders tree, then applications that rely on
the content mapping between the SAS Content Server and the SAS
Metadata Server might not be able to access the content. To add and delete
SAS metadata objects, use SAS Management Console.
For information about the best practices to follow for managing SAS folders
in SAS Management Console, see “Working With SAS Folders” in the SAS
Intelligence Platform: System Administration Guide.
n When you delete a folder, all objects within that folder are also deleted.
To delete a folder or file, select the check box for the folder or file from the
Delete column. Click the Delete button. The item is deleted. You are not
Enabling the Data Store 131
prompted to confirm the deletion. To delete multiple items, select multiple check
boxes from the Delete column.
One drawback of the data store is that garbage collection must be periodically
run to purge unused objects. In addition, all cluster nodes use the same data
store, so a shared network location must be available to all cluster nodes.
1 Shut down any running web application servers and open the following file on
each cluster node: SAS-configuration-directory\Levn\AppData
\SASContentServer\SASServer1_m\Repository\repository.xml.
Note: The SASServer1_m directory might not be present in your
configuration.
2 At the end of the file, locate the following element and uncomment the
element:
<!-- DataStore class="com.sas.contentserver.core.data.TenantFileDataStore">
<param name="path" value="${rep.home}/data/datastore"/>
<param name="minRecordLength" value="1024"/>
</DataStore -->
3 Replace the value of the path parameter to the location where you want the
data store to store the data. If you are running in a clustered environment, a
shared network location must be provided. To verify whether the SAS
Content Server is configured to run in a cluster, complete the following steps:
4 Restart all web application servers. The SAS Content Server will now store
all files larger than the specified size (default is 1024 bytes) in the data store.
2 After obtaining the TGT location, get a service ticket for the Garbage
Collection utility by POSTing to the location returned in the previous step:
curl -H Content-Type:text/plain -d 'service=https%3A%2F%2Ffanyv88.com%3A443%2Fhttp%2Fhost%3Aport
%2FSASContentServer%2Fadmin%2FcollectDataStoreGarbage'
Implementing Authorization for the SAS Content Server 133
http://host:port/SASLogon/v1/tickets/
TGT-3-1VhZYBorOfUdC0wYTCBU9n3yteYaO5wcuBy9Nvof9mkeDQ6PIg
-casST-2-zSX47dBu731WsTYExBZ5-casd72933
3 Perform a POST to the Garbage Collection utility with the ticket obtained in
the previous step, appended to the end of the URL with the ticket=ticket
parameter:
curl -X POST http(s)://webserver-host:webserver-port/SASContentServer/admin/
collectDataStoreGarbage?ticket=ticket
1 Use the SAS Web Administration Console to create the folder on the SAS
Content Server.
2 Ensure that the appropriate user and group definitions exist on the SAS
Metadata Server for the SAS Content Server users and groups for whom you
want to control access to the folder.
After you have created the WebDAV folders and have ensured that the
appropriate user and group definitions are created on the SAS Metadata Server,
use SAS Web Administration Console to associate access controls with the
folders.
Content Server. On the SAS Metadata Server, these teams are represented by
two groups, Americas Sales and Sales Executives.
This publish and subscribe scenario has a requirement for three different content
areas, or group folders, on the SAS Content Server:
n Catalog Sales: The /sasdav/Catalog Sales directory contains catalog
sales information. The Americas Sales and Sales Executives groups can
both read (subscribe to) and write (publish) information.
n Field Sales: The /sasdav/Field Sales directory contains direct sales
information. The Americas Sales and Sales Executives groups can both
read, but only the Sales Executives group can write information.
n Sales Execs: The /sasdav/Sales Execs directory contains executive-level
sales information. Only the Sales Executives group can read and write
information.
The following table summarizes this scenario's group-based folders on the SAS
Content Server, and the permissions for each group:
1 In SAS Management Console, define the users, groups, and login credentials
that need to access the SAS Content Server. When you define login
credentials, you must specify the same authentication domain name that you
specified for the SAS Content server during installation.
For this example, the following users, groups, and logins are defined:
Table 10.7 Example Users, Groups, and Logins
For example, the America Sales group contains a user named salesusr1 as a
member, and salesusr1 has an associated login with a user ID of salesusr1
and an authentication domain of DefaultAuth. The America Sales group
might include other members as well.
Manual Configuration Tasks 135
2 In the SAS Web Administration Console, create your new directory under the
sasdav directory. For this example, navigate to the sasdav directory, and
then create these three subdirectories: Catalog Sales, Field Sales, and
Sales Execs.
Americas No No No No No No
Sales
n Remote Services
n SASBIPortletsversion Local Services
n You altered the network topology for high availability by adding a load
balancer or reverse proxy.
To reconfigure the WebDAV URL for the applications, perform the following
steps in SAS Management Console:
7 Change the connection information. See the following list for common
changes:
n If you added a proxy or load balancer to the network to provide high
availability, specify the connection information for the proxy.
Manual Configuration Tasks 137
n If you configured SAS Web Server manually for HTTPS, enter the HTTPS
port and select the Secure check box.
2 In the right‐hand pane, right‐click the connection icon, and select Properties.
6 Click the Content Mapping tab and select SAS Content Server from the
Server menu. Click OK.
7 Click Yes to confirm that you want to change the content mapping options.
11
Administering the SAS BI Web
Services
Overview of SAS BI Web Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
Managing Generated Web Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Configuring SAS BI Web Services for Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Overview of Security for Web Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Securing SAS BI Web Services for Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
SAS Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Web Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Editing the web.xml File for Third-Party Authentication . . . . . . . . . . . . . . . . . . . . . 145
Transport Layer Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
See Also
• SAS BI Web Services: Developer's Guide
• SAS Stored Processes: Developer's Guide
You can select a set of stored processes in SAS Management Console and use
the Web Service Maker to deploy them as web services. The Web Service
Maker generates a new web service that contains one operation for each stored
process that you selected. For information about developing web services, see
the SAS BI Web Services: Developer's Guide. For information about using the
Deploy as Web Service wizard in SAS Management Console, see the product
Help.
When you generate a web service, the Web Service Maker publishes metadata
about the new web service to the SAS Metadata Server. The metadata includes
information such as the URL of the web service, keywords, and the stored
processes are used by the web service. You can view and update some of this
information by using SAS Management Console and the Configuration Manager
plug-in in. To import or export a generated web service, use the SAS
Management Console folder view.
To delete a web service that was generated by the Web Service Maker, use SAS
Management Console. Navigate to Application Management Configuration
Manager SAS Application Infrastructure BI Web Services for Java 9.4
WebServiceMaker. Expand the node, right-click the web service, and select
Delete. Deleting a web service removes the metadata that is associated with the
service. This action cannot be reversed.
Note: You must grant permissions on the /System/Services folder to users
who want to create SAS BI Web Services. You can also delete a web service
directly from the /System/Services folder. Users need ReadMetadata and
WriteMemberMetadata to create and delete web services. By default, a group
named BI Web Services Users has these permissions. You can add users to
this group to enable them to create and delete web services, or use your own
groups and permission settings.
AttachmentOptimizedThreshold
The default is 2048 bytes. This attachment threshold is the number of bytes
contained in the attachment that causes the data to be included as an out-of-
band XOP/Include MTOM attachment. An attachment containing fewer bytes
is used as base 64 encoding for optimization.
Changes to properties do not take effect immediately. To apply these changes,
perform one of the following tasks:
n Either stop and restart SAS Web Application Server, or stop and restart the
SAS BI Web Services for Java Web application
(sas.wip.services9.4.ear).
n Use a Java Management Extensions (JMX) console to communicate with the
com.sas.svcs:service=biws,type=ConfigMBean management bean.
The following image shows the use of the JMX console bundled with the JDK to
reload the configuration metadata into a running SAS BI Web Services for Java
application:
144 Chapter 11 / Administering the SAS BI Web Services
1 Create a Java keystore on the local machine and import the server certificate
of the server that you want to communicate with. For more information about
how to perform this step, see http://docs.oracle.com/javase/1.5.0/docs/
tooldocs/windows/keytool.html.
2 Pass the keystore location and password into SAS Management Console
using JVM options. The options that need to be set are:
javax.net.ssl.trustStore=
"fully qualified path to keystore created with keytool from step 1"
javax.net.ssl.trustStorePassword=
"trust store password"
To complete this step, add the following JavaArgs arguments to the sasmc.ini
file, which is found at C:\Program Files\SASHome
\SASManagementConsole\9.4:
JavaArgs_14=-Djavax.net.ssl.trustStore =
"fully qualified path to keystore created with keytool from step 1"
JavaArgs_15=-Djavax.net.ssl.trustStorePassword =
"trust store password"
If you are using XMLA web services or generated web services, an anonymous
user can be configured. The anonymous web user is configured during SAS
Deployment Wizard configuration. Anonymous users cannot use the Web
Service Maker; credentials must always be provided to use the Web Service
Maker. If you are using XMLA web services, you can pass user credentials as
XMLA properties in the payload.
SAS BI Web Services can also be secured by configuring web authentication.
This provides a way for SAS BI Web Services to identify the calling user with
basic web authentication that uses HTTP transport layer security.
Note: Web authentication can be used with both XMLA web services and
generated web services. Web authentication cannot be used with the
WebServiceMaker web service when SAS clients are used because these
clients authenticate by using one-time passwords.
Securing SAS BI Web Services for Java 145
SAS Authentication
When SAS authentication is used, SAS Web Application Server does not
perform any authentication on behalf of the application. Instead, SAS BI Web
Services for Java authenticates client credentials against the SAS Metadata
Server. Client credentials are obtained by one of the following ways (in this
order):
2 Use credentials that are passed in the payload as properties (XMLA only).
3 Use anonymous credentials that are configured with the Webanon SAS
metadata login account (XMLA and generated web services).
Web Authentication
As an alternative to SAS authentication, SAS Web Application Server can be
configured to perform the authentication on behalf of the SAS BI Web Services
for Java application. This is known as web authentication. Beginning with SAS
9.3, web authentication can also be used with RESTful web services.
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<!-- specify different URL patterns
<url-pattern>/*</url-pattern>
-->
<url-pattern>/j_spring_cas_security_proxyreceptor</url-pattern>
<url-pattern>/j_sprint_cas_security_check</url-pattern>
</filter-mapping>
Rebuild and redeploy the SAS Web Infrastructure Platform web application with
the SAS Deployment Manager.
<auth-constraint>
<role-name>*</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
</login-config>
147
12
Administering SAS Web Application
Themes
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Introduction to SAS Web Application Themes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Theme Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
The SAS Default Theme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
How Custom Themes Are Created and Deployed . . . . . . . . . . . . . . . . . . . . . . . . . . 149
Steps for Defining and Deploying a New Theme . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Step 1: Design the Theme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Step 2: Create a Work Area for the Theme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Step 3: Make Desired Changes to the Styles, Graphics,
and Theme Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Step 4: Rebuild SAS Web Application Themes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
Step 5: Deploy SAS Web Application Themes in Your Test Environment . . . . . 158
Step 6: Test the New Theme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
Step 7: Move the New Theme from Test to Production Environment . . . . . . . . . 158
Step 8: Assign the Default Theme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Deleting a Custom Theme from the Metadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
Migrating Custom Themes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
Migrating Cascading Style Sheets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
Migrating Images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Migrating Theme Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Migrating Theme Descriptors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Overview
Note: Custom themes do not affect the appearance of the SAS Logon Manager
sign-in page. See “Changing the Appearance of the Sign-in Page” on page 109.
Theme Components
A theme is a collection of resources that control the appearance of a SAS web
application. The following figure shows the components of a theme:
Overview
SAS provides a default theme for your use. You also have the choice of
designing and deploying a custom theme for your environment.
To develop and deploy a new theme, follow these steps:
2 “Step 2: Create a Work Area for the Theme” (See page 151.)
7 “Step 7: Move the New Theme from Test to Production Environment” (See
page 158.)
Note: You might choose to perform steps 3 through 6 iteratively, making limited
changes to the theme during each iteration, so that you can more readily
determine the effects of each set of changes to the theme. To deploy multiple
themes in your environment, follow steps 1 to 6 to design and create your
themes. Then follow step 7 to move each theme from test to production
environment.
You can deploy multiple themes in your corporate environment. Before
deploying the new theme in a production environment, you should first test it in a
test environment to ensure that SAS web applications function as expected with
the new theme applied.
Overview
The first step in creating a custom theme is to plan the visual elements. Usually,
the new theme is based on an existing design, your organization's intranet
standards, another in-house written application, or a purchased application or
solution. Some organizations have a standard color palette with color
specifications.
Review the specifications for the Default theme at SAS-configuration-
directory\Lev1\Web\Utilities\SASThemeExtensions\specs\Default
\index.html, and identify the component keys and image keys for the visual
Steps for Defining and Deploying a New Theme 151
elements that you want to change in the new theme. Establish a set of colors
that are compatible with your organization, and choose the images (for example,
logos, banner images) you want to use in the new theme.
Generally, you can make the largest impact by updating the background colors,
border colors, and text attributes for web application pages and SAS Information
Delivery Portal portlets. In addition, you might want to replace the SAS logo in
the banner with our own organization's logo. If you select a different color
palette, consider that you might need to adjust the colors in images to match the
new palette.
The Color Palette page at SAS-configuration-directory\Lev1\Web
\Utilities\SASThemeExtensions\specs\Default\html
\colorPalette.html lists all 55 color keys of the default theme and specifies
the default hexadecimal color value for each color key. It also provides links to
documentation on each user interface element where the color is applied.
To use the Color Palette option, the true parameter is required in the command.
Note: The theme name must not contain spaces.
The following figure shows the theme-name directory, which is the root directory
for theme resources. The \theme-name\MetadataTools directory contains
SAS programs for managing the theme. The Velocity directory contains
several subdirectories with files.
152 Chapter 12 / Administering SAS Web Application Themes
The following figure shows the subdirectory structure that is created under the
SAS-configuration-directory\Lev1\Web\Utilities\SASThemeExtensions
\themes\theme-name\themes\theme-name directory.
Steps for Defining and Deploying a New Theme 153
Common
contains theme templates for page elements that are commonly used in
SAS web applications.
Components
contains theme templates for the collection of components that are
shared by SAS web applications.
WRS
contains theme templates for elements in SAS Web Report Studio pages.
The following figure shows the subdirectories below the SAS-configuration-
directory\Lev1\Web\Utilities\SASThemeExtensions\themes\theme-
name\Velocity directory.
\theme-name\Velocity\Stylesheets\Components\contexts\themes
\theme-name
contains a CSS template file named components.theme-name.vtl that is
used to build style sheets for the collection of components that are shared by
SAS web applications.
\theme-name\Velocity\Stylesheets\WRS\contexts\themes\theme-
name
contains a CSS template file named wrs.theme-name.vtl that is used to
build style sheets for SAS Web Report Studio.
\theme-name\Velocity\ThemeDescriptors\contexts
contains a context file named theme-name.themeDescriptor.vctxt that
defines context values that can be used in theme descriptor templates.
\theme-name\Velocity\ThemeDescriptors\contexts\custom\theme-
name
contains theme descriptor template files for building the XML files that define
the available collections of style sheets, theme templates, and images,
including ComponentsThemes.vtl, CustomThemes.vtl, SASThemes.vtl,
SolutionsThemes.vtl, and WRSThemes.vtl. The SemanticThemes.vtl
file is added in the second maintenance release for SAS 9.3.
If you were to build the new theme at this point, it would be a fully functional
duplicate of the Default theme.
Changing Colors
To make style changes to specific page features, you must first identify the
component key associated with that feature and then locate the CSS template
file that sets the value for that key.
For example, suppose your new theme design calls for changing the color for
the title text in the banner at the top of SAS web applications. The Banner
specifications at the Themes website SAS-configuration-directory
\Lev1\Web\Utilities\SASThemeExtensions\specs\Default
\Components\html\Banner.html show that the context key for the title text is
Banner_Title_Text_Color and it displays its context value.
Each Themes web page displays the context keys and context values.
156 Chapter 12 / Administering SAS Web Application Themes
The corresponding color value is substituted in the resulting CSS when the new
theme is built.
The general form for using a context value in a template file is
${context-value-name}. Using context values instead of explicit values can
make it easier to maintain the theme because you can change all component
keys that use a given value by making one change to the context file.
Changing Graphics
Image files are located in three subdirectories located in the SAS-
configuration-directory\Lev1\Web\Utilities\SASThemeExtensions
\specs\Default folder. These subfolders are: Common, Components, and WRS.
The properties of each image are defined in the Theme Descriptors files.
The process for customizing images is similar to that for customizing styles. For
example, suppose your new theme design calls for changing the background
image for the banner at the top of SAS web applications. A review of the Banner
specifications at SAS-configuration-directory\Lev1\Web\Utilities
\SASThemeExtensions\specs\Default\index.html shows that the image
key for the banner background is banner_background. A search for that string
in the work area for the new theme shows the following IMAGE element in the
ComponentsThemes.vtl file in the Velocity\ThemeDescriptors\custom
\theme-name subdirectory of the work area:
<Image name="banner_background" ... file="BannerBackground.gif"/>
You can change the image used for the banner background image in either of
the following ways:
n by replacing the existing BannerBackground.gif file in the themes
\theme-name\images\Components subdirectory of the work area with a
revised image with the same name. Make sure that the new image has the
following criteria:
o The filename of the new graphic is identical to the filename of the graphic
being replaced.
o The new graphic is in the same format as the original image (for
example, .jpg or .gif).
o The dimensions of the new graphic and its pixels are same as the graphic
being replaced.
If you need to change the size, filename, or the image format of the graphic,
modify the theme descriptor. For example, if you replace the logo.gif file
with a new file called myLogo.jpg that has a width of 300 pixels and height
of 70 pixels, modify the ComponentsThemes.vtl file as follows:
<Image name="logo" description="My Logo" altTextKey="desktop.logo.text"
appliesTo="ALL" width="300" height="70" file="myLogo.jpg"/>
Steps for Defining and Deploying a New Theme 157
Additional Considerations
Another change that you might want to make when creating your new theme is
to update the theme_displayName= element in the theme-
name.themeDescriptor.vctxt file in the Velocity\ThemeDescriptors
\contexts subdirectory of the work area. Provide a descriptive name for the
new theme. The name is used in the selection list of available themes in the
Preferences page in SAS web applications.
158 Chapter 12 / Administering SAS Web Application Themes
2 Log on and select Options Preferences. The new theme should appear
as a selection on the Preferences page.
3 Select the new theme and observe the effect of the changes that you made
in “Step 3: Make Desired Changes to the Styles, Graphics, and Theme
Templates” on page 155. To view the new theme, log off from the portal.
Then log on to the portal to view the new theme that was applied.
4 Repeat the procedures outlined in “Steps for Defining and Deploying a New
Theme ” on page 150 until you are satisfied with the display of the new
theme.
If you test the new theme several times, log off from the portal and log on again
to view the updated theme each time.
n Deploy SAS Web Application Themes to your web application server. See
“Step 5: Deploy SAS Web Application Themes in Your Test Environment ” on
page 158.
Overview
If you want your new or custom theme to be the default theme for all users who
have not selected a theme for themselves in their application's Preferences,
then you should set the new theme as the default.
There are two ways to modify the theme metadata:
n Use SAS Management Console. See “Assign the Default Theme from SAS
Management Console” on page 159.
n Use the UpdateDefaultTheme.sas program. See “Assign the Default
Theme with the UpdateDefaultTheme.sas Program” on page 159.
1 Deploy SAS Web Application Themes using the SAS Deployment Manager.
6 To enable the new theme to go into effect, restart the SAS Web Infrastructure
Platform application in the web application server.
Overview
To apply a custom theme that you developed for an earlier release, follow these
steps:
1 Create a new theme structure. For information about creating a work area in
which to construct the new version of your existing theme, see “Step 2:
Create a Work Area for the Theme” on page 151.
\Velocity\ThemeDescriptors\contexts\custom\theme-name
subdirectory of the work area for the new theme. The STYLESHEET element
must specify the value all for its PRODUCT= attribute.
Migrating Images
Before attempting to move any image files from an existing theme to the
\themes\theme-name\images subdirectory of the work area for the new
theme, see the image specifications for the Default theme at SAS-
configuration-directory\Lev1\Web\Utilities\SASThemeExtensions
\specs\Default\index.html. If the image from the existing theme replaces
one of the images in the new theme, then you should ensure that the image from
the existing theme is saved over the default image in the proper directory under
the \themes\theme-name\images subdirectory. If the image from the existing
theme does not replace an image in new theme, save it in the \themes\theme-
name\images\Common subdirectory.
For each image file that you update or add, you must ensure that a
corresponding IMAGE element is present in the appropriate theme descriptor
template (.vtl) file in the \Velocity\ThemeDescriptors\contexts\custom
\theme-name subdirectory of the work area for the new theme.
13
Administering SAS Flex Application
Themes
Introduction to SAS Flex Application Themes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
Benefits of SAS Flex Application Themes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
Location of SAS Flex Application Themes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
14
Administering the Search Facility
About the Search Facility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
About the Search Index Providers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
SAS Information Retrieval Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
Apache Lucene . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
Specifying Configuration Properties for the Search Interface to SAS . . . . . . . 167
2 Locate the HTTP URL. The file contents will look similar to the following
example:
# This will feed all supported SAS content to index server
http://hostname.example.com:80/SASSearchService/rest/searchAdmin/searchIndex?
userName=sassearch@saspw&password={sas002}3CD4EA1E35CA49324A0C4D63
Note: The previous line must be entered on one line. It is shown on more
than one line for display purposes only.
Note: The url_list.txt file should specify the host name of the SAS Web
Server. If the SAS Web Server is on the same machine as the SAS middle-
tier software, then url_list.txt should specify an internal host. Otherwise, if
SAS Web Server is on a separate machine, then url_list.txt should specify an
external host.
Apache Lucene
If the configuration property searchsas.irstudio.is_available is set to false,
Apache Lucene creates the index.
Specifying Configuration Properties for the Search Interface to SAS 167
3 Click the Advanced tab. On this tab, you can specify values for the following
properties:
searchsas.feeder.scheduler.interval.minutes
specifies how frequently the index is generated and loaded. The interval
is set during configuration. In the standard configuration, the interval is 15
minutes. Shorter intervals provide more current search data at the price of
additional consumption of system resources (because shorter intervals
require the more frequent polling for updated data).
searchsas.feeder.scheduler.is_enabled
specifies whether index generation and loading occurs. The default is
true. To disable indexing, specify false.
searchsas.irstudio.is_available
specifies which provider is used. If the value is true, or the property is
not set, SAS Information Retrieval Studio is used. If the value is false,
Apache Lucene is used.
searchsas.notification.email.is_active
controls whether notifications are sent. To disable notifications, set this
property to false.
searchsas.notification.email.sender.address
specifies the sender’s email address.
searchsas.notification.email.to.address
specifies the recipient’s email address. To assign multiple recipients,
provide a comma-separated list of addresses.
4 Click OK.
168 Chapter 14 / Administering the Search Facility
169
Part 4
Advanced Topics
Chapter 15
Managing Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Chapter 16
Best Practices for Configuring Your Middle Tier . . . . . . . . . . . . . . . . . . . . . 187
Chapter 17
High-Availability Features in the Middle Tier . . . . . . . . . . . . . . . . . . . . . . . . 197
Chapter 18
Enterprise Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
Chapter 19
Middle-Tier Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
170
171
15
Managing Devices
Viewing SAS Web Report Studio Reports on Mobile Devices . . . . . . . . . . . . . . . 172
Getting Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
Supported Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
How Mobile Content Is Protected . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Managing Mobile Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
About Managing Mobile Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Blacklisting a Device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Whitelisting a Device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Determining Which List Is Enforced . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Determining When a Device Was Blacklisted . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
Changing How Devices Are Managed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
About the Mobile Devices Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
Capabilities for SAS Mobile BI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
Predefined Roles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
Capabilities for End-Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
Capabilities for Administrators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
Accessing and Using SAS Mobile BI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
About the SAS Demo Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
iPad: Adding a Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
Android: Adding a Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
About Searching for Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
User Assistance Resources for Visual Analytics Access . . . . . . . . . . . . . . . . . . . . 180
Adjusting the Logging Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
Configuration Properties: SAS Mobile BI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
How to Set Advanced Properties for SAS Mobile BI . . . . . . . . . . . . . . . . . . . . . . . . 180
Reference for Selected Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
Supported OLAP Functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
Feature Set of Graphs and Crosstabs with Non-Relational Data . . . . . . . . . . . . 183
Stored Processes with Prompts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
Troubleshooting: SAS Mobile BI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
Advanced Properties for SAS Mobile BI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
Configuring the Display of Banner-Related Items for SAS Mobile BI . . . . . . . . . 184
Modifying the Value Used for Resizing Images in the
Middle Tier for SAS Mobile BI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
172 Chapter 15 / Managing Devices
Getting Started
Mobile reporting for SAS Web Report Studio enables users to view certain types
of relational reports on supported devices (iPad and Android). Supported reports
are displayed in the native format of the device.
Note: When displaying SAS Web Report Studio reports on mobile devices,
certain formats are not supported, and therefore will not display correctly.
You do not have to perform any post-installation tasks to enable mobile
reporting. Here are the key points:
n In the initial configuration, all registered users can view supported reports on
supported devices. For more information, see “Accessing and Using SAS
Mobile BI” on page 178.
n In the initial configuration, only an unrestricted user (such as
sasadm@saspw) can blacklist devices. For more information, see “Managing
Mobile Devices” on page 173.
n The SAS Mobile BI for iPad app is available in the iTunes App Store. The
Android app is available from Google Play.
Supported Reports
Not all reports that are created in SAS Web Report Studio can be viewed on
mobile devices. In the current release, the following types of reports can be
viewed on mobile devices:
n relational reports that provide all SAS Web Report Studio graph elements
with the exception of maps
n relational reports that use list tables
n You can encrypt connections between mobile devices and SAS servers using
Transport Layer Security (TLS). For more information, see “Support for TLS
with Client Certificate Authentication” on page 244.
n These lists affect devices, not users. To manage what a particular user can
see or do in SAS Mobile BI, use permissions and capabilities.
Blacklisting a Device
Note: These instructions have an effect only if the blacklist is enforced.
To prevent a mobile device from using SAS Mobile BI, follow these steps:
4 In the Add Device To Blacklist window, enter the ID of the device that you
want to exclude from using SAS Mobile BI. (Or, to add multiple device IDs,
click Add List.) Click OK.
Note: The information that you supply is not validated by the software.
TIP For a device that has already connected (or attempted to connect), you
can initiate this task from the Logon History tab. Right-click on the device,
and select Add to Blacklist.
To remove a device from the blacklist, select it on the Blacklist tab, right-click,
and select Move to Whitelist.
Whitelisting a Device
Note: These instructions have an effect only if the whitelist is enforced.
To enable a mobile device to use SAS Mobile BI, follow these steps:
4 In the Add Device To Whitelist window, enter the ID of the device that you
want to enable to use SAS Mobile BI. (Or, to add multiple device IDs, click
Add List.) Click OK.
Note: The information that you supply is not validated by the software.
TIP For a device that has already connected (or attempted to connect), you
can initiate this task from the Logon History tab. Right-click on the device,
and select Add to Whitelist.
To remove a device from the whitelist, select it on the Whitelist tab, right-click,
and select Move to Blacklist.
In addition, text at the top of either the Blacklist tab or the Whitelist tab
indicates the list that is not currently enforced.
TIP You can also verify the current configuration in SAS Management
Console. The blacklist is enforced unless the
viewerservices.enable.whitelist.support property is set to true. For more
information, see “Configuration Properties: SAS Mobile BI” on page 180.
1 On the Blacklist tab, right-click on the device, and select Copy Device ID.
2 On the Management History tab, select Device ID from the Filter drop-
down list.
3 Click in the text field, and enter Ctrl-V from the keyboard. (You cannot
perform the paste action from the right-click menu.)
4 Click Apply.
TIP You can also copy a device ID from the Whitelist tab. You can also paste
a device ID into the Device ID filter on the Logon History tab.
2 Verify that the list that you intend to enforce is appropriately populated.
n If you enforce the whitelist, the whitelist should contain all eligible devices.
The blacklist is ignored.
n If you enforce the blacklist, the blacklist should contain all excluded
devices. The whitelist is ignored.
3 In the toolbar at the top of the Mobile Devices tab, make a selection from
the Enforced drop-down list. In the confirmation window, click Yes.
Include device history check box. The following occurrences are logon
events:
o a connection attempt that comes from a new source (a unique
combination of device ID and user ID)
o a connection attempt that is accompanied by a device change (such as a
new operating system version or application version)
n On the Logon History tab, the Status column provides information about a
logon event. The Status column does not indicate the current status of a
device connection.
n When you right-click on a device on the Logon History tab, remember that
only one list is in use. Adding a device to the list that is not in use has no
immediate effect. For example, if your deployment uses the blacklist, adding
a device to the whitelist has no immediate effect.
n On the Blacklist and Whitelist tabs, each cell in the User ID column
contains the user ID that connected (or attempted to connect) to SAS Mobile
BI from the associated device. The user ID is provided for the purpose of
helping you identify a device. If no user has attempted to connect from a
particular device, no user ID is listed for that device. If multiple users have
attempted to connect from a particular device, all of those user IDs are listed.
n On the Manage tabs, you can right-click on a device ID, and select Copy
Device ID. On the History tabs, you can paste a device ID into the text field
next to the Filter drop-down list. (To paste, enter Ctrl-V from your keyboard.)
Note: A device ID is a unique identifier (usually a hardware device number)
that is determined and communicated by the connecting mobile application.
n The Management History tab displays device management events, such as
adding a device to a list or removing a device from a list. The Admin ID
column provides the user ID of the administrator who performed each action.
n When you right-click on a device in the blacklist or whitelist, you can choose
either a move action or a remove action. In terms of immediate effect, there
is no difference between these two actions.
Predefined Roles
The following predefined roles are relevant in mobile reporting for SAS Web
Report Studio:
Visual Analytics: Report Viewing
provides the ability to view reports on mobile devices. The initial member is
the SASUSERS group, which includes all registered users. In general, it is
not necessary to make any changes to this role.
Note: Prior to SAS Visual Analytics 7.2, SAS Mobile BI does not support
anonymous, guest, or PUBLIC-only access.
Capabilities for SAS Mobile BI 177
TIP It is not necessary to make any changes to the predefined roles and
capabilities in order to support mobile report viewing for all registered users.
178 Chapter 15 / Managing Devices
4 Tap the Server field, and enter the address of the new server.
Note: If the server requires a secure (TLS) connection, type https:// at the
beginning of the server address.
Accessing and Using SAS Mobile BI 179
7 Tap the Description field, and enter a description for the new connection.
9 Tap Save. The connection is saved, and the Connections window closes.
Note: If the connection fails, a message is displayed to help you correct the
problem.
4 Tap the Server field, and enter the address of the new server. If the port is a
nonstandard port, then you should enter the port number.
Note: If the server requires a secure (TLS) connection, type https:// at the
beginning of the server address.
7 Tap the Description field, and enter a description for the new connection.
9 Tap OK. The connection is saved, the Connections window closes, and the
library appears.
3 On the Advanced tab of the Properties dialog box, add or set values.
TIP The lock icons indicate which settings can be changed in child
components. The lock icons do not indicate which changes you can make
to the current component.
TIP As an alternative to setting this property explicitly, you can set it from
within SAS Visual Analytics Administrator. For more information, see
“Whitelisting a Device” on page 174.
viewerservices.image.default.max.bytes
sets the maximum size of images (PNG, BMP, JPEG, or GIF) that can be
delivered to a mobile device. Larger images are resized on the server side
before delivery. The default is 300 KB, which is sufficient for most
environments. In very rare scenarios when you want to change this
constraint, consider modifying the value. To entirely disable resizing of
images in the middle tier, set the value to 0. However, to ensure faster
download times and smaller memory footprints on the mobile device, do not
increase the value of this property or set the value to 0.
Note: Users can customize image resizing on their devices by setting the
Scale type option (under Insert Other Image). If the option is set to
None, the user’s device is exempt from middle-tier resizing.
viewerservices.lasr.socketTimeout.milliseconds.interactions
sets the maximum wait time for when SAS Mobile BI attempts to contact SAS
LASR Analytic Server. This property is applicable to live requests from a
mobile device for tasks such as filtering, brushing, and drilling. The default is
30000 milliseconds (30 seconds), which is sufficient for most environments. If
sessions between SAS Mobile BI and SAS LASR Analytic Server are timing
out, consider modifying the value.
viewerservices.lasr.socketTimeout.milliseconds.subscribe
sets the maximum wait time for a response to a query in a subscribed report
when SAS Mobile BI contacts the SAS LASR Analytic Server. The default is
300000 milliseconds (5 minutes), which is sufficient for most environments. If
the queries within some reports take an excessive amount of time for
completion, consider modifying the value.
viewerservices.passcode.attempts
limits the number of sequential failed attempts to enter a passcode. The
default is 5. If a user reaches the limit, the user is locked out of the app for 15
minutes. After the lockout interval, the user can again attempt to enter his or
her passcode. If the user reaches the limit again, all custom content (data,
reports, settings, and connection information) is removed from the device.
Note: This property is applicable to only those users who are subject to the
capability Require Passcode on Mobile Devices on page 177.
viewerservices.passcode.timeout
specifies, in minutes, how frequently a user must re-enter his or her
passcode. The default is 15.
viewerservices.validate.schema.write
enables XML schema validation when reports are rendered in SAS Mobile
BI. When this property is set to true, all actions that apply to the writing of
reports are captured in the SASVisualAnalyticsTransport-log4j file. The
default is false. Set this property only if SAS Technical Support instructs
you to do so.
viewerservices.validate.schema.create
enables XML schema validation when reports are rendered in SAS Mobile
BI. When this property is set to true, all actions that apply to the creation of
reports are captured in the SASVisualAnalyticsTransport-log4j file. The
Troubleshooting: SAS Mobile BI 183
default is false. Set this property only if SAS Technical Support instructs
you to do so.
viewerservices.validate.schema.read
enables XML schema validation when reports are rendered in SAS Mobile
BI. Also, this property checks for schema validation errors when reports are
created in the mobile viewer. When this property is set to true, all actions
that apply to opening and viewing reports are captured in the
SASVisualAnalyticsTransport-log4j file. The default is false. Set this
property only if SAS Technical Support instructs you to do so.
Resolution: Make sure that the user is not unrestricted and is not in any role that
provides the capability that prevents this action. For more information, see
“Purge Mobile Report Data” on page 177.
Resolution: Make sure that the user is not unrestricted and is not in any role that
provides the capability that introduces this requirement. For more information,
see “Require Passcode On Mobile Devices” on page 177.
Issue: On the Mobile Devices tab, a message indicates that a list is not currently in
use.
Resolution: By design, only one list (either the blacklist or the whitelist) is in use.
184 Chapter 15 / Managing Devices
4 Click the Advanced tab and specify the following properties and required
values:
To enable these properties to take effect, restart SAS Web Application Server.
before an image is delivered to the mobile device. The types of images that are
resized include PNG, BMP, JPEG, and GIF files.
By default, this property is set to 300 KB. The limit on the size of images that are
delivered ensures both faster download times and smaller memory footprints on
the mobile device. The default value is sufficient for most environments. If this
property is set to 0, images are not resized before they are delivered to the
device.
You should modify this value only when you want to increase or decrease the
number of image bytes that can be delivered to a mobile device. Modify the
value for this property cautiously because it impacts the download time and
memory in the mobile devices.
To enable these properties to take effect, restart SAS Web Application Server.
186 Chapter 15 / Managing Devices
187
16
Best Practices for Configuring Your
Middle Tier
Sample Middle-Tier Deployment Scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
Overview of Middle-Tier Deployment Scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
Scenario 1: Web Applications Deployed in a Single Web Application Server . 188
Scenario 2: Web Applications Deployed across a Web
Application Server Cluster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
Adding a Vertical Cluster Member . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
Adding a Horizontal Cluster Member . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
Updating a Horizontal Cluster Member . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
Tuning the Web Application Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
Configuring HTTP Sessions in Environments with Proxy Configurations . . . 195
Resolve HTTP Session Requests in a Secure Environment . . . . . . . . . . . . . . . . 195
SAS Workspace Servers, SAS Pooled Workspace Servers, SAS Stored Process
Servers, and SAS OLAP Servers.
Overview
This scenario illustrates the most basic topology. All of the SAS middle-tier
components are installed on a single system. All the SAS web applications run
in a single SAS Web Application Server instance.
The following figure illustrates the topology for Scenario 1.
JMS Broker
Cache Locator
SAS Environment
Manager Agent
Sample Middle-Tier Deployment Scenarios 189
Performance SAS Web Server is automatically This topology does not support
configured to cache static hundreds of concurrent users.
content.
Scalability There are no advantages in this This topology does not support
scenario, but the topology hundreds of concurrent users.
provides an upward path to
clustering web application
servers.
multiple managed servers by running the wizard with the custom prompting level
and selecting this feature.
Overview
The sample topology in this scenario includes a cluster of web application
servers and deploys SAS Web Server on its own machine.
The following figure illustrates the sample topology. In most cases, the instances
of SAS Web Application Server and applications are identically configured.
Some applications, such as SAS BI Dashboard Event Generator, and some SAS
solutions applications cannot be clustered. Those are examples of when the
server instances and applications are not identically configured.
SAS Environment
Manager Agent
Cache Locator
JMS Broker
SAS Metadata Server
SAS Environment Manager
Cache Locator
SAS Environment
SAS Environment
Manager Agent Manager Agent
The majority of the topology can be configured automatically with SAS software.
Because SAS Web Server is deployed on its own machine, it can be configured
Sample Middle-Tier Deployment Scenarios 191
automatically with the SAS Deployment Wizard or configured manually. Here are
the advantages and disadvantages of this topology:
Understanding Clusters
In order to provide greater scalability, availability, and robustness, SAS Web
Application Server supports both vertical and horizontal clustering. With
clustering, multiple server instances participate in a load-balancing scheme to
handle client requests. Workload distribution is managed by SAS Web Server.
SAS Web Server is configured as a load-balancing HTTP proxy.
192 Chapter 16 / Best Practices for Configuring Your Middle Tier
The server instances in a cluster can coexist on the same machine (vertical
clustering), or the server instances can run on a group of middle-tier server
machines (horizontal clustering). The web applications can be deployed on both
vertical and horizontal clusters.
1 Stop the web application server instance and other middle-tier servers.
SAS-configuration-directory\Lev1\Web\Scripts\AppServer\appsrvconfig.cmd stop
2 Locate the SAS Software Depot on the machine and start the SAS
Deployment Wizard.
3 When offered the choice to install and configure software, select the check
box for configuring software, clear the check box for installing software, and
click Next.
4 Specify your plan file or select the plan that you used from the list of standard
plans, and click Next.
Note: The listed deployment step will depend on several factors, including
your plan file and middle-tier configuration.
6 When you specify the configuration directory, the wizard provides a warning
that the directory contains existing files. Click Yes to confirm the warning.
7 On the Select Products to Configure page, select the Clear All check box,
select the check box for SAS Web Application Server Configuration only,
and then click Next.
8 On the Web Application Server: Managed Server Ports page, use the
Cluster Member Multiplier menu to specify the number of web application
server instances to configure.
For the pages before this one, and after it, specify the same values that were
entered during the initial configuration.
9 Stop the middle-tier servers again (they were started when the SAS
Deployment Wizard completed).
SAS-configuration-directory\Lev1\Web\Scripts\AppServer\appsrvconfig.cmd stop
10 Configure the SAS web applications and resources, such JDBC data sources
and JMS queues.
SAS-configuration-directory\Lev1\Web\Scripts\AppServer\appsrvconfig.cmd -a
TIP Log on to SAS Environment Manager and add the new servers to your
inventory.
one server instance stops), the applications remain available on the other
machines.
The SAS Deployment Wizard is used to add an additional middle-tier node.
When it runs, it performs the following tasks:
n installs and configures a SAS Web Application Server instance
1 On the machine that hosts SAS Web Server, make sure the SAS
Deployment Agent is running. The agent can be started from SASHome
\SASDeploymentAgent\9.4\agent.bat start.
If the first instance of SAS Web Application Server is not installed on the
same machine as SAS Web Server, then start the deployment agent on that
machine too.
2 Copy the SAS software depot to the machine to use, or make sure the depot
is available from a network share.
3 Start the SAS Deployment Wizard on the new machine to use. On the
deployment step page, select Middle Tier Node.
Figure 16.3 Select Deployment Step and Products to Install Page
Note: You can use the Cluster Member Multiplier menu on the Web
Application Server: Managed Server Ports page to combine vertical
clustering with horizontal clustering.
4 If you disabled clustering for SAS Content Server during the configuration,
the -Dcom.sas.server.isclustered JVM option will be set to false. In
this case, on the first web application server instance that was configured
with the SAS Deployment Wizard, enable the JVM option when the SAS
Deployment Wizard completes as follows:
-Dcom.sas.server.isclustered=true
After you make this change, restart the web application server instance.
TIP Log on to SAS Environment Manager and add the new machine and
servers to your inventory.
Configuring HTTP Sessions in Environments with Proxy Configurations 195
4 Enter the property name as shown, and specify the property value:
Property Name: App.RedirectionFilterDisabled
Property Value: True
7 To enable this change to go into effect, restart SAS Web Application Server.
197
17
High-Availability Features in the
Middle Tier
Overview of High-Availability Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
SAS Web Application Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
SAS Web Application Server Clustering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
Configuring the Prerequisite Checker for Clustered Servers . . . . . . . . . . . . . . . . 198
Update the Connection to the Relational Database . . . . . . . . . . . . . . . . . . . . . . . . 199
Update the Connection to JMS Broker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
SAS Web Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
About SAS Web Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
Installing Additional Web Server Instances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
Enabling the Prerequisite Checker for Clusters . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
JMS Broker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
About JMS Broker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
Adding Additional JMS Broker Instances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
Enabling the Prerequisite Checker for Clusters . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
Cache Locator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
Number of Installed Cache Locators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
Configuration Steps for Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
Configuration Steps for UNIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
Enabling the Prerequisite Checker for Clusters . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
SAS Environment Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
See Also
• “Understanding Clusters” on page 191
• “Adding a Horizontal Cluster Member” on page 193
2 Locate the line specifying the original server that you are now clustering. For
example, if you are clustering JMS Broker, locate the following line:
server.domain.com 61616 60 SAS JMS Broker
3 Make a copy of the line and modify the host and port to match the host and
service port for the additional cluster member. For example, if you are
clustering JMS Broker that listens on port 61617, the entries should be as
follows:
server.domain.com 61616 60 SAS JMS Broker
server.domain.com 61617 60 SAS JMS Broker
Note: The description must be identical for all members of the cluster. The
cluster can contain as many servers as desired and can include both active
cluster members and host standby servers, as long as the host standby
servers are not listening on their service port when they are not available.
The prerequisite check will be performed the next time you restart SAS Web
Application Server.
1 Update the connection information for each web application. For more
information, see “Specifying Connection Properties” on page 64.
2 Based on the network topology or protocol change, perform the tasks that
apply from “Manual Configuration Tasks” on page 135.
4 Update the server for SAS Environment Manager with the new connection
information. Edit the following files and specify the correct host name and
port:
n SAS-configuration-directory\Lev1\Web
\SASEnvironmentManager\server-version-EE\hq-engine\hq-
server\webapps\ROOT\WEB-INF\web.xml
n SAS-configuration-directory\Lev1\Web
\SASEnvironmentManager\server-version-EE\hq-engine\hq-
server\webapps\ROOT\WEB-INF\spring\security-web-
context.xml
JMS Broker
Note: In the previous example, the code should appear on one line and do
not add space after the comma.
See Also
“Update the Connection to JMS Broker” on page 199
Cache Locator
4 Copy the files from the instance directory on the primary machine to the
additional machine.
7 Start the locator with the Windows service name SAS [Config-Lev1] SAS
Cache Locator 41415.
directory\Lev1\Web\Applications
\SASWIPSchedulingServices9.4\servicetrigger.ini file.
n sas-gemfire-startup-cleaner.jar
5 Copy the files from the instance directory on the primary machine to the
additional machine.
Note: Do not copy the .locator file.
1 Use the Install Additional Software option for the SAS Deployment Wizard
to install SAS Foundation and SAS Environment Manager on the remaining
cluster machines. Use the same SASHome path that was used for the initial
server instance.
3 Edit the server and agent property files to change the host name to the
appropriate value.
4 When you follow the rest of the steps from the VMware documentation, keep
in mind these two changes:
n The load balancer needs to route traffic for the HTTPS port 7443 in
addition to port 7080.
n Steps 5 and 6 in the VMware documentation should be reversed. The
servers need to be running before you configure the agents with the hq-
agent script.
SAS Environment Manager makes calls to applications that are deployed in SAS
Web Application Server. High availability for those applications is enabled when
you cluster SAS Web Application Server.
207
18
Enterprise Integration
Configuring the Middle Tier to Use an Existing Customer Reverse Proxy . . . 208
Web Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
About Web Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
Configuring Web Authentication for the First Maintenance
Release for SAS 9.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
Configuring Web Authentication Starting with the Second
Maintenance Release for SAS 9.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
Auto-Provisioning User Accounts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
Support for IBM Tivoli Access Manager WebSEAL . . . . . . . . . . . . . . . . . . . . . . . . . 220
Configuring Web Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
Deploying IBM Tivoli Access Manager Adapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
Changing the Proxy Information for the First Maintenance
Release for SAS 9.4 and Previous Releases . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
Changing the Proxy Information for the Second
Maintenance Release for SAS 9.4 and Subsequent Releases . . . . . . . . . . . . 221
Updating the Connection Information for SAS Web Applications . . . . . . . . . . . . 221
Configuring the WebSEAL Junction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
Modifying User Permissions for REST API Calls . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Support for CA SiteMinder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Dependencies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
Configuring the Java Cryptography Extension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
Configuring the Web Agent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
SAS Web Application Contexts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
Configuring SAS Web Application Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
Configuring the Policy Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
Support for Integrated Windows Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
Overview of Integrated Windows Authentication in the Middle Tier . . . . . . . . . . 233
Dependencies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
Verifying Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
Configuring SAS Web Application Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
Configuring Web Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
Configuring the Microsoft Internet Explorer to Use SPNEGO . . . . . . . . . . . . . . . 238
Configuring the Mozilla Firefox to Use SPNEGO . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
Configuring the Google Chrome to Use SPNEGO . . . . . . . . . . . . . . . . . . . . . . . . . 239
(Optional) Configuring User Delegation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
Fallback to SAS Form-based Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
Support for TLS with Client Certificate Authentication . . . . . . . . . . . . . . . . . . . . . 244
Overview of TLS with Client Certificate Authentication in the Middle Tier . . . . . 244
208 Chapter 18 / Enterprise Integration
If you have more than one SAS Web Application Server instance, make the
change for each one.
Note: For the second maintenance release for SAS 9.4 and previous
releases, if the existing reverse proxy uses HTTPS with a site-signed
certificate, import the certificate to the SASHome
\SASPrivateJavaRuntimeEnvironment\9.4\jre\lib\security
\cacerts file.
Note: For the third maintenance release for SAS 9.4, if the existing reverse
proxy uses HTTPS with a site-signed certificate, use the SAS Deployment
Manager to import your CA certificates into the trusted CA bundle. You must
Configuring the Middle Tier to Use an Existing Customer Reverse Proxy 209
6 Edit the following files and locate all instances of the URLs that begin with
http://server:port. Modify them to point to https://server:port:
7 Update the SAS Content Server JVM options with the new HTTPS URI
values that were specified in Step 6. Otherwise, users will not be able to
access the SAS Content Server administration console.
The following JVM options must be updated:
n -Dsas.scs.cas.host
n -Dsas.scs.cas.port
n -Dsas.scs.cas.scheme
n -Dsas.scs.svc.host
n -Dsas.scs.svc.port
210 Chapter 18 / Enterprise Integration
n -Dsas.scs.svc.scheme
For a description of each JVM option and more information, see Table 10.1
on page 118.
Web Authentication
See Also
For more information, see “Authentication Mechanisms” in SAS Intelligence
Platform: Security Administration Guide.
PrincipalFromRequestRemoteUserNonInteractiveCredentialsAction"
p:centralAuthenticationService-ref="centralAuthenticationService" />
Note: The previous bean definition must be entered on one line. It is shown
on more than one line for display purposes only.
Note: As an alternative to updating the cas-servlet.xml file, you can edit the
deployed file, SAS-configuration-directory\Levn\Web\WebAppServer
\SASServern_m\sas_webapps\sas.svcs.logon.war\WEB-INF\cas-
servlet.xml. This avoids the need to rebuild and redeploy the application,
but you must make sure your changes are not overwritten if the application is
redeployed at a later date.
<action-state id="remoteAuthenticate">
<evaluate expression="principalFromRemoteAction" />
<transition on="success" to="sendTicketGrantingTicket" />
<transition on="error" to="viewLoginForm" />
</action-state>
Note: The previous bean definition must be entered on one line. It is shown
on more than one line for display purposes only.
4 In the same file, add the following bean definition within the \beans
\bean[id="authenticationManager"]
\property[name="authenticationHandlers"]\list:
<bean class="org.jasig.cas.adaptors.trusted.authentication.handler.support.
212 Chapter 18 / Enterprise Integration
PrincipalBearingCredentialsAuthenticationHandler" />
Note: The previous bean definition must be entered on one line. It is shown
on more than one line for display purposes only.
Note: As an alternative to updating the deployerConfigContext.xml.orig file,
you can edit the deployed file, SAS-configuration-directory\Levn\Web
\WebAppServer\SASServern_m\sas_webapps\sas.svcs.logon.war
\WEB-INF\deployerConfigContext.xml. This avoids the need to rebuild
and redeploy the application, but you must make sure your changes are not
overwritten if the application is redeployed at a later date.
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>Tomcat Host Manager Application</realm-name>
</login-config>
Note: As an alternative to updating the web.xml.orig file, you can edit the
deployed file, SAS-configuration-directory\Levn\Web\WebAppServer
\SASServern_m\sas_webapps\sas.svcs.logon.war\WEB-INF
\web.xml. This avoids the need to rebuild and redeploy the application, but
you must make sure your changes are not overwritten if the application is
redeployed at a later date.
<web-resource-name>TransportLogin</web-resource-name>
<url-pattern>/onebi/logon</url-pattern>
<url-pattern>/rest/session/</url-pattern>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>*</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>Tomcat Host Manager Application</realm-name>
</login-config>
-->
Note: As an alternative to updating the web.xml.orig file, you can edit the
deployed file, SAS-configuration-directory\Levn\Web\WebAppServer
\SASServern_m\sas_webapps\sas.bitransportservices.war\WEB-
INF\web.xml. This avoids the need to rebuild and redeploy the application,
but you must make sure your changes are not overwritten if the application is
redeployed at a later date.
7 (Optional) For consistency, you can also set the value of the <realm-name>
tag to the same value that was used for SAS Logon Manager.
8 Use the SAS Deployment Manager to rebuild the SAS web applications.
Rebuild SAS Web Infrastructure Platform.
If you modified SAS Transport Service, also rebuild Visual Analytics
Services.
9 Use the SAS Deployment Manager to redeploy the SAS Web Infrastructure
Platform and Visual Analytics Services (if it was modified).
Note: The SAS Deployment Manager stops SAS Web Application Server if
you select the Allow the application server to stop option. When all web
applications are redeployed, the SAS Deployment Manager restarts SAS
Web Application Server.
10 Start SAS Management Console and access the User Manager plug-in.
11 Check that each user has an account on the Accounts tab. If any user that
requires access to the web applications does not, then right-click the User
Manager plug-in and select Authentication Domains. Click New and
specify web as the name.
Note: If users in SAS metadata do not have a user ID on the Accounts tab,
then a SAS identity will not be found after authentication to the web
application server container succeeds and authorization takes place.
12 For each user that does not already have an account on the Accounts tab,
add an account with the user ID in the web authentication domain.
214 Chapter 18 / Enterprise Integration
13 You can validate the previous steps by using "file" validation at this point.
This is possible because SAS configures a UserDatabaseRealm by default
in the SAS-configuration-directory\Levn\Web\WebAppServer
\SASServern_m\conf\server.xml file. Edit the SAS-configuration-
directory\Levn\Web\WebAppServer\SASServern_m\conf\tomcat-
users.xml file to be similar to the following example:
<?xml version="1.0"?>
<tomcat-users>
<role rolename="ROLE_USER" />
<user username="sasdemo" password="Password1" roles="ROLE_USER" />
</tomcat-users>
Note: If you have more than one web application server instance, you must
copy the tomcat-users.xml file to each one.
Note: You can substitute a real user account that is in SAS metadata
instead of sasdemo. Either way, the specified user must have an account on
the Accounts tab in metadata.
14 Start SAS Web Application Server and then access an application such as
SAS Web Report Studio. The previous steps are valid if the following occur:
n you are challenged for credentials
15 Remember to remove the user and role information when you complete this
procedure.
17 Modify the realm information so that it accesses the system that you want to
use for identity management. The following is an example for accessing an
LDAP server:
<Realm className="org.apache.catalina.realm.JNDIRealm"
allRolesMode="authOnly"
connectionName="cn=Directory Manager,dc=example,dc=com"
connectionPassword="******"
connectionURL="ldap://directory.example.com:389"
roleBase="ou=groups,dc=example,dc=com"
roleName="cn"
roleSearch="(uniqueMember={0})"
roleSubtree="false"
userPattern="uid={0},ou=people,dc=example,dc=com"
/>
Web Authentication 215
TIP If you are unsure of the LDAP schema in use, a utility like
ldapsearch or an LDAP browser can help you identify the values to use
in your deployment.
19 Make a copy of all the files that you changed in the first part of this
procedure. These files can be overwritten when you apply a maintenance
release.
<auth-constraint>
<role-name>*</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>SPNEGO</auth-method>
<realm-name>Tomcat Host Manager Application</realm-name>
</login-config>
-->
Note: As an alternative to updating the web.xml.orig file, you can edit the
deployed file, SAS-configuration-directory\Levn\Web\WebAppServer
\SASServern_m\sas_webapps\sas.svcs.logon.war\WEB-INF
\web.xml. This avoids the need to rebuild and redeploy the application, but
you must make sure your changes are not overwritten if the application is
redeployed at a later date.
2 For BASIC authentication, uncomment the section shown above and replace
SPNEGO with BASIC in the <auth-method> tag.
Note: As an alternative to updating the web.xml.orig file, you can edit the
deployed file, SAS-configuration-directory\Levn\Web\WebAppServer
\SASServern_m\sas_webapps\sas.bitransportservices.war\WEB-
INF\web.xml. This avoids the need to rebuild and redeploy the application,
Web Authentication 217
but you must make sure your changes are not overwritten if the application is
redeployed at a later date.
4 (Optional) For consistency, you can also set the value of the <realm-name>
tag to the same value that was used for SAS Logon Manager.
5 Use the SAS Deployment Manager to rebuild the SAS web applications.
Rebuild SAS Web Infrastructure Platform.
If you modified SAS Transport Service, also rebuild Visual Analytics
Services.
6 Stop SAS Web Application Server and then use the SAS Deployment
Manager to redeploy the SAS Web Infrastructure Platform and Visual
Analytics Services (if it was modified).
7 Start SAS Management Console and access the User Manager plug-in.
8 Check that each user has an account on the Accounts tab. If any user that
requires access to the web applications does not, then right-click the User
Manager plug-in and select Authentication Domains. Click New and
specify web as the name.
Note: If users in SAS metadata do not have a user ID on the Accounts tab,
then a SAS identity will not be found after authentication to the web
application server container succeeds and authorization takes place.
9 For each user that does not already have an account on the Accounts tab,
add an account with the user ID in the web authentication domain.
Note: If you have more than one web application server instance, you must
copy the tomcat-users.xml file to each one.
Note: You can substitute a real user account that is in SAS metadata
instead of sasdemo. Either way, the specified user must have an account on
the Accounts tab in metadata.
11 Start SAS Web Application Server and then access an application such as
SAS Web Report Studio. The previous steps are valid if the following occur:
n you are challenged for credentials
218 Chapter 18 / Enterprise Integration
12 Remember to remove the user and role information when you complete this
procedure.
14 Modify the realm information so that it accesses the system that you want to
use for identity management. The following is an example for accessing an
LDAP server:
<Realm allRolesMode="authOnly" className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.JNDIRealm"
connectionName="cn=Directory Manager,dc=example,dc=com"
connectionPassword="******"
connectionURL="ldap://directory.example.com:389"
roleBase="ou=groups,dc=example,dc=com"
roleName="cn"
roleSearch="(uniqueMember={0})"
roleSubtree="false"
userPattern="uid={0},ou=people,dc=example,dc=com"
/>
</Realm>
TIP If you are unsure of the LDAP schema in use, a utility like
ldapsearch or an LDAP browser can help you identify the values to use
in your deployment.
16 Make a copy of all the files that you changed in the first part of this
procedure. These files can be overwritten when you apply a maintenance
release.
Note: The auto-provisioning filter works only with users that authenticate using
web authentication.
Note: As an alternative to updating the web.xml.orig file, you can edit the
deployed file, SAS-configuration-directory\Levn\Web\WebAppServer
\SASServern_m\sas_webapps\sas.svcs.logon.war\WEB-INF
\web.xml. This avoids the need to rebuild and redeploy the application, but
you must make sure your changes are not overwritten if the application is
redeployed at a later date.
Note: The first line of the previous bean definition must be entered on one
line. It is shown on more than one line for display purposes only.
Note: The p:groupName field specifies the group to which new users are
added in metadata.
Note: As an alternative to updating the filters.xml file, you can edit the
deployed file, SAS-configuration-directory\Levn\Web\WebAppServer
\SASServern_m\sas_webapps\sas.svcs.logon.war\WEB-INF\spring-
configuration\filters.xml. This avoids the need to rebuild and
redeploy the application, but you must make sure your changes are not
overwritten if the application is redeployed at a later date.
2 Extract the AMTomcatValue.jar file from the archive and deploy it to SAS-
configuration-directory\Levn\Web\WebAppServer\SASServern_m
\lib.
If your deployment includes additional server instances, deploy the JAR file
to the lib directory for each server instance.
</Engine>
Note: The fallThrough attribute must be set to true. If you have more
than one server instance, you must make the change to each one.
The valve also supports an option for specifying the name of the user header
processed by the Access Manager Adapter. This will default to “iv-user” but you
can specify the user header by adding the userHeader="user_header"
parameter to the valve definition shown above.
Create a TCP WebSEAL junction that uses the host name and port number on
which SAS Web Application Server is listening, with a command that is similar to
the following:
pdadmin> server task default-webseald-host_name create -t tcp -c iv-user,
iv-groups -b ignore -h saswebserver.example.com -p 80 /junction_name -I
application, but without the trailing slash. The following example shows the initial
entry and the additional entry for a web application in the junction mapping table:
/junction_name */SASWebReportStudio/*
/junction_name */SASWebReportStudio*
1 Invoke pdamin from the PolicyDirector/bin directory and login using the
sec_master account:
./pdadmin
login -a sec_master -p password
2 Check out the object space defined for the WebSEAL configuration object
list. The object space for the default configuration is /WebSEAL. You might
have your own.
object show /WebSEAL
3 Check out the attached ACL / effective ACL. The default configuration
contains "default-webseal". Here is an example ACL:
acl show default-webseal
4 The typical user has Trx permission (read and execute). Add Modify and
Delete permissions to all SAS WebSEAL users. The following command is
for the sasdemo user:
acl modify default-webseal set user sasdemo Tdmrx
See Also
IBM Tivoli Access Manager for e-business WebSEAL Administration Guide
Overview
SAS 9.4 support for CA SiteMinder requires configuring a Web Agent to
communicate with SAS Web Server and a custom security module for SAS Web
Application Server. SAS provides the custom security module. Successful
224 Chapter 18 / Enterprise Integration
Dependencies
SAS 9.4 integration with CA SiteMinder depends on two software applications
from CA:
n CA SiteMinder Web Agent (any version)
The software applications are not included with SAS software. They can be
downloaded from the CA support page. (Downloading the packages requires a
CA support account and license.)
The application server security module has a run-time dependency on the SDK.
For Java agents, CA provides two distinct implementations of the API. Either
implementation can be used by including the API JAR file shown below in the
classpath. However, the detailed instructions that follow describe how to use the
Pure Java API (smagentapi.jar in the following table).
Create two host configurations. Configure one for the Web Agent to use with
SAS Web Server and a separate one for the agent to use with SAS Web
Application Server. The following table shows the sample values that are used in
the following sections.
Host configuration and host name hostname_apache for the web server
hostname_tc for SAS Web Application
Server
1 Download the JCE Unlimited Strength Jurisdiction Policy files from Oracle. It
is available from http://www.oracle.com/technetwork/java/javase/downloads/
jce-7-download-432124.html.
2 Extract the archive. In the jce directory, extract all three files (local_policy.jar,
README.txt, US_export_policy.jar) to JAVA_HOME\jre\lib\security.
Note: The default JRE is located in SASHome
\SASPrivateJavaRuntimeEnvironment\9.4\jre.
For information about downloading and installing the unrestricted JCE policy
files on AIX systems, see http://pic.dhe.ibm.com/infocenter/lmt/v7r2m2/
index.jsp?topic=%2Fcom.ibm.license.mgmt.security.doc
%2Flmt_scr_downloading_installing_jce_policyfiles.html.
Purpose
You can use this information to configure SAS Web Server with a web agent.
This can be necessary if your site does not already have a web server that is
configured with a web agent or the existing web agent is in a different top-level
domain (company.com versus organization.com).
Note: If your site already has a web server that is configured with a web agent,
you can skip to “SAS Web Application Contexts” on page 228.
The custom security module for CA SiteMinder relies on using SAS Web Server
as a reverse proxy. The SAS Web Server can be configured with the Web Agent
plug-in module for Apache HTTP Server. The following sections describe how to
perform this configuration. The Web Agent software must already be installed.
226 Chapter 18 / Enterprise Integration
2 Run the smreghost.bat command in the bin directory under the Web Agent
installation to register the host with the policy servers. On UNIX, make sure
you source the ca_wa_env.sh script first.
smreghost -i policyserver.example.com -u siteminder -p Pass
-hc hostname_apache -hn hostname_apache
-o -f ../config/SmHost.conf
TIP You can try to use the CA SiteMinder Web Agent installer. If it does not
detect SAS Web Server, then follow the manual steps in this section.
For UNIX deployments, the library for the LoadPlugin property is named
libHttpPlugin.so instead of HttpPlugin.dll.
3 Add lines that are similar to the following in the Aliases section. Change the
paths to match the location of the Web Agent software on your machine.
<IfModule alias_module>
Alias /siteminderagent/nocert/[0-9]+/(.*) "C:/Program Files (x86)/
CA/webagent/$1"
<Directory "C:/Program Files (x86)/CA/webagent/$1">
Options Indexes MultiViews
Support for CA SiteMinder 227
AllowOverride None
Order allow,deny
Allow from all
</Directory>
2 Use the CA SiteMinder Administrative UI to set the trace properties for the
agent configuration. The following table provides sample values:
Table 18.3 Sample Values for CA SiteMinder Web Agent Troubleshooting
TraceAppend Yes
TaceConfigFile C:\SAS\Config\Levn\Web
\WebServer\conf
\WebAgentTrace.conf
TraceFile Yes
228 Chapter 18 / Enterprise Integration
TraceFileName C:\SAS\Config\Levn\Web
\WebServer\logs\webagent.trace
TraceFileSize 100
<Proxy balancer://SAS_Web_Server_Cluster>
BalancerMember http://<SAS_Web_Server:80 route=SAS_Web_Server_SASServern_m
</Proxy>
---------------------------------
This modified sas.conf file must be added
to the httpd.conf file o reverse proxy server.
Here is an example:
---------------------------------
<IfModule mod_proxy.c>
Include conf/sas.conf
</IfModule>
2 Run the script to register the host with the policy servers. On UNIX, make
sure you source the ca_wa_env.sh script first.
smreghost.bat -i policyserver.example.com -u siteminder -p Pass
-hc hostname_tc -hn hostname_tc
-o -f "C:\SAS\Config\Lev1\Web\WebAppServer\SASServer1_1\conf\SmHost.conf"
Note: If you are configuring CA SiteMinder for SAS Mobile BI, the value that
you specify for the AgentConfigObject attribute must correspond to the
agentName attribute that you specified in Step 1 on page 229.
4 In the same server.xml file, check the values for the proxyName and
proxyPort in the existing /Connector definition. If you are using an external
proxy, change the values so that they match the proxy instead of SAS Web
Server.
5 Add the smagentapi.jar and cryptoj.jar files to the classpath using the
following information, or copy the files to the lib directory for each server
instance.
Support for CA SiteMinder 231
3 If the server is configured correctly to use the value, the log contains
messages like the following example:
4 After a successful logon attempt, the log contains messages like the
following example:
232 Chapter 18 / Enterprise Integration
n Create a realm under the domain. Select the agent from the menu. Check
that the resource filter is /SASLogon/login.
n Create a rule with the resource specified as *. When you view the rule that
you generated, the attribute value for the Effective Resource should
appear as follows:
agent_name/SASLogon/login*
n Create a policy and add users from the user directory that you defined in the
domain. Add the rule that you defined to the policy.
Support for Integrated Windows Authentication 233
Repeat the preceding high-level steps for SAS Web Application Server.
If you plan to use CA SiteMinder authentication for the SAS applications that are
listed in the following table, you also must create a realm and filter to protect the
corresponding resources:
/SASVisualAnalyticsTransport/rest/
session
Parameter Issue
RequiredCookies This parameter can interfere with clients that use SiteMinder
authentication to SAS web services. Set this parameter to
no if access to web services is affected.
When IWA is used in conjunction with Kerberos, IWA enables the delegation of
security credentials. Kerberos is an industry‐standard authentication protocol
that is used to verify user or host identity. The Kerberos protocol uses strong
cryptography so that a client can prove its identity to a server (and vice versa)
across an insecure network connection.
When Active Directory is installed on a Domain Controller running Windows
2000 Server (or higher), and the client browser supports the Kerberos
authentication protocol, Kerberos authentication is used. Use of the Kerberos
protocol is determined by the following requirements:
n The client must have a direct connection to Active Directory.
n Both the client and the server must have a trusted connection to a Key
Distribution Center (KDC) and be compatible with Active Directory.
n Service principal names (SPNs) are required for multiple worker processes.
Dependencies
Review the following list of software requirements and required information:
n An Active Directory Domain Controller that is running Windows 2000 Server
or higher is needed.
n The desktops for users must be Microsoft Windows 2000 (or higher) domain
members and have a browser client that supports the SPNEGO
authentication mechanism. Microsoft Internet Explorer Version 7.0 or later
qualifies as the client.
n The clock on the desktop machines, the domain controller, and the machine
for SAS Web Application Server should be synchronized to within five
minutes.
n The machine that is used for SAS Web Application Server must have the
service principal name (SPN) registered with Active Directory. If you request
this from your information technology support group, also request the
following:
o keytab file
o the user name that the principal is mapped to
n Understand the organization of users and groups in your Active Directory
deployment if you plan to use organizational unit or group information for
authorizing access to the SAS web applications.
Verifying Prerequisites
clients have no way of locating that service. Without correctly set SPNs,
Kerberos authentication is not possible.
To verify that the SPN for the service is registered, follow these steps:
CN=user-logon-name,OU=Service Accounts,OU=Domain
Controllers,OU=Servers,DC=EXAMPLE,DC=com
HTTP/hostname.example.com
HTTP/HOSTNAME
The value for user-logon-name is the same one identified in the CN from
the previous command output, or as the sAMAccountName on the service
account in Active Directory.
UNIX Specifics:
ktutil
rkt path-to/hostname.keytab
236 Chapter 18 / Enterprise Integration
list -e
TIP The encryption type or types (arcfour-hmac) is used in the next section
for configuring SAS Web Application Server.
Verify that Kerberos authentication succeeds. Use the kinit command that is
provided in the SASHOME\SASPrivateJavaRuntimeEnvironment\9.4\jre
\bin directory.
kinit -k —t c:\path-to-hostname.keytab\hostname.keytab
user-principal-name -J-Djava.security.krb5.conf=
path-to-Kerberos-file.conf
Note: The kinit command is shown on more than one line in the preceding code
sample for display purposes only.
Be sure the results are similar to the following:
New ticket is stored in cache file C:\path
For more information about the ktab.exe or ktutil commands, see the
vendor documentation.
2 If you do not have an existing Kerberos configuration file, you can create a
krb5.ini file with contents that are similar to the following example:
[libdefaults]
default_realm = EXAMPLE.COM
forwardable=true
[realms]
EXAMPLE.COM = {
kdc = domain-controller.com
}
[domain_realm]
example.com= EXAMPLE.COM
.example.com= EXAMPLE.COM
3 Set the following JVM option to point to your Kerberos configuration file:
-Djava.security.krb5.conf=c:/path-to-krb5.ini
4 If AES-256 encryption ciphers are used, you must use the Java
Cryptography Extension. For more information, see “Configuring the Java
Cryptography Extension” on page 225.
For information about how to determine whether the machine is using
AES-256 encryption, see the SAS Intelligence Platform: Security
Administration Guide.
com.sun.security.jgss.krb5.accept {
com.sun.security.auth.module.Krb5LoginModule required
doNotPrompt=true
principal="principal-name-in-keytab"
useKeyTab=true
keyTab="C:/path-to-http.keytab"
storeKey=true;
};
with this:
<Realm className="com.sas.vfabrictcsvr.realm.GSSContextEstablishedRealm"
allRolesMode="authOnly"/>
Note: For deployments that include SAS Mobile BI, you must modify the
realm so that it can also be used for BASIC authentication.
238 Chapter 18 / Enterprise Integration
TIP These changes should be made to the same section of web.xml that is
required to implement web authentication. You can make the changes to the
web.xml.orig file as described in that task.
a Verify that the check boxes for the following items are selected:
b Click Advanced and add your domain name to the Websites list to
ensure that Internet Explorer recognizes any site with your domain name
as the intranet.
a In the Security level for this zone area, click Custom level.
3 Verify that the proxy server address and port number are correct.
4 Click Advanced.
5 Verify that the correct domain names are entered in the Exceptions field on
the Proxy Settings dialog box.
Support for Integrated Windows Authentication 239
2 Scroll to the Security section and verify that Enable Integrated Windows
Authentication is selected.
1 Click the Chrome menu key on the browser toolbar, and then select
Settings.
a Verify that the check boxes for the following items are selected:
240 Chapter 18 / Enterprise Integration
b Click Advanced and add your domain name to the Websites list to
ensure that Internet Explorer recognizes any site with your domain name
as the intranet.
a In the Security level for this zone area, click Custom level.
3 Verify that the proxy server address and port number are correct.
4 Click Advanced.
5 Verify that the correct domain names are entered in the Exceptions field on
the Proxy Settings dialog box.
2 Scroll to the Security section and verify that Enable Integrated Windows
Authentication is selected.
3 Enter the middle tier host name in the Add this website to the zone: field
and click Add.
Note: For Internet Explorer to pass a forwardable ticket to the SAS middle-tier
machine, the service account in Active Directory holding the SPNs must be
trusted for delegation.
3 Set the value to the SAS Web Server host name: hostname.example.com.
com.sas.services.security.login.OMILoginModule required
"host"="hostname.example.com"
"port"="port_number"
"repository"="Foundation"
"domain"="DefaultAuth"
"trusteduser"="sastrust@saspw"
"trustedpw"="{sas002}1D5793391C1104E20E3CF4CD2A793E2B"
"aliasdomain"="DefaultAuth"
"idpropagation"="sspi"
"sspisecuritypackagelist"="KERBEROS"
"debug"="false";
};
5 Verify that the following values are specified for the Authentication service
fields:
Security package: Negotiate
Service principal name (SPN): Leave blank
Security package list: Kerberos
Fallback Authentication
Container security can be used to achieve single sign-on through IWA, client
certificate authentication, and other authentication methods. You might need to
support multiple authentication methods concurrently. SAS 9.4 supports a
custom fallback authentication security module. On initial request, the security
module attempts to authenticate using a primary authentication method, such as
SPNEGO. If that authentication method fails, the security module will fallback to
the default authentication, SAS form-based authentication.
Note: If your web browser does not support IWA, authentication will fallback to
SAS form-based authentication, which is provided by SAS Logon Manager.
Support for Integrated Windows Authentication 243
1 Configure IWA for the middle tier. For more information, see “Support for
Integrated Windows Authentication” on page 233.
Note: As an alternative to updating the context.xml file, you can edit the
deployed file, SAS-configuration-directory\Levn\Web\WebAppServer
\SASServern_m\conf\Catalina\localhost\SASLogon.xml. This avoids
the need to rebuild and redeploy the application, but you must make sure
your changes are not overwritten if the application is redeployed at a later
date.
The security module supports the following parameters:
Table 18.6 Fallback Security Module Attributes
Client Certificate
To use TLS with client certificate authentication, a client certificate must be
loaded into your web browser. To use the client certificate, follow these steps:
1 Copy the PEM-encoded CA certificate for the CA that signed your client
certificate, root-certificate.pem, to the SAS-configuration-directory
\Levn\Web\WebServer\ssl directory.
The following table provides details about the options that are set in the
httpd-ssl.conf file:
3 Configure SAS Web Application Server to receive and process the client
certificate by editing the SASHome\SASWebInfrastructurePlatform
\9.4\Static\wars\sas.svcs.logon\META-INF\context.xml file and
adding the following configuration:
<Valve className="com.sas.vfabrictcsvr.authenticator.SSLAuthenticator"
fallThrough="false" />
Note: As an alternative to updating the context.xml file, you can edit the
deployed file, SAS-configuration-directory\Levn\Web\WebAppServer
\SASServern_m\conf\Catalina\localhost\SASLogon.xml. This avoids
the need to rebuild and redeploy the application, but you must make sure
your changes are not overwritten if the application is redeployed at a later
date.
Note: This process is used when Client Certificate Authentication is fully
configured.
The security module supports the following parameters:
Support for TLS with Client Certificate Authentication 247
Parameter Description
Parameter Description
3 Follow the steps in the “Web Authentication” on page 210 task, but specify
CLIENT-CERT as the auth-method in the web.xml file for SAS Logon
Manager.
Web Authentication
Web authentication must be enabled before configuring authentication in SAS
Web Server. By default, the first maintenance release for SAS 9.4 does not
enable web authentication. To enable web authentication, follow the steps in the
“Web Authentication” section, with the following exceptions:
n Do not edit either of the following SAS Logon Manager installation files:
SASHome\SASWebInfrastructurePlatform\9.4\Configurable\wars
\sas.svcs.logon\WEB-INF\web.xml.orig or SAS-configuration-
directory\Levn\Web\WebAppServer\SASServern_m\sas_webapps
\sas.svcs.logon.war\WEB-INF\web.xml.
n Do not add any realms to the SAS Logon Manager installation files in the
previous list item.
Note: Ensure that you follow the steps in the section that corresponds to the
maintenance release that you have installed.
http://hostname.example.com/SASLogon/login
You should see the user name in the SAS Web Server access log. The
output should be similar to the following:
ip_address - user_name [20/Mar/2014:14:28:26 -0400] "GET /SASLogon/login" 302 -
RewriteEngine On
RewriteCond %{LA-U:REMOTE_USER} (.+)
RewriteRule . - [E=RU:%1,NS]
RequestHeader set X-Remote-User "%{RU}e" env=RU
</Location>
2 Add a standard Basic Authorization header with the secret password to the
SAS Web Server configuration, substituting your encoded authorization
string. Here is an example:
<Location /SASLogon/login>
AuthType xxxxxx
require valid-user
RewriteEngine On
RewriteCond %{LA-U:REMOTE_USER} (.+)
RewriteRule . - [E=RU:%1]
RequestHeader set X-Remote-User "%{RU}e" env=RU
252 Chapter 18 / Enterprise Integration
On UNIX:
a Set TCHOME=C:\SASHome94\SASWebApplicationServer\9.4.
On UNIX:
java -cp %TCHOME%/lib/com.springsource.org.bouncycastle.jce-1.46.0.jar;
%TCHOME%/tomcat-7.0.55.A.RELEASE/lib/tcServer.jar;%TCHOME%/
tomcat-7.0.55.A.RELEASE/bin/tomcat-juli.jar;%TCHOME%/
tomcat-7.0.55.A.RELEASE/lib/tomcat-coyote.jar
-Dcom.springsource.tcserver.security.PropertyDecoder.
decoder_prefix=s2enc:// com.springsource.tcserver.security.PropertyDecoder
-encode 'tc-server-passphrase' username:password
Note: As an alternative to updating the context.xml file, you can edit the
deployed file, SAS-configuration-directory\Levn\Web\WebAppServer
\SASServern_m\conf\Catalina\localhost\SASLogon.xml. This avoids
the need to rebuild and redeploy the application, but you must make sure your
changes are not overwritten if the application is redeployed at a later date.
Note: The className configuration must be on one line. It is shown on more
than one line in the preceding code sample for display purposes only.
The security module supports the following parameters:
19
Middle-Tier Security
SAS Anonymous Web User . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
About the SAS Anonymous Web User . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
Creating the SAS Anonymous Web User . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
Using the SAS Anonymous Web User with SAS Authentication . . . . . . . . . . . . . 258
Configuring SAS Web Server Manually for HTTPS . . . . . . . . . . . . . . . . . . . . . . . . . 258
Use of TLS with SAS Web Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
Reconfiguring to Use HTTPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
Configuring SAS Web Application Server to Use HTTPS . . . . . . . . . . . . . . . . . . . 263
About Configuring SAS Web Application Server to Use HTTPS . . . . . . . . . . . . . 263
Reconfiguring to Use HTTPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
Setting the Secure Attribute for Session Cookies . . . . . . . . . . . . . . . . . . . . . . . . . . 266
Reverting Manual HTTPS Changes to SAS Web Server . . . . . . . . . . . . . . . . . . . . . 267
Reverting Manual HTTPS Changes to SAS Web Application Server . . . . . . . . 270
FIPS 140-2 Compliance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
About FIPS Compliance in the SAS Middle-Tier . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
Before You Begin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
Configuring SAS Web Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
Configuring SAS Web Application Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
Whitelist of Websites and Methods Allowed to Link to SAS
Web Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
About the Whitelist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
Modifying the Whitelist for URLs and HTTP Request Methods . . . . . . . . . . . . . . 275
Configuring the Cross Domain Proxy Servlet through a Whitelist . . . . . . . . . . 277
About the Whitelist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
Modifying the Whitelist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
Optional Configuration for the Cross Domain Proxy Servlet . . . . . . . . . . . . . . . . . 278
Enabling Support for Forward Proxy Authentication . . . . . . . . . . . . . . . . . . . . . . . 279
Platform applications (SAS BI Web Services and SAS Stored Process Web
Application). This anonymous account is configured with the SAS Deployment
Wizard and is applicable only when SAS authentication is being used. If web
authentication is used, the web application server processes authentication
requests, and this anonymous account has no effect.
1 Create the web anonymous user as an internal account in the metadata. The
SAS Metadata Server must be running.
Note: Alternatively, you can configure the web anonymous user by using an
external account if you need the account to launch a workspace server.
c In the New User Properties window, on the General tab , provide the
name as webanon and the display name as SAS Web Anonymous User.
f On the Groups and Roles tab, move the Visual Analytics: Basic role
from the Available Groups and Roles pane to the Member of pane.
g Click OK.
b Locate the sas002-encoded password in the log and copy the value
(including the {SAS002}). You will use the password in the next step.
vii Click Execute arbitrary SQL queries and enter the following:
INSERT INTO SAS_APPLICATION_PROPERTY (PROPERTYSET_NM, PROPERTY_NM,
PROPERTY_VALUE_TXT) VALUES ('Environment.Properties',
'web.anonymous.userid', 'webanon@saspw');
INSERT INTO SAS_APPLICATION_PROPERTY (PROPERTYSET_NM, PROPERTY_NM,
PROPERTY_VALUE_TXT) VALUES ('Environment.Properties',
'web.anonymous.password' , 'encoded-password');
Note: The previous commands must be entered on one line. They are
shown on multiple lines for display purposes only.
viii Click Execute Query. You should see the following message on the
Messages tab in the Output pane:
Query returned successfully: 1 row affected, 16 ms execution time.
i Navigate to SASHOME/
SASWebInfrastructurePlatformDataServer/9.4/bin.
POSTGRES_HOME=SASHOME/SASWebInfrastructurePlatformDataServer/9.4 export
PATH=${POSTGRES_HOME}/bin:$PATH export LD_LIBRARY_PATH=${POSTGRES_HOME}
/lib:$LD_LIBRARY_PATH
iii Enter the following command. You will be prompted for the
SharedServices user’s password.
If you did not choose to configure with secure sockets during the initial
installation and configuration with the SAS Deployment Wizard, you can
manually configure SAS Web Server to use HTTPS. Follow these steps:
1 Create a private key, generate a certificate signing request, and get a signed
certificate. For more information, see Encryption in SAS.
2 Stop SAS Web Server and all SAS Web Application Server instances.
a Locate the following line and make sure it refers to the HTTPS port that
you want the server to listen on:
Listen 443 https
Note: Be aware that on UNIX platforms, you must start SAS Web Server
as root in order to listen on ports below 1024.
b Locate the following line and make sure it refers to the same HTTPS port:
<VirtualHost _default_:443>
c Locate the following lines for the certificate file and key file and enter the
correct filenames:
SSLCertificateFile "ssl/myhost.crt"
SSLCertificateKeyFile "ssl/myhost.key"
SSLCertificateChainFile "ssl/myhost.crt
6 (Optional) To verify that security has been configured correctly, start SAS
Web Server. Then, access the secure SAS Web Server from your web
browser.
7 For each instance of SAS Web Application Server, edit the SAS-
configuration-directory\Levn\Web\WebAppServer\SASServern_m
\conf\server.xml file and make the following changes to the Connector
element:
260 Chapter 19 / Middle-Tier Security
8 Use SAS Management Console to update the protocol and port number for
each web application. For more information, see “Specifying Connection
Properties” on page 64.
CAUTION! Do not modify the connection properties for DP-SAS-
Environment-Manager. However, the connection properties for
Environment Mgr Mid-Tier should be changed.
Note the following items:
n The connection properties for Environment Mgr Mid-Tier should be
changed.
n When you log on to SAS Management Console to update the connection
properties (by navigating to the Plug-ins tab and selecting Application
Management Configuration Manager), view the Properties of each
web application that is listed, to determine whether there is connection
information that needs to be updated.
n To change the connection properties for SAS Visual Analytics, expand the
sub-trees and apply the change to each SAS Visual Analytics application
and service. Also, for Visual Analytics, change the connection properties
for Search Interface to SAS Content.
n Some SAS users prefer to update these values using a SAS DATA step.
This approach is beyond the scope of this task. If you do choose to
modify these connections using a SAS script rather than SAS
Management Console, the SAS_THEME table in SharedServices DB will
not be modified. It is possible to manually update this database entry.
However, the simplest solution is to use SAS Management Console to
modify the Themes Connection, even if you use a script to configure the
rest of these values.
n Change the port and protocol for SASTheme_default. From SAS
Management Console, navigate to the Plug-ins tab and select
Application Management Configuration Manager
SASTheme_default. View the Properties to determine whether there is
connection information that needs to be updated.
10 For the second maintenance release of SAS 9.4 and previous releases, if the
certificate that you use is not signed by a certificate authority (CA) that would
be located in the JRE default truststore (for example, VeriSign), then add all
the CA certificates in the chain to the SAS Private JRE truststore (the cacerts
file). Do this for all middle tier machines before starting any servers.
You must also import the certificate chain for server-tier machines to support
any Java clients such as PROC SOAP. Also do this for client tier products.
To add certificates into the SAS Private JRE truststore, complete the
following steps:
b Import your self-signed or site-signed certificate into the SAS Private JRE
default truststore (cacerts).
Importing a certificate into a Java keystore or truststore is accomplished
with the Java keytool - importcert command. The location of
cacerts in the SAS Private JRE is as follows: SAS-installation-
directory/SASHome/
SASPrivateJavaRuntimeEnvironment/9.4/jre/lib/security
For example, on Windows, the command that you run is similar to this:
cd C:\Program Files\SASHome\SASPrivateJavaRuntimeEnvironment\9.4\jre\lib\security
..\..\bin\keytool -importcert -keystore cacerts -file mycert.crt
For the third maintenance release of SAS 9.4, use the SAS Deployment
Manager to import your CA certificates into the trusted CA bundle. You need
to specify the location of your self-signed or site-signed CA certificate to the
SAS Deployment Manager, and it will update the SAS Private JRE for you.
For more information, see “Add Your Certificates to the Trusted CA Bundle”
in SAS Intelligence Platform: Installation and Configuration Guide.
UNIX Specifics: For the second maintenance release of SAS 9.4 and
earlier, for the server tier, you can create a base64 encoded certificate chain
file that contains all trust certificates in the chain and use the file in the
SSLCALISTLOC= SAS system option. Create the chain file by concatenating
the individual CA base64 files. For more information, see Encryption in SAS.
For the third maintenance release of SAS 9.4 and later, this step is no longer
needed.
Windows Specifics: For server and client tiers machines, add any required
CA certificates to the Windows truststore.
13 For SAS Visual Analytics deployments, perform the following steps with SAS
Management Console to confirm that the SAS LASR Authorization Service
URI is updated:
b For each SAS LASR Analytic Server, select the server to display the
connection information in the right panel. Right-click the connection and
select Properties.
c Select the Options tab. Make sure the Use LASR authorization service
check box is selected and that the URI includes the HTTPS protocol and
port number. Click OK.
Note: You must perform these steps so that the HTTPS connection
information is saved in metadata.
262 Chapter 19 / Middle-Tier Security
If the URI does not include the HTTPS protocol and port number, confirm
that the LASRAuthorizationService REST and
LASRKeyRegistrationService REST Connection protocol and port
properties have been changed to HTTPS.
iii Select the Connection tab. Change the Communication Protocol and
Port Number to the appropriate HTTPS values. Click OK.
14 Depending on which products you have installed, you might have to update
the SAS-configuration-directory\Levn\Web\WebServer\htdocs\sas
\sas-environment.xml file. For more information, see “Customizing the
SAS Environment File” on page 313.
service.properties file. Locate the following line and enter the correct
information for your environment:
url.base=https\://server/
16 Update the SAS Content Server JVM options with the new HTTPS URI
values that were specified in Step 15. Otherwise, users will not be able to
access the SAS Content Server administration console.
The following JVM options must be updated:
n -Dsas.scs.cas.host
n -Dsas.scs.cas.port
n -Dsas.scs.cas.scheme
n -Dsas.scs.svc.host
n -Dsas.scs.svc.port
n -Dsas.scs.svc.scheme
For a description of each JVM option and more information, see Table 10.1
on page 118.
See Also
• Encryption in SAS
• SAS Intelligence Platform: Installation and Configuration Guide
are not exposed to web browsers directly, self-signed certificates are sufficient
and allow longer expirations than signed certificates.
Note: The manual TLS configuration changes must be reverted to the original
non-TLS values before applying any maintenance releases or upgrades to the
system. For more information, see “Reverting Manual HTTPS Changes to SAS
Web Application Server” on page 270. Once maintenance or upgrades have
been applied, the manual TLS configuration steps can be reapplied to the
upgraded system.
In order to use HTTPS between SAS Web Server and SAS Web Application
Server, follow these steps:
1 Create a JKS format keystore with the key and self-signed certificate, export
the certificate, and convert it to a PEM encoded file. The following example
creates a certificate that is valid for 10 years:
keytool –genkeypair –keyalg RSA –alias myhost –keystore myhost.jks
–storepass changeit –validity 3650
Note: Enter the fully qualified machine name at the prompt asking for your
first and last name.
Note: Make sure the alias is unique for this certificate.
keytool –exportcert –alias myhost –keystore myhost.jks
–storepass changeit –file myhost.crt
openssl x509 –in myhost.crt –inform DER –out myhost.pem –outform PEM
Note: Each keytool command must be on one line. They are shown on
more than one line in the preceding code sample for display purposes only.
Note: Make sure the alias is the same value that is used in the first keytool
command above.
2 For the second maintenance release of SAS 9.4 and previous releases, add
the self-signed certificate to the JRE default truststore. If there are multiple
machines, add the certificate to the JRE default truststore on each machine
and choose a different alias for each certificate.
keytool –importcert –keystore "SASHome\SASPrivateJavaRuntimeEnvironment\9.4\jre
\lib\security\cacerts" –storepass changeit –alias myhost –file myhost.crt
Note: The keytool command must be on one line. It is shown on more than
one line in the preceding code sample for display purposes only.
Note: Make sure the alias is the same value that is used in the first keytool
command above.
Note: The cacerts file can be found in the SASHOME
\SASPrivateJavaRuntimeEnvironment\9.4\jre\lib\security
directory.
For information about the openssl and keytool commands, see the vendor
documentation.
For the third maintenance release of SAS 9.4, add the self-signed certificate
(the Base-64 encoding certificate, myhost.pem) to the trusted CA bundle,
using the SAS Deployment Manager. For more information, see SAS
Deployment Wizard and SAS Deployment Manager: User's Guide, available
at http://support.sas.com/documentation/installcenter/en/ikdeploywizug/
66034/PDF/default/user.pdf.
Configuring SAS Web Application Server to Use HTTPS 265
Note: Once you have completed your changes and confirmed that SAS Web
Application Server is using HTTPS, edit the server.xml file again and remove
the Connector element that was left using HTTP.
Note: This step must be repeated for each server that uses HTTPS.
Note: Make sure the keystorePass value is the same value used in Step 1
on page 264 when generating the JKS file, especially if you changed the
default value (which is “changeit”).
4 For SAS Web Application Server, set or add the following JVM options,
ensuring that you choose the correct HTTPS port that SAS Web Application
Server is listening on. For SASServer1_1:
-Dsas.scs.port=8443
-Dsas.scs.scheme=https
-Dsas.auto.publish.port=8443
-Dsas.auto.publish.protocol=https
Note: The HTTPS port used by SAS Web Application Server can be found
in the catalina.properties file by looking for the bio.https.port property.
Also, for SASServern_m, add the following option:
-Dsas.auto.publish.protocol=https
a Edit SAS-configuration-directory\Levn\Web\WebServer\conf
\sas.conf and change the BalancerMember directives to use https as
the protocol and the HTTPS port that SAS Web Application Server is
listening on. See the following example:
BalancerMember https://myhost.example.com:8443
route=myhost.example.com_SASServer1_1
266 Chapter 19 / Middle-Tier Security
Note: There are BalancerMember directives for both a single server and
a server cluster. Each cluster member must have a different port number.
For example, theBalancerMember directive for the second server in a
cluster can specify:
BalancerMember https://myhost.example.com:8154
route=myhost.example.com_SASServer2_1
b Edit SAS-configuration-directory\Levn\Web\WebServer\conf
\sas.conf and add the following directives to the top of the file:
SSLProxyEngine on
SSLProxyVerify require
SSLProxyVerifyDepth 10
SSLProxyCACertificateFile "/path-to/myhost.pem"
2 For each instance of SAS Web Application Server, edit the SAS-
configuration-directory\Levn\Web\WebAppServer\SASServern_m
\conf\server.xml file and make the following changes to the Connector
element:
n Change the proxyPort attribute to specify the HTTP listen port.
3 Use SAS Management Console to update the protocol from HTTPS to HTTP
and change the port number for each web application. For more information,
see “Specifying Connection Properties” on page 64.
268 Chapter 19 / Middle-Tier Security
5 For SAS Visual Analytics deployments, perform the following steps with SAS
Management Console to confirm that the SAS LASR Authorization Service
URI is updated:
b For each SAS LASR Analytic Server, select the server to display the
connection information in the right panel. Right-click the connection and
select Properties.
c Select the Options tab. Make sure the Use LASR authorization service
check box is selected and that the URI includes the HTTP protocol and
port number. Click OK.
Note: You must perform these steps so that the HTTP connection
information is saved in metadata.
Reverting Manual HTTPS Changes to SAS Web Server 269
6 Depending on which products you have installed, you might have to update
the SAS-configuration-directory\Levn\Web\WebServer\htdocs\sas
\sas-environment.xml file. For more information, see “Customizing the
SAS Environment File” on page 313.
c Starting at the third maintenance release of SAS 9.4, you must edit the
SAS-configuration-directory\Levn\Web
\SASEnvironmentManager\server-version-EE\hq-engine\hq-
server\webapps\ROOT\WEB-INF\classes\identity-
service.properties file. Locate the following line and enter the correct
information for your environment:
url.base=http\://server/
8 Update the SAS Content Server JVM options with the original HTTP URI
values that were specified in Step 7.
The following JVM options must be updated:
n -Dsas.scs.cas.host
n -Dsas.scs.cas.port
n -Dsas.scs.cas.scheme
n -Dsas.scs.svc.host
n -Dsas.scs.svc.port
n -Dsas.scs.svc.scheme
For a description of each JVM option and more information, see Table 10.1
on page 118.
9 To verify the reversion to non-TLS is complete, restart the SAS Web Server.
Then, access the SAS Web Server from your web browser.
270 Chapter 19 / Middle-Tier Security
Note: This step must be repeated for each server that was configured to use
HTTPS.
2 For SAS Web Application Server, set or add the following JVM options,
ensuring that you choose the correct HTTP port that SAS Web Application
Server is listening on. For SASServer1_1:
-Dsas.scs.port=http-port
-Dsas.scs.scheme=http
-Dsas.auto.publish.port=http-port
-Dsas.auto.publish.protocol=http
Note: The HTTP port used by SAS Web Application Server can be found in
the catalina.properties file by looking for the bio.http.port property.
Also, for SASServern_m, add the following option:
-Dsas.auto.publish.protocol=http
a Edit SAS-configuration-directory\Levn\Web\WebServer\conf
\sas.conf and change the BalancerMember directives to use http as
FIPS 140-2 Compliance 271
the protocol and the HTTP port that SAS Web Application Server is
listening on. See the following example:
BalancerMember http://myhost.example.com:http-port
route=myhost.example.com_SASServer1_1
Note: There are BalancerMember directives for both a single server and
a server cluster. Each cluster member must have a different port number.
For example, the BalancerMember directive for the second server in a
cluster can specify:
BalancerMember http://myhost.example.com: http-port
route=myhost.example.com_SASServer2_1
b Edit SAS-configuration-directory\Levn\Web\WebServer\conf
\sas.conf and remove the following directives from the top of the file:
SSLProxyEngine on
SSLProxyVerify require
SSLProxyVerifyDepth 10
SSLProxyCACertificateFile "/path-to/myhost.pem"
5 The secure attribute for cookies directs a web browser to send the cookie
only through an encrypted HTTPS connection. To no longer allow SAS Web
Application Server to return the session ID with the secure attribute, follow
these steps:
n OpenSSL libraries
In the first maintenance release for SAS 9.4 and earlier, the binaries for the APR
libraries that were shipped with SAS have a known issue that prevents them
from being used. If your deployment is not current with the second maintenance
release for SAS 9.4 or later, contact SAS Technical Support for assistance with
getting the native libraries for your platform.
Note: Some subsequent deployment steps (for example, adding a SAS web
application, performing an update in place, and reconfiguring a SAS web
application) overwrites the web application server and web server configuration
files. Therefore, the steps in this section must be reverted before doing any of
these subsequent deployment steps. After the deployment steps are complete,
the manual steps for configuring HTTPS and FIPS will need to be redone. Make
a copy of the files in the steps below before modifying them to assist in reverting
these steps, if necessary.
Note: In this mode, the server establishes connections only with clients that
use the TLSv1 protocol and strong encryption.
FIPS 140-2 Compliance 273
Note: The keytool command must be on one line. It is shown on more than
one line in the preceding code sample for display purposes only.
2 Edit the script files for SAS Web Application Server to use the APR libraries
that are provided by SAS.
For Windows deployments, edit the SASServer1_1\conf\wrapper.conf file to
include lines similar to the following example:
Example Code 19.1 Changes to wrapper.conf for Windows
# Java Library Path
wrapper.java.library.path.1=%CATALINA_BASE%\bin\winx86_64
wrapper.java.library.path.2=c:\Program Files\SASHome\SASWebServer\9.4\
httpd-2.2\bin
For the third maintenance release of SAS 9.4 on UNIX, edit the
SASServer1_1/bin/tcruntime-ctl.sh file to include lines similar to the
following examples, based on your release of SAS 9.4:
Example Code 19.3 Changes to tcruntime-ctl.sh for UNIX
LD_LIBRARY_PATH="/install/cfgsas1/SASHome/SASWebServer/9.4/httpd-2.2.29.1-64/lib"
export LD_LIBRARY_PATH
Note: If you obtained the libraries from SAS Technical Support, provide the
path to the location where you downloaded the libraries.
4 Restart SAS Web Application Server and monitor the logs\server.log file.
Log entries similar to the following indicate successful configuration:
[org.apache.catalina.core.AprLifecycleListener] APR capabilities: IPv6 [true],
sendfile [true], accept filters [false], random [true].
[org.apache.catalina.core.AprLifecycleListener] Initializing FIPS mode...
[org.apache.catalina.core.AprLifecycleListener] Successfully entered FIPS mode
[org.apache.catalina.core.AprLifecycleListener] OpenSSL successfully
initialized (OpenSSL 1.0.1c-fips 10 May 2012)
The previous steps are based on the procedure that is provided by VMware at
http://pubs.vmware.com/vfabric51/index.jsp?topic=/com.vmware.vfabric.tc-
server.2.7/admin/manual-fips-140-mode.html. The steps are modified to include
Whitelist of Websites and Methods Allowed to Link to SAS Web Applications 275
directory paths that are used in a SAS deployment and to configure SAS Web
Application Server to use HTTPS.
1 Click Add and specify one of the following properties and required
values:
Table 19.1 Whitelist Property Descriptions
1 Click Add.
See Also
• “Specifying JVM Options” on page 38
• “Specifying Connection Properties” on page 64
Enabling Support for Forward Proxy Authentication 279
n basic authentication
The following table displays the JVM options that are required for each
configuration:
See Also
“Specifying JVM Options” on page 38
281
Part 5
Tools and Utilities
Chapter 20
Using the SAS Web Infrastructure Platform Utilities . . . . . . . . . . . . . . . . . 283
Chapter 21
SAS Configuration Scripting Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
282
283
20
Using the SAS Web Infrastructure
Platform Utilities
Using the DAVTree Utility to Manage WebDAV Content . . . . . . . . . . . . . . . . . . . . . 283
About the DAVTree Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
Start the Utility and Connect to a WebDAV Location . . . . . . . . . . . . . . . . . . . . . . . 284
Add Resources to WebDAV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
Edit a Text File in WebDAV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
Copy or Move a File in WebDAV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
Advanced Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
Using the Package Cleanup Utility to Remove Packages . . . . . . . . . . . . . . . . . . . 286
Overview of the Package Cleanup Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
Deleting Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
List Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
Utility Logging and Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
Using JMX Tools to Manage SAS Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
About JMX and MBeans . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
Accessing the SAS MBeans . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
Understanding How to Use the SAS MBeans . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
In the interface, you see only the content that you are authorized to see.
SAS-configuration-directory\Levn\Web\Utilities\DAVTree.bat
On UNIX:
SAS-configuration-directory/Levn/Web/Utilities/DAVTree.sh.
The DAVTree utility appears.
3 In the URL field, enter the URL for a WebDAV location. For example, enter
the following URL and substitute the server name and port number of your
WebDAV server (SAS Content Server):
http://server:port/SASContentServer/repository/default/
4 If the WebDAV server was set up with a proxy, enter the proxy host and port.
Note: To delete a resource, select the resource in the tree and then select Edit
Delete. You are prompted to confirm the deletion.
3 Select Resource.
4 In the field to the left of the Resource radio button, enter the name of the text
file. If a file already exists with the name that you provide, the file is
overwritten.
The example shows a file with the name myFile.txt.
5 In the field below the Resource radio button, enter the text that you want the
file to contain. Press Enter to start a new line.
The example shows a file that contains the text string “Contents of
myFile.txt.”
6 If you want to define a custom WebDAV property, click New property. Two
text fields appear in the gray properties panel. In the left field, add the
property name. In the right field, enter the property value.
7 Click OK.
Create a Folder
1 Position the cursor on the folder where you want to create the new folder.
You are prompted to confirm the action, and then an Add dialog box appears.
3 Select Collection.
4 In the field to the left of the Collection radio button, enter the name that you
want to give the folder.
5 Click OK.
286 Chapter 20 / Using the SAS Web Infrastructure Platform Utilities
1 Right-click the text file and select Edit. The Edit File dialog box appears and
displays the contents of the file.
3 Click Save.
Advanced Features
The DAVTree utility can be used as a diagnostic tool. The utility provides
features such as locking files, versioning files, and modifying WebDAV
properties.
CAUTION! These are advanced WebDAV functions. These functions are not
described in this document. These functions should be performed only by someone
who has WebDAV expertise.
On Windows:
SAS-configuration-directory\Levn\Web\Utilities\PackageCleanup.bat
On UNIX:
SAS-configuration-directory/Levn/Web/Utilities/PackageCleanup.sh.
The Package Cleanup utility enables you to review basic information about a
persisted package and delete both the metadata and the actual package.
Deletions are based on the expiration date of the package. This utility supports
the deletion of packages from either type of persistent store (archive or
WebDAV). The utility also supports the deletion of packages that are not defined
in any channel.
The Package Cleanup utility also supports a listing feature. The utility can be
used to display information about packages that are published in a particular
channel, packages that are not defined in any channel, and packages that exist
on a WebDAV server.
Note: You must have the appropriate permissions on a channel in order to
delete packages from the channel. See the “Authorization Model” chapter in the
SAS Intelligence Platform: Security Administration Guide.
Deleting Packages
Delete Packages
To delete packages, follow these steps:
1 Run the command and specify the deletion date. You can also provide one of
the following arguments:
n a channel name in order to delete packages that are defined in a specific
channel
n a WebDAV URL in order to delete packages that are in the specified
WebDAV location
Note: If you do not provide the channel or WebDAV URL, then the utility
deletes only orphaned packages that are not defined for any channel or
WebDAV URL.
After you run the command, the utility displays a list of packages that match
your deletion criteria and prompts you to confirm deletion.
The utility deletes all packages in the specified channel that expire before the
date and time specified.
Here is the minimal syntax for deleting packages that are not defined in a
channel:
PackageCleanup
-d expiration-date
-metauser Metadata-Server-username
-metapass Metadata-Server-password
-domain authentication-domain
Here is the minimal syntax for deleting packages that are defined in a WebDAV
server:
PackageCleanup
-url WebDAV-URL
-username WebDAV-Server-username
-password WebDAV-Server-password
-d expiration-date
-metauser Metadata-Server-username
-metapass Metadata-Server-password
-domain authentication-domain
List Packages
To obtain a list of packages, run the command and specify the -list option.
You can also provide one of the following arguments:
n a channel name in order to list packages that are defined in a specific
channel
Using the Package Cleanup Utility to Remove Packages 289
n a WebDAV URL in order to list packages that are in the specified WebDAV
location
Note: If you do not provide the channel or WebDAV URL, then the utility
displays only orphaned packages that are not defined for any channel or
WebDAV URL.
The LIST option lists the following information for each package:
n package name
Here is the minimal syntax for listing packages that are defined in a channel:
PackageCleanup
-list
-ch channel-name
-metauser Metadata-Server-username
-metapass Metadata-Server-password
-domain authentication-domain
Here is the minimal syntax for listing packages that are not defined in a channel:
PackageCleanup
-list
-metauser Metadata-Server-username
-metapass Metadata-Server-password
-domain authentication-domain
Here is the minimal syntax for listing packages that are defined in a WebDAV
server:
PackageCleanup
-list
-url WebDAV-URL
-username WebDAV-Server-username
-password WebDAV-Server-password
-metauser Metadata-Server-username
-metapass Metadata-Server-password
-domain authentication-domain
Arguments
The utility supports the following arguments:
-channel | -chchannel-name
Specify the channel that contains the packages that you want to list or delete.
-deletionDate | -d"expiration-date"
Specify the expiration date and time for the packages to be deleted. You can
also use this argument when you list packages. The utility deletes or lists
packages that have an expiration date before the date and time that you
specify. The date and time should be enclosed in quotation marks. Format:
“yyyy.MM.dd at hh:mm”
-list
The utility displays a list of packages (no deletion occurs).
-metauser Metadata-Server-username
Specify the user name to use when connecting to the SAS Metadata Server.
290 Chapter 20 / Using the SAS Web Infrastructure Platform Utilities
-metapass Metadata-Server-password
Specify the password to use when connecting to the SAS Metadata Server.
-domain authentication-domain
Specify the authentication domain for the SAS Metadata Server.
-package | -pkg package-name
Specify the name of a package to delete.
-url WebDAV-URL
Specify the WebDAV URL to use to locate packages to delete.
-username WebDAV-username
Specify the user name to use to connect to a WebDAV server.
-password WebDAV-password
Specify the password to use to connect to a WebDAV server.
-logfile | -log file-name
Specify the name of a log file to create. If the log file already exists, then the
log lines are appended to the current file.
-noprompt
The utility does not prompt for confirmation of deletions.
-deletenodate
The utility lists or deletes packages that do not have an expiration date.
-prompteach
The utility prompts you to confirm each package individually for deletion.
-debug
The utility produces debugging information for all the SAS Foundation
Services.
-help
The utility displays this help information. (You must also provide the -
metauser, -metapass, and -domain arguments in order to get the Help
information.)
Examples
This example deletes all packages published to the Sales channel that have an
expiration date before October 7, 2009, at 12:59 p.m.
PackageCleanup -ch Sales -d "2009.10.07 at 12:59 PM" -metauser userX
-metapass passX -domain DefaultAuth
Using JMX Tools to Manage SAS Resources 291
This example uses the PROMPTEACH option, which enables you to confirm
deletion of each package individually.
PackageCleanup -ch Sales -d "2009.10.07 at 12:59 PM" -metauser userX
-metapass passX -domain DefaultAuth -prompteach
This example deletes a specific package that is defined in the Sales channel.
The PKG option is specified to identify the exact package to delete. In this
example, the package is named s109513698.spk and has an expiration date of
October 7, 2009, at 12:59 p.m.
PackageCleanup -ch Sales -d "2009.10.07 at 12:59 PM" -pkg s109513698.spk
-metauser userX -metapass passX -domain DefaultAuth
This example deletes all packages that are not defined in any channel. Only
packages that are not defined in a channel and have an expiration date before
October 7, 2009, at 10:00 a.m. are deleted.
PackageCleanup -d "2009.10.07 at 10:00 AM" -metauser userX -metapass passX
-domain DefaultAuth
This example deletes packages that have been published to a WebDAV server.
The utility connects to the server using the specified URL and deletes all
packages published to that location that have an expiration before October 7,
2009, at 05:00 a.m.
PackageCleanup -d "2009.10.07 at 05:00 AM" -url http://myhost.com/Sales/Packages
-username davUserX -password davPasswordX -metauser userX -metapass passX
-domain DefaultAuth
This example deletes a specific package from a WebDAV server. The PKG
option is used to provide the name of the package to delete. The utility connects
to the server using the specified URL and deletes the package named
s3964865240.
PackageCleanup -d "2009.10.07 at 12:59 PM" -metauser userX -metapass passX
-domain DefaultAuth -url http://myhost.com/Sales/Packages -username davUserX
-password davPasswordX -pkg s3964865240
This example lists packages (does not delete) by using the LIST option. Note
that the -d argument is not required when listing packages. This example lists all
packages that are published in the Sales channel.
PackageCleanup -list -ch Sales -metauser userX -metapass passX
-domain DefaultAuth
This example uses the LIST option to list all packages with an expiration date
before October 7, 2009, at 12:00 p.m.
PackageCleanup -ch Sales -d "2009.10.07 at 12:00 PM" -metauser userX
-metapass passX -domain DefaultAuth -prompteach -list
and resuming servers. You can also use the interfaces to monitor the health of
the servers via real-time and historical metrics. Java Management Extensions
(JMX) is a Java technology that supplies tools for managing and monitoring
applications, system objects, devices (such as printers), and service-oriented
networks. JMX managed beans, known as MBeans, have been implemented to
provide a standard way of managing SAS resources.
1 Enable access to the MBeans from the web application server. See
“Configure the Web Application Server to Enable JMX Client Access” on
page 292.
2 Use an application to connect and access the SAS MBeans. Follow the
specific instructions for your JMX tool. For information about using the
JConsole tool, see “Manage SAS Resources Using JConsole” on page 292.
Specify the following JVM argument to access the MBeans from a remote
system. Replace portNum with the port number to use for JMX RMI connections:
com.sun.management.jmxremote.port=portNum
com.sun.management.jmxremote.ssl=true | false
To access information about SAS resources using JConsole, follow these steps:
2 Enter the host on which the JVM is running, along with the port where
the RMI connector was registered.
3 Select the MBeans tab. This tab displays a tree view of all the registered
MBeans.
6 In the right pane, select the Operations tab. You can now see the operations
(listing, stopping, pausing, and so on) so that you can list the defined SAS
servers and manage your running SAS servers. When you invoke one of the
manage-server operations, a new MBean is registered. The MBean is
connected to the specified, running SAS server. The newly registered MBean
can then be used to manage and monitor that particular SAS server.
n Spawner MBean
n Server MBean
ServerFactory MBean
The ServerFactory MBean is the starting point for managing SAS servers. This
MBean is registered during deployment of the SAS Web Infrastructure Platform
and is named as follows:
294 Chapter 20 / Using the SAS Web Infrastructure Platform Utilities
com.sas.services:type=ServerFactory
Spawner MBean
The Spawner MBean is created whenever an IOM Spawner is identified in one
of the ServerFactory MBean's manageServer operations. The name of the
registered MBean uses the form:
com.sas.services:type=Server,serverType=Spawner,
name="Server Name",
host=Host Name,port=Port
The Spawner MBean enables you to manage and monitor the running Object
Spawner. You can perform SAS Spawner operations such as stop, pause, and
resume.
Here are some commonly used Spawner MBean attributes:
n the number of times the counters have been reset
Server MBean
The Server MBean is created whenever a SAS server is identified in one of the
ServerFactory MBean's manageServer operations or when a server is managed
via the Spawner MBean's manageLaunchedServer(s) operation.
A server MBean can represent a SAS Workspace Server, a SAS Stored Process
Server, a SAS Metadata Server, or a SAS OLAP Server. The name of the
registered SAS Server MBean uses one of these three forms:
com.sas.services:type=Server, serverType=Workspace, logicalServer=
"LogicalServerName", name="Server Name",
instanceid="Unique instance ID"
The Server MBean enables you to manage and monitor the running SAS server.
You can perform server operations such as stop, pause, and resume.
Here are some commonly used Server MBean attributes:
n the number of times the counters have been reset
21
SAS Configuration Scripting Tools
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
Special Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
Scripting Tool for SAS Web Application Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
Rebuilding the Configuration for SAS Web Application Server . . . . . . . . . . . . . . 300
Executing a Batch Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
Executing a Single Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
Properties Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
Overview
The configuration scripting tools enable administrators to perform the following
tasks:
n Create the configuration for SAS Web Application Server rather than
following the manual instructions. If the automatic configuration option
was disabled in the SAS Deployment Wizard, then the SAS Deployment
Wizard provides an Instructions.html file that describes the configuration
steps to perform the web application server configuration. You can use the
configuration scripting tools to perform these steps automatically instead of
manually.
n Rebuild the web application server configuration. The results are
identical to what is performed by the SAS Deployment Wizard and SAS
Deployment Manager.
The SAS configuration scripting tools also enable an administrator to perform
the following additional tasks:
n Use a command line to perform a configuration operation on a single
resource. For example, creating a server instance can be performed with a
single command.
n Edit property files that are associated with specific resources and then
update the resources with the configuration scripting tools.
n Use existing property files as templates for creating additional resources. For
example, an administrator can copy the definitions for SASServer1 to a new
file and then use it as a template to create a new server instance.
298 Chapter 21 / SAS Configuration Scripting Tools
Special Considerations
n If you are rebuilding or reconfiguring a web application server, then make
sure that all the web application servers are stopped.
n If you encounter errors while configuring a web application server, review the
properties that are being used by the tool and rerun the tool. The tool can be
run many times without deleting the configuration between runs, so long as
the server is not running. If the server starts in between runs, there can be
locks on files that prevent subsequent runs from succeeding.
Command Syntax
Command Syntax
The positional command syntax is as follows:
<operation> <resourceType> <targetName> <scope ...>
The following example shows the commands for starting a server and deploying an
application:
start server SASServer1 global global
deploy application SASWIPAdmin9.4 server SASServer1
TIP You can deploy all applications with deploy application all
server SASServer1.
Scripting Tool for SAS Web Application Server 299
Resource Types
The following table provides a list of resource types and identifies the operations
and scope that apply to the resource type.
Managing Credentials
Credentials are required to configure resources such as data sources and login
modules. You can store credentials in the SAS-configuration-directory
\Lev1\Web\Scripts\AppServer\props\credentials.properties file.
By default, the SAS Deployment Wizard does not persist credentials in the
specified file. When you run the configuration scripting tool, you are prompted for
all credentials that are required to configure the resources—but are not specified
in the credentials.properties file.
If the option to cache credentials was enabled when the SAS Deployment
Wizard was run, then the credentials are stored in the credentials.properties file.
In this case, the configuration scripting tool reads the credentials from the file
rather than prompting for them. When the Update passwords feature of the SAS
Deployment Manager is used, the passwords for the login modules and mail
300 Chapter 21 / SAS Configuration Scripting Tools
sessions are updated in the credentials file. Passwords for data source
definitions are not updated.
Log File
Details for the command execution are stored in the SAS-configuration-
directory\Lev1\Web\Scripts\AppServer\logs\config.log file. The
SAS Deployment Wizard invokes the configuration scripting tool, so this file
already contains messages for an installed system. This file can be useful for
troubleshooting middle-tier configuration tasks performed with the SAS
Deployment Wizard and the SAS Deployment Manager.
The following example shows the commands for undeploying and redeploying
the SAS Web Application Themes:
undeploy application SASThemes9.4 server SASServer1
deploy application SASThemes9.4 server SASServer1
If you are creating a resource that requires credentials, such as a data source,
remember to create property keys in the credentials.properties file.
Properties Reference
Global Properties
A properties file is used by the configuration scripting tool to configure SAS Web
Application Server. This properties file is found in SAS-configuration-
directory\Lev1\Web\Scripts\AppServer\props
\appserver.properties. Each of the global properties are described in the
following list:
Scripting Tool for SAS Web Application Server 301
global.1.activeMQInstallDir
identifies the path to the JMS Broker software.
global.1.autoConfigure
is a Boolean value. If set to false, then manual configuration is requested
and the SAS Deployment Wizard creates a sample domain and configures
servers in off-line mode only. All configuration steps that are run outside of
SAS Deployment Wizard and SAS Deployment Manager are automated
regardless of this setting.
global.1.autoDeploy
is a Boolean value. If set to false, then the SAS Deployment Wizard does
not deploy the SAS web applications. This property is not used by the
configuration scripting tool. This property is used by SAS Deployment Wizard
to generate documentation.
global.1.configLevWebDir
identifies the path to SAS-configuration-directory\Levn\Web.
global.1.configLevWebStagingDir
identifies the path to SAS-configuration-directory\Levn\Web
\Staging.
global.1.containerType
identifies SAS Web Application Server. The supported value is
vfabrictcsvr.
global.1.deployAgentPickList
identifies the path to the picklist for the deployment agent client. The picklist
specifies the versions of libraries to load.
global.1.gemFireInstallDir
identifies the path to the Cache Locator software.
global.1.isDeleted
is a Boolean value. If set to true, then this resource has been marked as
deleted.
global.1.isScsPrimary
is a Boolean value. If set to true, then the SAS Content Server that is
deployed on this machine is the primary instance.
global.1.jmsSecurity
is a Boolean value. This property is not used by the configuration scripting
tool. This property is used by SAS Deployment Wizard to generate
documentation.
global.1.jreHome
identifies the path to SAS-home\SASPrivateRuntimeEnvironment
\9.4\jre.
global.1.osType
identifies the operating system for the SAS middle-tier machines. Valid
values are win, unx, or zos.
global.1.runasService
identifies whether SAS Web Application Server is managed as a Windows
service.
global.1.scriptingDir
identifies the path to SAS-configuration-directory\Levn\Web
\Scripts.
302 Chapter 21 / SAS Configuration Scripting Tools
global.1.scriptingServerDirName
identifies the directory name that the configuration scripting tool uses. For
SAS Web Application Server, this value is AppServer.
global.1.tcServerInstallDir
identifies the path to SAS-home\SASWebApplicationServer\9.4.
global.1.tcServerInstanceDir
identifies the path to SAS-configuration-directory\Levn\Web
\WebAppServer.
global.1.tcServerName
identifies the product name for the server. The default value is SAS Web
Application Server.
global.1.tcServerVendor
identifies the vendor that supplied the web application server software. The
default value is SAS.
global.1.tcServerVersion
identifies the version of SAS Web Application Server. The default value is
9.4.
global.1.vjrDirectory
identifies the path to SAS-home\SASVersionedJarRepository\eclipse.
global.1.webServerCommonDir
identifies the path to SAS-configuration-directory\Levn\Web\Common
\WebServer.
global.1.webServerHost
identifies the host name for the SAS Web Server.
global.1.webServerHttpPort
identifies the network port number that the SAS Web Server uses for HTTP.
global.1.webServerHttpsPort
identifies the network port number that the SAS Web Server uses for HTTPS.
global.1.webServerInstanceDir
identifies the path to SAS-configuration-directory\Levn\Web
\WebServer.
global.1.webServerIsConfigured
is a Boolean value. Indicates whether the SAS Deployment Wizard was
requested to configure the SAS Web Server.
global.1.webServerOsType
identifies the operating system for the SAS middle-tier machines. Valid
values are win or unx.
global.1.webServerProtocol
identifies the protocol that is used by the SAS Web Server. Valid values are
http or https.
global.1.webServerRemoteInstanceDir
identifies the path to SAS-configuration-directory\Levn\Web
\WebServer. This property is used when SAS Web Server is deployed on a
different operating system than SAS Web Application Server.
global.1.windowsServiceNamePrefix
identifies the service name prefix when SAS Web Application Server is
managed as a Windows service. A sample value is SAS [Config-Lev1].
Scripting Tool for SAS Web Application Server 303
Credential Properties
All properties that are related to credentials are stored in the
credentials.properties file. The tool prompts you for these properties. This
properties file does not need to be edited directly. These values are cleared from
the file after the tool completes if the global property
webappsrvScriptingCacheCredentials is set to false. When stored, these
values are stored in SAS base-64 encoding, not clear-text. If you chose to store
passwords in this file, then they are updated when you use the Update
passwords feature of the SAS Deployment Manager.
datasource.create_resource_passwd
is the data source user password.
datasource.create_resource_userid
is the data source user name.
domain.createloginmodule_SASTrust_passwd
is the SAS Trusted User password.
domain.createloginmodule_SASTrust_userid
is the SAS Trusted User. This identity is used to configure the JAAS login
module.
mailsession.create_SASMailSession_passwd
is the mail session user password.
mailsession.create_SASMailSession_userid
is the mail session user ID. This credential is used only if the mail session
property mailsrvRequiresAuthentication is set to true.
Resource Properties
Each property file governs the configuration of a specific resource. The next
section lists and describes a group of properties that are common to many
resources. The subsequent sections identify properties that are specific to each
resource type.
thisTarget
is a field that is used internally by SAS Deployment Wizard and SAS
Deployment Manager to manage resource files. It is not used by the
configuration scripting tool.
Application Properties
These resources represent applications deployed in SAS Web Server. Each
application is associated with a balancer. The properties are named in the
following pattern application.n.property.
archive
identifies the path to the EAR or WAR file for the application.
balancerName
identifies load balancer name that the application belongs to.
classLoaderMode
is a Boolean value. This property is not used by SAS Web Application
Server.
classLoaderPolicy
is a Boolean value. This property is not used by SAS Web Application
Server.
deployEJB
is a Boolean value. This property is not used by SAS Web Application
Server.
deployWS
is a Boolean value. This property is not used by SAS Web Application
Server.
explode
is a Boolean value. When false, it indicates that the archive file for the
application is copied and then deployed. When true, the application is
extracted from the archive and the application is deployed from the files.
isClustered
is a Boolean value. When false, the application is not deployed to additional
cluster members when they are created. When true, the application
deployed to each additional cluster member that has the same
balancerName value when the cluster member is created.
isDeleted
is a Boolean value. If set to true, then this resource has been marked as
deleted
loadOrder
This property is not used by SAS Web Application Server.
name
identifies the name of the application, as it is used by other SAS software
applications (for example, SASWebReportStudio4.4).
serverName
identifies the server that the application is deployed to.
webapps
identifies the WAR file and context root mapping for each web application in
the archive.
Scripting Tool for SAS Web Application Server 305
Balancer Properties
These resources represent load balancers that are deployed in SAS Web
Server. The properties are named in the following pattern
balancer.n.property.
isDeleted
is a Boolean value. If set to true, then this resource has been marked as
deleted.
name
identifies the name of the balancer. This value is referenced in the application
properties.
sessionid
identifies the session identifier name. The name is used as a cookie or
request parameter for sticky sessions to ensure that subsequent requests by
a user are directed to a single instance of SAS Web Application Server.
host
identifies the host name.
isDeleted
is a Boolean value. If set to true, then this resource has been marked as
deleted.
jndiName
is the global JNDI name used to look up the destination within the JNDI
namespace. This name is configured in application configuration files and
should not be changed without corresponding changes to the applications
that use this JMS resource.
moduleName
This property is not used with SAS Web Application Server.
name
is the name of this JMS resource.
port
identifies the network port number for connection factory JMS resources. For
other JMS resources, the value is zero.
purgePolicy
This property is not used with SAS Web Application Server.
readAhead
This property is not used with SAS Web Application Server.
reapTime
This property is not used with SAS Web Application Server.
schemaName
This property is not used with SAS Web Application Server.
scope
This property is not used with SAS Web Application Server.
serverName
identifies which SAS Web Application Server name the JMS resource is
associated with.
sIBusDestType
This property is not used with SAS Web Application Server.
type
is the type of JMS resource to be configured. Supported values are
ConnectionFactory, Queue, and Topic.
unusedTimeout
This property is not used with SAS Web Application Server.
xAEnabled
This property is not used with SAS Web Application Server.
isDeleted
is a Boolean value. If set to true, then this resource has been marked as
deleted.
name
is the name of this JMS server.
port
identifies the network port number for the server.
Member Properties
Member properties are used to configure SAS Web Server. The member
properties are used together with balancer properties to identify the instances of
SAS Web Application Server and the applications. The properties are named in
the following pattern member.n.property.
host
identifies the host name of the instance of SAS Web Application Server.
isDeleted
is a Boolean value. If set to true, then this resource has been marked as
deleted.
name
identifies the name of the instance of SAS Web Application Server.
port
identifies the network port number for the instance of SAS Web Application
Server.
protocol
is one of http or https.
route
is a Boolean value. If set to true, then a routing directive is added to the
SAS Web Server configuration file for this member.
target
identifies the balancer that this member is associated with.
Proxy Properties
The proxy properties are used to configure SAS Web Server as a reverse proxy
for the applications that are deployed to SAS Web Application Server instances.
The properties are named in the following pattern proxypass.n.property.
balancerName
identifies the balancer that is associated with the application.
310 Chapter 21 / SAS Configuration Scripting Tools
isDeleted
is a Boolean value. If set to true, then this resource has been marked as
deleted.
name
identifies the application context root to proxy.
pass
is a Boolean value. If set to true, then SAS Web Server is configured to
proxy the application.
Server Properties
Server properties are used to configure SAS Web Application Server instances.
The properties are named in the following pattern server.n.property.
cacheLocatorPort
identifies the network port number for the Cache Locator.
cacheLocators
identifies the instances of the Cache Locator.
host
identifies the host name for SAS Web Application Server.
httpPort
identifies the network port number that this server uses for HTTP
connections.
httpsPort
identifies the network port number that this server uses for HTTPS
connections.
isDeleted
is a Boolean value. If set to true, then this resource has been marked as
deleted.
jmxPort
identifies the network port number that the server uses for Java Management
Extensions communication.
jvmOptions
is a list of JVM options for this server.
multiplier
identifies the number of vertical cluster members to configure identically to
this server.
name
identifies the name for this SAS Web Application Server.
serverId
identifies that the resource type is a server.
name
identifies the name of SAS Web Application Server.
sessionCookieName
identifies the value for the cookie that is associated with connections to this
server. Sticky sessions and cookies are used to ensure that all connections
for a user are routed to the same server instance.
shutdownPort
This property is not used with SAS Web Application Server.
311
Part 6
Appendices
Appendix 1
Configuring the SAS Environment File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
Appendix 2
Administering Multicast Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
312
313
Appendix 1
Configuring the SAS Environment
File
About the SAS Environment File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
Configuring the SAS Environment File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
Customizing the SAS Environment File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
Element Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
The service registry that is specified in the file enables desktop client
applications to determine the location of required services on the middle tier. It
also enables the applications to obtain a list of services available in the
environment. Note that this sas-environment.xml file is used by SAS Web
Server, and the configuration in the file refers to the host name and port number
of SAS Web Server.
If Transport Layer Security (TLS) is configured at your site, specify the https
protocol and the TLS port number for the service registry.
If your site has multilingual users, you can configure the sas-environment.xml file
to include localized descriptions. In the next example, the Blue environment is
specified in German:
<environment name="Blue">
<desc>test2 Blue</desc>
<desc xml:lang="de">Blau</desc>
<service-registry>http://blue.example.com:80/SASWIPClientAccess
/remote/ServiceRegistry</service-registry>
<service-registry interface-type="soap">http://blue.example.com:
80/SASWIPSoapServices/services/ServiceRegistry</service-registry>
<service-registry interface-type="rest">http://blue.example.com:
80/SASWIPClientAccess/rest</service-registry>
</environment>
with the new location. The SAS desktop applications that integrate with the
middle tier use the -Denv.definition.location JVM option in INI files to
identify the location of the sas-environment.xml file. Refer the documentation for
the SAS desktop applications that you use. The SASHome/sassw.config file is
also used to identify the location of the sas-environments.xml file. Update the
SASENVIRONMENTSURL= value in the sassw.config file.
Element Description
The following list identifies and describes the elements that can be used in the
sas-environment.xml file:
environment
has a name attribute that cannot contain space characters. This attribute is
used internally by SAS software to identify each of the environments that are
available in the deployment. This element has an attribute that is named
default. This attribute is used to identify a default environment for client
applications. If this attribute is set to true for more than one environment
element, then the last environment in the file with the attribute set to true is
set as the default environment. It is not necessary to set the attribute to false
for all other environments.
desc
used in the client applications to provide a menu of environment choices. As
shown in the previous example, this field can provide a localized message
when the xml:lang attribute is set.
service-registry
contains the URL to the service registry for the environment. Use the
protocol, host name, and port number of SAS Web Server. By default, SAS
Web Server is configured to provide access to SAS Web Infrastructure
Platform.
316 Appendix 1 / Configuring the SAS Environment File
317
Appendix 2
Administering Multicast Options
Overview of Multicasting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
How Much Multicast Network Traffic is Generated? . . . . . . . . . . . . . . . . . . . . . . . . 318
Multicast Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
Configuring Multicast Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
Applications That Use Multicast Communication . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
Multicast Options Configuration Files for SAS Remote Services . . . . . . . . . . . . 319
Multicast Options Configuration Files for SAS Web Application Server . . . . . . 319
Key Multicast Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
Configuring a Multicast Authentication Token . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
Understanding the Multicast Authentication Token . . . . . . . . . . . . . . . . . . . . . . . . . 321
Reconfiguring to Use a Multicast Authentication Token . . . . . . . . . . . . . . . . . . . . . 322
Configuring the JGroups Bind Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
Understanding the JGroups Bind Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
Setting the Bind Address for SAS Remote Services . . . . . . . . . . . . . . . . . . . . . . . . 323
Setting the Bind Address for SAS Web Application Server . . . . . . . . . . . . . . . . . . 324
Overview of Multicasting
Note: By default, multicasting is not used in the typical SAS deployment, and
SAS Remote Services is turned off. If you created a custom application that
uses SAS Remote Services, you can use multicasting and enable SAS Remote
Services.
Multicast communication is no longer used to communicate among SAS 9.4
middle-tier applications in a single SAS deployment (the set of applications
connected to the same SAS Metadata Server). However, you can still take
advantage of this communication if you have developed custom applications by
starting Remote Services. When installation is performed with the SAS
Deployment Wizard, the wizard generates a default multicast address that is
based on IP address of the SAS Metadata Server. The combination of multicast
address and multicast UDP port number must be different for each SAS
deployment and also different from any other multicast applications at your site.
The multicast communication includes all the information that is needed to
bootstrap a custom middle-tier application. Because this information includes the
SAS environment credentials (such as the sasadm account name and its
password), time to live (TTL) and encryption options are provided to secure the
multicast communication.
318 Appendix 2 / Administering Multicast Options
Multicast options are specified as JVM options. Multicast options provide the
ability to tune and change the behavior of the multicast communication that
occurs within the SAS deployment. The multicast address and UDP port number
must match the values in the start-up script for SAS Web Application Server and
the environment.properties file located in the SAS-configuration-directory
\Lev1\Web\Applications\RemoteServices directory.
Administering multicast options typically involves the following:
n setting options such as the multicast address
Multicast Security
A multicast group communications protocol is used to communicate among
middle-tier SAS applications in a single SAS deployment (the set of applications
connected to the same SAS Metadata Server). During installation, the SAS
Deployment Wizard supplies you with a default multicast address and port
number that it generates based on the machine's (metadata server) IP address.
The combination of multicast IP address and multicast UDP port should be
different for each SAS deployment and also different from those used by other
multicast applications at your site.
The IP address and multicast UDP port number for the multicast host must
match the values in the start-up script for SAS Web Application Server and the
environment.properties file.
The multicast group communication includes all information needed to bootstrap
SAS middle-tier applications. Because this includes sending the SAS
environment credentials (such as the sasadm account name and its password),
scoping and encryption options are provided in the SAS Deployment Wizard.
The defaults are most appropriate for deployments in the firewall, isolated data
center environment. After installation, if you choose to modify the scoping or
Configuring Multicast Options 319
n wrapper.conf
n environment.properties
For UNIX, add the option to the RemoteServices.sh file after the
SERVERUSER variable:
SERVERUSER=sas
MULTICAST_AUTHENTICATION_TOKEN="token"
export MULTICAST_AUTHENTICATION_TOKEN
3 For Windows, also add the JVM option to the wrapper.conf file. Add it to
the end of the wrapper.java.additional.11 entry:
wrapper.java.additional.11=-XX:+UseTLAB -XX:+UseConcMarkSweepGC
-XX:+DisableExplicitGC -Dsun.rmi.dgc.client.gcInterval=3600000
-Dsun.rmi.dgc.server.gcInterval=3600000 -Djava.awt.headless=true -Xss256k
-XX:NewSize=16m -XX:MaxNewSize=16m -XX:PermSize=64m -XX:MaxPermSize=64m
-DMULTICAST_AUTHENTICATION_TOKEN=token
Note: Do not use carriage returns or line feed characters when editing long
lines.
Set the bind address for SAS Remote Services, the web application server, and
the SAS BI Report Services Report Generation tool if the previous error
message is seen.
-classpath "%CLASSPATH%" ^
-Dsas.ext.config="C:\Program Files\SASHome\sas.java.ext.config" ^
-Djgroups.bind_addr=ip-address
Recommended Reading
n SAS Intelligence Platform: Overview
Glossary
alert
an automatic notification of an electronic event that is of interest to the
recipient.
authentication
See client authentication.
authentication domain
a SAS internal category that pairs logins with the servers for which they are
valid. For example, an Oracle server and the SAS copies of Oracle
credentials might all be classified as belonging to an OracleAuth
authentication domain.
authentication provider
a software component that is used for identifying and authenticating users.
For example, an LDAP server or the host operating system can provide
authentication.
base path
the location, relative to a WebDAV server's URL, in which packages are
published and files are stored.
blacklist
a list or register of entities, such as email addresses or software applications,
that are denied a particular privilege, service, mobility, access or recognition.
See also whitelist.
client-side pooling
a configuration in which the client application maintains a collection of
reusable workspace server processes. See also puddle.
content mapping
the correspondence of the SAS metadata folder structure to a content
repository system. SAS metadata folders are generally mapped to a
WebDAV such as the SAS Content Server repository, or to a local file
system.
credentials
evidence that is submitted to support a claim of identity (for example, a user
ID and password) or privilege (for example, a passphrase or encryption key).
328 Glossary
deploy
to install an instance of operational SAS software and related components.
The deployment process often includes configuration and testing as well.
foundation repository
the metadata repository that is used to specify metadata for global resources
that can be shared by other repositories. For example, a foundation
repository is used to store metadata that defines users and groups on the
metadata server.
foundation services
See SAS Foundation Services.
hot deployment
the process of upgrading an application or component in a client-server
environment while the server is running. Hot-deployed components are made
available immediately, and do not require the server to be restarted.
identity
See metadata identity.
Java RMI
See remote method invocation.
JDK
See Java Development Kit.
JVM
See Java Virtual Machine.
middle tier
in a SAS business intelligence system, the architectural layer in which web
applications and related services execute. The middle tier receives user
requests, applies business logic and business rules, interacts with
processing servers and data servers, and returns information to users.
Glossary 329
pool
a group of server connections that can be shared and reused by multiple
client applications. A client-side pool consists of one or more puddles. See
also puddle.
portal
a web application that enables users to access websites, data, documents,
applications, and other digital content from a single, easily accessible user
interface. A portal's personalization features enable each user to configure
and organize the interface to meet individual or role-based needs. See also
portlet.
portlet
a web component that is managed by a web application and that is
aggregated with other portlets to form a page within the application. Portlets
can process requests from the user and generate dynamic content.
puddle
a group of servers that are started and run using the same login credentials.
Each puddle can also allow a group of clients to access the servers. See also
client-side pooling.
repository
a storage location for data, metadata, or programs.
RMI
See remote method invocation.
server-side pooling
a configuration in which a SAS object spawner maintains a collection of
reusable workspace server processes that are available for clients. The
usage of servers in this pool is governed by the authorization rules that are
set on the servers in the SAS metadata.
service
one or more application components that an authorized user or application
can call at any time to provide results that conform to a published
specification. For example, network services transmit data or provide
conversion of data in a network, database services provide for the storage
and retrieval of data in a database, and web services interact with each other
on the World Wide Web. See also SAS Foundation Services.
service configuration
a set of values that can be customized for a particular service in SAS
Foundation Services. By editing a service configuration, you can override the
default configuration for the foundation service. See also SAS Foundation
Services.
service deployment
a collection of SAS Foundation Services that specifies the data that is
necessary in order to instantiate the services, as well as dependencies upon
other services. Applications query a metadata source (a SAS Metadata
Glossary 331
session context
a context that serves as a control structure for maintaining state within a
bound session. 'State' includes information about the latest status, condition,
or content of a process or transaction. Session Services and User Services
use the session context to facilitate resource management and to pass
information among services.
SSO
See single sign-on.
theme
a collection of specifications (for example, colors, fonts, and font styles) and
graphics that control the appearance of an application.
trust
to accept the authentication or verification that has been performed by
another software component. See also trust relationship, trusted user.
trust relationship
a logical association through which one component of an application accepts
verification that has already been performed by another component. See also
trusted user.
trusted user
a privileged service account that can act on behalf of other users on a
connection to the metadata server.
unrestricted identity
a user or group that has all capabilities and permissions in the metadata
environment due to membership in the META: Unrestricted Users Role (or
listing in the adminUsers.txt file with a preceding asterisk).
user context
a set of information about the user who is associated with an active session.
The user context contains information such as the user's identity and profile.
WebDAV
See Web Distributed Authoring and Versioning.
332 Glossary
WebDAV repository
a collection of files that are stored on a web server so that authorized users
can access them. See also Web Distributed Authoring and Versioning, SAS
Content Server.
whitelist
a list or register of entities, such as email addresses or software applications,
that are accepted for a particular privilege, service, mobility, access or
recognition. See also blacklist.
333
Index
changing in themes 155
A
comment management
predefined role 55
alert notification concurrent sign-in sessions 115
SMS 62 configuration
alerts auditing for web applications 68
default delivery type 60 Chrome for SPNEGO 239
anonymous access 255 cluster of web application servers
anonymous web user 144 190
audit 77 custom sign-out message 102
audit profiles 70 data sources for middle tier 21
auditing 68, 69, 70 Firefox for SPNEGO 239
audit profiles 70 HTTP sessions 195
for web applications 68 Internet Explorer for SPNEGO 238
internal accounts 70 Job Execution Service 22
relational tables for 68 multicast options 319
authenticated users 75 properties for SAS Web Report
authentication 144, 210 Studio 57
See also Web authentication reconfiguring Web application server
SAS Anonymous Web User 258 93
SAS authentication for Java 145 removing configuration content 85
token for multicast security 321
sample middle-tier deployment
authentication requests 101 scenarios 187
authorization SAS environment file 313
for SAS Content Server 133 scripting tools 297
shared between middle and server
tiers 15
B SharedServices DSN 21
SMTP mail server for middle tier 16
backups Web application server, to enable
SAS Content Server 120 JMX client access 292
bind address 323 web services 140
branding 149 Configuration Manager 56
deleting web services 140
example 57
properties for SAS Web Report
C Studio 57
summary of steps for 57
cascading style sheets (CSS) 148 connecting to library server
migrating 160 Android 179
channels iPad 178
deleting packages 287 connection properties 65
clear text 144 internal and external 64
client access content
enabling for JMX 292 See also SAS Content Server
clustering 191 loading manually 123
for web application servers 190 moving and sharing 120
colors updating manually 124
334 Index
D files
adding to SAS Content Server 130
data sources 21 deleting 130
configuring for middle tier 21 permissions for WebDAV files 127
configuring SharedServices DSN 21 firewalls 192
data store 131 folders
Garbage Collection utility 132 creating 129
database persistence 120 deleting 130
DAVTree utility 283 permissions for WebDAV folders
adding resources to WebDAV 284 127
advanced features 286 forcing users to log off 76
connecting to a WebDAV location Forward Proxy Authentication
284 Flex Commons 279
copying or moving files in WebDAV
286
editing text files in WebDAV 286
G
starting 284
debugging
Garbage Collection utility 132
Package Clean-Up utility 290
generated web services 140, 144
Web application logging levels 94
global properties
Default theme 148
setting for SAS applications 59
deleting a PostgreSQL database 20
global single sign-on time-out interval
demilitarized zone (DMZ) 192
110
deployment
graphics
manually deploying content to SAS
changing in themes 156
Content Server 121
guest access 111
redeploying web applications 91
sample middle-tier scenarios 187
SAS Deployment Manager 85
themes 149, 150 H
themes, in test environment 158
Web applications 38 HTTP sessions
directives 84 affinity 192
adjusting URLs manually 124 auditing 69
DMZ (demilitarized zone) 192 configuring 195
documentation 13 time-out interval 105
HTTP transport layer security 144
E
I
e-mail
configuring SMTP server 16 images 148
EAR files changing in themes 156
names 88 migrating 161
email internal accounts
sending to users 75 auditing 70
environment internal connection 64
Index 335
Java
configuring web services for 140 M
SAS authentication for 145
web authentication for 145 MBeans 291, 293
Java Mail Session 16 accessing 292
Java Management Extensions Server MBean 295
See JMX (Java Management ServerFactory MBean 293
Extensions) Spawner MBean 294
Java Runtime Environment (JRE) 6 metadata
JConsole deleting themes from 160
managing SAS resources 292 middle tier
JDBC 21 configuration shared with server tier
JGroups 323 15
JMX (Java Management Extensions) configuring data sources for 21
291 configuring SMTP mail server for 16
enabling client access 292 log files 14
JConsole 292 sample deployment scenarios 187
managing SAS resources 291 SAS Web Infrastructure Platform
MBeans 291, 293 Data Server with 17
JSR 168 13 middle-tier environment 3
JVM options 310 SAS Content Server 11
default values 195 SAS Web Infrastructure Platform 6
Forward Proxy Authentication 279 SAS Workflow 11
SAS Content Server 118 starting web applications 13
SAS Workflow 11 Web applications 11
migrating themes 160
cascading style sheets (CSS) 160
images 161
K
theme descriptors 161
theme templates 161
kiosk mobile devices
See guest access See also SAS Mobile BI
connecting to library server 178,
179
L monitoring users 75
moving content 120
loading content manually 123 multicast options 318
locked settings 59 configuring 319
log files multicast properties 319
changing location of 95, 99 multicast security 317, 318
location 14 authentication token for 321
logging 94
changing logging levels 94
for SAS Web Infrastructure Platform N
Data Server 19
for Web applications 93 naming themes 157
Package Clean-Up utility 290
SAS Information Retrieval Studio
166
schema validation errors 180
336 Index