容器服务提供的系统授权策略的授权粒度比较粗,如果这种粗粒度授权策略不能满足您的需要,那么您可以创建自定义授权策略。比如,您想控制对某个具体的集群的操作权限,您必须使用自定义授权策略才能满足这种细粒度要求。

创建自定义授权策略

在创建自定义授权策略时,您需要了解授权策略语言的基本结构和语法,相关内容的详细描述请参考授权策略语言描述

本文档以授予子账号查询、扩容和删除集群的权限为例进行说明。

操作步骤

  1. 使用主账号登录RAM管理控制台
  2. 单击左侧导航栏中的策略管理并单击页面右上角的新建授权策略
  3. 选择一个模板,填写授权策略名称并编写您的授权策略内容。


    {
     "Statement": [{
         "Action": [
             "cs:Get*",
             "cs:ScaleCluster",
             "cs:DeleteCluster"
         ],
         "Effect": "Allow",
         "Resource": [
             "acs:cs:*:*:cluster/集群ID"
         ]
     }],
     "Version": "1"
    }

    其中:

    • Action 处填写您所要授予的权限。
      Note 所有的 Action 均支持通配符。
    • Resource 有如下配置方式。
      • 授予单集群权限
        "Resource": [
             "acs:cs:*:*:cluster/集群ID"
         ]
      • 授予多个集群权限
        "Resource": [
             "acs:cs:*:*:cluster/集群ID",
             "acs:cs:*:*:cluster/集群ID"
         ]
      • 授予您所有集群的权限
        "Resource": [
             "*"
         ]
        其中,集群ID 需要替换为您要授权的真实的集群 ID。
  4. 编写完毕后,单击新建授权策略
Table 1. 容器服务RAM Action
Action 说明
CreateCluster 创建集群
AttachInstances 向集群中添加已有ECS实例
ScaleCluster 扩容集群
GetClusters 查看集群列表
GetClusterById 查看集群详情
ModifyClusterName 修改集群名称
DeleteCluster 删除集群
UpgradeClusterAgent 升级集群Agent
GetClusterLogs 查看集群的操作日志
GetClusterEndpoint 查看集群接入点地址
GetClusterCerts 下载集群证书
RevokeClusterCerts 吊销集群证书
BindSLB 为集群绑定负载均衡实例
UnBindSLB 为集群解绑负载均衡实例
ReBindSecurityGroup 为集群重新绑定安全组
CheckSecurityGroup 检测集群现有的安全组规则
FixSecurityGroup 修复集群的安全组规则
ResetClusterNode 重置集群中的节点
DeleteClusterNode 移除集群中的节点
CreateAutoScale 创建节点弹性伸缩规则
UpdateAutoScale 更新节点弹性伸缩规则
DeleteAutoScale 删除节点弹性伸缩规则
GetClusterProjects 查看集群下的应用
CreateTriggerHook 为应用创建触发器
GetTriggerHook 查看应用的触发器列表
RevokeTriggerHook 删除应用的触发器
CreateClusterToken 创建 Token