跳到主要内容
版本:3.9.x

创建自定义角色

API7 企业版初始提供了一个锁定的 超级管理员 角色和策略,授予完全访问权限以进行初始设置。默认的 admin 帐户永久绑定到此角色,用于紧急恢复。

通过自定义角色,你可以构建一个根据特定需求量身定制的细粒度权限系统。本教程将指导你在 API7 企业版中定义自定义角色的过程,使你能够更精确地管理访问控制。

本教程演示了一个自定义角色,该角色对生产网关组具有只读(view-only)访问权限,对测试网关组具有完全访问权限(查看和编辑)。你将完成以下步骤:

  1. 创建两个权限策略,一个用于定义对生产网关组的只读权限,另一个用于定义对测试网关组的完全访问权限。
  2. 创建一个附加了上述两个权限策略的自定义角色 Development Team Member

前提条件

  1. 安装 API7 企业版
  2. 拥有两个网关组用于测试和生产环境,且每个组中至少有一个网关实例。
  3. 两个网关组中都拥有一个已发布的服务以供验证。
  4. (可选)了解权限策略示例

创建权限策略

创建只读生产权限策略

  1. 在顶部导航栏中选择组织,然后选择权限策略
  2. 点击新增策略
  3. 在对话框中,执行以下操作:
  • 名称字段中,输入 production-gateway-group-view-only
  • 策略编辑器输入框中,输入以下 JSON:
{
"statement": [
{
"resources": [
"arn:api7:gateway:gatewaygroup/{production gateway group id}" // 使用网关组 ID 进行标识
],
"actions": [
"<.*>Get<.*>"
],
"effect": "allow"
},
{
"resources": [
"arn:api7:gateway:gatewaygroup/{production gateway group id}/publishedservice/<.*>" // 对这些网关组上的所有已发布服务具有只读权限
],
"actions": [
"<.*>Get<.*>"
],
"effect": "allow"
}
]
}
  • 点击新增

创建完全访问测试权限策略

  1. 在顶部导航栏中选择组织,然后选择权限策略
  2. 点击新增策略
  3. 在对话框中,执行以下操作:
  • 名称字段中,输入 test-gateway-group-full-access
  • 策略编辑器输入框中,输入以下 JSON:
{
"statement": [ // 策略中的多个 statement 具有 OR(或)关系。
{
"resources": [
"arn:api7:gateway:gatewaygroup/{test gateway group id}"
],
"actions": [
"<.*>"
],
"effect": "allow"
},
{
"resources": [
"arn:api7:gateway:gatewaygroup/{test gateway group id}/publishedservice/<.*>" // 对该网关组上的所有已发布服务具有完全访问权限
],
"actions": [
"<.*>"
],
"effect": "allow"
}
]
}
  • 点击新增

创建自定义角色

  1. 在顶部导航栏中选择组织,然后选择角色
  2. 点击新增自定义角色
  3. 在对话框中,执行以下操作:
  • 名称字段中,输入 Development Team Member
  • (可选)在描述字段中,输入 View-only access to production gateway group and full access (view & edit) to test gateway group.
  • 点击新增
  1. 在角色详情页面,点击关联策略
  2. 选择 production-gateway-group-view-onlytest-gateway-group-full-access
  3. 点击提交

验证自定义角色

  1. 按照教程更新用户角色操作,将 Development Team Member 分配给其他用户,例如 Tom
  2. 让 Tom 登录并验证他的权限。

更多资源