身份与访问控制是为了实现集中管理阿里云上的用户身份,只有通过这个身份的认证,并且满足了特定权限授权条件下的用户才能够访问或操作您所指定的阿里云资源,避免您的云资源被未经授权的用户恶意访问,以满足合规审计的需求。本文从提升身份认证安全性、提升访问控制安全性和进阶提升身份与权限的安全性三方面介绍云服务器ECS在身份与访问控制方面支持的安全能力。
建议您开启主账号MFA的多因素认证来增强阿里云账号的安全性,不建议使用主账号的AccessKey,而是给应用颁发子AccessKey,避免将明文的AccessKey暴露到外部的开发平台上,同时定期清理长期不使用的RAM用户,尽可能使用具有时效性的临时STS Token。
建议您可以利用ECS已经预定义的系统策略和自定义的RAM策略,为不同职责的人员授予权限;可以基于资源组,按照云资源的用途、部门结构等不同的维度来管理资源,授予不同用户访问不同资源组的权限;也可以使用标签对云资源进行细粒度的资源管理和控制。
建议您将RAM角色关联到具体的ECS实例而不是使用明文的AccessKey;同时建议您能够启用操作审计ActionTrail,可以进行事后的行为分析和安全跟踪,来识别潜在的安全风险,满足合规审计的需求;建议您也开通免费的身份权限治理服务来定期检测身份和权限上的安全风险,及时完善云上身份和权限配置的安全性。
提升身份认证的安全性
身份认证指的是通过凭证信息来认证用户的真实身份,通常是指通过密码或访问密钥登录ECS实例,也就是AccessKey机制来进行身份认证。
开启MFA多因素账号认证
功能介绍
多因素认证MFA(Multi Factor Authentication)是一种简单有效的安全实践,在用户名和密码之外再增加一层安全保护,用于登录控制台或进行敏感操作时的二次身份验证(不影响通过AccessKey的API调用),以此保护您的账号更安全。更多信息,请参见什么是MFA。
配置方式
不推荐您直接使用阿里云主账号的AccessKey登录ECS实例,建议您为阿里云账号启用MFA多因素认证,即在用户名和密码(第一层安全要素)的基础上,增加了MFA安全码(第二层安全要素,MFA设备生成的安全码),以提高账号的安全性。具体操作,请参见为阿里云账号绑定MFA设备。
使用RAM用户而不是阿里云账号,并合理设置权限策略
确保用户访问ECS资源时使用最小化权限,避免共享账号或过于宽泛的授权。
如果您购买了多台云服务器ECS实例,您的组织里有多个用户(例如员工、系统或应用程序)需要使用这些实例,您可以通过访问控制RAM使用阿里云账号创建多个RAM用户,并为RAM用户授予特定权限策略使其有权限使用这些实例,从而避免了将同一个AccessKey分发给多人的安全风险,实现在账号维度上对云服务器ECS资源进行细粒度的访问控制。具体操作,请参见RAM用户。
通过身份认证后RAM会生成两类身份,一类是实体身份(RAM用户),另一类是虚拟身份(RAM角色),虚拟身份往往需要被实体用户扮演才能生效。更多介绍,请参见身份管理。
AccessKey防泄密
阿里云账号AccessKey是客户访问阿里云API的密钥,请务必妥善保管。请勿通过任何方式(如GitHub等)将AccessKey公开至外部渠道,以免被恶意利用而造成安全威胁。AccessKey泄露会威胁所有资源的安全,根据如下AccessKey信息使用的安全建议,可以有效降低AccessKey泄露的风险。
不要将AccessKey嵌入代码中。
定期轮换AccessKey。
定期吊销不需要的AccessKey。
遵循最小权限原则,使用RAM用户。
可以开启
acs:SourceIp
限定公网IP网段访问阿里云API。通过设置
acs:SecureTransport
取值为true,表示通过HTTPS方式访问阿里云。
提升访问控制安全性
不同职责的人员授予权限
当您的企业存在多用户协同操作资源的场景时,RAM可以让您避免与其他用户共享阿里云账号密钥,按需为用户分配最小权限,从而降低企业的信息安全风险。
默认情况下阿里云主账号控制了资源的所有权限,主账号创建的RAM用户是默认没有任何权限的,因此需要通过授权的方式给RAM用户授权。授权操作分为两步:
创建权限策略。
目前支持系统权限策略和自定义权限策略两种策略。系统权限策略由阿里云进行维护,用户只能使用不能修改。自定义权限策略由用户自主创建、更新和删除。
ECS的系统权限策略:云服务器 ECS系统权限策略参考
ECS的自定义权限策略:云服务器ECS自定义权限策略参考
为RAM用户/角色授权。
为RAM用户/角色绑定一个或多个权限策略,授权范围可以是整个云账号的资源也可以是在阿里云账号下指定的一个资源组内的资源,绑定的权限策略可以是系统策略也可以是自定义策略。
使用资源组进行细粒度的资源管理
功能介绍
资源组是根据资源的用途,权限,归属等维度,对您所拥有的云资源进行分组,从而实现企业内部多用户、多项目的资源的分级管理,每个云资源目前只能属于一个资源组,加入到资源组,它不会改变云资源间的关联关系。比如可以按照云资源的用途来进行分组,将生产环境的实例和测试环境的实例,分别放入到生产环境和测试环境的两个资源组中。更多信息,请参见什么是资源组。
配置方式
创建资源组的操作,请参见创建资源组。
将ECS实例加入资源组。
使用标签对云服务器ECS资源进行分类和管理的案例请参见使用资源组限制RAM用户管理指定的ECS实例、使用资源组对ECS实例进行分账。
使用标签进行细粒度的资源管理
功能介绍
除了使用资源组外,也可以使用标签来划分不同的资源,相比于资源组,标签是一种更加灵活的资源划分维度或者工具,比如可以按照地区、部门、环境分别给资源打上多个标签,同一个资源可以支持多个标签,基于标签来对ECS资源实现访问的控制。更多信息,请参见什么是标签。
配置方式
创建标签并为ECS实例绑定标签的操作,请参见标签。
使用标签对云服务器ECS资源进行分类和管理的案例请参见使用标签对ECS实例进行分组授权、使用标签限制RAM用户管理指定的ECS实例。
进阶提升身份与访问控制的安全性
使用实例RAM角色而不是AccessKey
功能介绍
一般情况下,ECS实例的应用程序是通过阿里云账号或RAM用户的AccessKey访问阿里云各产品的API。为了满足调用需求,需要直接把AccessKey固化在实例中,例如写在配置文件中。但是这种方式权限过高,存在泄露信息和难以维护等问题。因此,阿里云推出了实例RAM角色解决这些问题,一方面可以保证AccessKey安全,另一方面也可以借助RAM实现权限的精细化控制和管理。
配置方式
实例RAM角色允许您将一个角色关联到ECS实例,在实例内部基于STS(Security Token Service)临时凭证访问其他云产品的API。由于临时身份凭证仅可在实例内部获取,并且无需配置AccessKey,这不仅确保了云账号AccessKey的安全性,还能够通过访问控制RAM实现精细化的控制与权限管理。具体操作,请参见实例RAM角色。
启用操作审计
功能介绍
操作审计(ActionTrail)是阿里云提供的云账号资源操作记录的查询和投递服务,可用于安全分析、资源变更追踪以及合规性审计等场景。操作审计支持将管控事件投递到日志服务SLS的LogStore或对象存储OSS的存储空间中,满足实时审计、问题回溯分析等需求。更多信息,请参见什么是操作审计。
您可以在操作审计中查询您操作云服务器ECS产生的管控事件,请参见云服务器ECS的审计事件。当ECS操作出现异常时,您可以快速查询事件并获取事件发生的时间、地域、ECS实例等信息,以便快速解决您的问题。
配置方式
云服务器ECS默认已与操作审计服务集成,默认开启,无需手动配置。
开通身份权限治理服务
功能介绍
身份权限治理根据企业上云安全实践,持续检测阿里云账号及其下的RAM用户是否存在身份权限的安全风险,帮助您及时发现治理缺失,并提供友好的治理引导,帮助您完善云上身份权限治理的配置。
配置方式
建议您开通免费的身份权限治理服务,检测身份和权限的安全风险,及时完善云上身份与权限配置的安全性。开通方式,请参见身份权限治理概览。