Status

Owner
Stakeholders


LeanIX Link

The purpose of this document is to describe the architecture of NextLabs application. 

Out of Scope:

  • NextLabs policy design and details will covered in a separate deliverable. 

  • Information related to product documentation and can be found online will not be documented here. 

Key Decisions and Requirement

DescriptionRationale
NextLabs will be deployed in the same Azure region as S/4HANASince NextLabs makes real-time decisions on access, low latency network connection will be required between S/4HANA and NextLabs to prevent performance issues.  
Shared file system between S/4HANA App server and Policy controllerAzure Files from NextLabs Azure tenant will be leveraged and this file system will be used to host NextLabs DAE binaries and logs from S/4HANA
Shared file system between NextLabs Policy Controller and ICENET VMsAzure Files will be leveraged and this file system will be used to host Policy controller logs from Policy Controller. 
Azure SQL Database (DaaS) will be leveraged for NextLabsAzure SQL Database will be leveraged to reduce operational overhead.
Sensiive data will be protected using Format-Preserving Encryption (FPE). 
NextLabs built-in KMS will be leveragedFor ease of integration, the NextLabs built-in KMS will be used to manage encryption keys. 
Single Sign-On (SSO)As part of SyWay project, a common authentication mechanism (e.g., SAML) is adopted for ease of access and unified user experience.
Users must access NextLabs using HTTPS.As part of SyWay standards, all data in transit must be encrypted.

Application Architecture

Overview

The following products from NextLabs will be deployed for SyWay.

  • NextLabs Data Access Enforcer (DAE) provides fine-grained, attribute-based access control (ABAC) for data, ensuring that only authorized users or applications can access sensitive data based on real-time policies and contextual information. For SyWay, it enforces authorization decisions to grant access and decrypt sensitive data.
  • NextLabs Dynamic Authorization Management (DAM) extends native role-based authorization and enforces finer-grained, attribute-based controls to critical SAP applications. Its purpose is to ensure fine-grained access decisions that adapt in real-time to user, resource, and environmental contexts.

The following diagram describes the different NexLabs components.


Application Components

NextLabs Components

  • Policy Controller: Key component of NextLabs that evaluate data access request against the policies and makes the decisions to deny or allow access to sensitive data.
  • ICENET Servers: Distributes policy definitions from Management Server to Policy Controller and also clears the logs from the policy controllers by moving them to NextLabs's DB (MS SQL).
  • Management Server: Administrative component that is used to manage NextLabs instances and policies. It is also used configure policies. 
  • Bulk Obfuscation Tool (BOT): Allows users to select which data to encrypt. In addition to encrypting data, it also creates encryption keys, stores them in NextLabs DB and writes the key ID in into a /NXL/ table in HANA DB.
  • MS SQL: Database for NextLabs. It stores configuration, policies, logs and encryption keys used for FPE. For NextLabs Azure SQL DB (DaaS) will be leveraged. 
  • DAE for SAP: NextLabs binaries that run on SAP application. At run-time, DAE for SAP will intercept data request for sensitive request and send it to Policy controller to evaluate if access should be granted.
  • NextLabs add-on: Installs NextLabs programs and tables in S/4HANA application. 
  • Azure Files: Network files systems are required between DAE for SAP & Policy Controller and ICENET servers & Management Servers.

Integrating Systems

  • Access Flag: Houses information on user access to the corresponding controlled document, taking into account the constraints from the various Export control regulations: ITAR, EAR, European Dual Use, German military. 
  • SuccessFactors: Syensqo HR system that serves as a source of truth for employee data.
  • EntraID: Integrated with NexLabs for SAML SSO. 

NextLabs Data and Security Flow

NextLabs Initial Configurations 

The following steps will be carried out to prepare S/4HANA 

  1. NextLabs add-on will be installed in S/4HANA. This will import NextLabs programs and tables in /NXL/ namespace.
  2. A share file system will be mounted across S/4HANA application VMs and Policy Server VMs. This NFS will contain binaries for DAE for SAP and used to store log files from DAE.
    • Path for DAE installation - /usr/NextLabs/DAE
    • Path for DAE working and log directory - /usr/sap/<SID>/DAE
  3. DAE bootstrap command is to be executed on S/4HANA application server which will load NextLabs configurations into S/4HANA Kernel. This step is to be repeated when S/4HANA kernel is updated.
  4. BOT component will required ODBC connection to S/4HANA.

Encryption

 

  1. User selects which data to encrypt in BOT Web UI.
  2. BOT creates an encryption key for the selected data, encrypts the data and writes the key ID in into a /NXL/ table in HANA DB.
  3. BOT stores the encryption key and key ID in MS SQL DB.

Accessing Sensitive Data 

Reading Sensitive Data

  1. Users access sensitive data using any access method (SAPGUI, Fiori etc.).
  2. DAE intercepts the DB call and send the request to the Policy controller. 
  3. Policy controller evaluates if access should be granted based on the policies defined in NextLabs.
  4. If access is granted, DAE for SAP will retrieve the encryption key ID from /NXL/ table and query Management server for the encryption key.
  5. Management server retrieves the key from MS SQL DB and sends it to DAE.
  6. DAE reads the encrypted data from HANA DB, decrypts the data and returns the decrypted data to SAP application. 

 Writing Sensitive Data

  1. User tries to update S/4HANA Data from web or SAPGUI.
  2. DAE for SAP intercepts the DB write command and sends it to Policy Controller. 
  3. Policy Controller evaluates if the write command contains sensitive data and the users has access to the corresponding data. 
  4. If yes, DAE for SAP will retrieve the encryption key ID from /NXL/ table and query Management server for the encryption key.
  5. Management server retrieves the key from MS SQL DB and sends it to DAE.
  6. DAE for SAP uses the encryption key to replace the sensitive data in the write command with its corresponding encryption value and send the write command to HANA DB. 

System Landscape

NextLabs landscape will consist of a common DEV instance deployed to EU region and QAS, PAR, PRD instances deployed to EU and US regions.

*QAS instance will be integrated to INT and UAT landscapes.  

Hosting Details

NextLabs system will be hosted in both EU and US region. Since NextLabs requires low latency network connection to S/4HANA, NextLabs will be hosted in the same Azure region and physical zone as SAP RISE.

RegionAzure Region
EUNorth Europe (Dublin)
US

Department of Defense (DoD) in Azure Government Virginia

In EU and US, NextLabs will be deployed to the following Subscriptions and vNETs. In both regions, NextLabs vNETs will be attached to region's Syensqo's Hub. To optimize latency between S/4HANA and NextLabs, NextLabs will be deployed in the same zone as SAP RISE.

RegionSubscriptionsvNETAzure physicalZone
EUNon-PRDDEVnortheurope-az1
QASnortheurope-az1
Pre-PRDPAR

northeurope-az1
northeurope-az3

PRDPRD
USNon-PRDQASnortheurope-az1
Pre-PRDPAR

northeurope-az1
northeurope-az3

PRDPRD

For more details on NextLabs infrastructure please refer to Network and Infrastructure Architecture.

Development 

Development NextLabs instance will follow combined deployment where multiple components are deployed together.

QAS

QAS NextLabs instance will follow a distributed deployment with no high-availability (HA).

Production and Parallel Run

Parallel run instance will follow a high-availability architecture. 

  • Multiple instances of Policy controller and ICENET servers will be deployed in an active-active configuration. 
  • Management server will be deployed in an active-passive configuration using RHEL Pacemaker.
  • Azure built-in high-availability will be leveraged for SQL DB and Azure Files. 
  • Since BOT is runtime critical, it will be deployed without HA. 

Application Security

User Access

NextLabs will be accessed by NextLabs administrators from Syensqo network via HTTPS. Default security roles will be used.

Authentication

NextLabs is configured to perform SAML SSO with Syensqo Entra ID. 

Communication Security

Data in transit is encrypted using secure TLS protocols (v.1.2 or greater) with 2048-bit keys. 

Data Security

The following controls are implemented to ensure data security:

  • Encryption is enable to protect data at rest
    • DB encryption is enabled in SQL Server
    • As part of Syensqo's standard disk encryption is enabled by default. 
    • All backup are encrypted.
  • Data protection.
    • All backups are storage in immutable storage.
    • Non-PRD backups are stored in zone redundant storage.
    • Production backups are stored in Geo-redundant storage and are replicated to another region.

Other Controls

  • The target availability SLA for NexLabs is 99.9%
  • CrowdStrike endpoints installed on VMs.

Operation Architecture

Change and Configuration Management

NextLabs policies will be transported using NextLabs Policy Migration tool. This tool will be configured to transport to DEV → QAS → PRD → PRD.

Monitoring

The following monitoring will be enabled for NextLabs.

TypeMetrics monitoredAlerts TriggerMonitoring Tool
VM AvailabilityVM is runningVM status is not available
High resource utilization
CPUCPU utilization > 85%
MemoryMemory utilization > 85%
Disk Disk utilization > 85%
OS ServicesNextLab servicesServices are down
BackupBackup statusBackup status is not successful

To enable monitoring the following agent will be installed. 

Sizing & Capacity Management

TBC

High Availability & Disaster Recovery

NextLabs HA/DR approach is similar to S/4HANA - Short distance disaster recovery. With this approach, Redundant NextLabs components will be deployed across 2 zones.

The following table lists down the HA/DR approach for each component. 

ComponentHA Design
Policy ControllerMultiple Policy Controller VMs will be deployed across 2 AZ in an active-active configuration.
ICENET ServersMultiple ICENET Servers will be deployed across 2 AZ in an active-active configuration.
Management Server

2 Management Server VMs will be deployed across 2 AZ in an active-passive configuration and RHEL Pacemaker will be leveraged to manage the failover.

Bulk Obfuscation Tool (BOT)

BOT is not critical to runtime. Hence one instance of BOT will be deployed.

MS SQL

SQL managed instance (DaaS) will be used for NextLabs and HA is provided by Microsoft.

Azure Files (DAE for SAP)

Azure Files built-in HA capabilities will be leveraged.

Backup

The following backups are configured for NexLabs.

TierBackup TypeFrequency

DEV

QAS

VMWeekly
Azure FileDaily
DBDaily

Pre-PRD

PRD

VMWeekly
Azure FileDaily
DBDaily
DB logHourly

Backup Storage Locations

TBC

Maintenance Plan

TBC

Change log