

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

# 設定離線來源的 S3 存取許可
<a name="virtual-source-s3-permissions"></a>

當您建立離線來源資料提供者時，您會提供 IAM 角色 ARN (`S3AccessRoleArn`)，允許 DMS 結構描述轉換從 S3 儲存貯體讀取 DDL 指令碼。DMS 會擔任此角色，以存取您指定之 S3 路徑的檔案。

**設定離線來源的 S3 許可**

1. 使用允許 DMS 服務主體擔任的信任政策建立 IAM 角色。使用下列信任政策：

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "Service": "dms.amazonaws.com"
               },
               "Action": "sts:AssumeRole"
           }
       ]
   }
   ```

1. 將許可政策連接至授予 S3 儲存貯體讀取存取權的角色。角色需要以下許可：  
**必要的 S3 許可**    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/dms/latest/userguide/virtual-source-s3-permissions.html)
**注意**  
如果您的 S3 儲存貯體搭配 AWS KMS (SSE-KMS) 使用伺服器端加密，請將 KMS 金鑰的`kms:Decrypt`許可新增至 IAM 角色。如果您的儲存貯體使用預設 Amazon S3 受管加密 (SSE-S3) 或未加密，則不需要額外的許可。

   下列範例政策會將範圍限定為特定儲存貯體和字首的這些許可授予：

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

   將 {{amzn-s3-demo-bucket}} 和{{字首}}取代為您的儲存貯體名稱和 DDL 指令碼的路徑。

1. 當您建立離線來源資料提供者時，請提供角色 ARN 做為 `S3AccessRoleArn` 參數，並提供 DDL 指令碼的 S3 位置做為 `S3Path` 參數。

**注意**  
IAM 角色必須與 DMS 資源位於相同的 AWS 帳戶中。離線來源資料提供者不支援跨帳戶 S3 存取。