0

想要达到

我想在 AWS Athena 中执行 SELECT 语句,但出现以下错误。
胶水目录准备好了,元信息准备好了,DDL就可以展示了。
如果您能告诉我如何使查询正常工作,我将不胜感激。

SELECT * FROM "table_name" limit 10;

↓</p>

Permission denied on S3 path: s3://backet_name/falder_name/db_name/table_name/parquet_name

错误信息

"errorCode":"AccessDenied",
"errorMessage":"User: arn:aws:sts::<Account_ID>:assumed-role/AWSServiceRoleForLakeFormationDataAccess/AWSLF-00-AT-<Account_ID>-OSSm3ywcAP is not authorized to perform: kms:Decrypt on resource: arn:aws:kms:ap-northeast-1:<Account_ID>:key/○○ because no resource-based policy allows the kms:Decrypt action"

环境

在 AWS RDS 上,快照被导出到 S3 并由 Glue 抓取以创建数据目录。此外,我们正在使用 AWS LakeFormation 来管理数据。

设置

AWServiceRoleForLakeFormationDataAccess

“AWServiceRoleForLakeFormationDataAccess”设置为爬虫的服务角色。
此角色允许的策略包括。
・AWSGlueServiceRole
・AmazonS3ReadOnlyAccess
・kms-decrypt-policy
・LakeFormationGetPolicy

kms-解密-策略

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": "kms:Decrypt",
            "Resource": "*"
        }
    ]
}

LakeFormationGetPolicy

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "lakeformation:GetResourceLFTags",
                "lakeformation:GetDataAccess",
                "lakeformation:ListLFTags",
                "lakeformation:GetLFTag"
            ],
            "Resource": "*"
        }
    ]
}

雅典娜执行用户(datalake_user)

附加政策
・AmazonAthenaFullAccess
・AmazonS3FullAccess
・KMSFullAccessPolicy

Lake Formation > 权限

メージ说明

LF-标签

メージ说明

AWS Lake Formation > 授予权限 > 授予数据权限

メージ说明

メージ说明

AWS Lake Formation > 数据库 > db_sample_for_athena

メージ说明

4

0 回答 0