(SM-2205) Azure Data Lake Gen2

(SM-2205) Azure Data Lake Gen2

This guide describes a process required to establish a connection from Storage Management to Azure Data Lake Storage Gen2. 

Prerequisites

SAP requirements

  • SAP NetWeaver 7.01 SP-level 015

  • HTTPS service enabled

  • SSFLIB Version 1.850.40 ; CommonCryptoLib (SAPCRYPTOLIB) Version 8.5.20 (+MT)

Azure storage configuration

This section describes steps needed for the preparation of the "landing area" on the Azure side.

Storage Account

We recommend creating MS Azure storage accounts used for our products via the pre-configured template. More information about Storage Account templates can be found in the chapter (SM-2205) Azure Partner Registration GUID.

To create the storage account using the template, please follow this link Azure Storage Account template.
Example:

Landing area (container/directory)

Create a directory where all files extracted from the SAP system will be stored and set its permissions.

  1.  

    1. Go to your Microsoft Azure Storage Explorer and select the container that will be used.

Authentication

Authentication to ADLS can be delivered by two methods:

  • SAS Token - recommended for Proof of Concepts, faster setup, but provides fewer security management options

  • OAuth 2.0 - recommended for productive deployment, fully manageable, but requires application registration and detailed permission setup

SAS Token

If you decide to use the SAS token, please ignore OAuth 2.0 Authentication steps. In the same manner, you can skip steps related to the OAuth profile in the SAP configuration section.

To generate the SAS token, go to the Azure portal (see the screenshot below for more information).

 

OAuth 2.0 Authentication

OAuth 2.0 required Application registration. To create a new registration, follow these steps:

  1. Go to Azure Active Directory > App registrations > New application registration

2. Fill the required fields and Click Create.

3. Write down Application ID and Directory ID, as it will be required later during the Storage management configuration.

 

4. Click Certificates & secrets and generate a New client secret. Write down the secret, as it will be used later during the configuration.

5. Allow access of registered application (Client ID) to the landing area

 

6. The registered application also needs to execute permission on ALL parent directories and filesystem (enabling directory structure traversal)

SAP system configuration

After preparation is complete on the Azure side, fill in the required information on the SAP side to establish a connection.

STRUST

Two Microsoft CAs needs to be loaded via transaction STRUST to establish a secure SSL connection between SAP and Microsoft services. 

 

  1.  In STRUST, import these certificates into SSL Client (Anonymous) PSE. After the import, click Save.

  2. Go to the transaction SMICM and restart the ICM services as shown in the figure.

Storage RFC

Create RFC type G for Azure Data Lake Gen2 primary endpoint.

  • Set Target Host to your ADLS address (e.g. dvdadls2.dfs.core.windows.net) and

  • Set Path Prefix to ADLS container

  • Set SSL to "Active" and Certificate list to "ANONYM SSL Client (Anonymous)".

  • Set HTTP Version to 1.1 and Compression to Active

OAuth 2.0 Authentication RFC destination

This step is required only if OAuth authentication was chosen.

Create RFC of the type G for the Microsoft Active directory. This RFC represents a connection to the authority server that grants an authentication token for ADLS. 

  • Set Target Host to: login.microsoftonline.com

  • Set SSL to "Active" and Certificate list to "ANONYM SSL Client (Anonymous)"

 

Storage Management

In this step, the actual connection to the landing area is created.

  1. Execute transaction /DVD/SM_SETUP.

  2. Switch to Edit Mode and click New Storage.

  3. Choose storage type ADLS_GEN2 and specify Storage ID

  4. Specify the following parameters:

    1.  

      • HTTP RFC Destination – storage RFC destination created previously

      • Path Prefix/<path to landing area> within ADLS container

      • HTTP Call Repeat - specify the number of times HTTP request will be retried in case of failure (0 = no repetition)

      • Repeat Delay (seconds) - seconds between repetitions - if not filled, the default value will be set to 3 seconds (instead of 0)