允许访问适用于外部配置 Hive 元存储的 Athena 数据连接器
本主题中的权限策略示例演示了需要允许的操作以及允许执行这些操作的资源。在将类似的权限策略附加到 IAM 身份之前,请仔细检查这些策略并根据您的需求修改它们。
例 – 允许 IAM 委托人使用适用于外部 Hive 元存储的 Athena 数据连接器查询数据
除了对 Athena 操作授予完全访问权限的 AWS 托管策略:AmazonAthenaFullAccess 之外,还将以下策略附加到 IAM 委托人。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor1", "Effect": "Allow", "Action": [ "lambda:GetFunction", "lambda:GetLayerVersion", "lambda:InvokeFunction" ], "Resource": [ "arn:aws:lambda:*:
111122223333
:function:MyAthenaLambdaFunction
", "arn:aws:lambda:*:111122223333
:function:AnotherAthenaLambdaFunction
", "arn:aws:lambda:*:111122223333
:layer:MyAthenaLambdaLayer
:*" ] }, { "Sid": "VisualEditor2", "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket", "s3:PutObject", "s3:ListMultipartUploadParts", "s3:AbortMultipartUpload" ], "Resource": "arn:aws:s3:::MyLambdaSpillBucket
/MyLambdaSpillLocation
" } ] }
允许的操作 | 说明 |
---|---|
|
|
|
允许查询调用 Resource 块中指定的 AWS Lambda 函数。例如 arn:aws:lambda:*: ,其中 MyAthenaLambdaFunction 指定要调用的 Lambda 函数的名称。如示例中所示,可以指定多个函数。 |
例 – 允许 IAM 委托人创建适用于外部 Hive 元存储的 Athena 数据连接器
除了对 Athena 操作授予完全访问权限的 AWS 托管策略:AmazonAthenaFullAccess 之外,还将以下策略附加到 IAM 委托人。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "lambda:GetFunction", "lambda:ListFunctions", "lambda:GetLayerVersion", "lambda:InvokeFunction", "lambda:CreateFunction", "lambda:DeleteFunction", "lambda:PublishLayerVersion", "lambda:DeleteLayerVersion", "lambda:UpdateFunctionConfiguration", "lambda:PutFunctionConcurrency", "lambda:DeleteFunctionConcurrency" ], "Resource": "arn:aws:lambda:*:
111122223333
: function:MyAthenaLambdaFunctionsPrefix
*" } ] }
权限说明
允许查询为 Resource
块中指定的 AWS Lambda 函数调用 AWS Lambda 函数。例如 arn:aws:lambda:*:
,其中 MyAWSAcctId
:function:MyAthenaLambdaFunction
MyAthenaLambdaFunction
指定要调用的 Lambda 函数的名称。如示例中所示,可以指定多个函数。