IDaaS 企业服务
当 IDaaS 用户需要通过 Agent 访问企业服务时,可以在 Agent Identity 中为用户池配置企业服务和 Scope 授权范围。按照以下步骤授权企业服务、创建或选择企业 M2M 应用、配置 Scope 及相应的人员权限和出站授权范围,并验证配置结果。
工作原理
企业服务出站配置涉及两个产品:
IDaaS:将目标系统注册为企业 M2M 应用,配置受众标识,并由权限中心维护 Scope、授权方式和人员授权。
Agent Identity:为已接入同一 IDaaS 实例的用户池选择企业服务和 Scope,形成企业服务授权范围。
按以下顺序完成授权配置:
创建企业服务并配置权限:创建企业 M2M 应用,配置受众标识、Scope 和授权方式。自动授权的 Scope 默认授予所有能够访问当前客户端的人员;手动授权的 Scope 需要配置人员授权。
配置出站授权范围:在 Agent Identity 中选择用户池和企业服务,并为 Agent 勾选人员 Scope 或人员&机器 Scope。纯机器 Scope 暂不显示在 Scope 选择列表中。
完成首次授权后,Agent Identity 会通过自动创建的 IDaaS 专用实例管理企业服务访问令牌。Agent 代表用户访问企业服务时,按以下流程获取并使用访问令牌:
Agent Identity 基于已认证的用户身份和已配置的出站授权范围,向 IDaaS 发起令牌交换(Token Exchange,RFC 8693)。
IDaaS 为目标企业服务签发访问令牌。令牌的 Scope 受出站授权范围和 Scope 授权方式限制:自动授权对所有能够访问当前客户端的人员生效;手动授权还需匹配当前用户的人员授权。访问令牌保留用户身份信息。
Agent 携带访问令牌调用企业服务。企业服务根据令牌中的用户身份和 Scope 识别用户并校验权限,运行时无需用户针对每次企业服务访问重复授权。
可以了解 Token Exchange 的协议原理。本文不展开令牌交换的请求参数、令牌声明字段或调用代码。
准备工作
开始配置前,完成以下准备:
需要授权的用户池均已接入IDaaS,且配置详情显示同一个IDaaS实例和各自对应的入站应用。
确定要授权的企业M2M应用及其受众标识。
确定企业服务需要开放的最小Scope。
确定允许访问企业服务的账户、组或组织。
为操作人员的RAM用户或角色授予
AliyunAgentIdentityFullAccess系统策略,并使用具有IDaaS管理权限的账号。
创建企业服务并配置权限
完成企业服务授权后,按照“创建企业 M2M 应用、管理 Scope、配置人员授权”的顺序准备企业服务权限。
Scope、应用授权和人员授权由权限中心统一维护,其中Scopes 管理和人员授权均可在 Agent Identity 控制台内完成,仅创建企业服务(M2M)需要跳转到 IDaaS 控制台完成。
创建企业服务(M2M 应用)
先创建企业 M2M 应用,并配置企业服务的受众标识:
在 Agent Identity 的企业服务页面,单击创建企业服务(M2M)进入 IDaaS。
在 IDaaS 中创建或打开目标企业 M2M 应用。
进入功能权限开放,启用该功能并配置受众标识。受众标识用于标识接收访问令牌的企业服务。
返回 Agent Identity 企业服务页面并重新加载列表。
管理 Scope
如果企业 M2M 应用缺少所需 Scope,可以通过 Scopes 管理添加。
在目标企业服务的授权范围中,单击Scopes 管理。
在Scope 配置面板中,单击添加 Scope。
配置以下信息:
Scope 名称:输入 Scope 的显示名称。该名称仅用于管理端展示。
Scope 标识:输入权限标识。IDaaS 签发的访问令牌中会包含该标识。建议使用“资源.操作”或“资源.操作.限制条件”的形式,例如
user.read。同一应用内的 Scope 标识必须唯一。
企业服务的 Scope 包括以下类型。通过Scopes 管理添加的 Scope 类型为人员 Scope。
人员 Scope:用于人员访问授权,并显示在 Agent Identity 的出站授权范围中。
机器 Scope:用于机器间访问。当前即使已在 IDaaS 中创建,也不会显示在 Agent Identity 的出站授权范围中。
人员&机器 Scope:同时用于人员和机器间访问,并显示在 Agent Identity 的出站授权范围中。
配置出站授权范围
完成企业服务和 Scope 配置,并在 Scope 为手动授权时完成人员授权后,在 Agent Identity 中按以下步骤配置出站授权范围:
在出站 > 企业服务打开目标企业服务。
在基本信息中核对 IDaaS 实例 ID、凭证提供商名称和 ARN、凭证库。
在授权范围页签单击编辑授权范围。
在用户池区域勾选允许访问的用户池;不可用项按页面原因提示处理。
在企业服务区域展开目标企业 M2M 应用,勾选 Agent 完成任务所需的最小 Scope。
核对用户池、企业服务和 Scope 后,单击提交。
当前 Scope 选择列表只显示人员 Scope 和人员&机器 Scope。纯机器 Scope 即使已在 IDaaS 中创建,也暂不显示在该列表中。
验证配置
完成配置后,按以下项目检查授权关系:
基本信息:显示正确的 IDaaS 实例 ID、凭证提供商名称和 ARN、凭证库。
用户池范围:编辑态下目标用户池显示“已选择”;详情态显示“已授权”计数。
企业服务与 Scope:编辑态下目标企业服务和最小 Scope 均显示“已选择”;详情态显示“已授权”计数。
受众标识:IDaaS 企业 M2M 应用的功能权限开放中显示正确的受众标识。
处理配置问题
现象 | 检查项 | 处理方法 |
用户池不可选 | 是否提示“该用户池未配置 IDaaS 身份源” | 打开该用户池的身份源页面,接入当前企业服务使用的 IDaaS 实例后重新加载 |
企业服务不可选 | 是否提示企业服务未开启“功能权限开放” | 从创建企业服务(M2M)入口打开 IDaaS 配置,启用功能权限开放并配置受众标识后重新加载 |
出站授权范围中未显示 Scope | 在 IDaaS 中确认 Scope 类型 | 当前只显示人员 Scope 和人员&机器 Scope。纯机器 Scope 暂不显示;如果缺少人员 Scope,可以使用Scopes 管理添加后重新加载 |
人员授权中 Scope 无法勾选 | 授权方式是否为自动授权 | 自动授权的 Scope 已默认授予所有能够访问当前客户端的人员,无需重复配置;如果需要限定人员范围,使用手动授权的 Scope |
用户缺少所需权限 | Scope 是否为手动授权,且人员授权是否覆盖目标账户、组或组织机构 | 对于手动授权的 Scope,使用人员授权将所需 Scope 授予目标账户、组或组织机构 |