Databricks AWS 帐户设置 - AWS 存储出错 - 缺少权限:PUT、LIST、DELETE

问题描述

我在 AWS 上创建了一个 PREMIUM trail Databricks 账户。我已使用用户访问密钥设置 AWS account

并按照 URL 中的以下说明配置 AWS storage(在下面的 URL 中设置存储桶策略)。

{
    "Version": "2012-10-17","Statement": [
        {
            "Sid": "Grant Databricks Access","Effect": "Allow","Principal": {
                "AWS": "arn:aws:iam::98765432101:root"
            },"Action": [
                "s3:Getobject","s3:GetobjectVersion","s3:PutObject","s3:DeleteObject","s3:ListBucket","s3:GetBucketLocation"
            ],"Resource": [
                "arn:aws:s3:::my-databricks-user-bucket/*","arn:aws:s3:::my-databricks-user-bucket"
            ]
        }
    ]
}

https://docs.databricks.com/administration-guide/account-settings/aws-storage.html

但是,我收到如下错误

提供的 S3 存储桶有效,但权限不足 启动 Databricks 部署。请仔细检查您的设置 根据教程。缺少权限:PUT、LIST、DELETE

在我使用的上述存储桶策略中,有 PUTLISTDELETE 策略。仍然面临上述错误

注意:作为跟踪和错误,将 Action 更改为如下允许所有操作。但是,仍然得到同样的错误

"Action": "*"

解决方法

上述错误是我在AWS上设置Databricks账户时犯的错误造成的。

作为在 Databricks 中设置 AWS account 详细信息的一部分,应创建 cross-account-role(替代方法是通过访问密钥)。创建角色时,应提供 AWS 帐户 ID(Databricks AWS 帐户 ID)。其值为 414351767826

我犯的错误是我给了我的 AWS 账户 ID 而不是 Databricks。遵循以下 URL 中的内容将按预期工作。

我在设置 AWS storage 时遇到的同样问题。按照原样遵循文档将完美运行。

https://docs.databricks.com/administration-guide/account-settings/aws-accounts.html

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...