

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 爬蟲程式的先決條件
<a name="crawler-prereqs"></a>

爬蟲程式會擔任您在定義角色時指定的 AWS Identity and Access Management (IAM) 角色許可。這個 IAM 角色必須具有許可，來從您的資料存放區擷取資料，以及將資料寫入至 Data Catalog 。AWS Glue 主控台只會列出已經連接 AWS Glue 主要服務適用信任政策的 IAM 角色。從主控台，您也可以建立 IAM 角色與 IAM 政策，以存取爬蟲程式所存取的 Amazon S3 資料存放區。如需為 AWS Glue 提供角色的詳細資訊，請參閱 [Glue AWS 的身分型政策](security_iam_service-with-iam.md#security_iam_service-with-iam-id-based-policies)。

**注意**  
網路爬取 Delta Lake 資料儲存時，您必須擁有讀/寫 Amazon S3 位置的權限。

對於爬蟲程式，您可以建立角色並連接下列政策：
+ `AWSGlueServiceRole` AWS 受管政策，授予 Data Catalog 所需的許可
+ 授予資料來源許可的內嵌政策。
+ 授予角色 `iam:PassRole` 許可的內嵌政策。

更快的方法是讓 AWS Glue 主控台爬蟲程式精靈為您建立角色。其建立的角色專門用於爬蟲程式，並包含 `AWSGlueServiceRole` AWS 受管政策加上指定資料來源所需的內嵌政策。

如果您指定爬蟲程式的現有角色，請確定它包含 `AWSGlueServiceRole` 政策或同等政策 (或此政策的範圍縮減版本)，以及必要的內嵌政策。例如，對於 Amazon S3 資料存放區，內嵌政策至少需要如下：

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

****  

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

------

對於 Amazon DynamoDB 資料存放區，政策至少需要如下：

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "dynamodb:DescribeTable",
        "dynamodb:Scan"
      ],
      "Resource": [
        "arn:aws:dynamodb:us-east-1:111122223333:table/table-name*"
      ]
    }
  ]
}
```

------

此外，如果爬蟲程式讀取 AWS Key Management Service (AWS KMS) 加密的 Amazon S3 資料，則 IAM 角色必須具有 AWS KMS 金鑰的解密許可。如需詳細資訊，請參閱[步驟 2：為 AWS Glue 建立 IAM 角色](create-an-iam-role.md)。