分享

云中沙箱

 天涯军博 2016-09-27

企业级客户在管理阿里云资源的过程中,可能会面临如下的场景:

  • 企业子账号管理与分权

企业A购买了多种云资源(如ECS实例/RDS实例/SLB实例/OSS存储桶/...),A的员工需要操作这些云资源,比如有的负责购买,有的负责运维,还有的负责线上应用。由于每个员工的工作职责不一样,需要的权限也不一样。出于安全或信任的考虑,A不希望将云账号密钥直接透露给员工,而希望能给员工创建相应的用户账号。用户账号只能在授权的前提下操作资源,不需要对用户账号进行独立的计量计费,所有开销都算在A的头上。当然,A随时可以撤销用户账号身上的权限,也可以随时删除其创建的用户账号。

  • 不同企业之间的资源操作与授权管理

A和B代表不同的企业。A购买了多种云资源(如ECS实例/RDS实例/SLB实例/OSS存储桶/...)来开展业务。A希望能专注于业务系统,而将云资源运维监控管理等任务委托或授权给企业B。当然,企业B可以进一步将代运维任务分配给B的员工。B可以精细控制其员工对A的云资源操作权限。如果A和B的这种代运维合同终止,A随时可以撤销对B的授权。

  • 针对不可信客户端App的临时授权管理

企业A开发了一款移动App,并购买了OSS服务。移动App需要上传数据到OSS(或从OSS下载数据),A不希望所有App都通过AppServer来进行数据中转,而希望让App能直连OSS上传/下载数据。由于移动App运行在用户自己的终端设备上,这些设备并不受A的控制。出于安全考虑,A不能将访问密钥保存到移动App中。A希望将安全风险控制到最小,比如,每个移动App直连OSS时都必须使用最小权限的访问令牌,而且访问时效也要很短(比如30分钟)。

    

通过访问控制服务(RAM)对不同角色的用户进行权限管理,从而满足如上不同场景对访问和使用权限的需求。

 

阿里云RAM的基本设计思路:允许在一个云账号下创建并管理多个用户身份,并允许给单个身份或一组身份分配不同的授权策略(Policy),从而实现不同用户拥有不同的云资源访问权限。

 

本实验中,涉及如下RAM相关术语:

  • 云帐户(主账户):阿里云资源归属、资源使用计量计费的基本主体。当用户开始使用阿里云服务时,首先需要注册一个云账户。云账户为其名下所拥有的资源付费,并对其名下所有资源拥有完全权限。默认情况下,资源只能被属主(ResourceOwner)所访问,任何其他用户访问都需要获得属主的显式授权。所以从权限管理的角度来看,云账户就是操作系统的root或Administrator,所以我们有时称它为“根账户”或“主账户”。
  • 云账户别名:每个云账户可以在RAM中为自己设置一个全局唯一的别名。别名主要用于RAM用户登录以及成功登录后的显示名。比如,云账号sample2015@aliyun.com为自己设置一个别名为sample-company,那么其名下的RAM用户alice成功登录后,显示名就是alice@sample-company。
  • RAM用户:RAM允许在一个云账户下创建多个RAM用户(可以对应企业内的员工、系统或应用程序)。RAM用户不拥有资源,没有独立的计量计费,这些用户由所属云账户统一控制和付费。RAM用户是归属于云账户,只能在所属云账户的空间下可见,而不是独立的云账户。RAM用户必须在获得云账户的授权后才能登录控制台或使用API操作云账户下的资源。
RAM用户有两种身份类型:RAM-User和RAM-Role。RAM-User类型是一种实体身份类型,有确定的身份ID和身份凭证,它通常与某个确定的人或应用程序一一对应。RAM-Role类型是一种虚拟身份类型,它没有确定的身份凭证,它必须关联到某个实体身份上才能使用。

  • 身份凭证:用于证明用户真实身份的凭据,它通常是指登录密码或访问密钥(Access Key)。身份凭证是秘密信息,用户必须保护好身份凭证的安全。
-登录名/密码(Password) 您可以使用登录名和密码登入阿里云控制台,查看订单、账单或购买资源,并通过控制台进行资源操作。

-访问密钥(AccessKey) 您可以使用访问密钥构造一个API请求(或者使用云服务SDK)来操作资源。

-多因素认证 多因素认证(Multi-Factor Authentication, MFA)是一种简单有效的最佳安全实践方法,它能够在用户名和密码之外再额外增加一层安全保护。启用 MFA 后,用户登录阿里云网站时,系统将要求输入用户名和密码(第一安全要素),然后要求输入来自其MFA设备的可变验证码(第二安全要素)。这些多重要素结合起来将为您的账户提供更高的安全保护。

  • 资源:资源是云服务呈现给用户与之交互的对象实体的一种抽象,如OSS存储桶或对象,ECS实例等。我们为每个资源定义了一个全局的阿里云资源名称(Aliyun Resource Name, ARN)。格式如下:

acs:<service-name>:<region>:<account-id>:<resource-relative-id>

说明:

acs: 它是Aliyun Cloud Service的首字母缩写,表示阿里云的公有云平台

service-name: 阿里云提供的Open Service的名字,如ecs, oss, odps等

region: 地区信息。如果不支持该项,可以使用通配符“*”号来代替

account-id: 账号ID,比如 1234567890123456

resource-relative-id: 与service相关的资源描述部分,其语义由具体service指定。

以OSS为例,"acs:oss::1234567890123456:sample_bucket/file1.txt" 表示公有云平台OSS资源,OSS对象名称是sample_bucket/file1.txt,对象的Owner是1234567890123456。

  • 权限:允许(Allow)或拒绝(Deny)一个用户对某种资源执行某种操作。
  • 授权策略:描述权限集的一种简单语言规范。RAM支持两种类型的授权策略:云平台管理的系统访问策略和客户管理的自定义访问策略。对于阿里云管理的系统访问策略,用户智能使用,不能修改。对于客户管理的自定义访问策略,用户可以自主创建和删除,策略版本由客户自己维护。



    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多