
SAP Analytics Cloud (SAC) supports Direct Live Connection and Tunnel Live connection to On-Premise S/4HANA. Direct Live Connection is based on CORS and Tunnel Live Connection is based on SAP Cloud Connector. This blog explains the steps to establish Single Sign-On (SSO) using tunnel live connection to On-Premise S/4HANA.
1) When users access an SAC dashboard, SAC establishes an https tunnel based connection to the backend S/4HANA using SAP Cloud Connector (SCC).
2) The SAP Cloud Connector receives the request from SAC along with a SAML/JWT token from the Cloud Foundry environment.
3) SCC generates a short-lived X.509 client certificate based on the SAML/JWT token.
4) The conversion from SAML/JWT to X.509 certificate only preserves the principal information, other SAML attributes will not be propagated to backend.
5) This short-lived X.509 certificate is propagated to the backend to establish SSO between SAC and S/4HANA.
6) This principle propagation configuration can be classified as two segments:
Configure SSL handshake: The two communication partners establish (mutual) trust between each other by exchanging certificates to establish an encrypted connection.
Configure user authentication: Where backend S/4HANA server validates and authenticates user requests based on the identifier coming from the client and then creates a user session for that particular user.
1.1) Login to SAP Analytics Cloud.
1.2) In SAC Main Menu, Navigate to System > Administration.
1.3) Click Data source Configuration.
1.4) To edit the changes, click the Pencil Icon.
1.5) Add the S-User if the SAC tenant is hosted on SAP Data Centre (NEO).
1.6) Add the email address associated with the S-User, if the SAC tenant is hosted on Non-SAP Data Centre (Cloud Foundry).
1.7) Click Add S-User or Add Cloud Platform User button.
1.8) When clicking the Save button, the changes reflected should match the below screen shot:
1.9) Login to SAP Cloud Connector (SCC Url - https://<scchost>:8443).
1.10) Click Add Subaccount button on the home screen.
1.11) Enter the SAC Data Centre region, name of SAC subaccount.
1.12) Enter the credentials of S-User or email ID mapped to SAC in step 1.7.
1.13) Set Location ID, the same value as to be used later in SAC configuration.
2.1) Login to S/4HANA System, execute SICF transaction.
2.2) Make sure the ICF services under the service path /sap/bw/ina are active.
2.3) Login to SAP Cloud Connector and Select the sub-account of SAC in SAP Cloud Connector.
2.4) Select Cloud to On-Premise, in the left-side menu.
2.5) On the Access Control tab, in the Mapping Virtual to Internal System section, click +(Add) to add the On-Premise S/4HANA which serves as source for live data to SAC
2.6) Add the below values
2.7) In the Resources section, Click + (Add), Enter the URL Path: "/", Choose Path and all sub-paths and select Save, to allow access to S/4HANA system paths.
2.8) Perform connection test from SCC to make sure that the host of S/4HANA is reachable from SCC.
3.1) In the SCC Menu, Navigate to Cloud to On-Premise and go to the Principal Propagation tab.
3.2) The list of trusted identity providers is empty by default. Select the Synchronize button to synchronize the identity providers.
3.3) Select the Identity Provider of SAC, choose Edit, and select the Trusted checkbox.
SCC System Certificate: Used to represent the SCC as a system. This certificate is used to establish trust between SCC and the backend system.
SCC CA Certificate: Based on this certificate a short-lived X.509 certificate gets generated on the fly based on SAML/JWT token.
SCC Principle Propagation Certificate: It is a sample certificate based on the short-lived X.509 certificate. It has the subject pattern and the identifier to be used for authenticating user request at the backend system.
Option 1: Generate CSR for SCC System Certificate and get it signed by Certificate Authority (CA) of the organization.
Option 2: Generate Self-Signed system certificate (applicable as of SCC version 2.10).
Option 3: Copy SCC UI certificate and Reuse it as system certificate.
4.1.1) In SAP Cloud Connector, Navigate to Configuration menu in SCC. Click the On Premise tab, select Generate Certificate Signing Request (CSR) button in System Certificate section.
4.1.2) Upgrade the value of CN, OU and C for System certificate, click Generate. The CSR gets downloaded.
4.1.3) Sign the CSR using Certificate Authority, Upload the signed CSR in SCC system certificate section.
4.1.4) Download the SCC System Certificate to the local system. This certificate is used to establish trust with the backend system.
Option 1: Import PKCS#12 certificate file from the file system.
Option 2: Generate CSR for SCC Local CA certificate and get it signed by CA of the organization.
Option 3: Use Self-signed system certificate (Applicable as of SCC version 2.10).
4.2.1) In SAP Cloud Connector, Navigate to Configuration menu, Click the On-Premise tab, select the Generate Certificate Signing Request (CSR) button in CA Certificate section.
4.2.2) Upgrade the value of CN, OU and C for SCC Local CA certificate, Click Generate.
4.2.3) Sign the CSR using Certificate Authority, Upload the signed CSR in SCC CA certificate section.
Note: The CSR generated for CA certificate will have the KeyUsage attribute keyCertSign. The certificate is signed by Certificate Authority must have the key usage attribute keyCertSign.
4.2.4) If the CSR signed by CA does not have the KeyUsage attribute keyCertSign, it will lead to the error “CA Certificate is missing KEYCERTSIGN property”.
As per the SAP Note 2054122, even if Certificate Authority is not able to add the keyCertSign attribute to CSR, the SAP Systems will accept and recognize the certificate form Cloud Connector and these warnings can be ignored.
But many systems check for the KeyCertSign attribute in the certificate and deny a connection request without this attribute.
4.3.1) In SAP Cloud Connector, Navigate to Configuration menu in SCC. Click the On-Premise tab, scroll down to Principal Propagation section.
4.3.2) In the Subject Pattern field, the value of Common Name is set as CN=${Name} and select Generate Sample Certificate.
4.3.3) Define the sample value to the Common Name field (CN Name). In this scenario the email ID is used as identifier for authentication between identity provider and the SAP backend system, hence the email ID is defined as the sample value.
4.3.4) Click Generate to download the certificate to the local system.
Note: Make sure the backend system has SAP user with this email ID mapped to it.
5.1) Login to Web dispatcher with Admin user.
5.2) In the menu, navigate to SSL and Trust Configuration and select PSE Management.
5.3) In the Manage PSE section, select SAPSSLS.pse from the drop-down list.
5.4) In the Trusted Certificates section, choose Import Certificate, Select the local copy of SCC System Certificate generated in step number 4.1.4.
5.5) Choose Import. The certificate details are now shown in the Trusted Certificates section.
By default, SAPSSLS.pse of Web dispatcher contains the server certificate of trusted clients and the Web Dispatcher trusts the requests from those clients.
5.6) Add the below listed parameter to the Web Dispatcher instance profile to trust the Cloud Connector system certificate for Principal Propagation.
5.6.1) Set icm/HTTPS/verify_client=1.The default value of the parameter icm/HTTPS/verify_client is 1, so it is fine even if the parameter is not defined in the system.
5.6.2) Set icm/trusted_reverse_proxy_<x> = SUBJECT="<Subject of the SCC system certificate>", ISSUER="<Issuer of the system certificate>".
E.g.: icm/trusted_reverse_proxy_0= SUBJECT="CN=SCC_SYSTEM, O= SAP Trust Community, C=DE", ISSUER="CN=SAP DigiSig CA, O= SAP Trust Community, C=DE".
Hint: The value of Subject and Issuer can be found in the Cloud Connector application > Configuration Menu > On-Premise tab > System Certificate section.
During the initial run define the value of SUBJECT and ISSUER as “*”. Once the connection is successful you can define the respective values of subject and issuer of the SCC certificate.
Note: The parameter icm/HTTPS/trust_client_with_issuer and icm/HTTPS/trust_client_with_subject has been deprecated by SAP and it is recommended to use icm/trusted_reverse_proxy_<x>.
5.6.3) Set icm/HTTPS/forward_ccert_as_header=TRUE
5.7) Restart the web dispatcher to activate the parameter changes.
6.1) Login to S/4HANA system, execute transaction STRUST.
6.2) Select the Server Standard Certificate to import the SCC System Certificate generated in section 4.1.4.
6.3) Click Add to Certificate List button and Save the transaction.
6.4) Execute the RZ10 transaction. Add the below listed parameters to the default profile to trust the Cloud Connector system certificate for Principal Propagation.
6.4.1) Set icm/HTTPS/verify_client=1
6.4.2) Set icm/trusted_reverse_proxy_<x> = SUBJECT="< Subject of the SCC system certificate >", ISSUER="< Issuer of the system certificate >"
E.g. icm/trusted_reverse_proxy_0= SUBJECT="CN=SCC_SYSTEM, O= SAP Trust Community, C=DE ", ISSUER=" CN=SAP DigiSig CA, O= SAP Trust Community, C=DE".
During the initial run define the value of SUBJECT and ISSUER as “*”. Once the connection is successful you can define the respective values of subject and issuer of the SCC certificate.
6.4.3) Set login/certificate_mapping_rulebased=1. This parameter enables to map the short-lived certificate to S/4HANA.
6.5) Restart the application server to activate the parameter changes.
6.6) Execute the transaction CERTRULE (Rule based Certificate Mapping) for mapping short-lived certificate to S/4HANA.
6.7) Click on Change, In the Menu Bar Navigate to Configuration > Upload certificate.
6.8) Choose the sample Principle Propagation certificate file that was previously generated from the Cloud Connector in section 4.3.4 (not the SCC system certificate file).
6.9) When the sample certificate is loaded in S/4HANA, the CN value of SCC Local CA and identifier gets populated in the screen.
The Mapping status remains in Red indicating the message Certificate is not mapped.
6.10) Select the Rule button to create a new rule.
6.11) In the Create Rule screen, define the identifier (email ID) that was used while generating the sample certificate in the step 4.3.3.
6.12) In Login As field, choose email ID from dropdown and in the Certificate Attribute field, select the email from the drop down menu. Click the tick mark to proceed further.
6.13) In the next screen click the Attribute and select the Ignore case sensitivity in certificate entries.
6.14) Click Save button. The Mapping Status turns green and displays the associated S/4HANA user when the email id of the sample certificate is validated against the user in S/4HANA.
7.1) Login to SAC as an Administrator.
7.2) Navigate to Main Menu > System Administration > Data Source Configuration.
7.3) Enable toggle button Allow Live Data to securely leave my network. This has to be enabled in order to use the SCC tunnel in a SAC live data connection.
7.4) In the next section click Add a New Location and enter the location ID defined while configuring SAC to SCC in step 1.13. In this example I have defined it as US10, click Create and Save the configuration.
7.5) Navigate to the Main Menu > Connection > Click the + button to create new connection and select S/4HANA.
7.6) In the pop-up screen, provide the following details to setup Tunnel live connection between SAC and S/4HANA with SSO.
7.7) Click OK to create connection to S/4HANA.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
5 | |
4 | |
4 | |
4 | |
3 | |
3 | |
3 | |
3 | |
3 | |
3 |