爬网程序先决条件 - Amazon Glue
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

爬网程序先决条件

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

注意

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

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

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

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

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

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

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject" ], "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*" ] } ] }

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