爬网程序先决条件 - AWS Glue

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

爬网程序先决条件

Crawler 使用您在定义角色时指定的 AWS Identity and Access Management (IAM) 角色的权限。此IAM角色必须具有从您的数据存储中提取数据并写入数据目录的权限。AWS Glue控制台仅列出已为AWS Glue委托人服务附加信任策略的IAM角色。您还可以通过控制台创建具有IAM策略的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 角色