将连接注册为 Glue 数据目录
创建数据来源后,您可以使用 Athena 控制台将该连接注册为 Glue 数据目录。注册后,您可以使用 Lake Formation 来管理联合数据目录并启用精细访问控制。有关更多信息,请参阅 Creating a federated catalog。
您可以注册以下连接器以便与 Amazon Glue 集成,从而实现精细访问控制。
Redshift
BigQuery
DynamoDB(预览版)
Snowflake(预览版)
MySQL
PostgreSQL
Amazon CMDB
-
Timestream
先决条件
在开始之前,您必须完成以下前提条件:
确保您拥有注册相关位置所需的角色和权限。有关更多信息,请参阅《Amazon Lake Formation 开发人员指南》中的 Requirements for roles。
-
确保您拥有所需的 Lake Formation 角色。有关更多信息,请参阅《Amazon Lake Formation 开发人员指南》中的 Prerequisites for connecting the Data Catalog to external data sources。
-
您在 Glue 中注册的角色必须具有以下示例中列出的权限。
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetObject" ], "Resource": [ "s3://
amzn-s3-demo-bucket
/<Your_Spill_Prefix>
/*", "s3://amzn-s3-demo-bucket
/<Your_Spill_Prefix>
" ] }, { "Sid": "lambdainvoke", "Effect": "Allow", "Action": "lambda:InvokeFunction", "Resource": "<Lambda_function_arn>
" }, { "Sid": "gluepolicy", "Effect": "Allow", "Action": "glue:*", "Resource": [ "arn:aws:glue:<region>
:<account_id>
:connection/<connection_name>
", "arn:aws:glue:<region>
:<account_id>
:catalog" ] } ] } 您负责确定和管理适当的数据访问权限。在为联合查询使用精细访问控制时,建议您使用 AmazonAthenaFullAccess 托管式策略。如果要使用您自己的策略,则必须确保执行联合查询的用户无权访问以下资源。
-
在 Glue 连接中指定的 Lambda 连接器上的
lambda:InvokeFunction
-
IAM 中的溢写存储桶位置访问权限
-
与联合目录关联的 Glue 连接的访问权限
-
IAM 中的 Lake Formation 角色
-
使用控制台注册连接
将连接注册为 Glue 数据目录
从 https://console.aws.amazon.com/athena/
打开 Athena 控制台。 -
在导航窗格中,选择数据来源和目录。
-
从数据来源列表中,选择您创建的数据来源以打开数据来源详细信息页面。
-
选择 Get started with Amazon Lake Formation (Amazon SES 入门)。
注意
选择此选项后,您必须自行管理您的 Lambda 函数。Athena 将不会删除您的 Lambda 函数。
-
对于数据目录名称,请为您的目录提供一个唯一的名称。
-
选择向 Lake Formation 授予调用该 Lambda 函数的权限的 Lake Formation IAM 角色。确保该角色具有示例中显示的权限。
-
在文本框中,键入确认以删除 Athena 数据来源,并将其替换为 Glue 数据目录注册。
注意
此操作将删除您的 Athena 数据来源,并创建一个新的 Glue 数据目录来代替该数据来源。完成此过程后,您可能需要更新访问该数据来源的查询,以改为引用新创建的 Glue 数据目录。
-
选择创建目录并前往 Lake Formation。这时将打开 Lake Formation 控制台,您可以在其中管理目录并向用户授予对目录、数据库和表的权限。