本文介绍访问控制(RAM)的典型应用场景,助您安全、高效地管理云上身份与权限。
运维管理场景
1. 为企业员工分配权限
场景简述:
为企业内的多名员工授予云资源访问权限时,直接共享主账号会带来操作无法追溯、权限过大等安全风险。需要根据其工作职责和访问的云资源进行权限划分。
解决方案:
为每位员工创建独立的RAM用户,并根据其工作职责(例如,开发、测试、运维)授予最小操作权限。将相同职能用户加入用户组,通过用户组批量管理权限以提高管理效率。
核心价值:
责任明确:每个员工使用独立身份登录和操作,所有操作均可审计追溯。
安全合规:通过精细化的权限管理,降低因权限过大或身份混用带来的安全风险,满足企业安全合规要求。
典型案例:
为不同运维人员(如虚拟机运维人员、网络运维人员等)分配不同的系统权限策略。参考:通过RAM管控多运维人员的权限。
针对不同业务场景,定义和应用自定义权限策略。参考:ECS自定义权限策略。
基于访问条件(如请求来源、资源标签等)配置自定义权限策略。参考:通过指定的IP地址访问阿里云。
2. 按项目或环境进行资源隔离与授权
场景简述:
在单一阿里云账号内,同时运行着多个项目(如项目A、项目B)或多个环境(如开发环境、生产环境),需要确保项目A的开发人员无法访问项目B的资源,且任何开发人员都无法操作生产环境的资源。
解决方案:
使用资源组授权。按项目或环境创建资源组,并通过策略条件限制用户只能访问特定资源组的资源。
核心价值:
清晰的权责边界: 结合资源组功能,您可以按项目或环境划分权限,确保不同团队的成员只能访问其负责的资源,明确权责边界。
精细化的成本管理: 按资源组进行资源管理,也为后续进行精确的成本分摊提供了基础。
了解更多:资源分组和授权
3. 实现跨账号的资源协作与授权
场景简述:
企业需要安全地授权给合作伙伴、子公司等其他阿里云账号,允许其访问或管理账号下的部分云资源,但又不能直接分享访问密钥。
解决方案:
通过配置RAM角色实现安全的跨账号授权。受信账号无需授权方的访问密钥,只需扮演角色便可访问资源。
核心价值
安全可控:通过RAM角色实现安全的跨阿里云账号授权。受信账号无需您的访问密钥,只需扮演您授予的角色,即可在权限范围内访问您的资源。
灵活的权限管理: 您可以随时调整角色权限或撤销授权,确保资源共享与协作安全可控。
精细化控制:可为不同合作伙伴创建不同角色,授予不同权限范围,实现精细化管理。
了解更多:跨阿里云账号访问资源
4. 实现无密码登录阿里云控制台
场景简述:
运维人员需要频繁登录阿里云控制台,希望使用更安全、便捷的方式替代传统密码登录,例如使用设备的生物识别(指纹、面容)功能。
解决方案:
启用并使用通行密钥(Passkey)实现无密码登录。
通行密钥是一种安全的数字凭证,它将登录密钥存储在您的个人设备(如手机、电脑)或专用的硬件安全密钥中。启用后,您登录阿里云控制台时将无需输入密码,仅需通过设备的生物识别功能(例如指纹、面容ID)或设备PIN码即可快速、安全地完成验证。
核心价值:
消除密码风险:无需记忆和输入密码,避免密码泄露、弱密码等安全风险。
提升登录体验:使用生物识别或硬件密钥,登录过程更快速、便捷。
增强安全性:基于标准公钥加密技术,能有效提供防网络钓鱼的身份验证,安全性高于传统密码。
了解更多:什么是通行密钥
5. 集成企业身份系统实现单点登录(SSO)
场景简述:
企业希望员工能使用现有的企业身份系统(如Active Directory、Microsoft Entra ID, Okta)直接登录阿里云,实现身份的统一管理和单点登录(SSO),避免维护多套用户名密码。
解决方案:
配置RAM角色SSO或用户SSO,将企业身份提供商(IdP)与阿里云集成。
说明如果企业使用资源目录RD(Resource Directory)管理多个阿里云账号,则更推荐使用云SSO来实现多账号统一身份权限管理。
核心价值:
简化登录:员工只需登录一次身份提供商(IdP)门户,即可访问阿里云及其他与身份提供商建立信任关系的应用,无需维护多套用户名和密码。
集中安全策略:企业安全策略(如MFA、密码策略、IP地址限制等)在IdP层面统一配置和执行。
集中管理与审计:通过企业原有的身份管理平台集中配置和撤销用户权限,实现员工入离职与云上权限同步,降低管理成本与合规风险。
应用开发场景
1. 阿里云上的应用访问阿里云资源
场景简述:
部署在阿里云(如ECS实例、ACK容器集群、函数计算FC)上的应用程序或服务,需要安全地调用阿里云API访问其他云资源(如读写OSS、查询RDS),同时避免在代码或配置中硬编码访问密钥。
解决方案:
推荐使用无AK方案来获取临时安全令牌(STS Token)并以此调用阿里云API。根据应用部署环境选择对应的无AK方案:
应用部署环境 | 推荐无AK方案 | 核心机制 |
云服务器ECS | ECS实例RAM角色 | 应用通过访问ECS的元数据服务,自动获取与实例绑定的角色的临时凭证。 |
容器集群 (ACK) | 容器实例角色扮演(RRSA) | Pod内的应用使用OIDC令牌,通过扮演角色获取临时凭证。 |
函数计算 (FC) | 函数计算RAM角色 | 函数在执行时,运行时环境会自动为其注入与函数关联的角色的临时凭证。 |
核心价值:
提升应用安全性:通过为ECS实例等计算资源授予RAM角色,应用程序可自动获取临时访问凭证来访问其他云服务。
简化密钥管理:避免在代码或配置中硬编码和管理访问密钥,从而降低密钥泄露风险,简化运维工作。
自动凭证轮换:临时凭证自动刷新,无需手动管理凭证生命周期。
典型案例:
如果以上无AK方案无法适用,则应将AccessKey配置在系统环境变量中,并为AccessKey配置网络访问限制策略以将AK的使用限制在可信的网络环境内。
2. 非阿里云的应用访问阿里云资源
场景简述:
应用部署在非阿里云环境(如自建IDC、其他云平台),需要调用阿里云API访问云资源。
解决方案:
如果应用已经与OIDC的身份提供商(如Okta)集成,可以使用阿里云STS服务的AssumeRoleWithOIDC接口,获取扮演RAM角色的临时凭证。应用通过IdP认证后,用获取的OIDC令牌调用该接口换取阿里云的临时凭证,并以此访问阿里云资源。此方案不需要在程序中存储和使用AccessKey。
如果以上方案不适用,则应将AccessKey配置在系统环境变量中,并为AccessKey配置网络访问限制策略以将AK的使用限制在可信的网络环境内。
典型案例:
Okta上的应用通过角色SSO访问阿里云资源(AssumeRoleWithOIDC):使用OIDC进行角色SSO的示例。
使用AccessKey将文件上传至OSS:使用RAM用户访问密钥访问OSS。
了解更多:AccessKey网络访问限制策略
相关文档
了解什么是STS和STS Token:什么是STS。