在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 Antwort
0

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

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

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

profile picture
EXPERTE
beantwortet vor 2 Jahren

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen