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

访问控制

更新时间:2017-07-14 14:34:02

简介

如果您使用容器服务创建了多个集群,您的组织里有多个用户需要使用这些集群。如果这些用户共享使用您的云账号密钥,那么会存在以下的问题:

  • 您的密钥由多人共享,泄密风险高。
  • 您无法限制用户的访问权限,容易出现误操作导致安全风险。

访问控制 RAM (Resource Access Management) 是阿里云提供的资源访问控制服务。通过 RAM,您可以集中管理您的用户,以及控制用户可以访问您名下哪些资源的权限。对于容器服务而言,90% 以上的用户主要分配的是集群维度的权限,主要是对集群维度的是否可增删的限制。因此为了更简单地使用权限控制,容器服务提供了两种鉴权策略,一种是资源授权,一种是细粒度 API 授权。对于 90% 的用户而言使用资源分配鉴权策略即可满足需求。对于 RAM 有深入的了解希望在 API 级别进行鉴权的用户可以使用 API 细粒度鉴权。

使用场景

假设是一家 APP 开发的公司,主要使用阿里云的服务提供 APP 的后端服务与基础设施和中间件,公司中的成员有后端开发工程师,测试工程师,运维工程师、基础平台工程师。从职责分配上来讲:

  • 后端开发工程师负责开发 APP 的后端服务。
  • 测试工程师负责测试 APP 的后端服务和基础的测试环境维护。
  • 运维工程师负责所有的环境的运维(集群的伸缩,监控等)。
  • 基础平台工程师负责中间件的维护与基础设计的建设,包括 GitLab、Jenkins、Sentry等。

从职责划分上来看,不同的角色对于资源的需求不同,为了保证每个角色有足够的权限完成自己的任务,同时权限不越界。在这个场景中您使用资源分配鉴权即可。

操作步骤

注意:当您进入 RAM 控制台的时候,可能会发现一些以 acs_ 开头的 RAM 子账号,这些子账号是容器服务自动创建的子账号,请不要删除。

主账号授权

  1. 登录 访问控制管理控制台,创建一个子账号并开启控制台登录。

    子账号

  2. 登录 容器服务管理控制台,单击左侧导航栏中的 集群 并单击 子账号授权

    授权

  3. 选择相应的子账号并单击 下一步

    选择

  4. 选择对应的集群资源和权限,单击 下一步 并在弹出的确认对话框中单击 确定

    确定

  5. 单击 完成 完成授权。

使用子账号

使用子账号登录(要主账号进入 RAM 控制台并将控制台登录地址告知子用户)并进入 容器服务管理控制台

此时,集群列表中显示被分配的集群。

集群

深入理解鉴权策略

鉴权策略简单地来讲就是对云资源的使用权限的校验。鉴权分为两种,一种是资源分配鉴权,一种是 API 细粒度鉴权。

API 细粒度鉴权是基于访问控制 RAM (Resource Access Management)进行的鉴权,相对来讲更加复杂。

资源分配鉴权是容器服务在 API 细粒度鉴权之上的包装,主要将 API 细粒度鉴权无法实现的资源分配在容器服务中进行了实现,并将 API 细粒度鉴权的鉴权策略封装为只读和读写两个权限。只读权限可以创建应用、删除应用等等,但是无法对集群级别的增删改查进行操作。而读写权限则可以对集群进行完全的管理。

高级用法

API 细粒度鉴权可以实现 API 级别的鉴权。目前提供的后置鉴权条件如下所示。

鉴权 Action 名称 解释
GetClusterById 获取集群描述
GetClusterCerts 获取集群证书
CreateCluster 创建集群
DeleteCluster 删除集群
UpdateClusterSizeById 集群扩容

资源列表如下所示。

资源 解释
cluster 集群

参考示例:

  1. {
  2. "Statement": [
  3. {
  4. "Action": "cs:*",
  5. "Effect": "Allow",
  6. "Resource": "acs:cs:*:*:cluster/cc6b56877fd64407fb615dd09ff85303e"
  7. },
  8. {
  9. "Action": "cs:*",
  10. "Effect": "Allow",
  11. "Resource": "acs:cs:*:*:cluster/cee52159dd72d4ead9c0ee1b1708b7065"
  12. }
  13. ],
  14. "Version": "1"
  15. }

本示例表示授予集群 cc6b56877fd64407fb615dd09ff85303ecee52159dd72d4ead9c0ee1b1708b7065 的全部权限。

更多的用法参见 RAM 的文档

本文导读目录