爬网程序先决条件 - AWS Glue

爬网程序先决条件

爬网程序代入您在定义它时指定的 AWS Identity and Access Management(IAM)角色的权限。此 IAM 角色必须有权从您的数据存储中提取数据并将其写入数据目录。AWS Glue 控制台仅列出已为 AWS Glue 委托人服务附加信任策略的 IAM 角色。从控制台中,您还可以创建具有 IAM policy 的 IAM 角色,该策略允许访问爬网程序所访问的 Amazon S3 数据存储。有关为 AWS Glue 提供角色的更多信息,请参阅适用于 AWS Glue 的基于身份的策略

注意

在爬取 Delta Lake 数据存储时,您必须拥有该 Amazon S3 位置的读/写权限。

对于您的爬网程序,您可以创建一个角色并附加以下策略:

  • AWSGlueServiceRole AWS 托管策略,授予对数据目录所需的权限

  • 授予数据源权限的内联策略。

  • 对角色授予 iam:PassRole 权限的内联策略。

一种更快的方法是让 AWS Glue 控制台爬网程序向导为您创建一个角色。它创建的角色专用于爬网程序,包括 AWSGlueServiceRole AWS 托管策略以及指定数据源所需的内联策略。

如果您为爬网程序指定现有角色,请确保它包含 AWSGlueServiceRole 策略或等效策略(或此策略的范围缩小版本),以及所需的内联策略。例如,对于 Amazon S3 数据存储,内联策略至少为以下内容:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::bucket/object*" ] } ] }

对于 Amazon DynamoDB 数据存储,策略至少为以下内容:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "dynamodb:DescribeTable", "dynamodb:Scan" ], "Resource": [ "arn:aws:dynamodb:region:account-id:table/table-name*" ] } ] }

此外,如果爬网程序读取 AWS Key Management Service(AWS KMS)加密的 Amazon S3 数据,则 IAM 角色必须具有 AWS KMS 密钥的解密权限。有关更多信息,请参阅 步骤 2:为 AWS Glue 创建 IAM 角色