点击链接下载查看完整版内容👉:《阿里云安全白皮书(2024版)》
点击链接下载查看上文👉:带你读《阿里云安全白皮书》(十八)——云上安全重要支柱(12)
全链路身份管控与精细化授权
2 云上凭证保护
凭证是身份的证明,一旦泄露,将可能导致数据泄露、服务器被入侵等后果。凭证分为长期有效的 访问密钥(AccessKey,后文统一称作 AK)与短期有效的 STS Token。
阿里云提供了一系列保护机制,来帮助客户治理凭证泄露风险。
使用 STS Token 代替永久 AK
永久 AK 由于长期有效,泄露后会对云资源安全产生持续威胁。而 STS Token 到期后将自动失效,无需定期轮换。因此推荐用户使用 STS Token 作为程序 访问凭证访问云资源,替代风险更高的永久 AK。
当客户的应用程序部署在阿里云 ECS 实例上,则可以通过“ECS 实例角色” 功能,让 ECS 实例扮演具有某些权限的角色,获取到 STS Token 访问阿里 云 API。ECS 实例角色功能允许客户将一个角色关联到 ECS 实例,在 ECS 实例内部基于 STS Token 临时凭证访问其他云产品的 API。出于安全性考虑, 使用该功能时应当开启“仅加固模式”。
当客户的应用程序部署在阿里云 ACK 容器集群上,则可以基于 RRSA(RAM Roles for Service Accounts) 功能, 在容器集群内实现应用隔离的 RAM 角色功能,各个应用可以扮演独立的 RAM 角色,访问阿里云 API。基于 RRSA 功能,客户可以在集群内实现 Pod 级别隔离的应用关联 RAM 角色功 能。各个应用可以扮演独立的 RAM 角色,并使用获取的临时凭证访问云资源, 从而实现应用 RAM 权限最小化以及无永久 AK 访问阿里云 API,避免 AK 泄露。
对于凭证方面的保护,用户可以通过使用 STS Token 代替永久 AK,实现 “无永久 AK”的效果,根本性解决云上凭证泄露问题。也可以将凭证托管到 KMS 中,以控制泄露风险,便于凭证泄露后到快速轮转。
- AK 凭证加密托管
尽管我们在先前的讨论中提倡采用 STS Token 作为授权手段,但在某些独 特情境下,使用 AK 或许仍然在所难免。在此类情况下,云上客户可以使用 KMS 密钥管理服务管理及使用 RAM 凭据,以此来确保敏感凭证的安全保 管。在客户授予 KMS 管理 RAM 用户 AK 的权限后,即可使用 KMS 提供的 RAM 凭据插件、阿里云 SDK 从 KMS 获取 RAM 凭据值并缓存在应用程序 的内存中,然后向云产品发起请求。
选择将凭证托管到 KMS 上,而不是硬编码到代码中,可以规避代码传播过程 中产生的泄露风险。并且一旦某把凭证泄露,可通过 KMS 立刻进行轮转。
- AK 凭证安全审计
同时,阿里云也为客户提供了 AK 审计功能。通过该功能,客户可以对账号下 的 AK 使用情况进行深度审查和管理。AK 审计用于查询 AK 的基本信息、访 问的云服务及相关 IP 地址和资源,帮助客户追溯 AK 使用信息,以便快速应 对 AK 泄露等异常事件,或者为轮换 AK 提供决策参考。
- AK 泄露风控
长期不使用的访问凭据容易发生泄露,且闲置时间越长,暴露风险越高。为帮 助控制 AK 泄露后产生的实际损失,若识别到 AK 泄露,阿里云会对该 AK 进 行限制性保护,泄露期间访问阿里云指定高危 API 时会提示报错,防止风险 进一步扩大。并会及时通知账号管理员,关注 AK 泄露风险。
同时,将针对长期未登录的 RAM 用户自动禁用控制台登录,针对长期未使用 的 AccessKey 自动禁用使用。