3 Security: 3.1 Data Protection and Privacy
3 Security: 3.1 Data Protection and Privacy
3 Security: 3.1 Data Protection and Privacy
This section details the ways in which SAP Data Services addresses enterprise security concerns, thereby
providing administrators and system architects with answers to typical questions regarding security.
Data Services relies on the Central Management Server (CMS) for authentication and security features. This
section highlights differences and additional information specific to your Data Services system.
For complete information about the security features provided by the CMS, see the SAP BusinessObjects BI
Platform Administrator Guide or the SAP BusinessObjects Information Platform Services Administrator Guide.
SAP provides specific features and functions to support compliance with regard to relevant legal requirements,
including data protection and privacy.
Data protection is associated with numerous legal requirements and privacy concerns. In addition to
compliance with applicable data privacy regulations, SAP needs to consider compliance with industry-specific
legislation in different countries. SAP does not give any advice on whether the provided features and functions
are the best method to support company, industry, regional, or country-specific requirements. Furthermore,
SAP-provided information does not give any advice or recommendation in regards to additional features that
are required in particular IT environments. Make your decisions related to data protection on a case-by-case
basis, considering your given system landscape and applicable legal requirements.
Note
In the majority of cases, SAP compliance with applicable data protection and privacy laws are not covered
by a product feature. SAP software supports data protection compliance by providing security features and
specific data protection-relevant functions, such as simplified blocking and deletion of personal data. SAP
does not provide legal advice in any form. SAP uses definitions and other terms in this document that are
not from any given legal source.
Be aware that SAP software places the data that you provide into trace logs, sample reports, and repositories
(side-effect data), and so on. In other words, your data finds its way into places other than output files. It is your
responsibility to delete this data.
In addition, the Data Services application does not run any virus scan applications on persisted data. To protect
persisted data we strongly recommend running your own virus scan software on any system that runs Data
Services.
Here are some examples of where Data Services uses customer data:
● When you enable the Trace all option, Data Services prints data in some log files.
● If a job using bulk load functionality fails, Data Services saves data files that contain customer data in the
Bulkload directory so you can review and analyze the data. The default bulk load location is
%DS_COMMON_DIR%/log/BulkLoader.
Administrator Guide
24 PUBLIC Security
● The smtp_to and mailer functions use mail ID numbers as input parameters. Data Services saves mail ID
numbers in the Data Services repository.
● Data Services places a sampling of customer data in the Data Services repository when the “full” option is
enabled during side-effect data generation for Global Address Cleanse (GAC) and Universal Data Cleanse
(UDC).
● The GAC sample report contains a sample of user address data.
To ensure security for your Data Services environment, use a firewall to prevent unintended remote access to
administrative functions.
In a distributed installation, you need to configure your firewall so that the Data Services components are able
to communicate with each other as needed.
For information about configuring ports on your firewall, see your firewall documentation. Also see the “Port
assignments” topic in the Installation Guide
Related Information
The Message Client libraries (Java and C++) used in real-time services, does not require authorization to
connect. Therefore, it is important to use caution when using these libraries.
For more information about using the Message Client library, see the SAP Data Services Integrator Guide.
In Data Services, temporary cache files are generated for a variety of functions and operations. Profiling, joins,
table comparison, sorting, lookup, and group_by are some examples. Because these files are not encrypted,
by default, care should be taken when working with confidential or other sensitive data. Both pageable and
persistent caches create data files that are not encrypted, by default.
Administrator Guide
Security PUBLIC 25
Temporary file location
The temporary files that Data Services creates are stored in %COMMON_DIR%/log/pCache/
<repository_string>/. These files can be secured using the appropriate permissions at the OS level.
The pageable cache option in a data flow stores data in temporary files that are removed automatically after a
data flow finishes executing.
Persistent cache
Data Services provides a datastore called Persistent cache. The data in persistent cache is not encrypted, and
it is your responsibility to secure it using OS file/directory permissions.
long data
When long data (BLOB or CLOB) data is large, the data is stored in temporary cache files.
If long data is cached (for a join, sort, or table comparison, for example), the cache file is deleted when the
data flow finishes executing.
A long data cache file is also deleted when the data is out of scope. For example:
There are types of temporary cache files that can be encrypted, if necessary. These include:
Administrator Guide
26 PUBLIC Security
3. Save and close the file.
Note
Encrypting these files can have a significant negative impact on performance. Remember that these files
are deleted immediately after the data flow finishes executing.
Secure Sockets Layer (SSL), and its newer version, Transport Layer Security (TLS), are cryptographic
protocols that provide security and data integrity for network communications.
Transport Layer Security (TLS) is the standard specification published by the IETF that is based on earlier SSL
specifications. Use TLS for Windows version 10 and higher.
The TLS protocol allows client/server applications to communicate across a network in a way designed to
prevent eavesdropping, tampering, and message forgery. TLS provides endpoint authentication and
communications confidentially over the network using cryptography.
Within the SAP Data Services platform, SSL is supported for all communication paths between components
that communicate over a network.
The following diagram illustrates the communication channels within the Data Services architecture that
support SSL.
Administrator Guide
Security PUBLIC 27
Note
All TCP/IP communication paths support SSL/TLS. Depending on your web application server
communication, clients using HTTP may switch to the HTTPS protocol.
For information about how to use SSL with Data Services 12.x Admin Console and 4.x Management
Console, see SAP Note 1423991 .
Additionally, when you use a server group and set the distribution level to “Sub data flow”, the TCP/IP
communication path between sub data flows on different job servers within the server group is also protected
by SSL.
Administrator Guide
28 PUBLIC Security
3.5.2 Default certificates
By default, a set of SSL certificates is created during installation for secure communication between Data
Services components.
You can choose to use your own certificates by configuring them after installation has finished. The default
certificates use 1024-bit RSA keys and are valid for 30 years.
Related Information
When different Data Services components are installed on different machines and each installation has its own
root and intermediate certificate authority (CA) configuration, you must manually copy the trusted certificates
from one machine to all other machines.
Note
Trusted certificate files refers to root and intermediate CA certificate files. These files have a .crt
extension, and can be located in the <LINK_DIR>/ssl/trusted_certs folder.
Remember
When you copy trusted certificates from one host machine to another, you must always copy the files to
and from the <LINK_DIR>/ssl/trusted_certs folder on each respective machine.
1. If the Job Server and Access Server are installed on different machines, configure the hosts with the new
certificates.
a. Copy the trusted certificates from the Access Server to the Job Server host.
b. On the Job Server host machine, run the following script to refresh the <LINK_DIR>/ssl/
trusted_certs/jssecacerts keystore file:
○ On Windows: <LINK_DIR>/bin/SetupJavaKeystore.bat
○ On UNIX: <LINK_DIR>/bin/SetupJavaKeystore.sh
This allows adapters that communicate with the Access Server to use the new certificates.
c. Copy the trusted certificates from the Job Server to the Access Server host.
d. Restart the job service on both the Job Server and Access Server host machines.
2. If the Access Server and Management Console are installed on different machines, configure the
Management Console host with the new certificates.
a. Copy the trusted certificates from the Access Server to the Management Console host.
b. On the Management Console host machine, run the following script to refresh the <LINK_DIR>/ssl/
trusted_certs/jssecacerts keystore file:
Administrator Guide
Security PUBLIC 29
○ On Windows: <LINK_DIR>/bin/SetupJavaKeystore.bat
○ On UNIX: <LINK_DIR>/bin/SetupJavaKeystore.sh
c. Restart the web application server that is hosting the Management Console.
3. If the Access Server and message client are installed on different machines, configure the message client
host with the new certificates.
a. Copy the trusted certificates from the Access Server to the message client host.
b. If the message client uses Java, import the trusted certificates into the keystore used by the message
client application.
For information about creating keystores, see the JDK help for the keytool command.
4. If the Job Server and job launcher or external scheduler are installed on different machines, configure the
job launcher or external scheduler host with the new certificates.
Copy the trusted certificates from the Job Server to the job launcher or external scheduler host.
Note
If the scheduled job connects to multiple Job Servers through a server group, copy the trusted
certificates from all Job Servers within the group.
Because Data Services uses multiple communication paths, there are different ways to enable or disable SSL
for any given path.
You may choose to enable or disable SSL for certain paths, depending on your security and performance
requirements.
For adapter management You can configure SSL for adapter management by enabling
SSL support on your Job Servers. Enabling SSL for adapter
management protects the communication path used be
tween your Job Servers and adapters, and message broker
clients.
Administrator Guide
30 PUBLIC Security
Communication path Description
For real-time messaging You can configure SSL for real-time messaging by enabling
SSL support on your Access Servers. Enabling SSL for real-
time messaging protects the communication path used be
tween your Access Servers and their real-time clients.
Note
By default, SSL is enabled for real-time messaging. If
you disable it on an Access Server, be sure to disable it
on any message clients or adapters that communicate
with that Access Server.
Note
SSL can be enabled or disabled on a per-server basis.
You are not required to configure it the same way for all
Access Servers.
For peer-to-peer communication You can configure SSL for peer-to-peer communication by
configuring SSL for run-time resources. Enabling SSL for
run-time resources protects the communication path used
between different sub data flows running on different Job
Servers.
Note
If you run multiple Job Servers within a server group,
configure SSL the same way on each Job Server.
Administrator Guide
Security PUBLIC 31
Communication path Description
For other communication paths SSL is mandatory for some communication paths within the
Data Services architecture.
You must ensure that each client has the correct certificates
in these situations, but there is no additional configuration to
perform.
Note
You need to copy the certificates from the Job Server to
the Access Server, Management Console, and external
job launcher hosts. In all other cases, the certificates are
exchanged automatically.
Related Information
While SAP Data Services includes a set of SSL certificates by default, you can also choose to use your own
certificates. Depending on the nature of your Data Services deployment, not all steps below may be required.
1. Generate certificates as needed, and have them signed by a trusted certificate authority (CA).
For more information, see the “Generating keys and sign certificates” section.
2. Copy all required certificates to the Data Services client machines.
Note
Each Data Services client requires the certificates for all CAs in the certificate chain when validating the
certificate of the Data Services server. The certificates within a certificate chain are called trusted
Administrator Guide
32 PUBLIC Security
certificates and must be present on the local machine. In most cases, the certificate chain is the same
for all clients, and therefore the same certificates must be present on all client machines.
3. If you are using Java-based clients, use the JDK keytool utility to generate a keystore containing the
trusted certificates.
4. Configure server certificate and keyfile paths with the Server Manager.
5. Configure certificates for the Designer.
Related Information
To use your own custom certificates for SSL security in Data Services, you must generate the certificates and
have them signed by a trusted certificate authority (CA), such as VeriSign.
1. Generate the RSA key and certificate using the openssl tool.
where <mykey.pem> is the name of the key file to generate, and <myreq.pem> is the name of the
certificate file to generate.
Note
2. Send the RSA private key and certificate files to your external CA.
3. After you receive the signed certificate from your CA, use the Server Manager to specify the path to the
new certificate and private key file.
Note
Trusted certificates from an external CA must be in PEM format. The signed certificates should be
copied to the <DS_COMMON_DIR>\ssl\trusted_certs directory.
Administrator Guide
Security PUBLIC 33
Related Information
To set up SSL for all CMS communication, you need to perform the following steps:
● Deploy the SAP BusinessObjects BI platform or Information platform services with SSL enabled.
● Create key and certificate files for each machine in your deployment.
● Configure the location of these files in the Central Configuration Manager (CCM) and your web application
server.
For Data Services, you also need to use the sslconfig utility to configure all components that log into the
CMS for SSL, including:
● Designer
● Job Servers
● External schedulers and the job launcher
● Management Console (if deployed to a different web application server than the SAP BusinessObjects BI
platform or Information platform services web tier)
Note
For J2EE web application servers, configure SSL by modifying the startup script.
● For Windows:
<INSTALL_DIR>\SAP BusinessObjects Enterprise XI 4.0\win32_x86\sslconfig.exe
● For UNIX:
<INSTALL_DIR>/sap_bobj/enterprise_xi40/<platform>/boe_sslconfig
Where <platform> matches your UNIX platform.
For more information about using sslconfig and configuring the CMS and its clients for SSL, see
“Configuring the SSL protocol” in the SAP BusinessObjects BI Platform Administrator Guide or the SAP
BusinessObjects Information Platform Services Administrator Guide.
Administrator Guide
34 PUBLIC Security
● Metadata Browsing Service
● View Data Service
Data Services provides the EIM Adaptive Processing Server services, but they are used by other SAP software
products, such as the Data Insight module of SAP Information Steward.
Data Services provides the keystore file and the trusted certificates file by default. The following table describes
each file.
File Description
Java Server keystore Contains a single key and all the certificates that are part of
the certificate chain involved in signing the key on the server
side. Password files for the Java Server keystore file and the
key are also required.
Trusted certificate Used for signing the key that is stored in the Java keystore
on the server side. The client side, the Data Services back
end engine, uses the trusted certificates to communicate
with the server.
1. Log into the Central Management Console (CMC) as a user with administrative rights to the Data Services
application.
2. Go to the “Applications” management area of the CMC.
The “Applications” dialog box appears.
3. Right-click the Data Services application and select Settings.
The “Settings” dialog box appears.
4. In the drop-down list for Enable SSL communication for Metadata Browsing and View Data Services, select
“Yes”.
5. If you want to use the default keystore and certificates (that Data Services provides or that you generate
using the Data Services tool), take the following steps:
a. In the drop-down list for Use Default SSL Settings, select “Yes”.
b. Click Save.
6. If you do not want to use the default keystore and certificates and generated your own outside of Data
Services, take the following steps:
a. Ensure that your keystore is a Java keystore file that contains a single key with all the certificates that
are part of the certificate chain involved in signing the key. You must provide a password for the key
and a password for the keystore file.
Administrator Guide
Security PUBLIC 35
b. Ensure that your keystore file exists in the <LINK_DIR>\ssl\mds folder and the corresponding
certificate files are placed under <LINK_DIR>\ssl\mds\trusted_certs folder.
c. If you have multiple Metadata Browsing Service or View Data Service instances associated with the
same CMS server, you must copy the keystore and certificate files to all the machines where these
instances are installed.
d. In the drop-down list for Use Default SSL Settings, select “No”.
e. In the KeyStore File box, enter the name of the KeyStore file that you want to use.
f. Enter the KeyStore password.
g. Enter the Key password.
h. Click Save.
7. Restart the EIM.AdaptiveProcessingServer as follows:
a. Go to the “Servers” management area of the CMC
b. Expand the “Service Categories” node and select “Enterprise Information Management Services”.
c. Select “EIMAdaptiveProcessingServer” in the right pane.
d. Click Action Restart Server .
While SAP Data Services provides a keystore file and set of SSL certificates for the Metadata Browsing Service
and View Data Service, you can also create a new key and certificates using the Data Services tool.
To create a new keystore file and SSL certificates to be used as the default SSL settings for the Metadata
Browsing Service and View Data Service:
cd <LINK_DIR>\bin
MDSSetupJavaKeyStore
Administrator Guide
36 PUBLIC Security
3.8 Password encryption
Within the SAP Data Services system, all passwords are encrypted using the AES algorithm with 128-bit keys.
Because passwords can be stored in multiple places within the Data Services system, an individual key is
associated with each storage location.
DSConfig.txt <DS_COMMON_DIR>/conf/DSConfig.key
Data Services-managed schedules If the schedule uses a password file, the password is stored in the password file.
If the schedule does not use a password file, the password is located in the job
command line.
External scheduler command lines If the schedule uses a password file, the password is stored in the password file.
If the schedule does not use a password file, the password is located in the job
command line.
Caution
For encryption keys that are stored in files, Data Services protects the security of the key file with strong OS
permissions. For example, the software sets owner-only read & write access to the file (chmod 600 on
UNIX systems). You should also protect the key file by restricting user access to the server host machine
when possible.
In most instances, password encryption is handled automatically by the various Data Services applications and
utilities. However, for some tasks, you may need to manually encrypt a password. For example, you may want
to generate a data flow on the fly for use with the object creation XML toolkit. If your data flow contains a
datastore that requires a password, it needs to be encrypted before you can import and run it successfully.
When you need to manually encrypt a password, you can use the al_encrypt command-line utility installed
with the software.
Administrator Guide
Security PUBLIC 37
Related Information
When you log in to the Data Services Designer or open a Data Quality report in the Management Console, by
default, you are prompted to enter the user name and password for the Data Services repository you are
accessing. You can turn off this default behavior by granting permissions in the BI Platform or Information
platform services Central Management Console.
In the CMC, when you grant the Allow user to retrieve repository password right, the Data Services' repository
password will be sent from the CMS to the client (Designer or Management Console: DQ reports). Although
this password is encrypted, and the communication channel can be secured through SSL, sending passwords
could pose a risk, and malicious users could obtain access to the password. You can selectively grant this right
for repositories. For example, you may want to grant the right for development repositories but not for
production repositories.
Related Information
Use the following steps to add permissions for users to automatically retrieve the Data Services repository
password when logging on to the Designer and for accessing Data Quality reports.
Administrator Guide
38 PUBLIC Security
○ Allow user to retrieve repository password
○ Allow user to retrieve repository password that user owns
9. Click OK.
By following the preceding steps, you have given all users in the Data Services Designer Users group (or the
Data Services Monitor Users group) permissions for all Data Services repositories.
Note
If you have a Data Services development or test repository, for example, to which you would like to restrict
access, you can do this on a case-by-case basis. To do this, access the Add/Remove Rights window using
the following steps:
Administrator Guide
Security PUBLIC 39