全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网
访问控制

负载均衡 SLB 授权

更新时间:2017-09-15 10:32:39

问题

查看 SLB 的权限定义

  请参考 SLB OpenAPI 文档中的 资源授权定义 部分。

为一个子用户授予只读访问 SLB 的权限

  在 RAM 控制台中创建一个子用户,并为此子用户附加系统授权策略 “AliyunSLBReadOnlyAccess”。附加授权策略的方式请参考 授权

为一个子用户授予完全管理 SLB 的权限

  在 RAM 控制台中为此子用户附加系统授权策略 “AliyunSLBFullAccess”。

授权一个子用户管理两台指定的 SLB 实例

  您需要使用自定义授权策略的功能。假设您的两台实例 ID 分别是 i-001 和 i-002。

  首先您需要创建一条自定义授权策略,包含管理 i-001、i-002 的权限以及查看 SLB 所有资源的权限:

  1. {
  2. "Statement": [
  3. {
  4. "Effect": "Allow",
  5. "Action": "slb:*",
  6. "Resource": [
  7. "acs:slb:*:*:loadbalancer/i-001",
  8. "acs:slb:*:*:loadbalancer/i-002"
  9. ]
  10. },
  11. {
  12. "Effect": "Allow",
  13. "Action": "slb:Describe*",
  14. "Resource": "*"
  15. }
  16. ],
  17. "Version": "1"
  18. }

  然后为此用户添加此条自定义授权策略。

已经授权子用户管理某个负载均衡器的权限,但是在均衡器实例中添加/移除 ECS 服务器以及设置权重时提示没有权限

  在负载均衡器中关于 ECS 服务器操作的接口,不仅检查 SLB 的资源权限,还要检查 ECS 服务器的权限;避免一个子用户拥有某个负载均衡器的权限后,可以将任意服务器加入此均衡器实例。

  例如,如果希望将 i-001 这台 ECS 加入 SLB-001 这个负载均衡器,那么需要授予此账号如下权限:

  1. {
  2. "Statement": [
  3. {
  4. "Effect": "Allow",
  5. "Action": "slb:AddBackendServers",
  6. "Resource": ["acs:slb:*:*:loadbalancer/slb-001"]
  7. },
  8. {
  9. "Effect": "Allow",
  10. "Action": "slb:AddBackendServers",
  11. "Resource": ["acs:ecs:*:*:instance/i-001"]
  12. },
  13. {
  14. "Effect": "Allow",
  15. "Action": "slb:DescribeLoadBalancers",
  16. "Resource": "acs:slb:*:*:loadbalancer/*"
  17. }
  18. ],
  19. "Version": "1"
  20. }

  如果您希望简化授权,只要授权一个负载均衡器的管理权,就可以向此实例中添加任意服务器,以及设置任意实例的权重,可以参考下面的授权策略。此授权策略在 ECS 资源上添加了所有 SLB 的操作权限。

  1. {
  2. "Statement": [
  3. {
  4. "Effect": "Allow",
  5. "Action": "slb:*",
  6. "Resource": [
  7. "acs:slb:*:*:loadbalancer/i-001",
  8. "acs:slb:*:*:loadbalancer/i-002"
  9. ]
  10. },
  11. {
  12. "Effect": "Allow",
  13. "Action": "slb:Describe*",
  14. "Resource": "*"
  15. },
  16. {
  17. "Effect": "Allow",
  18. "Action": "slb:*",
  19. "Resource": "acs:ecs:*:*:*"
  20. }
  21. ],
  22. "Version": "1"
  23. }
本文导读目录