我试图通过PHP代码在中运行查询:
$client = Aws\Athena\AthenaClient::factory(array(
'version' => 'latest',
'region' => 'us-east-1',
'credentials' => array(
'key' => '<KEY>',
'secret' => '<SECRET>'
)
));
$result1 = $client->StartQueryExecution(array(
'QueryExecutionContext' => array('Database' => 'default'),
'QueryString' => "select * from logs where date between TIMESTAMP '2020-02-27 00:00:00' and TIMESTAMP '2020-02-27 23:59:59' limit 100",
'ResultConfiguration' => array(
'EncryptionConfiguration' => array('EncryptionOption'=> 'SSE_S3'),
'OutputLocation' => 's3://bucket_name/temp'
)
));并得到了以下错误:
打开蜂巢错误s3:///data-mining/logs/2019/07/12/07/Log-6-2019-07-12-07-35-01-a1c6d0a9-27e5-458b-b72a-8942a6d2b261.parquet (offset=0,length=756977):com.amazonaws.services.s3.model.AmazonS3Exception:访问被拒绝(服务:亚马逊S3;状态代码: 403;错误代码: AccessDenied;请求ID: 4A00D465F919D8AB;S3扩展请求ID:.),S3扩展请求ID:.(路径: s3:///data-mining/logs/2019/07/12/07/Log-6-2019-07-12-07-35-01-a1c6d0a9-27e5-458b-b72a-8942a6d2b261.parquet
我可以证实这些:
来自雅典娜控制台的相同查询(与根用户一起)可以在没有问题的情况下运行AmazonS3FullAccess
AmazonAthenaFullAccess和
发布于 2020-04-30 13:06:01
确保您使用的是与执行查询的用户关联的IAM策略,该策略允许对与拼花文件关联的KMS键进行操作。尽管存储桶可能使用SSE_S3,但文件可能已经用KMS加密了。
这样的政策:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"kms:Decrypt",
"kms:DescribeKey",
"kms:GenerateDataKey"
],
"Resource": [
"arn:aws:kms:"region":"account":key/"keyid"
]
}
]
}https://stackoverflow.com/questions/60437291
复制相似问题