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

  • 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.

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.

Sensitive Data Access

  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 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. 

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 3 Azure Subscriptions and in both regions, NextLabs subscriptions will be attached to region's Syensqo's Hub. 

  • Non-PRD: DEV and QAS NextLabs instances.
  • Pre-PRD: Parallel Run NextLabs instances.
  • PRD:  Production NextLabs instances.

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 for SQL server
  • All backups are encrypted using ????
  • All backups are storage in immutable storage ???
  • Non-PRD backups are stored in zone redundant storage.
  • Production backups are replicated to ??? region.

Other Controls

The Availability SLA for NexLabs is ???

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 Services


BackupBackup statusBackup status is not sucessful

To enable monitoring the following agent will be installed. 

Sizing & Capacity Management


High Availability & Disaster Recovery

Blackline has implemented high availability throughout its environment to prevent single points of failure. 

It has the following DR targets:

  • RPO - 2h
  • RTO - 24h

BlackLine conducts disaster recovery tests on an annual basis.

Backup/Restore

BlackLine does backups of Production and non-Production instances daily from 9pm to 1am Pacific Standard Time. Backups are retained for 30 days and this can be increase to a maximum of 90 days by opening a support ticket. 

Users can request for their Blackline instance to be restored using the daily backups for the last 30 days 

Maintenance Plan

Blackline maintenance schedule can be found in Trust Blackline. Syensqo BlackLine tenants are deployed to the following regions:

  • Non-PRD: sbeu3
  • PRD: eu3


Change log