身份与访问安全
访问控制RAM是阿里云提供的一项管理用户身份与资源访问权限的服务。RAM支持AccessKey等多种身份认证方式,支持通过权限策略控制账号对云资源的访问和操作权限,确保云资源使用的安全性。
身份认证
身份认证是指验证云资源访问身份的合法性,既包括人员使用账号登录和操作时的认证,也包括应用程序访问API接口时的认证。身份认证是保证云中用户资源不被非法访问的关键基础性措施。云服务提供常用的访问认证方式包括:
类型 | 认证方式 | 说明 | 相关文档 |
应用认证 | AccessKey认证 | AccessKey(简称AK)没有过期时间限制,认证凭据是AccessKey ID和AccessKey Secret,其中AccessKey Secret必须保密,否则攻击者将泄露凭据并使用合法的身份访问云资源,包括窃取数据。 | |
AccessKey认证 派生密钥(OSS必须) | |||
STS认证 | STS的认证凭据是STS Token,具有时效性,减少了直接使用某资源访问身份的AccessKey而导致密钥可能泄露的风险。为获取STS Token,需要创建一个专门权限的RAM用户(子账号),使用该RAM用户的AccessKey认证调用接口获取某RAM角色的STS Token。该方式可以用于给不安全设备临时授权。 | ||
实例RAM角色 | 实例RAM角色是直接授予具体ECS实例某权限的角色,从而获得访问授权云资源的权限。ECS实例内的应用先访问元数据服务器获取角色的临时STS Token,再使用STS Token访问云服务接口。该方式不用在实例中保存身份凭据,避免了身份凭据泄露风险。 | ||
人员认证 | SSO认证 | SSO(Single Sign On,单点登录)允许用户使用企业自有的身份系统实现与阿里云的SSO,将企业中的用户身份与阿里云RAM用户、角色关联起来,获得访问云资源的权限。 | |
OAuth认证 | OAuth允许为Web、移动端、桌面应用以及服务器应用授权访问阿里云资源。 |
防止身份凭据泄露
身份凭据泄露会导致用户云资源被非法访问、数据泄露,以下为相关安全建议:
为阿里云账号(主账号)和RAM用户(子账号)启用多因素认证MFA。建议为阿里云账号绑定MFA,每次使用时都强制使用多因素认证。如果RAM用户具备高风险操作权限(例如停止ECS实例、删除OSS Bucket等),建议为该RAM用户绑定MFA。
不要为阿里云账号(主账号)创建AK。阿里云账号(主账号)对名下资源拥有完全控制权限,身份凭据泄露会引起严重后果。
根据权限分离和最小授权原则使用RAM用户。完善的分权体系应支持权力制衡,尽可能地降低安全风险。在使用RAM时,用户应该考虑为不同权限创建不同的RAM用户。在对RAM用户赋予权限时应授予仅需的操作和对象。
人员操作账号与API身份账号应当分离。
使用RAM用户的AccessKey时,推荐限制客户端的白名单地址,防止AK泄露后被任意利用。更多信息,请参见通过RAM限制用户的访问IP地址。
为防止AK泄露,推荐ECS应用使用角色扮演方式访问云资源。更多信息,请参见通过ECS实例RAM角色授权ECS访问其他云资源。
不可信终端(如移动终端、个人电脑)尽量使用STS Token或SSO、OAuth方式访问云资源,避免使用AK。
不要将AK嵌入代码中,定期更新AK,定期吊销不需要的AK。
开启操作日志审计,并将其投递至OSS和SLS保存和审计。
云安全中心具有检查配置中AK、告警AK泄露至Github、告警异常调用的能力,推荐关注和使用。更多信息,请参见AK和账密防泄漏最佳实践。
关注ActionTrail云资源操作日志,从中可以发现异常的操作或来源IP。更多信息,请参见ActionTrail操作事件。
访问授权
访问授权是限制合法身份的访问权限,限制身份的使用环境、授权的资源范围、允许的操作等。阿里云通过创建RAM用户、角色,并为其配置权限策略,实现访问授权。RAM权限策略可以细化到对某个操作和资源的细粒度授权,还可以支持多种限制条件(如限制源IP地址、访问时间等),更多信息,请参见权限策略概览。
与公共云不同,除了云盒对应的阿里云账号(主账号)外,不能授权其他阿里云账号访问云盒服务。
RAM用户需要由阿里云账号管理员为其授权后才能访问阿里云账号下的资源。为保证资源的数据安全,建议您遵循最小授权原则为允许访问云资源的身份授予恰好够用的权限。授权的详细操作请参见:
对接企业身份管理系统
如果企业已有身份管理系统,出于管理维护成本考虑不希望在云端创建和管理用户,则可以通过RAM角色SSO或用户SSO来解决。相关参考如下: