允许访问 Athena Data Connector for External Hive Metastore (Preview) - Amazon Athena
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

如果我们为英文版本指南提供翻译,那么如果存在任何冲突,将以英文版本指南为准。在提供翻译时使用机器翻译。

允许访问 Athena Data Connector for External Hive Metastore (Preview)

本主题中的权限策略示例演示了需要允许的操作以及允许执行这些操作的资源。在将类似的权限策略附加到 IAM 身份之前,请仔细检查这些策略并根据您的需求修改它们。

– 允许 IAM 主要用于查询数据 Athena Data Connector for External Hive Metastore (Preview)

除了对 Athena 操作授予完全访问权限的 AmazonAthenaFullAccess 托管策略 之外,还将以下策略附加到 IAM 委托人。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor1", "Effect": "Allow", "Action": [ "lambda:GetFunction", "lambda:GetLayerVersion", "lambda:InvokeFunction" ], "Resource": [ "arn:aws:lambda:*:MyAWSAcctId:function:MyAthenaLambdaFunction", "arn:aws:lambda:*:MyAWSAcctId:function:AnotherAthenaLambdaFunction", "arn:aws:lambda:*:MyAWSAcctId: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" } ] }
权限说明
允许的操作 说明
"s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket", "s3:PutObject", "s3:ListMultipartUploadParts", "s3:AbortMultipartUpload"

s3 操作允许读取和写入指定为 "arn:aws:s3:::MyLambdaSpillBucket/MyLambdaSpillLocation",其中 MyLambdaSpillLocation 标识在配置 Lambda 调用函数或函数。该 。arn:aws:lambda:*:MyAWSAcctId:layer:MyAthenaLambdaLayer:* 只有当您使用 Lambda 层可创建自定义运行时依赖关系,以减少部署时的函数工件大小。最后一个位置的 * 是图层版本的通配符。

"lambda:GetFunction", "lambda:GetLayerVersion", "lambda:InvokeFunction"
允许查询调用 Resource 块中指定的 AWS Lambda 函数。例如, arn:aws:lambda:*:MyAWSAcctId:function:MyAthenaLambdaFunction,其中 MyAthenaLambdaFunction 指定名称 Lambda 要调用的函数。如示例中所示,可以指定多个函数。

– 允许 IAM 负责人 Athena Data Connector for External Hive Metastore (Preview)

除了对 Athena 操作授予完全访问权限的 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:*:MyAWSAcctId: function: MyAthenaLambdaFunctionsPrefix*" } ] }

权限说明

允许查询为 Resource 块中指定的 AWS Lambda 函数调用 AWS Lambda 函数。例如, arn:aws:lambda:*:MyAWSAcctId:function:MyAthenaLambdaFunction,其中 MyAthenaLambdaFunction 指定名称 Lambda 要调用的函数。如示例中所示,可以指定多个函数。