All skills
secondsky avatar

/sap-btp-cloud-identity-services

@620a19a
by Eddiesecondsky/sap-skills456 stars
120

SAP Cloud Identity Services for BTP applications: Identity Authentication (IAS), Identity Provisioning (IPS), and Authorization Management (AMS). Use when configuring authentication for BTP apps, setting up OIDC or SAML app registrations, federating corporate identity providers, establishing subaccount trust, provisioning users, writing AMS authorization policies, migrating from XSUAA to IAS-based authentication, or troubleshooting token and trust errors.

Use this Skill: https://skilld.dev/gh/secondsky/sap-skills/sap-btp-cloud-identity-services

This session only. Nothing lands on disk.

referencesauthorization-management.md

≈1.6k tokens on demand. Your agent reads this file only when SKILL.md points to it.

Authorization Management (AMS) — Complete Reference

Source: Configuring Authorization Policies, Data Control Language (DCL), Developing Authorizations


Overview

Authorization Management (AMS) enables policy-based, instance-level authorization for SAP BTP applications. Unlike traditional scope-based authorization (XSUAA), AMS uses policies defined in Data Control Language (DCL) — an SQL-like language — to express fine-grained access rules based on user attributes, business object attributes, and context.


Policy Lifecycle

Step Role Tool
Define authorization policies Developer Development environment
Deploy policies with the application Developer Deployment pipeline
Refine policy restrictions Administrator IAS admin console
Assign policies to users Administrator IAS admin console / groups
Delete custom policies Administrator IAS admin console

Data Control Language (DCL)

DCL is an SQL-like language for defining authorization policies. Developers write DCL as part of the application and deploy it alongside the business logic.

Policy Structure

A DCL policy consists of:

  • Policy name — unique identifier within the package
  • Rules — USE rules define which operations are permitted
  • Restrictions — WHERE clauses filter accessible data based on conditions
  • Attributes — user attributes, business object attributes, or fixed values

DCL Syntax

DEFINE POLICY <policy-name>
  AS (SELECT FROM <entity>
      WHERE <condition>);

Example: Sales Order Access

DEFINE POLICY SalesOrderPolicy
  AS (SELECT FROM Sales.Orders
      WHERE buyer = CONTEXT('userIdentityLogonName'));

This policy restricts access to only the sales orders where the buyer matches the logged-in user.

Example: Regional Access with Role

DEFINE POLICY RegionalAccess
  AS (SELECT FROM Customers
      WHERE region = CONTEXT('userAttributes.region')
        AND CONTEXT('userGroups') HAS 'SalesTeam');

Context Functions

Function Returns
CONTEXT('userIdentityLogonName') Login name of the authenticated user
CONTEXT('userAttributes.<attr>') User attribute value from the identity directory
CONTEXT('userGroups') Groups the user belongs to
CONTEXT('issuer') Token issuer

Policy Types

Base Authorization Policy

Delivered with the application by the developer. Cannot be modified or deleted by administrators. Administrators can copy it to create a custom policy.

Custom Authorization Policy

Created by administrators in the IAS admin console. Can be modified and deleted. Created by copying a base policy or combining multiple policies.

Package Naming

  • Application-defined packages — named by the application, contain base policies
  • Customer Package — customer-developed policies created in the admin console

Configuration Options

Administrators can:

  • Combine policies — merge rules from multiple policies into a new one
  • Add/delete rules — modify which operations a policy covers
  • Restrict rules — add WHERE conditions to existing rules
  • Manage attribute values — set fixed values or map to user attributes
  • Assign policies to users — directly or via groups

Assigning Policies to Users

  1. In IAS admin console, go to Authorization Policies
  2. Select the policy
  3. Choose Assign > Add Users or Add Groups
  4. Search and select users/groups from the Identity Directory
  5. Save

Alternatively, use the SCIM API of the Identity Directory to assign groups that have policies attached.

Source: Assign Authorization Policies


CAP Integration

CAP (Cloud Application Programming Model) supports AMS authorization policies. The integration flow:

1. Define Policies in CDS

CAP applications can define authorization requirements using @restrict annotations in CDS:

entity Orders {
  @restrict: [
    { grant: ['READ'], where: 'buyer = $user' }
  ]
  ...
}

CAP compiles these into DCL policies when deploying with AMS support.

2. Enable AMS in CAP

In cds-security.json or via the Identity service binding:

  • Use the Identity service (IAS-based) instead of XSUAA
  • Enable AMS policy deployment
  • CAP automatically generates DCL from @restrict annotations

3. Deploy

CAP deploys the application with generated DCL policies to SAP BTP. The policies appear in the IAS admin console.

Source: CAP IAS/XSUAA Guide


AMS vs XSUAA Authorization

Aspect XSUAA (Scopes) AMS (Policies)
Granularity Coarse (scopes only) Fine-grained (instance-level)
Definition xs-security.json role templates DCL policies in code
Assignment Role collections via BTP cockpit Policies via IAS admin console
Context Role-based only Role + user attributes + business data
Instance-based Not supported Supported via DCL WHERE conditions
Recommended for Legacy applications New BTP applications

Administration Console Navigation

Access authorization policies in the IAS admin console:

  1. Sign in to https://<tenant>.accounts.ondemand.com/admin
  2. Navigate to Applications & Resources > Authorization Policies
  3. Filter by application or package
  4. Select a policy to view rules, restrictions, and assignments

From this view, administrators can:

  • Create custom policies (copy from base)
  • Combine policies
  • Edit restrictions and attribute values
  • Assign/unassign users and groups
  • Delete custom policies

Source: Configuring Authorization Policies

Source: SKILL.md on GitHub

No alerts1mo3 checks · Risk SAFE
  • Gen Agent Trust Hub1mo

    This skill is a collection of reference documentation and integration patterns for SAP Cloud Identity Services (IAS, IPS, and AMS) on SAP BTP. It provides technical guidance for OIDC/SAML application registration, XSUAA migration, and authorization policy development without any executable code or malicious patterns.

  • Socket1mo

    No alerts

  • Snyk1mo

    Risk: LOW · No issues

Signed by skilld at 620a19a. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 2 weeks ago.

Activeupdated 2 months ago
Other metadata
metadata
{
  "maintainer": "Eduard Jiglau",
  "maintainer_email": "hello@sap-ai-skills.com",
  "website": "https://sap-ai-skills.com",
  "version": "2.4.1",
  "last_verified": "2026-06-12",
  "documentation_source": "https://help.sap.com/docs/cloud-identity-services",
  "ias_docs": "https://github.com/SAP-docs/btp-cloud-identity-services",
  "integration_guide": "https://help.sap.com/viewer/b95c3d5bab324a3a8409eee5267a5b75/Cloud/en-US/27947dfb325047018603446439050a6b.html",
  "cap_ias_guide": "https://cap.cloud.sap/docs/guides/integration/platform/ias-xsuaa"
}

README badge

README badge for secondsky/sap-skills/sap-btp-cloud-identity-services