

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

# 設定對 Amazon S3 儲存貯體的存取權
<a name="export-cluster-data.Setup"></a>

您識別 Amazon S3 儲存貯體，然後許可資料庫叢集匯出任務存取該儲存貯體。

**Topics**
+ [識別要匯出的 Amazon S3 儲存貯體](#export-cluster-data.SetupBucket)
+ [使用 IAM 角色提供對 Amazon S3 儲存貯體的存取權](#export-cluster-data.SetupIAMRole)
+ [使用跨帳戶 Amazon S3 儲存貯體](#export-cluster-data.Setup.XAcctBucket)

## 識別要匯出的 Amazon S3 儲存貯體
<a name="export-cluster-data.SetupBucket"></a>

識別要將資料庫叢集資料匯出至其中的目標 Amazon S3 儲存貯體。使用現有的 S3 儲存貯體或建立新的 S3 儲存貯體。

**注意**  
S3 儲存貯體必須與資料庫叢集位於相同的 AWS 區域。

如需使用 Amazon S3 儲存貯體的詳細資訊，請參閱《*Amazon Simple Storage Service 使用者指南*》中的下列內容：
+ [ 如何檢視 S3 儲存貯體的屬性？](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/view-bucket-properties.html)
+ [ 如何啟用 Amazon S3 儲存貯體的預設加密？](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/default-bucket-encryption.html)
+ [ 如何建立 S3 儲存貯體？](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/create-bucket.html)

## 使用 IAM 角色提供對 Amazon S3 儲存貯體的存取權
<a name="export-cluster-data.SetupIAMRole"></a>

在您將資料庫叢集資料匯出至 Amazon S3 前，請給與匯出任務對 Amazon S3 儲存貯體的寫入存取許可。

若要授予此許可，請建立 IAM 政策，提供儲存貯體的存取權，然後建立 IAM 角色並將該政策附加至其中。稍後，您可以將 IAM 角色指派給資料庫叢集匯出任務。

**重要**  
如果您打算使用 AWS 管理主控台 匯出資料庫叢集，您可以選擇在匯出資料庫叢集時自動建立 IAM 政策和角色。如需說明，請參閱[建立資料庫叢集匯出任務](export-cluster-data.Exporting.md)。

**給與任務 Amazon S3 的存取權**

1. 建立 IAM 政策。此政策會提供儲存貯體和物件許可，允許您的資料庫叢集匯出任務存取 Amazon S3。

   在政策中，包含下列必要動作，以允許將檔案從 Amazon Aurora 傳輸至 S3 儲存貯體：
   + `s3:PutObject*`
   + `s3:GetObject*` 
   + `s3:ListBucket` 
   + `s3:DeleteObject*`
   +  `s3:GetBucketLocation`

   在政策中，包含下列資源，以識別 S3 儲存貯體和該儲存貯體中的物件。以下資源清單會顯示用於存取 Amazon S3 的 Amazon Resource Name (ARN) 格式。
   + `arn:aws:s3:::amzn-s3-demo-bucket`
   + `arn:aws:s3:::amzn-s3-demo-bucket/*`

   如需為 Amazon Aurora 建立 IAM 政策的詳細資訊，請參閱 [建立並使用 IAM 政策進行 IAM 資料庫存取](UsingWithRDS.IAMDBAuth.IAMPolicy.md)。另請參閱《*IAM 使用者指南*》中的[教學：建立和連接您的第一個客戶受管原則](https://docs.aws.amazon.com//IAM/latest/UserGuide/tutorial_managed-policies.html)。

   下列 AWS CLI 命令會使用這些選項建立名為 `ExportPolicy`的 IAM 政策。其將存取權授予名為 *amzn-s3-demo-bucket* 的儲存貯體。
**注意**  
在您建立政策後，請記下政策的 ARN。在後續步驟中將政策附加至 IAM 角色時，您會需要此 ARN。

   ```
   aws iam create-policy  --policy-name ExportPolicy --policy-document '{
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "ExportPolicy",
               "Effect": "Allow",
               "Action": [
                   "s3:PutObject*",
                   "s3:ListBucket",
                   "s3:GetObject*",
                   "s3:DeleteObject*",
                   "s3:GetBucketLocation"
               ],
               "Resource": [
                   "arn:aws:s3:::amzn-s3-demo-bucket",
                   "arn:aws:s3:::amzn-s3-demo-bucket/*"
               ]
           }
       ]
   }'
   ```

1. 建立 IAM 角色，讓 Aurora 可以代表您擔任此 IAM 角色，以存取您的 Amazon S3 儲存貯體。如需詳細資訊，請參閱《*IAM 使用者指南*》中的[建立角色以將許可委派給 IAM 使用者](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html)。

   下列範例顯示使用 AWS CLI 命令來建立名為 的角色`rds-s3-export-role`。

   ```
   aws iam create-role  --role-name rds-s3-export-role  --assume-role-policy-document '{
        "Version": "2012-10-17",		 	 	 
        "Statement": [
          {
            "Effect": "Allow",
            "Principal": {
               "Service": "export.rds.amazonaws.com"
             },
            "Action": "sts:AssumeRole"
          }
        ] 
      }'
   ```

1. 將您建立的 IAM 政策附加至您建立的 IAM 角色。

   下列 AWS CLI 命令會將先前建立的政策連接至名為 的角色`rds-s3-export-role`。將 `your-policy-arn` 取代成您在稍早步驟中記下的政策 ARN。

   ```
   aws iam attach-role-policy  --policy-arn your-policy-arn  --role-name rds-s3-export-role
   ```

## 使用跨帳戶 Amazon S3 儲存貯體
<a name="export-cluster-data.Setup.XAcctBucket"></a>

您可以跨 AWS 帳戶使用 S3 儲存貯體。如需詳細資訊，請參閱[使用跨帳戶 Amazon S3 儲存貯體](aurora-export-snapshot.Setup.md#aurora-export-snapshot.Setup.XAcctBucket)。