在S3中使用Glue Crawler,返回403错误("ciphertext refers to a CMK that doesn't exist." (using SSE-S3, not KMS))

0

【以下的问题经过翻译处理】 当我在一个S3存储桶上运行Glue Crawler时,出现以下错误:

ERROR : Not all read errors will be logged. com.amazonaws.services.s3.model.AmazonS3Exception: The ciphertext refers to a customer master key that does not exist, does not exist in this region, or you are not allowed to access. (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied;

)

S3存储桶启用默认的“Amazon S3-managed keys (SSE-S3)”加密,而不是来自KMS的CMK。

Glue Crawler拥有由IAM创建的角色:AWSGlueServiceRole,以及托管策略:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::<bucket-name>/*"
            ]
        }
    ]
}

之前也遇到过403错误,通过向特定桶添加GetObject权限解决了问题,这次我也已经添加了。

我没有使用VPC端点,这是这篇AWS帮助文章中列出的可能问题之一。而且我没有打开Requester Pays。 它都在同一个AWS帐户中。 默认的私有桶设置已经检查,没有桶策略。

1 回答
0

【以下的回答经过翻译处理】 尽管存储桶设置为使用Amazon S3-managed keys (SSE-S3),但由于存储桶中的对象使用了特定的KMS密钥进行加密,仍然会显示错误信息。

从HealthLake导出到S3时,它提示我创建或提供一个KMS密钥来加密输出数据,因此覆盖了存储桶范围的加密设置。

一旦更新了KMS密钥策略以允许Glue Crawler的角色,并且使用单区域而不是多区域KMS密钥,错误就消失了。

profile picture
专家
已回答 2 年前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则

相关内容