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

从Glue数据目录读取Iceberg时遇S3权限拒绝错误求助

解决AWS Glue Data Catalog读取数据时的S3 Access Denied异常
  • 检查S3桶的桶策略:有时候IAM权限配置正确,但桶策略设置了拒绝访问规则。比如桶策略里没有允许Glue角色或当前用户的访问,或者存在优先级更高的Deny语句。需要确认桶策略中是否包含允许相关身份执行s3:GetObject、s3:ListBucket等操作的规则,同时排查是否有冲突的Deny配置。示例允许Glue角色访问的桶策略片段:

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Principal": {
            "AWS": "arn:aws:iam::你的账户ID:role/你的Glue角色名"
          },
          "Action": [
            "s3:GetObject",
            "s3:ListBucket"
          ],
          "Resource": [
            "arn:aws:s3:::你的桶名",
            "arn:aws:s3:::你的桶名/*"
          ]
        }
      ]
    }
    
  • 验证Glue Data Catalog表定义:确保表的存储位置(S3路径)拼写正确且实际存在,路径错误会直接导致权限报错。另外检查表的分区数据路径是否配置正确,分区对应的S3路径也需要相应访问权限。

  • 检查KMS加密配置:如果S3桶或对象启用了KMS加密,除S3权限外,Glue角色还需拥有kms:Decrypt权限。确认KMS密钥的密钥策略是否允许该Glue角色执行解密操作,缺失这个权限同样会触发Access Denied。

  • 排查临时凭证问题:如果使用临时凭证(比如角色切换生成的凭证),检查凭证是否过期,或者权限范围是否覆盖了目标S3路径。部分临时权限的访问范围可能比预期更窄。

  • 确认VPC端点配置(Glue在VPC内运行时):若Glue作业部署在VPC中,必须配置S3的VPC端点,且端点策略允许访问目标桶。同时VPC的安全组和网络ACL要开放Glue与S3端点的通信端口。

  • 处理跨账户访问问题:若S3桶属于其他AWS账户,除本地IAM权限外,对方账户的桶策略必须允许你的Glue角色访问;如果启用了KMS加密,对方的KMS密钥策略也需要添加跨账户授权规则。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 04:32:10