权限细粒度设置
1. 前言
aliyun ram 权限系统功能强大,大部分云产品实现了极其细粒度的权限控制,但是在默认的管理管理中,往往只有读写2种权限,对产品具体设置分细粒度和访问控制权限可以实现根据应用分配不同产品的权限。
应用设置与云资源以及人员的关系,对于已经上云的资源,按照应用所使用的云资源以及人员在应用的角色(owner,PE,Developer,reporter),配置相应权限;没有上云的产品,比如 vipserer,sunfire 等,先改造实现 aliyun ram 权限控制,然后配置权限。
2. ECS,SLB等云资源权限控制:
ecs,slb,vpc 等资源,可以按照通用的 ram 配置方式配置相应读写权限,具体参考:
- 云服务器(ECS): 点击链接
- 负载均衡(SLB):点击链接
- 云数据库(RDS): 点击链接
- 日志服务(SLS): 点击链接
- 云监控: 点击链接
注:云监控目前不支持细粒度资源描述,资源授权用“*”通配。
范例:
{
"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 类似。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
容器服务 kubernetes(ACK)中应用优雅上下线
1. 概述 kubernetes滚动升级的过程: 1. 集群Deployment 或者 Statefulset 发生变化,触发部署滚动升级; 2. 根据 Deolyement 等配置,K8S集群首先启动新的POD来替代老 POD; 3. Deployemnt 根据配置调度 POD,拉取镜像,此时 POD 进入 Pending 状态; 4. POD 绑定到Node上,启动容器,在就绪检查readinessProbe 探针通过后,新的POD进入Ready状态; 5. K8S集群创建Endpoint,将新的POD纳入Service 的负载均衡; 6. K8S集群移除与老POD相关的Endpoint,并且将老POD状态设置为Terminating,此时将不会有新的请求到达老POD,同时调用PreStop Hook执行配置的脚本; 7. K8S集群会给老POD发送SIGTERM信号,并且等待 terminationGracePeriodSeconds 这么长的时间。(默认为30秒,可以根据优雅下线服务需要消耗时间调整) 8. 超过terminationGrace...
-
下一篇
容器服务 kubernetes 系统组件介绍
1.前言 容器服务建立 kubernetes 集群后,系统默认建立一批 kubernetes 集群的系统组件与进程,理解他们的部署配置方式和含义,是优化集群,排除 k8s 集群故障的技术基础之一。 2.系统组件介绍: 2.1 Master 组件 2.1.1 kube-apiserver 基于generic server 上封装的一层官方默认的 apiserver: 提供了集群管理的REST API接口(包括认证授权、数据校验以及集群状态变更); 提供其他模块之间的数据交互和通信的枢纽 (其他模块通过API Server查询或修改数据,只有API Server才直接操作etcd); 资源配额控制的入口,完备的集群安全机制,对相关集群对象增删查改等操作。 部署方式 kube-apiserver 以 Static pod 静态POD 方式部署,其配置的 yaml 在 master 机器的/etc/kubernetes/manifests/kube-apiserver.yaml,修改该设置,保存后 k8s 集群会自动重启部署 apiserver pod 到Master 机器上。 # s...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- MySQL数据库在高并发下的优化方案
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Dcoker安装(在线仓库),最新的服务器搭配容器使用
- Docker容器配置,解决镜像无法拉取问题
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Docker快速安装Oracle11G,搭建oracle11g学习环境