# 管理资源权限

作为管理员,你可以在控制台管理和分配资源的权限。在实践权限管理和授权之前,需要先了解几个概念。

  1. 应用:作为管理员,你能够创建应用,应用就是你正在开发的应用项目在 Authing 的一个定义,例如正在实际开发一个「网络笔记」应用,你就应该在 Authing 创建一个名为「网络笔记」的应用。
  2. 资源:之后你可以在 Authing 中定义一些资源,例如「网络笔记」应用中的资源可能有笔记本、笔记内容、作者等等。
  3. 用户:你也可以直接将权限指派到用户,你也可以将你的用户划分成不同的分组、角色、组织机构部门,这样在以后分配权限的时候方便管理。
  4. 角色:角色是一组用户的集合,角色中的用户会自动继承该角色被授权的权限。

下面我们创建应用、创建资源、创建用户,然后定义资源与用户的授权关系。

# 创建应用

请查看创建应用文档

# 创建资源

在应用下的资源卡片,点击右边的添加按钮。

然后填写一个资源名称,建议填写语义化的资源名称,便于后续管理。在操作类型中可以定义资源操作,这里定义了读取和写入操作。最后点击保存,一个资源就创建好了。

# 创建用户

在用户列表,点击新建,创建一个用户。

# 创建角色

在应用详情 - 授权菜单的角色管理卡片中,点击右边的添加按钮:

创建完角色之后,你可以往这个角色中添加用户:

你可以通过用户名、邮箱、昵称搜索用户。

# 管理权限

现在你有了资源,接下来你要定义「」能够对什么「资源」做什么「操作」。 在应用的资源授权卡片中,点击右侧的添加按钮。

被授权主体可以选择用户,这里我们选择刚刚创建的用户,在下方的资源类型中选择我们刚刚创建的图书资源。

同时被授权主体也可以选择角色,这样角色中的所有用户都会自动继承该角色被授权的权限。

然后资源标识符填写 *,代表授权所有图书资源,操作选择特定操作,选择我们刚刚定义的资源操作中的读取图书列表操作,最后点击确定。

如果填写一个具体的标识符,例如 42,则表示将编号为 42 的图书资源授权给主体。主体只具备 book:42 这个资源的权限,授权时最多只能授权出 book:42 资源的相关权限。

我们还可以为授权规则添加限制条件,例如该规则只针对 Windows 用户有效。如果从 Linux 机器上发起授权,Authing 会认为用户无权限,无法完成图书资源的授权。

如果希望将多个资源授权给用户,可以继续添加授权规则。

# 编程访问账号

编程访问账号是应用下的一对 AccessKey、SecretKey,用于交给外包商等第三方厂商。可以使用编程访问账号结合 OIDC 授权码 code 获取用户的 AccessToken 与 IdToken,或者使用编程访问账号进行 OIDC ClientCredentials 模式代表调用方本身请求授权。