本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
爬网程序先决条件
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 角色。