权限细粒度设置

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
EMR Serverless StarRocks,5000CU*H 48000GB*H
应用型负载均衡 ALB,每月750个小时 15LCU
简介: 云产品权限细粒度设置

1. 前言

 aliyun ram 权限系统功能强大,大部分云产品实现了极其细粒度的权限控制,但是在默认的管理管理中,往往只有读写2种权限,对产品具体设置分细粒度和访问控制权限可以实现根据应用分配不同产品的权限。
_

 应用设置与云资源以及人员的关系,对于已经上云的资源,按照应用所使用的云资源以及人员在应用的角色(owner,PE,Developer,reporter),配置相应权限;没有上云的产品,比如 vipserer,sunfire 等,先改造实现 aliyun ram 权限控制,然后配置权限。

2. ECS,SLB等云资源权限控制:

  ecs,slb,vpc 等资源,可以按照通用的 ram 配置方式配置相应读写权限,具体参考:

  1. 云服务器(ECS): 点击链接
  2. 负载均衡(SLB):点击链接
  3. 云数据库(RDS): 点击链接
  4. 日志服务(SLS): 点击链接
  5. 云监控: 点击链接
     注:云监控目前不支持细粒度资源描述,资源授权用“*”通配。

范例:

{
    "Version": "1",
    "Statement": [
        {
            "Action": [
                "ecs: AddTags",
                "ecs:DescribeInstances"
            ],
            "Resource": [
                "acs:ecs:$regionid:15619224785*****:instance/i-bp1bzvz55uz27hf*****"
            ],
            "Effect": "Allow"
        }
    ]
}

3. vipserver,switch,sentinel 等自部署产品实现RAM权限:

 RAM 权限策略与语法:点击链接
参考新部署基础设施云产品接入过程:
_

4. Diamond(ACM)

 前提条件:
按照 EDAS 的 namespace 区分环境,按照 ACM 的 Group 区分不同的应用关联,应用和 ACM 的 Group 建立对应关系。
建立 ram 子用户,设置自定义策略授予子用户。
 设置方式:

{
"Version": "1",
"Statement": [
 {
   "Action": [
     "acms:R"
   ],
   "Resource": [
           "*:*:*:*:cfg/1ca01ca0-11b0-1e01-0df1-d1010101bc10/GROUP",
           "*:*:*:*:cfg/1ca01ca0-11b0-1e01-0df1-d1010101bc10/GROUP_1"
       ],
   "Effect": "Allow"
 }
]
}

 完整控制权限:"acms:*"
  某个 namespace 下所有group,则不需要设置 /Group 段即可,不支持 group_name* 这样的通配符;
  多个 group 就列出多行;
  所有 namespaces 的某个一 group,可以使用:

 "Resource": [
           "*:*:*:*:cfg/*/DEFAULT_GROUP"
       ]

 访问控制:
  通过访问 acm 资源的账号拥有的账号的( ak/sk)权限调节。

{
    "Version": "1",
    "Statement": [
        {
            "Effect": "Deny",
            "Action": "*",
            "Resource": "*",
            "Condition": {
                "NotIpAddress": {
                    "acs:SourceIp": [
                        "172.16.0.0/30"
                        "127.0.0.1"
                    ]
                }
            }
        }
    ]
}

 综上所述,可以通过应用人员,应用与 ACM 关系关联,按照上述策略建立自定义策略,可以控制应用人员的读写ACM 配置。

5. MetaQ

 前置条件:
  建立 ram 子用户,设置自定义策略授予子用户。
 设置方式:

{
    "Version": "1",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "mq:SUB",
                "mq:OnsInstanceBaseInfo"
            ],
            "Resource": [
                "acs:mq:*:*:{instanceId}"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "mq:PUB",
                "mq:SUB"
            ],
            "Resource": [
                "acs:mq:*:*:appName*",
                "acs:mq:*:*:xapp*"
            ]
        },
        {    // 授予 Group 的权限
            "Effect":"Allow",
            "Action":[
                "mq:SUB"
            ],
            "Resource":[
                "acs:mq:*:*:{instanceId}%{groupId}"
            ]
        }
    ]
}

 对应规则参考:点击链接
 根据应用对应的 topic 和 group,设置应用权限,区分读写权限。
 Top,Group 支持通配符。
 访问控制方法与 ACM 类似。

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
5月前
|
JSON 数据格式
|
4月前
|
安全 Java 关系型数据库
实现权限控制的方法
实现权限控制的方法
|
5月前
|
JSON JavaScript 数据格式
如何控制权限,更加好的方法
如何控制权限,更加好的方法
|
资源调度 前端开发 数据库
权限 | 前端控制权限
啊,我们经常做权限控制,控制菜单,控制按钮功能等,但是在一些特殊情况下不能够由后端来做权限控制,那就只能前端来做啦。
|
安全 JavaScript Java
复杂场景下的权限系统该怎么玩?ABAC权限模型帮你搞定它
复杂场景下的权限系统该怎么玩?ABAC权限模型帮你搞定它
|
数据安全/隐私保护
15-企业权限管理-方法级别权限控制
15-企业权限管理-方法级别权限控制
15-企业权限管理-方法级别权限控制
|
中间件 数据安全/隐私保护
使用RoleBasedAuthorization实现基于用户角色的访问权限控制
本文将介绍如何通过 [Sang.AspNetCore.RoleBasedAuthorization](https://www.nuget.org/packages/Sang.AspNetCore.RoleBasedAuthorization) 库实现 RBAC 权限管理。
182 0
使用RoleBasedAuthorization实现基于用户角色的访问权限控制
|
安全 前端开发 Java
权限控制之开启动态权限注解支持|学习笔记
快速学习权限控制之开启动态权限注解支持
权限控制之开启动态权限注解支持|学习笔记