最新消息:

阿里云访问控制权限RAM

Linux ipcpu 2548浏览

阿里云访问控制权限RAM.md

概述

在实际应用当中,经常会遇到权限分配的问题,例如需要给CDN管理系统开通CDN刷新的权限,需要给不同业务线的人开通不同的OSS权限。

阿里云提供了访问控制RAM来实现权限的分配。

权限分配的模型

用户属于群组,群组绑定策略,策略控制权限大小。

策略

我们创建一个新策略时,系统会提示可以使用现有模板,模板包含了一些基本策略。如下图

我们打开一个策略,可以看到如下内容,如红框所示,就是一个Policy,一个策略可以有好多的Policy

Policy分析

Policy 有以下几种基本元素

效力(Effect)
授权效力包括两种:允许(Allow)和拒绝(Deny)。
资源(Resource)
资源是指被授权的具体对象。
比如,访问策略“允许张三对资源 SampleBucket 执行 GetBucket 操作”中的资源是“SampleBucket”。
操作权限(Action)
操作方法是指对具体资源的操作。
比如,访问策略“允许张三对资源 SampleBucket 执行 GetBucket 操作”中的操作是“GetBucket”。
限制条件(Condition)
限制条件是指授权生效的限制条件。

限制条件用的不多,不多说。资源(Resource)和操作权限(Action)都上哪里去找呢?

当然是官方文档。

例如要找CDN的Resource和Action,就去官网帮助文档的”CDN > 开发手册 > API 手册 > RAM资源授权-CDN > CDN API鉴权规则”,这里面可以找到Resource和Action。

范例

这里我们以SLB为例,写一个简单范例,要求只能操作已存在SLB实例属性,不能新增删除SLB,也不能修改其他的SLB属性。

  1. {
  2. "Version": "1",
  3. "Statement": [
  4. {
  5. "Effect": "Allow",
  6. "Action": "ecs:DescribeInstances",
  7. "Resource": "*"
  8. },
  9. {
  10. "Effect": "Allow",
  11. "Action": "slb:Set*",
  12. "Resource": [
  13. "acs:slb:*:*:loadbalancer/i-001"
  14. ]
  15. },
  16. {
  17. "Effect": "Allow",
  18. "Action": "slb:AddBackendServers",
  19. "Resource": [
  20. "acs:slb:*:*:loadbalancer/i-001"
  21. ]
  22. },
  23. {
  24. "Effect": "Allow",
  25. "Action": "slb:Describe*",
  26. "Resource": "*"
  27. }
  28. ]

如上,赋予了ECS的DescribeInstances权限,用来读取ECS列表,slb:Describe读取SLB信息,slb:Set用来设置SLB属性,slb:AddBackendServers用来添加后端ECS。

转载请注明:IPCPU-网络之路 » 阿里云访问控制权限RAM