You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

跨账户配置下AWS Athena访问S3失败:KMS密钥未找到

问题描述

我正尝试在账户B(QA)中配置AWS Athena,以查询账户A(Beta)中的数据集。已完成以下配置:

  • 更新账户A的S3桶策略,强制启用安全传输并允许特定IAM主体访问
  • 更新账户B的IAM策略,赋予Athena、Glue和S3访问权限

但在账户B中查询账户A的数据集时,出现以下错误:

An error has been thrown from the AWS Athena client. com.amazonaws.services.s3.model.AmazonS3Exception: Key 'arn:aws:kms:us-east-2:XXXXXXXXXXXX:key/XXXXXXXXXXXXX' does not exist (Service: Amazon S3; Status Code: 400; Error Code: KMS.NotFoundException; Request ID: XXXXXXXXXX; S3 Extended Request ID: XXXXXXXXX=; Proxy: null), S3 Extended Request ID: XXXXXXXXX

经排查,错误引用的KMS密钥存在于第三方AWS账户(Sandbox)中,推测跨账户KMS访问配置有误。已检查以下内容:

  1. 账户B的IAM角色策略包含S3、Glue和Athena权限
  2. 账户A的S3桶策略已正确强制安全传输并授予必要IAM主体访问权限
  3. 涉事KMS密钥位于Sandbox账户,可能缺失跨账户访问配置

疑问:
如何配置跨账户KMS访问,使账户B的Athena能读取由该KMS密钥加密的账户A的S3数据?更新Sandbox的KMS密钥策略允许QA账户IAM角色解密是否可行?还有其他需检查的设置吗?

解决方案

一、更新Sandbox账户的KMS密钥策略是可行的核心操作

要让账户B的Athena解密Sandbox账户KMS密钥加密的数据,必须在Sandbox账户的目标KMS密钥策略中,添加允许账户B的Athena执行角色执行kms:Decrypt操作的权限。示例配置如下:

{
  "Version": "2012-10-17",
  "Statement": [
    // 保留原有密钥策略的其他语句
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::账户B-ID:role/你的Athena执行角色ARN"
      },
      "Action": "kms:Decrypt",
      "Resource": "*"
    }
  ]
}

注意:务必指定账户B中Athena实际使用的IAM角色ARN,而非普通用户ARN。

二、额外需要检查的关键设置

  • 账户B的IAM角色需补充KMS解密权限
    除已配置的S3、Glue、Athena权限外,账户B的IAM角色策略必须显式允许对Sandbox账户目标KMS密钥的kms:Decrypt操作,示例策略片段:

    {
      "Effect": "Allow",
      "Action": "kms:Decrypt",
      "Resource": "arn:aws:kms:us-east-2:Sandbox账户ID:key/目标密钥ID"
    }
    

    这是双向权限要求:KMS密钥允许角色访问,角色也必须被授权调用该密钥的解密操作。

  • 验证S3对象的加密密钥一致性
    检查账户A的S3对象确实使用Sandbox账户的目标KMS密钥加密,确保密钥ARN与错误信息中引用的完全一致,避免因密钥ARN写错导致的KMS.NotFoundException。

  • 确认Athena工作组的角色关联
    如果使用了Athena工作组,需确保工作组绑定的执行角色是你配置了完整权限的IAM角色,避免因角色不匹配导致权限缺失。

  • 跨账户Glue元数据权限(若涉及)
    如果查询依赖账户A的Glue数据目录,需同时确保:账户B的IAM角色被允许访问该目录,且账户A的Glue资源策略已授予账户B对应的访问权限。

内容的提问来源于stack exchange,提问作者jipot

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 14:52:18