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

Databricks连接S3 Bucket认证失败,请求技术协助

解决Databricks集群访问S3的AccessDenied问题及IAM角色配置步骤

一、给Databricks集群附加IAM角色的具体操作步骤

1. 配置AWS IAM角色权限与信任关系

  • 登录AWS IAM控制台,找到目标角色(若为CloudFormation部署,可查找栈创建的角色;也可新建角色)。
  • 为角色添加S3访问权限:创建自定义策略,包含目标桶的s3:ListBucket(列出桶内容)和s3:GetObject(读取对象)权限,策略示例:
    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "s3:ListBucket",
                    "s3:GetObject"
                ],
                "Resource": [
                    "arn:aws:s3:::hidden-bucket-name",
                    "arn:aws:s3:::hidden-bucket-name/*"
                ]
            }
        ]
    }
    
  • 检查角色信任关系,确保允许Databricks服务假设该角色,信任策略示例:
    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Effect": "Allow",
                "Principal": {
                    "Service": "databricks.amazonaws.com"
                },
                "Action": "sts:AssumeRole"
            }
        ]
    }
    

2. 在Databricks工作区关联IAM角色到集群

  • 登录Databricks工作区,进入计算页面,停止目标集群(若处于运行状态)。
  • 点击集群的编辑按钮,进入配置界面:
    • 若使用新版集群配置:在实例配置区域找到IAM角色下拉框,选择已配置的IAM角色。
    • 若角色未出现在下拉列表:进入Databricks账户控制台→云资源→IAM角色,添加该角色的ARN完成关联。
  • 保存配置后重新启动集群。

二、针对当前AccessDenied错误的额外排查点

从错误日志可见集群使用AnonymousAWSCredentials,说明未获取有效AWS凭证,除了角色配置问题,还需检查:

  • S3桶策略:确认未拒绝该IAM角色的访问请求,若桶启用SSE-KMS加密,需给角色添加对应KMS密钥的kms:Decrypt权限。
  • VPC网络配置:集群所在VPC需具备访问S3的权限,可通过配置S3 VPC端点,或确保安全组/网络ACL允许出站到S3服务。
  • Spark配置冲突:检查集群的Spark配置,确保未手动设置spark.hadoop.fs.s3a.access.key等硬编码密钥参数,避免覆盖IAM角色凭证。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 08:29:53