云上数据安全新范式:Apache Doris IAM Assume Role 解锁无密钥访问 AWS S3 数据

简介: 本文介绍了 Apache Doris 基于 AWS IAM Assume Role 的无密钥访问能力,解决传统 AK/SK 长期暴露、权限难控与审计困难等问题。通过临时令牌与最小权限机制,Doris 能安全访问 S3 并在 FE/BE 扩容时自动校验角色绑定,全面支持 Load、TVF、Export 等场景。

一、传统 AK/SK 方式访问 AWS 资源存在的问题

密钥管理困境:

  • 长期暴露风险:静态 AK/SK 需硬编码于配置文件中,一旦因代码泄露、误提交或恶意窃取导致密钥扩散,攻击者可永久获得等同于密钥所有者的完整权限,引发持续性的数据泄露、资源篡改及资金损失风险;
  • 审计盲区: 多用户/多服务共享同一组密钥时,云操作日志仅记录密钥身份而无法关联具体使用者,无法追溯真实责任人或业务模块;
  • 运维成本高:密钥轮换灾难,需手动轮换业务模块密钥,容易出错触发服务中断;
  • 权限管理失控:账户管理不清晰,授权无法满足服务/实例级的最小权限管控需求。

二、AWS IAM Assume Role 机制介绍

AWS Assume Role 是一种安全身份切换机制,允许一个可信实体(如 IAM 用户、EC2 实例或外部账号)通过 STS(安全令牌服务)临时获取目标角色的权限。其运作流程如下:

二、AWS IAM Assume Role 机制介绍.PNG

使用 AWS IAM Assume Role 方式访问的优点:

  • 动态令牌机制(15 分钟~12 小时有效期)替代永久密钥
  • 通过External ID实现跨账号安全隔离,并且可通过 AWS 后台服务进行审计
  • 基于角色的最小权限原则(Principle of Least Privilege)

AWS IAM Assume Role 访问 S3 Bucket 的鉴权过程:

二、AWS IAM Assume Role 机制介绍-1.PNG

阶段 1:源用户身份验证

  1. 权限策略检查
    1. 源用户发起 AssumeRole 请求时,源账户的 IAM 策略引擎首先验证: 该用户是否被授权调用 sts:AssumeRole 操作?
    2. 检查依据:附着在源用户身份上的 IAM Permissions Policies
  2. 信任关系校验
    1. 通过 STS 服务向目标账户发起请求: 源用户是否在目标角色的信任策略白名单中?
    2. 检查依据:目标角色绑定的 IAM Trust Relationships Policies(明确允许哪些账号/用户担任该角色)

阶段 2:目标角色权限激活

  1. 临时凭证生成
    1. 若信任关系验证通过,STS 生成三要素临时凭证
    2. {
        "AccessKeyId": "ASIA***",  
        "SecretAccessKey": "***",  
        "SessionToken": "***" // 有效期 15min-12h
      }
      
  2. 目标角色权限验证
    1. 目标角色使用临时凭证访问 AWS S3 前,目标账户的 IAM 策略引擎校验: 该角色是否被授权执行请求的S3操作? (如s3:GetObject、s3:PutObject等)
    2. 检查依据:附着在目标角色上的 IAM Permissions Policies(定义角色能做什么)

阶段 3:资源操作执行

  1. 访问存储桶
    1. 全部验证通过后,目标角色才可执行 S3 API 操作。

三、Apache Doris 如何应用 AWS IAM Assume Role 鉴权机制

  1. Doris 通过将 FE、BE 进程所部署的 AWS EC2 Instances 绑定到 Source Account 来使用 AWS IAM Assume Role 的功能,主要的流程如下图所示,具体的配置可参照官网文档和视频

三、Apache Doris 如何应用 AWS IAM Assume Role ​鉴权机制.PNG

  1. 完成配置后 Doris FE/BE 进程会自动获 EC2 Instance 的 Profile 进行执行 Assume Role 操作访问 Bucket 操作,扩容时 BE 节点会自动检测新的 EC2 Instance 是否成功绑定 IAM Role,防止出现漏配的情况;

  2. Doris 的 S3 Load、TVF、Export、Resource、Repository、Storage Vault 等功能在 3.0.6 版本之后均支持了 AWS Assume Role 的方式使用,并且在创建时会进行连通性检测,S3 Load SQL 举例如下:

  LOAD LABEL s3_load_demo_202508
  (
      DATA INFILE("s3://your_bucket_name/s3load_example.csv")
      INTO TABLE test_s3load
      COLUMNS TERMINATED BY ","
      FORMAT AS "CSV"
      (user_id, name, age)
  )
  WITH S3
  (
      "provider" = "S3",
      "s3.endpoint" = "s3.us-east-1.amazonaws.com",
      "s3.region" = "us-east-1",
      "s3.role_arn" = "arn:aws:iam::543815668950:role/test-role1",
      "s3.external_id" = "1001"      -- 可选参数
  )
  PROPERTIES
  (
      "timeout" = "3600"
  );

其中 "s3.role_arn" 对应填入 AWS IAM Account2 下的 Iam role2 的 arn 值,"s3.external_id"对应填入 Trust Relationships Policies 中配置的 externalId 的值(可选配置)。

更多功能 SQL 语句详细参考: Doris 官网文档

  1. Doris 当前仅支持了 AWS IAM Assume Role 的机制,未来会逐步实现其他云厂商的类似鉴权机制。

Reference

目录
相关文章
|
5月前
|
存储 人工智能 Cloud Native
上市大模型企业数据基础设施的选择:MiniMax 基于阿里云 SelectDB 版,打造全球统一AI可观测中台
MiniMax 作为上市大模型企业,基于阿里云 SelectDB 打造 AI 可观测中台,实现“一个平台,全球覆盖”。这一成功实践足以表明:SelectDB 能够很好满足 AI 时代海量数据实时处理与分析的需求,为同样需求的 AI 大模型企业提供了一个高性能、低成本的可靠技术解决方案。
482 5
上市大模型企业数据基础设施的选择:MiniMax 基于阿里云 SelectDB 版,打造全球统一AI可观测中台
|
3月前
|
SQL 人工智能 安全
我们用 AI Observe Stack 观测了 OpenClaw,发现 AI Agent 背后的这些隐患
本文基于 AI Observe Stack 构建的 OpenClaw 可观测系统是使用 AI 在一天内完成的。用户也可以用阿里云 SelectDB 云服务或者开源 Apache Doris 在几分钟内快速搭建起来亲身体验
1423 5
我们用 AI Observe Stack 观测了 OpenClaw,发现 AI Agent 背后的这些隐患
|
4月前
|
人工智能 缓存 关系型数据库
Apache Doris 4.0.3 版本正式发布
亲爱的社区小伙伴们,**Apache Doris 4.0.3 版本已正式发布。**此版本新增了在 AI & Search、湖仓一体、查询引擎等方面的能力,并同步进行了多项优化改进及问题修复,欢迎下载体验!
346 8
|
4月前
|
存储 SQL 缓存
快手:从分散存储到统一分析,Apache Doris 在万亿规模广告场景的应用
面对日增 3 亿行、万亿规模存量广告数据,快手广告数据平台如何突破性能瓶颈、实现架构统一与体验跃升? 快手引入 Apache Doris 替换 ClickHouse、Elasticsearch,从分散存储到统一分析,实现查询性能提升 20~90%,单表写入吞吐 300 万行/秒,存储效率提升 60%!
603 1
快手:从分散存储到统一分析,Apache Doris 在万亿规模广告场景的应用
|
5月前
|
SQL 存储 运维
从 Greenplum 到 Doris:集群缩减 2/3、年省数百万,度小满构建超大规模数据分析平台经验
面对日益增长的业务体量与复杂多变的分析需求,选用一个高效、可靠的数据库系统,已成为支撑业务稳健发展与快速创新的关键。Apache Doris 以其出色的性能表现与高度灵活的架构,成为众多场景下的优选方案,详情阅读原文。
315 1
从 Greenplum 到 Doris:集群缩减 2/3、年省数百万,度小满构建超大规模数据分析平台经验
|
6月前
|
存储 SQL Java
Doris Catalog 已上线!性能提升 200x ,全面优于 JDBC Catalog,跨集群查询迈入高性能分析时代
Apache Doris 4.0.2 版本推出重磅特性:Doris Catalog。该功能专为跨 Doris 集群联邦分析设计,支持通过 Arrow Flight 和虚拟集群两种模式,进行更高效、更贴合原生优化的跨集群查询。
366 9
Doris Catalog 已上线!性能提升 200x ,全面优于 JDBC Catalog,跨集群查询迈入高性能分析时代
|
6月前
|
人工智能 测试技术 Apache
面向 Agent 的高并发分析:Doris vs. Snowflake vs. ClickHouse
智能体能够独立推理、实时分析数据,甚至主动触发行动。这意味着分析模式正从被动报告转向主动决策,处理模式也从以查询为中心转向以语义和响应为中心。 这一转变对数据基础设施提出巨大挑战:工作负载已从“少量用户、繁重查询、慢容忍度”转变为“海量用户(智能体)、轻量级/迭代查询、零延迟容忍度”。如果数据库系统无法满足高并发低延迟的查询需求,那么其上构建的 AI 智能体就会变得缓慢、笨拙,尤其是在一些信息检索的领域产生幻觉,给人误导性的结果。 因此,面向智能体的高并发和低延迟处理能力,已不再是可选项,而是决定数据仓库能否支撑 AI 时代的生存基石。
263 1
面向 Agent 的高并发分析:Doris  vs. Snowflake vs. ClickHouse
|
6月前
|
存储 SQL 运维
Apache Doris 在小米统一 OLAP 和湖仓一体的实践
小米早在 2019 年便引入 Apache Doris 作为 OLAP 分析型数据库之一,经过五年的技术沉淀,已形成以 Doris 为核心的分析体系,并基于 2.1 版本异步物化视图、3.0 版本湖仓一体与存算分离等核心能力优化数据架构。本文将详细介绍小米数据中台基于 Apache Doris 3.0 的查询链路优化、性能提升、资源管理、自动化运维、可观测等一系列应用实践。
342 1
Apache Doris 在小米统一 OLAP 和湖仓一体的实践
|
6月前
|
SQL 人工智能 Apache
Apache Doris 4.0.2 版本正式发布
亲爱的社区小伙伴们,Apache Doris 4.0.2 版本已正式发布。此版本新增了在 AI & Search、函数、物化视图、Lakehouse 等方面的功能,并同步进行了多项优化改进及问题修复,欢迎下载体验!
424 9