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

使用CloudFormation创建Glue/Athena表时遇跨账号权限错误求助

CloudFormation创建Glue/Athena表报跨账号访问错误的解决方案

我在使用子AWS账号通过CloudFormation创建Glue/Athena表时,收到错误提示:

Cross account access is not supported for account that hasn't imported Athena catalog to Glue. Please refer to documentation: https://docs.aws.amazon.com/athena/latest/ug/glue-upgrade.html (Service: AWSGlue; Status Code: 400; Error Code: AccessDeniedException; Request ID: ; Proxy: null)

已确认账号已完成Athena到Glue数据目录的升级(控制台无Upgrade选项),子账号配置了glue:*、athena:*、s3:*全权限,通过CLI能正常执行列表Glue目录、查询表、创建表等操作,但CloudFormation始终报错。以下是可行的排查和解决步骤:

  • 检查CloudFormation执行角色权限
    若CloudFormation使用了自定义执行角色,需确保该角色拥有glue:CreateTable、glue:GetDatabase等必要权限,同时角色的信任策略允许当前子账号扮演该角色。

  • 确认模板资源归属
    检查CloudFormation模板中是否误引用了其他账号的资源(如S3桶、数据库),即使是同账号资源,也要核对ARN或名称拼写,避免系统误判为跨账号访问。

  • 显式指定Glue数据目录ID
    在模板的Glue表资源中添加CatalogId属性,明确指定当前账号ID,避免系统默认识别错误:

    Resources:
      TargetGlueTable:
        Type: AWS::Glue::Table
        Properties:
          CatalogId: !Ref AWS::AccountId
          DatabaseName: your-target-db
          TableInput:
            Name: your-table-name
            # 其他表结构、存储配置
    
  • 验证Athena数据目录配置
    通过CLI确认当前账号的Athena数据目录类型:

    aws athena get-data-catalog --name AwsDataCatalog
    

    确保返回结果中Type字段为GLUE,且Parameters内的catalogId与当前账号ID一致。

  • 排查S3资源权限(若涉及)
    如果表数据存储在S3桶中,需确保CloudFormation执行角色拥有该桶的访问权限,避免因S3权限问题间接触发跨账号错误提示。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 13:45:31