SuperAPI AI 工具集

sap-btp-cloud-identity-services

安全与审计

查看项目

更新于 10-15 18:10

技能介绍

用途

SAP Cloud Identity Services 是 SAP BTP 上的一组服务,用于跨云和本地系统管理身份与访问,提供单点登录、用户预配和基于策略的授权。该技能面向需要在 BTP 应用中配置身份验证、用户同步和授权的开发者与管理员。

主要能力

服务由以下部分组成:

  • Identity Authentication(IAS):基于云的身份验证、SSO(OIDC/SAML 2.0)、企业 IdP 联合、条件认证和用户存储管理,作为 SAP BTP 应用的身份提供者。
  • Identity Provisioning(IPS):身份生命周期管理即服务,在源系统与目标系统(SAP 与非 SAP)之间同步用户和组,支持全量与增量读取、实时预配和转换。
  • Identity Directory:中央用户存储,提供 SCIM 2.0 REST API、自定义 Schema,并生成由 IPS 分发给 SAP 云应用的 Global User ID。
  • Authorization Management(AMS):为 BTP 应用提供基于策略的授权。开发者在 Data Control Language(DCL)中定义策略,管理员通过管理控制台细化和分配。

使用方式

Identity Authentication(IAS)

IAS 是 SAP BTP 应用身份验证的入口,支持 OIDC 和 SAML 2.0 协议,可作为身份提供者或企业 IdP 的代理,并基于用户属性、电子邮件域、用户组或 IP 范围提供条件认证。

应用注册在 IAS 管理控制台的 Applications and Resources > Applications 下进行。每个应用定义:应用类型(OIDC 或 SAML 2.0)、信任配置(SAML 上传 SP 元数据,OIDC 配置重定向 URI)、认证(方法、条件规则、IdP 选择)、用户属性(令牌/断言中发送哪些属性)。

使用 SAP BTP Identity 服务(XSUAA 替代)时,服务实例会自动在 IAS 中创建 OIDC 应用,无需手动注册。

企业 IdP 联合:IAS 可充当代理,最终用户在企业 IdP(如 Azure AD、Okta 等)进行身份验证,IAS 为 SAP 应用桥接令牌。在 Applications and Resources > Corporate Identity Providers 下配置。

Identity Provisioning(IPS)

IPS 在系统之间同步用户和组,支持源、目标和代理系统类型,可配置转换和调度。关键概念包括:源系统(读取用户/组,如 SAP SuccessFactors、Azure AD、SAP S/4HANA Cloud)、目标系统(写入用户/组,如 IAS 租户、SAP BTP XSUAA、SAP Analytics Cloud)、代理系统(混合场景,IPS 从一个系统读取并通过另一个系统写入)、转换(源与目标 Schema 之间基于 JSON 的属性映射)、作业(计划或按需预配运行,全量或增量读取)、实时预配(实体从源到目标的即时传播)。

Authorization Management(AMS)

AMS 为 BTP 应用提供基于策略的实例级授权。开发者用 DCL(一种类似 SQL 的语言)定义授权策略并随应用部署,管理员在 IAS 管理控制台中细化策略。

策略生命周期:开发者在 DCL 中定义策略并随应用部署;基础策略出现在 IAS 管理控制台的 Authorization Policies 下;管理员创建自定义策略(基础策略的副本)并细化限制;管理员通过组将策略分配给用户。

DCL 示例:

DEFINE POLICY SalesOrderAccess
  AS (SELECT FROM SalesOrder
      WHERE buyer = CONTEXT('userIdentityLogonName')
      OR region = CONTEXT('userAttributes.region'));

XSUAA 到 IAS 迁移

SAP 正在将 BTP 身份验证从 XSUAA(SAP Authorization and Trust Management Service)迁移到 Cloud Identity Services。推荐做法:新 BTP 应用使用 Identity 服务(BTP 服务)+ IAS,Identity 服务自动在 IAS 中创建 OIDC 应用;现有 XSUAA 应用支持共存,迁移是增量的,SAP 建议将身份验证迁移到 IAS 同时保留 XSUAA 以向后兼容;授权方面,SAP 正为新应用用 AMS 基于策略的授权替代 XSUAA 基于范围的授权,现有角色集合模式仍受支持。

信任配置

使用 Identity 服务时,BTP 子账户与 IAS 之间的信任会自动建立。手动配置时:SAML 2.0 需将 SP 元数据 XML 上传到 IAS 应用信任配置;OIDC 需配置重定向 URI、登出后 URI 和客户端认证。在 BTP Cockpit 的 Security > Trust Configuration 下,建立服务绑定后会出现 IAS 租户,Identity 服务会自动创建信任。

适用场景

  • 在 IAS 中注册 OIDC 或 SAML 2.0 应用
  • 配置企业身份提供者联合(IdP 代理)
  • 建立 BTP 子账户与 IAS 租户之间的信任
  • 设置 Identity Provisioning 源/目标系统和作业
  • 编写或细化 AMS 授权策略(DCL)
  • 从 XSUAA 迁移到基于 IAS 的身份验证
  • 排查令牌验证、受众或签发者不匹配错误
  • 配置条件认证(基于风险、MFA)
  • 将 IAS 与 SAP BTP Identity 服务集成(自动创建 OIDC 应用)

限制与常见错误

常见错误及解决方案:

  • 无效重定向 URI:IAS 应用中的重定向 URI 与应用路由器回调 URL 不匹配。在 IAS 应用 > Trust > Redirect URIs 中添加精确 URI(含协议和末尾斜杠)。
  • 令牌受众不匹配:令牌 aud 声明未包含预期客户端 ID。验证应用客户端 ID 与 IAS 中的一致,检查 Identity 服务绑定。
  • 信任未建立:BTP 子账户没有到 IAS 租户的信任。重新绑定 Identity 服务实例,或在 BTP Cockpit 中手动添加 IAS 作为信任配置。
  • 缺少角色集合:用户在 BTP 中没有分配角色。在 BTP Cockpit > Security > Role Collections 中分配角色集合,或配置 AMS 策略。
  • 服务间调用返回 401:客户端凭据无效或缺失。重新生成客户端密钥/证书,验证绑定凭据。
  • SAML 断言过期:IdP 与 IAS 之间时钟漂移。同步系统时钟,检查 IAS 租户 SAML 设置。
  • 预配作业失败:源/目标系统连接问题。在 IPS 管理控制台检查系统属性、证书和连接性。
  • 令牌签发者不匹配:IAS 租户 URL 变更或租户错误。验证 iss 声明与 BTP 信任中配置的 IAS 租户 URL 一致。

相关技能

  • sap-btp-connectivity:目标服务和连接认证机制(OAuth 客户端凭据、通过 Cloud Connector 的主体传播)
  • sap-cap-capire:CAP 应用级认证用法(角色模板、@requires 注解、使用 xs-security.json 的 cds deploy)
  • sap-btp-best-practices:高层安全治理和生产部署模式
  • sap-btp-cloud-platform:BTP 账户设置、子账户配置、服务实例创建

捆绑资源

  • references/identity-authentication.md:IAS 应用注册、OIDC/SAML 配置、企业 IdP 联合、条件认证、用户存储
  • references/identity-provisioning.md:IPS 源/目标/代理系统、作业、转换、实时预配、故障排查
  • references/authorization-management.md:AMS 策略语言(DCL)、策略生命周期、CAP/BTP 集成、基于实例的授权
  • references/xsuaa-to-ias-migration.md:XSUAA 与 IAS 决策指南、共存、迁移步骤、角色集合映射
  • references/app-integration-patterns.md:应用路由器 + IAS、CAP + IAS/AMS、SAPUI5 前端、服务间 mTLS/证书认证
  • references/troubleshooting.md:信任错误、令牌验证失败、受众/签发者不匹配、SAML 与 OIDC 陷阱

文档链接

  • SAP Cloud Identity Services — 主文档
  • What Are Cloud Identity Services — 服务概览
  • Operation Guide — 管理控制台指南
  • Configuring Authorization Policies — AMS 管理
  • Configuring Provisioning Systems — IPS 设置
  • Identity Service of SAP BTP — 自动 IAS 集成
  • CAP IAS/XSUAA Guide — CAP 框架集成
  • SAP-docs GitHub Mirror — 纯 markdown 文档