全部产品
访问控制

RAM 企业上云实践

更新时间:2017-09-15 10:32:39   分享:   

在创业之初,企业对云资源的安全管理要求不高,可以接受使用一个访问密钥(AccessKey)来操作所有资源。但随着时间推移,初创企业成长为大型的公司,或是大型企业客户迁移上云,他们的组织结构更加复杂,对云资源的安全管理需求非常强烈。

本文从企业管理者视角,以企业上云后面临严峻的资源访问控制需求出发,通过场景模拟,介绍如何通过 RAM 一步步建立安全完善的资源控制体系。

场景描述

假设您是 X 公司的管理者。当初您为 X 公司注册了云账号(company-x@aliyun.com),并购买了基础设施服务 ECS、RDS 和 OSS。自从公司上云之后,业务发展迅猛,团队不断壮大,云资源越来越多。但是资源操作和管理都是使用一个大账号所带来的安全问题越来越突出。

假设 X 公司组织结构如下图所示。一共有 HR、研发和运维三个部门。HR 只能管人,研发人员只能使用资源,而运维人员可以管理资源(比如启停虚拟机)。

1

实践步骤

下面我们看看如何使用 RAM 来帮助您逐步实现对资源访问的安全管理。

第1步:给主账号开启多因素认证

考虑到之前您可能已经将主账号密码与他人分享,密码泄露的可能性较高。强烈建议您 给主账号开通多因素认证(Multi-Factor Authentication, MFA)。

阿里云账号支持标准的虚拟 MFA,它是一种可以安装在移动设备(如智能手机、智能手表)上的应用程序,使用起来非常方便。当您在账号中心启用虚拟 MFA 功能之后,在您登录阿里云平台时,除了校验用户名和密码(第一安全要素),系统还会要求您提供由虚拟 MFA 应用程序所产生的动态安全码(第二安全要素)。多重要素结合起来可以为您的账户提供更高的安全保护。

第2步:创建用户并给用户分组

根据上述的组织结构,您需要分别给员工 A、B、C、D、E 分别创建不同的 用户账号,再给应用 app 创建一个用户账号。然后创建三个 用户组 分别对应 HR、研发和运维组,再将不同用户添加到合适的组中去(注意用户 D 是同时属于研发组和运维组)。

进一步,根据不同用户的需要,分别为 在用户属性上设置登录密码或访问密钥

  • 对于应用 app 而言,它只可能通过 OpenAPI 访问云资源,所以只需要给它创建访问密钥即可。
  • 而对于员工而言,如果只需要通过控制台操作云资源,那么就只给他设置登录密码即可。

再进一步,考虑到运维操作一般都是特别敏感,您可能会担心运维人员的账号密码泄露会带来巨大的风险,那么您可以 为这些账号设置登录时强制多因素认证,而且可以将账号密码和多因素认证设备交给不同的人员分开保管,这样可以做到必须两人同时在场时才能完成某些操作。

第3步:给不同用户组分配最小权限

RAM 提供了多种 系统授权策略模板 供您选择使用。比如,您需要给运维组授予对 ECS、RDS 的所有操作权限,给研发组授予对 ECS、RDS 的只读操作权限以及对 OSS的所有操作权限,给 HR 组授予对 RAM 用户管理操作权限。

如果您觉得 RAM 默认提供的系统授权策略模板对资源的控制粒度不够精细,那么您也可以在 RAM 中 自定义授权策略模板。自定义授权策略可以支持非常精细的访问控制粒度,比如精确定义 API 操作名称和资源实例名称;也可以支持多种条件限制操作表达式用于实现对资源操作方式的灵活控制,比如限制操作者的源 IP 地址。自定义授权策略可以满足用户对资源访问控制粒度的诸多苛刻需求,从而满足用户对“最小授权(只授予满足用户需要的最小权限)”的完美实施。

举个条件授权的例子,如果您担心研发人员密钥泄露而导致公司的 OSS 数据泄露到公司外部,那么您可以在给研发组授权访问 OSS 数据时附加限制条件,比如要求必须在公司(使用 acs:SourceIP 条件表达式)并且在上班时间段(使用acs:CurrentTime 条件表达式)才能操作 OSS 。

第4步:员工换岗、入职与离职的处理

当员工从一个岗位换到另一个岗位之后,您只需要将对应的用户账号从一个组移到另一个组,仅此而已。如果有员工入职,那么只需为新员工创建新的用户账号,设置登录密码或访问密钥,然后 添加到相应的用户组。如果是离职,那么只需在 RAM 控制台中执行用户删除操作即可,RAM 会自动删除用户的所有访问权限。

第5步:使用 STS 给临时用户授权

有时存在一些用户(人或应用程序),他们并不经常访问您的云资源,只是偶尔需要访问一次,我们称这些用户为“临时用户”。您可以通过 STS (Security Token Service,它是 RAM 的一个扩展授权服务) 来为这些用户颁发访问令牌。颁发令牌时,您可以根据需要来定义令牌的权限和自动过期时间。

使用 STS 访问令牌给临时用户授权的好处是让授权更加可控。您不必为临时用户创建一个 RAM 用户账号及密钥,因为 RAM 用户密钥都是长期有效的,但临时用户并不需要长期的资源访问。

此外,您也可以授权允许一个 RAM 用户使用 STS 服务颁发访问令牌,以实现对 RAM 用户的进一步分权。

第6步:让主账号“好好休息”

当您的员工和应用系统都开始使用 RAM 用户账号之后,您将不必再使用主账号去做日常工作了。为了降低主账号泄露的风险,建议您不要为主账号创建访问密钥,并且将主账号密码和多因素认证设备都放在公司的保险柜里,让它“好好休息”。

通过以上步骤,您可以体验到 RAM 丰富的资源控制能力,并可根据企业实际需求,制定适用的资源控制策略,协调好企业用户对上云资源的灵活访问控制。

本文导读目录
本文导读目录
以上内容是否对您有帮助?