¶ 管理资源权限
作为管理员,你可以在控制台管理和分配资源的权限。在实践权限管理和授权之前,需要先了解几个概念。
- 应用:作为管理员,你能够创建应用,应用就是你正在开发的应用项目在 Authing 的一个定义,例如正在实际开发一个「网络笔记」应用,你就应该在 Authing 创建一个名为「网络笔记」的应用。
- 资源:之后你可以在 Authing 中定义一些资源,例如「网络笔记」应用中的资源可能有笔记本、笔记内容、作者等等。
- 用户:你也可以直接将权限指派到用户,你也可以将你的用户划分成不同的分组、角色、组织机构部门,这样在以后分配权限的时候方便管理。
- 角色:角色是一组用户的集合,角色中的用户会自动继承该角色被授权的权限。
下面我们创建应用、创建资源、创建用户,然后定义资源与用户的授权关系。
¶ 创建应用
请查看创建应用文档。
¶ 创建资源
在应用下访问授权的资源卡片,点击右边的添加按钮。
然后填写一个资源名称,建议填写语义化的资源名称,便于后续管理。在操作类型中可以定义资源操作,这里定义了读取和写入操作。最后点击保存,一个资源就创建好了。
¶ 创建用户
在用户列表,点击新建,创建一个用户。
¶ 创建角色
在应用详情 - 访问授权 菜单的 角色管理卡片中,点击右边的添加按钮:
创建完角色之后,你可以往这个角色中添加用户:
你可以通过用户名、邮箱、昵称搜索用户。
¶ 管理权限
现在你有了资源和人,接下来你要定义「谁」能够对什么「资源」做什么「操作」。 在应用的资源授权卡片中,点击右侧的添加按钮。
被授权主体可以选择用户,这里我们选择刚刚创建的用户,在下方的资源类型中选择我们刚刚创建的设备资源。
同时被授权主体也可以选择角色,这样角色中的所有用户都会自动继承该角色被授权的权限。
然后资源标识符填写 *
,代表授权所有设备资源,操作选择特定操作,选择我们刚刚定义的资源操作中的读取设备列表操作,最后点击确定。
如果填写一个具体的标识符,例如 42,则表示将编号为 42 的设备资源授权给主体。主体只具备 asset:42 这个资源的权限,授权时最多只能授权出 asset:42 资源的相关权限。
我们还可以为授权规则添加限制条件,例如该规则只针对 Windows 用户有效。如果从 Linux 机器上发起授权,Authing 会认为用户无权限,无法完成设备资源的授权。
如果希望将多个资源授权给用户,可以继续添加授权规则。
¶ 编程访问账号
编程访问账号是应用下的一对 AccessKey、SecretKey,用于交给外包商等第三方厂商。可以使用编程访问账号结合 OIDC 授权码 code 获取用户的 AccessToken 与 IdToken,或者使用编程访问账号进行 OIDC ClientCredentials 模式代表调用方本身请求授权。