机器间权限管理(M2M)是无需用户参与的应用间授权,由IDaaS进行授权,结合网关型产品进行鉴权,从而控制调用方应用对受保护资源的访问,防止越权访问。
使用场景
企业在数字化协作场景中,如果需要将部分业务系统能力开放给第三方合作伙伴(如外包团队)时,通常需要建立基于机器身份的自动化授权机制。
在具体实施过程中,企业可采取以下方案:
建立合作伙伴准入认证体系:通过预共享密钥或OAuth 2.0客户端凭证模式等技术手段,为每个合作方分配独立的机器身份标识。
采用细粒度权限管理策略:在API访问控制层面,将非核心业务数据接口的访问权限与特定合作伙伴身份进行绑定。例如:可配置仅允许某开发团队调用数据可视化相关的接口服务。
这种基于M2M(机器对机器)通信的授权模式,既保证了自动化系统间的高效交互,又通过身份鉴权和权限隔离机制降低了数据安全风险,特别适用于开发协作、数据看板搭建等无需终端用户介入的系统对接场景。
功能概述
机器间权限管理(M2M)是无需用户参与的应用间授权,由IDaaS进行授权,结合网关型产品进行鉴权,从而控制调用方应用对受保护资源的访问,防止越权访问。
典型场景
企业将内部API对外开放给外包/供应商系统调用,需要精细化控制其调用权限。
企业在非云厂商环境内访问云厂商资源(如多云环境)。
典型客户
需要结合API网关对外暴露API的客户。
所有需要无AK访问阿里云的客户,以及多云客户。IDaaS方案可以在阿里云无AK方案的基础上覆盖本地开发环境、多云环境场景的使用。
核心功能
凭证管理:管理IDaaS中调用方应用的凭证,用于向IDaaS请求
Access Token
。授权管理:定义调用方应用,并对其进行授权。
预集成网关:在应用统一鉴权场景下,联动API网关进行鉴权。
基本概念
概念 | 说明 |
概念 | 说明 |
M2M应用(Machine-to-Machine) | 用于机器间权限管理的应用,无需用户参与的授权和鉴权过程,可联动API网关实现API权限控制、联动RAM实现无AK访问。 一个M2M应用既可以作为客户端,也可以作为服务端。 |
客户端 | 即调用方应用(对应OAuth中的Client),是一个发起向受保护资源访问的应用程序。 |
服务端 | 即被调用方应用或受保护资源(对应OAuth中的Resource Server),代表一个外部资源实体。 |
受众标识 | 对应Claim中的aud,表示Access Token的受众,即服务端的唯一标识。填写后不可修改。 |
配置流程
本文主要以API网关配置流程进行介绍。M2M应用既可以作为调用方身份(即Client),也可以作为被调用方身份(即Resource Server)。
建议一个M2M应用只使用其中一种身份。
调用流程
调用方应用验证身份并请求
Access Token
。IDaaS返回
Access Token
(包含权限信息)。调用方应用携带
Access Token
访问被调用方应用。被调用方应用(或API网关、STS服务)验证
Token
有效性。被调用方应用(或API 网关、STS服务)进行鉴权,放行或拦截操作。
返回响应。
应用配置
添加应用
进入应用身份管理控制台,选择并进入您的IDaaS实例,进入对应实例的管理控制台。
选择
。
在弹出框中的应用名称一栏中填写您的应用名称,单击立即添加,即可完成应用创建。
查看通用配置
选择,可以查看和管理当前应用的通用配置信息,如:基础信息、凭证、网络范围限制、应用配置信息。
如您需要控制调用方应用的网络范围,确保只在特定网络范围内进行调用,可以修改客户端网络范围。关于网络范围的介绍,请参考:网络范围。
应用配置信息
在中,可获取发起访问的各类端点的配置信息。更多调用信息,请参考:M2M Client Token调用示例。
客户端权限管理
单击
可查看该应用被授予的权限。在被调用方应用的 中进行添加权限和授权。服务端权限开放
单击
,可以开启该应用作为被调用方。首次开启需添加受众标识,受众标识对应Claim中的aud,标识Access Token的受众,即持有受保护资源的服务。
添加后不可修改。
开启
后,可以向调用方应用添加或删除权限。权限仅作为唯一标识记录在IDaaS中,您需要自行维护权限和资源(如API、RAM角色)之间的对应关系。
在您将目标权限授权给调用方应用后,这些权限将被记录在IDaaS向调用方应用颁发的Access Token中。
建议按照“资源:操作:限制条件”的格式进行定义,如“user:read:all”。
权限标识在同一应用内不可重复。
您可在授权应用列表中,查看或管理被调用方应用的权限,如授权、收回权限等。
相关最佳实践
- 本页导读 (1)
- 使用场景
- 功能概述
- 基本概念
- 配置流程
- 调用流程
- 应用配置
- 添加应用
- 查看通用配置
- 应用配置信息
- 客户端权限管理
- 服务端权限开放
- 相关最佳实践