开发者社区 问答 正文

Swarm 集群 授权管理 创建自定义授权策略

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

创建自定义授权策略


在创建自定义授权策略时,您需要了解授权策略语言的基本结构和语法,相关内容的详细描述请参考 授权策略语言描述
本文档以授予子账号查询、扩容和删除集群的权限为例进行说明。
操作步骤

  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[tr=rgb(51, 205, 229)][td]Action 说明CreateCluster创建集群AttachInstances向集群中添加已有ECS实例ScaleCluster扩容集群GetClusters查看集群列表GetClusterById查看集群详情ModifyClusterName修改集群名称DeleteCluster删除集群UpgradeClusterAgent升级集群AgentGetClusterLogs查看集群的操作日志GetClusterEndpoint查看集群接入点地址GetClusterCerts下载集群证书RevokeClusterCerts吊销集群证书BindSLB为集群绑定负载均衡实例UnBindSLB为集群解绑负载均衡实例ReBindSecurityGroup为集群重新绑定安全组CheckSecurityGroup检测集群现有的安全组规则FixSecurityGroup修复集群的安全组规则ResetClusterNode重置集群中的节点DeleteClusterNode移除集群中的节点CreateAutoScale创建节点弹性伸缩规则UpdateAutoScale更新节点弹性伸缩规则DeleteAutoScale删除节点弹性伸缩规则GetClusterProjects查看集群下的应用CreateTriggerHook为应用创建触发器GetTriggerHook查看应用的触发器列表RevokeTriggerHook删除应用的触发器CreateClusterToken创建 Token

展开
收起
青蛙跳 2018-08-18 14:35:56 1533 分享 版权
阿里云 AI 助理回答

创建自定义授权策略是阿里云RAM(Resource Access Management)服务中的一项重要功能,它允许您根据具体的业务需求来精细化控制不同用户或角色对容器服务资源的操作权限。您的描述已经非常详细地展示了如何为子账号设置针对特定集群的查询、扩容和删除操作权限。下面我将简要概括这个过程,并补充一些可能需要了解的信息。

创建步骤回顾:

  1. 登录RAM管理控制台:使用主账号登录阿里云RAM管理控制台。
  2. 新建授权策略
    • 选择一个模板或者直接开始编写策略。
    • 填写策略名称,例如AllowClusterOperations
    • 编写策略内容,如您所示,定义了允许执行的操作(Action)、资源(Resource)以及效果(Effect)。
  3. 策略内容示例:
    {
     "Statement": [
       {
         "Action": ["cs:Get*", "cs:ScaleCluster", "cs:DeleteCluster"],
         "Effect": "Allow",
         "Resource": ["acs:cs:*:*:cluster/集群ID"]
       }
     ],
     "Version": "1"
    }
    

    这里,Action指定了允许的操作集合,包括查询所有(Get*)、扩容集群(ScaleCluster)和删除集群(DeleteCluster);Resource限定了操作的具体对象,即特定集群的ID;Effect设为"Allow"表示允许这些操作。

  4. 保存策略:完成编辑后,单击“新建授权策略”以保存此自定义策略。

补充信息:

  • 策略语言理解:确保熟悉RAM授权策略的基本结构和语法,这包括VersionStatement(包含ActionEffectResource)等关键元素。
  • 细粒度控制:通过自定义策略,您可以实现比系统预设策略更精细的权限控制,比如精确到某个集群、某类资源或具体操作。
  • 资源标识符:在Resource字段中,正确填写集群ID或其他资源ID至关重要,确保权限精准应用。
  • 策略评估逻辑:当有多个策略应用于同一主体时,RAM会根据优先级和效应(Allow/Deny)综合评估,决定最终权限。
  • Action列表:您提供的表格概述了容器服务相关的RAM Action,这对于编写策略时明确所需授权的操作类型非常有帮助。确保根据实际需求选择合适的Action。
  • 测试与审核:创建策略后,建议先进行测试,确认策略按预期工作且不会意外授予过宽的权限。同时,定期审核策略,确保权限分配仍然符合当前的安全和业务需求。

通过上述步骤和注意事项,您可以有效地利用阿里云RAM的自定义授权策略功能,为不同的团队成员或系统组件提供恰到好处的容器服务访问权限。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答