在云环境中,身份是云环境中执行操作的实体,权限是安全边界的基石。遵循阿里云卓越架构框架(Alibaba Cloud Well-Architected Framework),并结合访问控制(RAM)的产品功能,是构建安全、合规、可扩展云上体系的核心。本指南将从人员身份、程序身份、权限管理三个维度,为您提供一套理论与实践相结合的最佳实践。
人员身份最佳实践
人员身份代表您的企业员工或组织成员,如安全管理员、运维或开发人员等用户。管理的核心在于集中化、精细化,并建立多层防护。
1. 避免使用主账号进行日常运维
最佳实践:阿里云主账号类似于Linux系统中的root用户,拥有所有权限,但不适合日常使用。最佳实践建议如下:
创建一个拥有管理员权限的RAM用户,专门用于日常管理和技术操作。
阿里云账号仅在必要时使用,并妥善保管账号密码及MFA等相关凭证。
所有日常操作都通过RAM管理员用户完成,避免阿里云账号暴露在日常环境中。
操作建议:
创建独立RAM用户:建议首先创建一个有管理员权限的RAM用户,参考创建RAM用户作为管理员,然后为您组织内的每一位成员创建独立的RAM用户,参考创建RAM用户并授权。
为主账号启用MFA:参考配置账号的MFA完成对主账号的安全加固,并仅在必要时启用主账号,并妥善保管主账号的账号密码及MFA等。
2. 建立更安全的登录机制
最佳实践:对于人员身份来说,保护好用户名和密码尤为重要。可以从以下几种方式提升登录方式的安全性:复杂的密码、定期轮换和MFA可以显著增加密码凭证被破解的难度。
RAM 功能操作指导:
提升密码复杂度:通过设置RAM用户密码策略,修改RAM用户密码的最小长度、复杂度要求、以及密码有效期(如最长90天等),密码重试次数等,提升RAM用户密码的安全性。
为RAM用户强制启用MFA:MFA是在密码之外的第二道坚实防线,即使密码泄露也能有效阻挡非法登录。在管理RAM用户安全设置中,可以设置账号下所有RAM用户登录时必须使用MFA。
3. 实现人员身份的统一认证(SSO)
最佳实践:通过单点登录(SSO)将身份认证交由企业统一的身份提供商(Identity Provider,简称 IdP)管理,可以避免在云上维护一套独立的密码体系。同时,人员的入职、离职、权限变更都可以在IdP一处完成,实现身份的生命周期集中管理。
操作建议:使用RAM的SSO管理功能,基于SAML 2.0或OIDC协议,将您的企业IdP(如企业Active Directory、Okta等)与阿里云的身份体系联合。您可以根据环境和登录需求选择配置用户SSO或者角色SSO。
说明说明如果企业使用资源目录RD(Resource Directory)管理多个阿里云账号,则更推荐使用云SSO来实现多账号统一身份权限管理。
程序身份最佳实践
程序身份:代表应用程序或服务,通常通过API以非交互式的方式访问云资源和数据。程序身份适用于自动化脚本、应用程序开发、服务集成等场景。管理的核心是杜绝使用永久凭证,全面转向有时效的临时凭证。
1. 优先使用临时凭证(STS Token)
最佳实践:永久AccessKey一旦创建,手动删除之前永远有效。AccessKey一旦泄露,风险持续存在。而通过RAM角色扮演的方式获取的临时凭证STS Token,在超过角色最大会话时间(小时级)后自动失效,即便意外泄露,其被利用的时间窗口也极小。
操作建议:使用无AK方案获取STS Token(例如:ECS实例角色扮演、容器实例角色扮演、函数计算角色扮演等),彻底避免暴露AK。更多内容,请参见:使用访问凭据访问阿里云OpenAPI最佳实践。
2. 正确保管和使用不可避免的AccessKey
最佳实践:在某些无法使用STS Token的场景(如本地开发调试),若必须使用永久AccessKey,则应避免使用主账号AccessKey,确保一个AccessKey只用于一个应用的一个环境,并定期更换。
操作建议:
避免使用主账号AccessKey:在必须使用AccessKey的场景下,建议替换为具有适当权限的RAM用户的AccessKey,参考不使用主账号AccessKey。
避免共用Accesskey:为每个应用、每个环境(开发/测试/生产)创建独立的RAM用户和专用的AccessKey,参考创建AccessKey。
最小权限授权:为AccessKey所在的RAM用户授予该场景下的最小权限策略,可以定期识别过度授权,并按需管理权限策略授权。
严禁代码硬编码:通过配置系统环境变量或KMS凭据管理等方式管理AccessKey,绝不将AccessKey明文写入代码库。
访问限制:配置网络访问策略,限制AccessKey只能从特定的IP地址访问,参考AccessKey网络访问限制策略。
及时禁用并回收闲置AccessKey:设置AccessKey最大闲置时长,建议设置在365天以内,推荐90天,参考管理RAM用户安全设置。
监控审计:通过操作审计(ActionTrail)监控AccessKey的使用情况,及时发现异常行为。
权限管理最佳实践
权限是安全的核心,定义了“谁”可以对“什么”资源执行“何种”操作。管理的核心原则是“最小权限”和“职责分离”。
1. 授予最小必要权限
2. 通过RAM用户组简化权限管理
3. 在多账号环境中设置权限边界
最佳实践:对于云上有多个阿里云账号的组织,可以基于资源目录的管控策略,限制成员账号内的RAM身份权限范围。
操作建议:在启用资源目录的多账号环境下,当成员账号中的RAM用户或RAM角色访问阿里云服务时,阿里云将会先进行管控策略检查,再进行账号内的RAM权限检查,参考管控策略。注意在绑定管控策略前,建议先进行局部小范围测试,确保策略的有效性与预期一致,然后再绑定到全部目标节点(资源夹、成员)。