权限策略示例
对所有资源的完全访问权限
此策略授予对 API7 企业版中所有资源和操作的无限制访问权限。resources 和 actions 中的 <.*> 通配符表示“所有”。这是最宽松的策略,通常仅限于超级管理员。
{
"statement": [
{
"resources": [
"<.*>"
],
"actions": [
"<.*>"
],
"effect": "allow"
}
]
}
对所有资源的只读权限
此策略允许用户查看所有资源,但不允许进行任何更改。actions 限制为包含 "Get" 的操作,通常对应于只读操作。这对于需要在系统范围内具有可见性但无需修改权限的角色非常有用。
{
"statement": [
{
"resources": [
"<.*>"
],
"actions": [
"<.*>Get<.*>"
],
"effect": "allow"
}
]
}
对特定网关组的只读权限
此策略授予对特定网关组列表及其发布的服务的只读访问权限。它使用唯一的网关组 ID 来标识每个资源。对于需要监控特定环境(如生产或测试环境)而不能更改配置的用户来说,这是理想的选择。
{
"statement": [
{
"resources": [
"arn:api7:gateway:gatewaygroup/{gateway group id 1}",
"arn:api7:gateway:gatewaygroup/{gateway group id 2}"
],
"actions": [
"<.*>Get<.*>"
],
"effect": "allow"
},
{
"resources": [
"arn:api7:gateway:gatewaygroup/{gateway group id 1}/publishedservice/<.*>",
"arn:api7:gateway:gatewaygroup/{gateway group id 2}/publishedservice/<.*>"
],
"actions": [
"<.*>Get<.*>"
],
"effect": "allow"
}
]
}
对特定网关组的完全访问权限
此策略提供对特定网关组及其相关服务的完全控制。策略中的多个声明以“或”关系组合,这意味着只要有任何声明允许某个操作,该操作即被允许。这适用于特定环境的管理员,例如生产运维团队。
{
"statement": [
{
"resources": [
"arn:api7:gateway:gatewaygroup/{gateway group id 1}",
"arn:api7:gateway:gatewaygroup/{gateway group id 2}"
],
"actions": [
"<.*>"
],
"effect": "allow"
},
{
"resources": [
"arn:api7:gateway:gatewaygroup/{gateway group id 1}/publishedservice/<.*>",
"arn:api7:gateway:gatewaygroup/{gateway group id 2}/publishedservice/<.*>"
],
"actions": [
"<.*>"
],
"effect": "allow"
}
]
}
对特定网关组的完全访问权限(消费者凭证除外)
此策略授予对特定网关组的广泛权限,但明确拒绝管理消费者凭证。这展示了“拒绝优先”的原则,即对于相同的资源和操作,deny 效果优先于任何 allow 声明。这是保护敏感消费者数据的一项关键安全措施。
{
"statement": [
{
"resources": [
"arn:api7:gateway:gatewaygroup/{gateway group id 1}",
"arn:api7:gateway:gatewaygroup/{gateway group id 2}"
],
"actions": [
"<.*>"
],
"effect": "allow"
},
{
"resources": [
"arn:api7:gateway:gatewaygroup/{gateway group id 1}/publishedservice/<.*>",
"arn:api7:gateway:gatewaygroup/{gateway group id 2}/publishedservice/<.*>"
],
"actions": [
"<.*>"
],
"effect": "allow"
},
{
"resources": [
"arn:api7:gateway:gatewaygroup/<.*>/consumer/<.*>"
],
"actions": [
"gateway:GetConsumerCredential",
"gateway:UpdateConsumerCredential",
"gateway:DeleteConsumerCredential"
],
"effect": "deny"
}
]
}