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

创建自定义角色

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

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

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

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

前置条件

  1. 安装 API7 企业版
  2. 按照新增网关组中的步骤创建测试和生产网关组,并在每个网关组中至少添加一个网关实例。
  3. 按照发布你的第一个 API中的步骤在两个网关组中分别创建服务,以供验证。
  4. (可选)了解权限策略示例

创建权限策略

创建只读生产权限策略

  1. 在顶部导航栏中选择组织,然后选择权限策略
  2. 点击新增策略
  3. 在对话框中,执行以下操作:
  • 名称字段中,输入 production-gateway-group-view-only
  • 策略编辑器输入框中,输入以下 JSON:

{production gateway group id} 替换为生产网关组 ID。第一个资源授予网关组只读权限,第二个资源授予该网关组中所有服务只读权限。

{
"statement": [
{
"resources": [
"arn:api7:gateway:gatewaygroup/{production gateway group 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:

{test gateway group id} 替换为测试网关组 ID。statement 数组中的多条语句按 OR(或)关系计算,第二个资源授予该网关组中所有服务完全访问权限。

{
"statement": [
{
"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
  • (可选)在描述字段中,输入 对生产网关组拥有只读权限,对测试网关组拥有完整权限(查看和编辑)。
  • 点击新增
  1. 在角色详情页面,点击关联策略
  2. 选择 production-gateway-group-view-onlytest-gateway-group-full-access
  3. 点击提交

验证自定义角色

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

更多资源