

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

# 跨帳戶儲存貯體存取
<a name="S3-buckets-cross-account-access"></a>

RES 能夠從其他 AWS 帳戶掛載儲存貯體，前提是這些儲存貯體具有適當的許可。在下列案例中，帳戶 A 中的 RES 環境想要在帳戶 B 中掛載 S3 儲存貯體。

**步驟 1：在 RES 部署所在的帳戶中建立 IAM 角色 *（這將稱為帳戶 A)*：**

1. 登入需要存取 S3 儲存貯體 （帳戶 A) 之 RES 帳戶的 AWS 管理主控台。

1. 開啟 IAM 主控台：

   1. 導覽至 IAM 儀表板。

   1. 在導覽窗格中，選擇**政策**。

1. 建立政策：

   1. 選擇**建立政策**。

   1. 選取 **JSON** 標籤。

   1. 貼上下列 JSON 政策 (`amzn-s3-demo-bucket`以位於帳戶 B 的 S3 儲存貯體名稱取代）：

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

****  

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

------

   1. 選擇**下一步**。

1. 檢閱並建立政策：

   1. 提供政策的名稱 （例如，「S3AccessPolicy」)。

   1. 新增選用的描述來解釋政策的目的。

   1. 檢閱政策，然後選擇**建立政策**。

1. 開啟 IAM 主控台：

   1. 導覽至 IAM 儀表板。

   1. 在導覽窗格中，選擇**角色**。

1. 建立角色：

   1. 選擇建**立角色**。

   1. 選擇**自訂信任政策**作為信任實體的類型。

   1. 貼上下列 JSON 政策 (`111122223333`以帳戶 A 的實際帳戶 ID 取代，`{RES_ENVIRONMENT_NAME}`並以 RES 部署的環境名稱取代：

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

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Effect": "Allow",
                  "Principal": {
                      "AWS": "arn:aws:iam::111122223333:role/<ENVIRONMENT_NAME>-vdc-custom-credential-broker-lambda-role"
                  },
                  "Action": "sts:AssumeRole"
              }
          ]
      }
      ```

------

   1. 選擇**下一步**。

1. 連接許可政策：

   1. 搜尋並選取您先前建立的政策。

   1. 選擇**下一步**。

1. 標記、檢閱和建立角色：

   1. 輸入角色名稱 （例如 "S3AccessRole")。

   1. 在步驟 3 下，選擇**新增標籤**，然後輸入下列索引鍵和值：
      + 索引鍵：`res:Resource`
      + 值：`s3-bucket-iam-role`

   1. 檢閱角色，然後選擇**建立角色**。

1. 在 RES 中使用 IAM 角色：

   1. 複製您建立的 IAM 角色 ARN。

   1. 登入 RES 主控台。

   1. 在左側導覽窗格中，選擇 **S3 儲存貯**體。

   1. 選擇**新增儲存貯**體，並使用跨帳戶 S3 儲存貯體 ARN 填寫表單。

   1. 選擇**進階設定 - 選用**下拉式清單。

   1. 在 IAM 角色 ARN 欄位中輸入角色 ARN。

   1. 選擇**新增儲存貯體**。

**步驟 2：修改帳戶 B 中的儲存貯體政策**

1. 登入帳戶 B 的 AWS 管理主控台。

1. 開啟 S3 主控台：

   1. 導覽至 S3 儀表板。

   1. 選取您要授予存取權的儲存貯體。

1. 編輯儲存貯體政策：

   1. 選取**許可**索引標籤，然後選擇**儲存貯體政策**。

   1. 新增下列政策，以授予帳戶 A 對儲存貯體的 IAM 角色存取權 （將 *111122223333* 取代為帳戶 A 的實際帳戶 ID，並將 *amzn-s3-demo-bucket* 取代為 S3 儲存貯體的名稱）：

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

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Effect": "Allow",
                  "Principal": {
                      "AWS": "arn:aws:iam::111122223333:role/S3AccessRole"
                  },
                  "Action": [
                      "s3:GetObject",
                      "s3:PutObject",
                      "s3:ListBucket",
                      "s3:DeleteObject",
                      "s3:AbortMultipartUpload"
                  ],
                  "Resource": [
                      "arn:aws:s3:::amzn-s3-demo-bucket",
                      "arn:aws:s3:::amzn-s3-demo-bucket/*"
                  ]
              }
          ]
      }
      ```

------

   1. 選擇**儲存**。