安全管理最佳实践系列:阿里云Access Key的轮转

简介: 阿里云访问密钥(Access Key)的轮转对于安全风险的防范(prevention)和缓解(mitigation)具有重要的意义,但是具有一定的运维成本。我们不希望因噎废食,害怕出现运维风险而永久使用同一个Access Key。

在信息安全领域,一个常见的假定就是:所有系统都是可攻破的。当然还有另一个更明显的假定,那就是,攻破任何一个系统都需要时间。这里的“攻破”是广义的,可以是外部攻击,也可以是恶意内部威胁(insider threat),当然也可能是无心的泄漏导致的潜在威胁。

在这两个最基本的假定下,安全管理上衍生出了许多的最佳实践,其中本文将要讲述的就是

  • 最小权限原则(principle of least privilege):减小密钥暴露的攻击面(Attack Surface)
  • 定期轮转密钥:减小密钥的有效时间窗口

当然本文主要是讨论怎样轮转阿里云Access Key,但是由于最小权限原则能极大的简化其复杂度,因此也一并讨论。

基本考虑

在设计一个Access Key定期轮转机制之前,需要对系统的密钥管理有以下几点思考

1. 每个Access Key对应着访问哪些阿里云的资源

Access Key的轮转意味着老的Access Key将失去访问阿里云资源的能力。因此在设计轮转机制之前有必要明确每一个Access Key的影响范围。在一个复杂的系统之中,往往存在多个微服务,而各个微服务往往也是独立部署的。如果轮转一个Access Key需要系统重新部署多个微服务,那么就需要考虑是否微服务之间存在解耦不明晰,或者Access Key访问权限过大的问题。

在企业部署拓扑中一个常见的实践是:访问每一个微服务都使用一个独立的密钥。这实际上是最小权限原则的体现。阿里云作为企业部署拓扑的一部分,其ECS,RDS,OSS等服务都可以看作企业部署的微服务。作为最小权限原则的体现,做了权限分割的Access Key不仅可以减小每个Access Key所暴露的攻击面,也可以更好的控制轮转Access Key带来的影响,减小线上故障的发生概率。

2. 是否需要给Access Key设定一个逻辑上的有效期

阿里云并不强制Access Key的过期失效,但是在密钥管理中,很重要的一环就是设计有效期管理机制。在常见的SSL证书管理中,通常会设置一个有效期到期的报警机制,在证书的有效期到期之前提前通知和报警。如果没有类似的Timer报警机制,则可以用一个脚本定期调用RAM Open API查询Access Key的创建时间,并结合企业监控报警机制(比如将查询到的信息写入日志,监控日志中的关键字等方式),在Access Key的创建时间超过企业规定的有效期之后报警。

轮转的步骤

Access Key的轮转建议按照以下步骤进行:

轮转之前

为了方便描述,假定轮转之前,指定的RAM用户有一个正在使用中的Access Key。我们用下表来描述此用户的所有Access Key,Access Key的状态,以及Access Key在应用中的部署状态。

Access Key Access Key状态 部署状态
旧AK 启用 已上线

注:Access Key的状态有启用和禁用两种,启用的Acces Key可以用来访问云服务,禁用的Access Key不能

1. 给对应的RAM用户创建一个新的Access Key

这一步要在旧Access Key处于启用状态并且正在使用的时候进行。创建的新Access Key默认为启用状态。当前用户有两个Access Key

Access Key Access Key状态 部署状态
旧AK 启用 已上线
新AK 启用 未上线

2. 将新创建的AK部署到应用中,替代旧Access Key

完成这一步之后,两个Access Key分别处于以下状态

Access Key Access Key状态 部署状态
旧AK 启用 全部下线(部分下线)
新AK 启用 全部上线(部分上线)

由于对旧AK的替代可能有所遗漏,因此可能存在旧AK尚未全部下线的可能。

3. 将旧Access Key的状态设置为禁用

由于替代旧Access Key可能存在遗漏,因此建议不直接删除,而是将其状态设置为禁用。

Access Key Access Key状态 部署状态
旧AK 禁用 全部下线(部分下线)
新AK 启用 全部上线(部分上线)

4. 确认应用正常工作

在禁用之后,旧Access Key就不再能用来访问阿里云资源,如果存在应用仍然使用旧Access Key,那么就会产生故障。如果发现了故障,需要立即将旧AK重新设置为启用状态,并回到第2步更新产生故障的应用使用新AK。

经过一段时间的监控,保证所有应用都能正常工作,那么就到达了以下状态

Access Key Access Key状态 部署状态
旧AK 禁用 全部下线
新AK 启用 全部上线

5. 如果经过一段时间的监控,保证所有应用都能正常工作,就可以删除旧Access Key了

这一步是不可逆的,所以请确保没有应用在使用旧Access Key

结语

Access Key的轮转对于安全风险的防范(prevention)和缓解(mitigation)具有重要的意义,但是具有一定的运维成本。我们不希望因噎废食,害怕出现运维风险而永久使用同一个Access Key。为了更好的管理运维风险,一个很有效的处理办法就是运用Fail Fast/Fail Often的原则:

如果你担心密钥轮转会导致系统故障,那么就将密钥轮转尽早集成到开发流程中去,并且尽早进行密钥轮转,经常进行密钥轮转。

简单的说,在测试阶段就Fail可以更早的预防系统风险;在用户还很少的时候就Fail可以防止在用户更多之后Fail产生更大的风险;一个经常出现的故障往往也意味着熟悉的修复流程和快速的恢复;在服务正常运行时有计划的密钥轮转带来的(有预期的)Fail可以得到较快速的处理和对系统的有计划的修复。

而逃避问题不去面对风险,那么当密钥泄漏之后被迫快速进行(无计划和系统设计的,很可能几年都没有人操作过的)密钥轮转带来的风险就是不可控的,带来的商业风险更是叠加在了密钥泄漏的风险之上。

目录
相关文章
|
8月前
|
弹性计算 人工智能 编解码
阿里云庞雄伟:云原生算力时代——倚天实例技术架构与最佳实践解析|阿里云弹性计算技术公开课直播预告
阿里云倚天实例基于平头哥半导体自研倚天710云原生处理器,倚天710使用ARMv9架构,采用业界领先的工艺设计,单芯片容纳高达600亿晶体管,内含128核CPU核心,主频2.75GHz,能同时兼顾性能和功耗。同时得益于阿里云自研的CIPU处理器以及飞天云计算操作系统,倚天实例实现了芯片、计算架构及操作系统的协同优化,显著提升了算力性价比。目前阿里云倚天实例已经在视频编解码、科学计算、电商等领域得到了广泛的应用。
阿里云庞雄伟:云原生算力时代——倚天实例技术架构与最佳实践解析|阿里云弹性计算技术公开课直播预告
|
5月前
|
消息中间件 弹性计算 Java
使用阿里云性能测试工具 JMeter 场景压测 RocketMQ 最佳实践
使用阿里云性能测试工具 JMeter 场景压测 RocketMQ 最佳实践
|
24天前
|
消息中间件 NoSQL Kafka
云原生最佳实践系列 5:基于函数计算 FC 实现阿里云 Kafka 消息内容控制 MongoDB DML 操作
该方案描述了一个大数据ETL流程,其中阿里云Kafka消息根据内容触发函数计算(FC)函数,执行针对MongoDB的增、删、改操作。
|
1月前
|
自然语言处理 算法 关系型数据库
阿里云PAI大模型RAG对话系统最佳实践
本文为大模型RAG对话系统最佳实践,旨在指引AI开发人员如何有效地结合LLM大语言模型的推理能力和外部知识库检索增强技术,从而显著提升对话系统的性能,使其能更加灵活地返回用户查询的内容。适用于问答、摘要生成和其他依赖外部知识的自然语言处理任务。通过该实践,您可以掌握构建一个大模型RAG对话系统的完整开发链路。
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
|
3月前
|
存储 机器学习/深度学习 人工智能
基于Megatron-Core的稀疏大模型训练工具:阿里云MoE大模型最佳实践
随着大模型技术的不断发展,模型结构和参数量级快速演化。大模型技术的应用层出不穷。大模型展现惊人效果,但训练和推理成本高,一直是巨大挑战。模型稀疏化能降低计算和存储消耗。近期以Mixtral为代表的MoE(多专家混合)大模型证明了稀疏MoE技术能大幅降低计算量、提升推理速度,模型效果甚至超过同规模稠密模型。阿里云PAI和NVIDIA团队深入合作,基于Megatron-Core MoE框架,解决了MoE大模型训练落地时会遇到的可拓展性、易用性、功能性以及收敛精度等核心问题,在下游任务上取得了很好的模型效果。
|
7月前
|
弹性计算 运维 Cloud Native
阿里云罗晶分享 | X86+ARM,容器服务 ACK 多架构应用部署最佳实践
2023年8月31日,系列课程第五节《X86+ARM,容器服务ACK多架构应用部署最佳实践》正式上线,由阿里云云原生应用平台产品专家罗晶主讲,内容涵盖:容器服务ACK简介;ACK支持倚天ARM实例;ACK多架构应用部署最佳实践。
|
3月前
|
人工智能 监控 算法
阿里云向量检索服务最佳实践测评
随着大数据和人工智能的快速发展,向量检索技术在各个领域的应用越来越广泛。阿里云作为国内领先的云计算服务提供商,也推出了自己的向量检索服务。本文将对阿里云的向量检索服务进行最佳实践测评,探讨其在语义检索、知识库搭建、AI多模态搜索等方面的应用,并与其它向量检索工具进行比较。
1213 4
|
3月前
|
机器学习/深度学习 人工智能 物联网
快速玩转 Mixtral 8x7B MOE大模型,阿里云机器学习 PAI 推出最佳实践
本文介绍如何在PAI平台针对Mixtral 8x7B大模型的微调和推理服务的最佳实践,助力AI开发者快速开箱。以下我们将分别展示具体使用步骤。
|
4月前
|
数据库 数据安全/隐私保护
在阿里云中,访问控制(Resource Access Management,简称RAM)是权限管理系统,主要用于控制账号在阿里云中
在阿里云中,访问控制(Resource Access Management,简称RAM)是权限管理系统,主要用于控制账号在阿里云中
522 3

热门文章

最新文章