Now accepting guest editorial from SAP, Oracle, Workday and ServiceNow practitioners.Pitch a guide
The Sign-Off Table

Lesson 3 of 5

Security architecture: identity and trust

11 min

Listen to this lesson

0:00 / 6:39

An extension that spans SAP S/4HANA and SAP BTP crosses at least two security domains. Users must sign in once, be known in both places, and hold the right authorizations in each. Calls between the systems must be trusted, encrypted and, where it matters, carry the identity of the real user. Getting this right is mostly a matter of choosing well-known patterns early and documenting them.

Three pillars of identity and access

SAP's identity and access management reference architecture names three pillars: authentication and single sign-on, the identity lifecycle, and authorization. SAP Cloud Identity Services are positioned as the central identity interface for SAP cloud applications. Single sign-on uses open standards such as SAML 2.0 and OpenID Connect; the identity lifecycle (creating, changing and, importantly, deleting users and groups) uses SCIM 2.0 replication. Authorization stays domain-specific: an SAP S/4HANA business role and an SAP BTP role collection are designed differently, and a user needs both to use an extension that spans them.

Deprovisioning is part of the identity lifecycle: a removed Great Lakes user must lose access everywhere, and that is a test case.
The Sign-Off Table · thesignofftable.com/academy/sap-arc-203
Corporate identity providerWhere Contoso employees' accounts live
SAP Cloud Identity ServicesAuthentication for SAP cloud apps and provisioning of users and groups
SAP BTP subaccount trustEach stage trusts the identity service; groups map to role collections
SAP S/4HANABusiness users with business roles (PFCG roles) that control data access
Identity layers for a Contoso extension. Each layer has its own owner.
The Sign-Off Table · thesignofftable.com/academy/sap-arc-203

Carrying identity into SAP S/4HANA

When a BTP app calls SAP S/4HANA, the back-end call needs an identity. Two patterns dominate. With principal propagation, the identity of the signed-in cloud user is forwarded to the remote system, so SAP S/4HANA applies that user's own authorizations and logs that user's name. SAP's connectivity documentation describes two variants: cloud to on-premise through the Cloud Connector with a destination of authentication type PrincipalPropagation, and cloud to cloud with authentication types such as OAuth2SAMLBearerAssertion or OAuth2JWTBearer. A JSON Web Token carries the user information. With a technical user, the app calls the back end as one system identity and must enforce data restrictions itself.

With principal propagation through the Cloud Connector, CMP sees and authorizes the real user, not a shared technical identity.
The Sign-Off Table · thesignofftable.com/academy/sap-arc-203
AspectPrincipal propagationTechnical user
Back-end authorizationsThe real user's roles applyThe technical user's roles apply to everyone
Audit trail in SAP S/4HANAShows the real userShows the technical user; the app must log who acted
RequiresA matching user in SAP S/4HANA and a trust setupCareful app-side authorization and a narrowly scoped technical role
FitsInternal users who already have SAP S/4HANA usersExternal users, or read-only system-to-system calls
Choosing how a side-by-side app calls SAP S/4HANA.
The Sign-Off Table · thesignofftable.com/academy/sap-arc-203

Contoso uses both. Its internal key users' BTP apps propagate the user, so Maria's sales authorizations in CMP apply. The fleet order status app serves Great Lakes Fleet Services staff, who have no SAP S/4HANA users. It therefore authenticates them through SAP Cloud Identity Services, calls CMP with a technical user that can only read sales order status through a released API, and filters every response to the customer number tied to the signed-in user's group. That filter is the security control, so it has its own tests.

Connectivity and trust

Systems not exposed to the internet are reached through the Cloud Connector, which runs in the customer's network as a reverse invoke proxy: it opens the connection outward to SAP BTP, so no inbound firewall ports are needed, and it exposes only the specific systems and resources the administrator allows. It records audit logs of inbound traffic and configuration changes and can run in a high-availability setup. SAP's secure setup recommendations include changing the initial administrator password at once, using LDAP for administrator access, limiting operating system access to a few administrators and running the machine for the connector alone. Where workloads run on a supported hyperscaler, SAP Private Link service can keep traffic between SAP BTP and those workloads off the public internet; it currently supports the Cloud Foundry and Kyma runtimes.

  1. Sign-inGreat Lakes user authenticates with SAP Cloud Identity Services
  2. Role collectionGroup membership maps to the app's viewer role collection in cmc-ext-prod
  3. App checkApp resolves the user's customer number and restricts the query
  4. DestinationCMC_S4HANA destination uses the technical user over a trusted connection
  5. Back endCMP returns order status through a released API; app filters and logs the request
Security flow of the fleet order status app.
The Sign-Off Table · thesignofftable.com/academy/sap-arc-203

What would you do?

A developer suggests giving the fleet order status app's technical user the broad sales display role "to avoid authorization errors". What should the architect decide?

Key points
  • Identity has three pillars: authentication and SSO, identity lifecycle, and authorization.
  • SAP Cloud Identity Services centralize authentication and provisioning; SAML 2.0, OIDC and SCIM 2.0 are the standards.
  • Principal propagation carries the real user to SAP S/4HANA; a technical user needs narrow scope and app-side checks.
  • The Cloud Connector opens connections outward and exposes only what the administrator allows.

Check your understanding · not graded

Lesson check

  1. 1. Which open standard does SAP use to replicate users and groups into SAP solutions?

  2. 2. What does principal propagation do?

  3. 3. Why does the Cloud Connector not need inbound firewall ports?

  4. 4. Which runtimes does SAP Private Link service currently support, according to SAP's reference architecture?