允许访问 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 函数的配置中指定的溢出存储桶。仅当您使用 Lambda 层创建自定义运行时依赖项以减少函数构件的部署大小时,才需要 arn:aws:lambda:*:MyAWSAcctId:layer:MyAthenaLambdaLayer:* 资源标识符。最后一个位置的 * 是图层版本的通配符。

"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 函数的名称。如示例中所示,可以指定多个函数。