企业上云安全实践

更新时间:2025-03-26 03:45

当企业上云之后,您可以使用访问控制(RAM)管理云上用户身份与资源访问权限,实现精细化权限管理。通过RAM,您可以创建、管理RAM用户(它们可以代表企业员工、系统或应用程序),并可以控制这些RAM用户对资源的操作权限。本文为您提供企业使用RAM安全上云的最佳实践。

身份管理

通用原则

避免直接使用主账号根用户身份

当您在阿里云完成注册后,就会获得一个云账号(主账号)。如果您是个人开发者,云账号会绑定您的个人实名信息,如果是企业注册,云账号将绑定企业的实名认证信息、资金账号、合同信息、发票信息等。

云账号默认拥有一个根用户(root)身份,注册的用户名和密码就是根用户访问阿里云控制台的凭证,根用户存在的风险如下:

  • 权限大:根用户默认拥有账号的所有访问权限,一旦账号密码泄露,风险极高。

  • 密码容易泄露:多人共用的情况下,每个人都持有该账号的用户名和密码,这会增加密码泄露的可能。

  • 无法溯源:多人共用的情况下,云上的操作日志中无法区分出是组织中哪个人使用了该身份进行了操作,也无法进行进一步溯源。

如果为根用户创建的AccessKey(简称AK),存在的风险如下:

  • 权限大:根用户的AccessKey同样拥有账号的所有访问权限,一旦泄露,风险极高。

  • AccessKey泄露影响大:AccessKey作为永久凭证,除非主动禁用否则长期有效,如果将主账号AccessKey用于业务,当发生泄露风险时禁用会影响线上业务,又不能限制AccessKey的权限,无法快速解除风险。

因此,对于主账号的管理,阿里云建议:

  • 用户名和密码请由管理员妥善保管,一定不要在企业员工间大范围共享。

  • 为主账号根用户身份设置绑定U2F安全密钥,为密码增加一重保障。

  • 仅在必要时使用主账号用户名和密码登录控制台。

  • 尽可能不使用主账号AccessKey。

使用RAM用户身份凭证

在企业人员、应用程序需要访问阿里云资源时,应为其分配RAM用户身份凭证。通过RAM为不同操作员创建独立的RAM用户,进行分权管理,替代使用阿里云账号(主账号)进行日常运维管理。具体操作,请参见创建RAM用户

  • 人员访问:优先推荐使用SSO单点登录集成。若无法进行SSO集成,为RAM用户开启控制台密码登录时必须绑定MFA设备。不要多人共用一个RAM用户身份,密码共享会增加泄露的风险,且无法从审计上区分真实操作者,增加内部管理难度。

  • 程序访问:部署在阿里云的应用程序优先选择无永久AK方案,使用STS Token临时凭证,降低凭证泄露的风险。更多信息,请参见使用访问凭据访问阿里云OpenAPI最佳实践。非部署在阿里云的应用、开发调试等场景必须要使用AccessKey的,您可以创建RAM用户的AccessKey。每个RAM用户最多创建两个AccessKey,其中一个AccessKey用于业务,另一个AccessKey留作轮转

人员管理

使用SSO单点登录

人员访问优先推荐使用SSO单点登录集成。开启SSO单点登录后,企业内部账号进行统一的身份认证,实现使用企业本地账号登录并访问阿里云资源。且单点登录认证由企业身份系统完成,无需在阿里云为RAM用户设置密码,减少了密码泄露的风险。更多信息,请参见SSO概览

为RAM用户设置强密码策略

若不能进行单点登录集成,需要为人员创建RAM用户使用密码登录控制台。您可以在RAM控制台设置RAM用户密码强度,例如:密码长度、必须包含的字符类型、有效期等。此外,如果允许RAM用户更改登录密码,那么应该要求RAM用户创建强密码并且定期修改登录密码。

为RAM用户开启多因素认证

为使用密码登录阿里云的RAM用户开启多因素认证(Multi-factor authentication,MFA)可以提高账号的安全性,在用户名和密码之外再增加一层安全保护。

启用多因素认证并绑定多因素认证设备后,RAM用户再次登录阿里云或在控制台进行敏感操作时,系统将要求输入两层安全要素:

  1. 第一层安全要素:输入用户名和密码。

  2. 第二层安全要素:输入虚拟MFA设备生成的验证码、通过通行密钥认证或输入安全邮箱验证码。

2025年03月17日起阿里云为所有RAM用户默认开启登录时必须进行MFA验证,强烈建议您不要调整配置,减少密码泄露风险。若要求所有RAM用户每次登录验证存在困难,建议设置为仅在异常登录时验证,该配置项要求所有控制台登录的RAM用户必须绑定MFA设备,但仅在阿里云平台检测到登录异常时要求MFA验证,减少登录验证的频次。具体操作,请参见为RAM用户绑定MFA设备

使用通行密钥登录

通行密钥(Passkey)是一种可以替代密码的更为安全的认证方式,阿里云支持RAM用户使用通行密钥登录以及使用通行密钥作为多因素认证(MFA)手段之一。借助通行密钥,您可以使用笔记本电脑、手机等设备自带的指纹、人脸或PIN码认证方式,完成登录或MFA验证。具体操作,请参见为RAM用户绑定通行密钥

  • 基于通行密钥验证原理的安全性保证,RAM用户可使用通行密钥直接登录,无需再进行MFA验证。

  • 建议RAM用户同时绑定一项MFA设备,以便在设备更换或故障时通过密码加MFA登录。

RAM用户分组管理

当阿里云账号下存在很多RAM用户时,可以通过RAM用户组对职责相同的RAM用户进行分组并授权。具体操作,请参见创建RAM用户组为RAM用户组授权

限制登录控制台IP地址(登录掩码)

登录掩码功能能够限制用户仅在可信的网络环境下访问阿里云控制台,您可以在登录掩码中设置企业可信IP地址/IP地址段,用户在该范围之外的网络环境下登录将会被拒绝。具体操作,请参见网络访问限制设置

AccessKey管理

程序访问使用临时身份凭证

访问密钥AccessKey(简称AK)是阿里云提供给阿里云账号(主账号)和RAM用户(子账号)的永久访问凭据,一组由AccessKey ID和AccessKey Secret组成的密钥对。不合理地使用永久访问凭据会造成很多风险,例如:应用研发人员将固定AccessKey明文写入了代码中,并将其上传到了GitHub等公开仓库,造成了AccessKey泄露,最终导致业务受损。

建议您尽可能通过RAM角色扮演的方式获取临时访问凭据STS Token,替代永久AccessKey。STS Token生成后,在超过角色最大会话时间(小时级)后,会自动失效,可大幅降低访问凭据泄露的风险。

因此,部署在阿里云的应用程序优先选择STS Token临时凭证,避免使用永久AK。更多信息,请参见使用访问凭据访问阿里云OpenAPI最佳实践

不将AccessKey信息明文硬编码在代码中

应用研发人员将永久访问凭据AccessKey信息明文写入了代码,将代码公开上传到Github等代码仓库,或在进行分享时将带有AccessKey信息的源代码直接分享出去,极易造成AK泄露。

必须要使用AccessKey时,您可以使用Credentials工具、KMS密钥管理服务或配置系统环境变量等方式管理访问凭证。一旦发现AccessKey泄露,请务必尽快使用新建AK轮转已泄露的AK。更多信息,请参见使用访问凭据访问阿里云OpenAPI最佳实践

及时清理闲置RAM用户和闲置AccessKey

企业员工离职、合作伙伴解除合作后,若不及时清理其持有的RAM用户和AK凭证,仍然可以访问企业的云上资源,容易发生恶意盗用事件。同时,长期闲置的用户和AK疏于管理,即使被盗也可能无法及时发现。

阿里云自2024年09月起陆续为用户开启了2年以上闲置用户自动禁用控制台登录,和2年以上闲置AccessKey自动禁用功能,该功能一旦开启将会持续运行,每日对符合条件的凭证进行禁用。

限制使用AccessKey的API请求来源IP地址

通过AccessKey网络访问限制策略,限制使用AccessKey的API请求来源IP地址,将AccessKey调用来源控制在可信的网络环境内,提升AccessKey的安全性。

  • 若已有AccessKey疑似或明确泄露,首先为该AK设置网络访问控制策略,限制只有在可信的网络环境内调用,直接拦截外部异常调用。

  • 梳理各账号业务的网络情况,设置账号级或重要业务AK级网络控制策略,提前预防外部异常调用。

权限管理

最小化授权

您可以为RAM身份(RAM用户、RAM用户组、RAM角色)授予权限策略,限制RAM身份对资源的访问权限。授权时建议您遵循最小化原则,仅授予必要的权限,避免权限过大带来安全风险。

权限策略分为系统策略和自定义策略:系统策略统一由阿里云创建,策略的版本更新由阿里云维护,用户只能使用不能修改;自定义策略由用户自主管理并维护版本更新,用户可以自主创建、更新和删除自定义策略。自定义策略可以实现更加精细化的权限管理,具体操作,请参见创建自定义权限策略

使用权限策略条件来增强安全性

您可以通过在自定义权限策略中设置条件(Condition)(如指定时间范围或IP地址等)来限制资源访问权限。

示例:通过指定的IP地址访问阿里云在指定的时间段访问阿里云通过指定的访问方式访问阿里云

  • 本页导读 (1)
  • 身份管理
  • 通用原则
  • 人员管理
  • AccessKey管理
  • 权限管理
  • 最小化授权
  • 使用权限策略条件来增强安全性
文档反馈
phone 联系我们

立即和Alibaba Cloud在线服务人员进行交谈,获取您想了解的产品信息以及最新折扣。

alicare alicarealicarealicare