Skip to content

Identity Management

构想

Identity Management Service 管理 MindSphere 平台中的租户、用户和组。客户可以通过该服务访问 MindSphere 中使用的 User Accounts and Authentication (UAA) Service,从而进行身份​​管理和授权。

访问

要访问此服务,您需要具有 Identity Management 角色和范围中列出的相应角色。

基础知识

租户

租户是面向数据的组织特定逻辑环境。租户通常代表法人实体,例如企业或公司。MindSphere 是一个多租户架构。

租户最多包含两个区域,用于进行身份管理和访问控制:

  • 用户区域
    每个租户都有一个用户区域。租户的用户可以通过用户区域登录和使用公司订阅的应用。租户管理员可以在用户区域管理用户并为其分配角色,使其可以访问订阅的应用。

  • 提供者区域
    提供者区域代表 Web 应用和 API 开发与操作所需的附加环境。每个 DevOps 计划租户都有一个提供者区域,该区域存储与开发或操作所需访问权限管理相关的所有信息(例如,角色、权限、应用和技术用户)。

由于租户名称是在全球范围内使用的资源,因此每个租户的名称必须是唯一的。

每个用户租户需要至少定义一个管理员来管理此租户的用户和角色。

用户和组

每个租户都有自己的用户,并可使用根据其订阅的应用提供的角色。角色表示访问应用所需的一组权限。 通过将角色建模为 SCIM 组,MindSphere 中的用户和角色管理能够满足 SCIM 标准(跨域 Identity Management 系统)的相关要求。

目前,在用户区域内,SCIM 组仅用于表示角色。

此外,SCIM 组还可以代表用户组(用于管理用户组)、数据组(用于管理最终客户对数据、assets 等的访问)以及权限(仅用于在租户的提供者区域内管理对资源更细化的访问)。

角色和范围

以下信息仅适用于具有提供者区域的租户。

如果公开面向 Web 应用的 API,则范围将定义应用特定的权限。范围名称通常采用可以体现权限的语法,如下所示:

{apiName}.{permission/action}

以下列表列出了 IoT 服务的 CRUD 权限示例:

  • iot.c(在 IoT 中创建对象的权限)
  • iot.r(在 IoT 中读取对象的权限)
  • iot.u(在 IoT 中更新对象的权限)
  • iot.d(在 IoT 中删除对象的权限)

范围将映射到特定角色。角色名称采用如下语法:

mdsp:{tenantName}:{application/apiName}.{roleName/action}

因此,上文的所有范围都可以映射到以下角色

mdsp:core:iot.admin

特定于应用的角色和范围在提供者租户中定义,并且可以在 Developer Cockpit 应用中进行管理。另请参见 Cloud Foundry 应用指南

OAuth 客户端

以下信息仅适用于具有提供者区域的租户。

OAuth客户端(也称为技术用户)让应用可以获取令牌以访问受保护的资源,无需人工干预。这对于在应用中定期执行后台操作(批次操作)是必须的。如果您的应用不是托管在MindSphere Gateway背后的,导致在请求头部中接收不到交互式用户令牌,那么也是需要使用OAuth客户端的。OAuth 客户端在租户的提供者区域中定义,包含客户端 ID 和客户端密钥,支持使用客户端凭证授权 (RFC 6749) 获取令牌。

说明

Identity Management API 的 userID 和解码 token 中的 user_id 不同。包含用户电子邮件地址的过滤器需要用来获取指定用户的特定数据。

有关如何为提供者租户获取OAuth客户端,请参考自托管应用指南.
客户端密钥在过期前应及时更新, 具体说明请参考客户端密钥轮换.

功能

Identity Management Service 公开其 API 以实现以下任务:

  • 列出租户的所有用户
  • 创建、获取、更新、删除租户的用户
  • 获取分配给自己用户的所有角色
  • 列出租户用户区域内的所有 SCIM 组
  • 创建、获取、更新、删除租户用户区域内的 SCIM 组
  • 列出、添加、删除租户用户区域内的 SCIM 组成员

示例场景

某啤酒厂的管理人员希望为其 Web 应用的新开发者准备租户。

使用 Identity Management Service 为租户添加新用户并为其分配开发所需的角色(例如,mdsp:core:StandardUser、mdsp:core:Developer)。


Last update: March 22, 2023