文档

混合云账号体系实战

更新时间:
一键部署

本实践通过四个典型场景来描述阿里云专有云的RAM账户体系优势,方便用户实现简单管理账号、统一分配权限、集中管控资源,从而建立安全、完善的资源控制体系。

背景信息

本实践适用于Apsara Uni-Manager混合云管理平台、数据管理服务DMS、大数据计算MaxCompute企业版V3.15及以上版本。

客户业务大量上云后,面对企业自身复杂的组织结构,对云资源的安全管理需求会非常强烈,需要建立完善的资源控制体系。

阿里云使用权限来描述用户、用户组、角色对具体资源的访问能力。

  • 云账号(组织)控制所有权限。

    每个资源有且仅有一个资源属主,该资源属主必须是云账号,对资源拥有完全控制权限。

    资源属主不一定是资源创建者。例如:一个RAM用户被授予创建资源的权限,该用户创建的资源归属于云账号,该用户是资源创建者但不是资源属主。

  • RAM用户(操作员)默认无任何权限。

    RAM用户代表的是操作员,其所有操作都需被云账号显式授权。

    新建的RAM用户默认没有任何操作权限,只有在被授权之后,才能通过控制台和RAM操作资源。

  • 资源创建者(RAM用户)默认对所创建资源没有任何权限。

    RAM用户被授予创建资源的权限,用户将可以创建资源。

    RAM用户默认对所创建资源没有任何权限,除非资源属主对RAM用户有显式的授权。

专有云角色介绍

Apsara Uni-manager运营控制台自带角色主要指Apsara Uni-manager运营控制台各种资源的权限,如资源使用人等。

角色名称

描述

云账号

  • 阿里云账号是阿里云资源归属、资源使用计量计费的基本主体。阿里云账号为其名下所拥有的资源付费,并对其名下所有资源拥有完全控制权限。

  • 默认情况下,资源只能被阿里云账号所访问,任何其他用户访问都需要获得阿里云账号的显式授权。

RAM用户

  • RAM用户是RAM的一种实体身份类型,有确定的身份ID和身份凭证,它通常与某个确定的人或应用程序一一对应。

  • 一个阿里云账号下可以创建多个RAM用户,对应企业内的员工、系统或应用程序。

  • RAM用户不拥有资源,不能独立计量计费,由所属阿里云账号统一控制和付费。

  • RAM用户归属于阿里云账号,只能在所属阿里云账号的空间下可见,而不是独立的阿里云账号。

  • RAM用户必须在获得阿里云账号的授权后才能登录控制台或使用API操作阿里云账号下的资源。

用户组

  • 用户组是RAM的一种实体身份类型,用户组可以对职责相同的RAM用户进行分类并授权,从而更好的管理用户及其权限。

  • 在RAM用户职责发生变化时,只需将其移动到相应职责的用户组下,不会对其他RAM用户产生影响。关于如何创建用户组,请参见创建用户组。

  • 当用户组的权限发生变化时,只需修改用户组的权限策略,即可应用到所有RAM用户。关于如何为用户组授权,请参见为用户组授权。

RAM角色

Apsara Uni-manager运营控制台的概念,RAM角色可关联用户组和RAM policy,是用户组和policy配置之间的纽带。

RAM权限策略

RAM授权策略,形式为JSON,描述了对某资源可进行的操作。

企业组织管理

阿里专有云中,组织之间的资源是隔离的,每个组织作为一级部门,多级部门可以使用多级组织。部分通用性的资源可以设置是否在组织内共享。1

创建组织时会创建一个默认资源集,资源集是在阿里云账号下进行资源分组管理的一种机制。资源组帮助解决单个云账号内多项目或多应用的资源分组,以及用户授权管理的复杂性问题。每个产品都属于一个资源集,可以按照项目对资源集进行创建和管理。 下图是建议的专有云企业组织方式。

1

在多Region场景中,不同Region共用一套账户体系,但组织需和指定的Region在Apsara Uni-manager运营控制台绑定后,组织下的用户才可以在跳转时选择绑定的组织,且这个绑定操作只能在中心Region的Apsara Uni-manager运营控制台进行。RAM policy的配置可以在任何Region的Apsara Uni-manager运营控制台上配置,均可生效。1

产品权限精细化控制

在Apsara Uni-manager运营控制台中创建的用户均为RAM用户,RAM用户代表的是操作员,不拥有任何资源,其所有操作都需被云账号显式授权。 这里以OSS对象存储为例,在Apsara Uni-manager运营控制台上使用二级组织用户(secorg01)创建OSS Bucket(aaa),可以查看当前组织&资源集所属的Bucket,且能操作。但是获取该用户的AK和SK,用ossutil访问该OSS Bucket报错,原因是二级组织用户为RAM用户,默认没有获得访问该资源的授权。4

#./ossutil64 --config-file=ste4-secorg01-config ls oss://aaa
Error: oss: service returned error: StatusCode=403, ErrorCode=AccessDenied, ErrorMessage="The bucket you visit is not belong to you.", RequestId=60ED3E5B1142A23E59BCD38B, Bucket=aaa, Object=

RAM授权流程

  1. 登录Apsara Uni-manager运营控制台。

  2. 新建用户组。

  3. 新建用户并加入用户组。

  4. 新建RAM角色并进行角色配置,将用户组添加至角色下。

  5. 在RAM角色下配置权限策略,填入policy。此时用户组下的所有用户就具有了policy配置的资源访问权限。

  6. 单击新建的用户的用户详情并拷贝初始密码。

  7. 退出当前管理员登录状态,使用新用户登录Apsara Uni-manager运营控制台,输入初始密码并重置新密码。

  8. 使用新密码直接访问产品域名,即可以子账号身份登录仅可查看和操作与policy对应的资源。

自定义RAM权限

自定义RAM权限可通过将用户加入用户组并绑定RAM权限或通过白屏化方式进行数据权限授权两种方式处理。

  • 执行如下命令,自定义RAM权限。

    {
      "Version": "1",
      "Statement": [
        {
          "Action": [
            "oss:GetObject",
            "oss:PutObject",
            "oss:DeleteObject",
            "oss:ListParts",
            "oss:AbortMultipartUpload",
            "oss:ListObjects",
            "oss:ListBuckets",
            "oss:PutBucketCors",
            "oss:GetBucketCors",
            "oss:DeleteBucketCors"
          ],
          "Resource": [
            "acs:oss:*:*:aaa",
            "acs:oss:*:*:aaa/*"
          ],
          "Effect": "Allow"
        }
      ]
    }

    将用户secorg01加入用户组,然后绑定如上RAM权限策略,再次使用ossutil访问Bucket,即可成功访问到数据。1

  • 如果是比较粗粒度的权限管控(比如Bucket级别),也可以在Apsara Uni-manager运营控制台上通过白屏化方式进行数据权限授权。11

通过两种方式执行结果如下。1

数据管理DMS服务

数据管理DMS支持管理多种类型的数据库。它是一种集数据管理、结构管理、用户授权、安全审计、数据趋势、数据追踪于一体的数据管理服务。

  1. 实例基本信息页面右上角,单击登录数据库,进入DMS服务。1

    说明

    我们默认使用RAM用户登录DMS,RAM用户默认不具有登录、管理数据库权限,登录时会报如下错误。

  2. 根据提示申请权限。1

  3. 使用运营管理员、组织管理员登录Apsara Uni-manager运营控制台,在顶部菜单栏,选择产品 > 数据库 > 数据管理DMS1

  4. 数据管理DMS中审批RAM用户的申请。1

申请成功后,就可以使用被审批的RAM用户进行数据库实例相关操作。同样,DMS会对数据库账号进行DDL、DML等权限进行更细粒度的审批和审计,保障数据安全。

大数据多租户治理

MaxCompute和DataWorks支持通过云账号、RAM用户访问MaxCompute。

  • DataWorks中给RAM用户设置项目权限。1

  • 在大数据计算MaxCompute中添加RAM账户,执行如下命令,设置云账户和RAM用户的格式。

    --添加用户。
    add user ALIYUN$ascm-org-1623046756562;
    --添加RAM用户。 
    add user RAM$ascm-org-1623046756562:mcops;  

    1添加好账户后,按照MaxCompute语法进行权限设置。1

  • 本页导读
文档反馈