

# 将连接注册为 Glue Data Catalog
<a name="register-connection-as-gdc"></a>

创建数据来源后，您可以使用 Athena 控制台将该连接注册为 Glue Data Catalog。注册后，您可以使用 Lake Formation 来管理联合数据目录并启用精细访问控制。有关更多信息，请参阅 [Creating a federated catalog](https://docs.aws.amazon.com/lake-formation/latest/dg/create-fed-catalog-data-source.html)。

您可以注册以下连接器以便与 AWS Glue 集成，从而实现精细访问控制。
+ Redshift
+ BigQuery
+ DynamoDB（预览版）
+ Snowflake（预览版）
+ MySQL
+ PostgreSQL
+ AWS CMDB
+ Timestream
+ Azure Data Lake 存储
+ Azure Synapse
+ IBM Db2
+ IBM Db2 AS/400（Db2 iSeries）
+ DocumentDB
+ Google Cloud Storage
+ HBase
+ OpenSearch
+ Oracle
+ SAP HANA
+ SQL Server
+ TPC-DS
+ Cloudera Hive
+ CloudWatch
+ Cloudwatch Metrics
+ Teradata
+ Vertica

## 先决条件
<a name="register-connection-as-gdc-pre"></a>

在开始之前，您必须完成以下前提条件：
+ 确保您拥有注册相关位置所需的角色和权限。有关更多信息，请参阅《AWS Lake Formation 开发人员指南》中的 [Requirements for roles](https://docs.aws.amazon.com/lake-formation/latest/dg/registration-role.html)。
+ 确保您拥有所需的 Lake Formation 角色。有关更多信息，请参阅《AWS Lake Formation 开发人员指南》中的[将 Data Catalog 连接到外部数据来源的先决条件](https://docs.aws.amazon.com/lake-formation/latest/dg/federated-catalog-data-connection.html)。
+ 您在 Glue 中注册的角色必须具有以下示例中列出的权限。

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Effect": "Allow",
              "Action": [
                  "s3:ListBucket",
                  "s3:GetObject"
              ],
              "Resource": [
      "arn:aws:s3:::amzn-s3-demo-bucket/spill-prefix/*",
      "arn:aws:s3:::amzn-s3-demo-bucket/spill-prefix"
              ]
          },
          {
              "Sid": "lambdainvoke",
              "Effect": "Allow",
              "Action": "lambda:InvokeFunction",
              "Resource": "arn:aws:lambda:us-east-1:111122223333:function:lambda_function_name"
          },
          {
              "Sid": "gluepolicy",
              "Effect": "Allow",
              "Action": "glue:*",
              "Resource": [
              "arn:aws:glue:us-east-1:111122223333:connection/<connection_name>",
      "arn:aws:glue:us-east-1:111122223333:catalog"
              ]
          }
      ]
  }
  ```

------
+ 您负责确定和管理适当的数据访问权限。在为联合查询使用精细访问控制时，建议您使用 [AmazonAthenaFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonAthenaFullAccess.html) 托管式策略。如果要使用您自己的策略，则必须确保执行联合查询的用户无权访问以下资源。
  + 在 Glue 连接中指定的 Lambda 连接器上的 `lambda:InvokeFunction`
  + IAM 中的溢写存储桶位置访问权限
  + 与联合目录关联的 Glue 连接的访问权限
  + IAM 中的 Lake Formation 角色

## 使用控制台注册连接
<a name="register-connection-as-gdc-steps"></a>

**将连接注册为 Glue Data Catalog**

1. 从 [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/home) 打开 Athena 控制台。

1. 在导航窗格中，选择**数据来源和目录**。

1. 从**数据来源**列表中，选择您创建的数据来源以打开**数据来源详细信息**页面。

1. 选择 **Get started with AWS Lake Formation (Amazon SES 入门)**。
**注意**  
选择此选项后，您必须自行管理您的 Lambda 函数。Athena 将不会删除您的 Lambda 函数。

1. 对于**数据目录名称**，请为您的目录提供一个唯一的名称。

1. 选择向 Lake Formation 授予调用该 Lambda 函数的权限的 **Lake Formation IAM 角色**。确保该角色具有[示例](#register-connection-as-gdc-pre)中显示的权限。

1. 在文本框中，键入**确认**以删除 Athena 数据来源，并将其替换为 Glue Data Catalog 注册。
**注意**  
此操作将删除您的 Athena 数据来源，并创建一个新的 Glue Data Catalog 来代替该数据来源。完成此过程后，您可能需要更新访问该数据来源的查询，以改为引用新创建的 Glue Data Catalog。

1. 选择**创建目录并前往 Lake Formation**。这时将打开 Lake Formation 控制台，您可以在其中管理目录并向用户授予对目录、数据库和表的权限。