

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

# 連線至 Amazon Simple Storage Service (Amazon S3)
<a name="connectors-s3"></a>

若要將 App Studio 與 Amazon S3 連線，讓建置器能夠在應用程式中存取和使用 Amazon S3 資源，請執行下列步驟：

1. [步驟 1：建立和設定 Amazon S3 資源](#connectors-s3-create-resources)

1. [步驟 2：使用適當的 Amazon S3 許可建立 IAM 政策和角色](#connectors-s3-iam)

1. [步驟 3：建立 Amazon S3 連接器](#connectors-s3-create-connector)

在您完成步驟並建立具有適當許可的連接器之後，建置器可以使用連接器來建立與 Amazon S3 資源互動的應用程式。如需在 App Studio 應用程式中與 Amazon S3 互動的詳細資訊，請參閱 [與 Amazon Simple Storage Service 與元件和自動化互動](automations-s3.md)。

## 步驟 1：建立和設定 Amazon S3 資源
<a name="connectors-s3-create-resources"></a>

根據您的應用程式需求和現有資源，您可能需要建立 Amazon S3 儲存貯體，供應用程式寫入和讀取。如需建立 Amazon S3 資源的資訊，包括儲存貯體，請參閱[《Amazon Simple Storage Service 使用者指南》中的 Amazon S3 入門](https://docs.aws.amazon.com/AmazonS3/latest/userguide/GetStartedWithS3.html)。 **

若要在應用程式中使用 [S3 上傳](components-reference.md#s3-upload-component)元件，您必須將跨來源資源共用 (CORS) 組態新增至您要上傳的任何 Amazon S3 儲存貯體。CORS 組態提供 App Studio 將物件推送至儲存貯體的許可。下列程序詳細說明如何使用 主控台將 CORS 組態新增至 Amazon S3 儲存貯體。如需 CORS 及其設定的詳細資訊，請參閱《*Amazon Simple Storage Service 使用者指南*》中的[使用跨來源資源共用 (CORS)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/cors.html)。

**在主控台中將 CORS 組態新增至 Amazon S3 儲存貯體**

1. 導覽至 https：//[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) 中的儲存貯體。

1. 選擇**許可**索引標籤。

1. 在**跨來源資源共用 (CORS)** 中，選擇**編輯**。

1. 新增下列程式碼片段：

   ```
   [
       {
           "AllowedHeaders": [
               "*"
           ],
           "AllowedMethods": [
               "PUT",
               "POST"
           ],
           "AllowedOrigins": [
               "*"
           ],
           "ExposeHeaders": []
       }
   ]
   ```

1. 選擇**儲存變更**。

## 步驟 2：使用適當的 Amazon S3 許可建立 IAM 政策和角色
<a name="connectors-s3-iam"></a>

若要搭配 App Studio 使用 Amazon S3 資源，管理員必須建立 IAM 政策和角色，以授予 App Studio 存取資源的許可。IAM 政策控制建置器可以使用的資料範圍，以及可以針對該資料呼叫哪些操作，例如建立、讀取、更新或刪除。接著，IAM 政策會連接至 App Studio 所使用的 IAM 角色。

我們建議每個服務和政策至少建立一個 IAM 角色。例如，如果建置器在 Amazon S3 中建立兩個由不同儲存貯體支援的應用程式，管理員應該建立兩個 IAM 政策和角色，每個儲存貯體各一個。

### 步驟 2a：使用適當的 Amazon S3 許可建立 IAM 政策
<a name="connectors-s3-iam-policy"></a>

您建立並與 App Studio 搭配使用的 IAM 政策應僅包含應用程式遵循最佳安全實務之適當資源的最低必要許可。

**使用適當的 Amazon S3 許可建立 IAM 政策**

1. 使用具有建立 [IAM 政策許可的使用者登入 IAM 主控台](https://console.aws.amazon.com/iam)。建議使用在 中建立的管理使用者[建立管理使用者以管理 AWS 資源](setting-up-first-time-admin.md#setting-up-create-admin-user)。

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

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

1. 在**政策編輯器**中，選擇 **JSON** 選項。

1. 在 JSON 政策文件中輸入或貼上。下列索引標籤包含唯讀和完整存取 Amazon S3 資源的範例政策。
**注意**  
下列政策適用於使用萬用字元 () 的所有 Amazon S3 資源`*`。為了實現最佳安全實務，您應該將萬用字元取代為要與 App Studio 搭配使用的資源的 Amazon Resource Name (ARN)，例如儲存貯體或資料夾。

------
#### [ Read only ]

   下列政策會將唯讀存取權 （取得和列出） 授予已設定的 Amazon S3 儲存貯體或資料夾。

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

****  

   ```
   {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
         {
            "Sid": "S3ReadOnlyForAppStudio",
            "Effect": "Allow",
            "Action": [
               "s3:GetObject",
               "s3:ListBucket"
            ],
            "Resource": "*"
         }
      ]
   }
   ```

------

------
#### [ Full access ]

   下列政策會將完整存取權 (put、get、list 和 delete) 授予已設定的 Amazon S3 儲存貯體或資料夾。

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

****  

   ```
   {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
         {
            "Sid": "S3FullAccessForAppStudio",
            "Effect": "Allow",
            "Action": [
               "s3:PutObject",
               "s3:GetObject",
               "s3:ListBucket",
               "s3:DeleteObject"
            ],
            "Resource": "*"
         }
      ]
   }
   ```

------

------

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

1. 在**檢閱和建立**頁面上，提供**政策名稱**，例如 **AWSAppStudioS3FullAccess**和**描述** （選用）。

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

### 步驟 2b：建立 IAM 角色，讓 App Studio 存取 Amazon S3 資源
<a name="connectors-s3-iam-role"></a>

若要搭配 App Studio 使用 Amazon S3 資源，管理員必須建立 IAM 角色，以授予 App Studio 存取資源的許可。IAM 角色控制建置器可以使用的資料範圍，以及可以針對該資料呼叫哪些操作，例如建立、讀取、更新或刪除。

我們建議每個服務和政策至少建立一個 IAM 角色。

**建立 IAM 角色，讓 App Studio 存取 Amazon S3 資源**

1. 使用具有建立 [IAM 角色許可的使用者登入 IAM 主控台](https://console.aws.amazon.com/iam)。建議使用在 中建立的管理使用者[建立管理使用者以管理 AWS 資源](setting-up-first-time-admin.md#setting-up-create-admin-user)。

1. 在主控台的導覽窗格中，選擇 **Roles (角色)**，然後選擇 **Create role (建立角色)**。

1. 在**信任的實體類型**中，選擇**自訂信任政策**。

1. 將預設政策取代為下列政策，以允許 App Studio 應用程式在您的帳戶中擔任此角色。

   您必須取代政策中的下列預留位置。您可以在 App Studio 的帳戶**設定**頁面中找到要使用的值。
   + 將 *111122223333* 取代為用於設定 App Studio 執行個體的帳戶的 AWS 帳號，在 App Studio 執行個體的帳戶設定中列為帳戶 **AWS ID**。
   + 將 *111111111-2222-3333-4444-5555555555 *取代為您的 App Studio 執行個體 ID，在 App Studio 執行個體的帳戶設定中列為執行個體 **ID**。

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

****  

   ```
   { 
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           { 
               "Effect": "Allow",
               "Principal": { 
                   "AWS": "arn:aws:iam::111122223333:root"
               }, 
               "Action": "sts:AssumeRole",
               "Condition": {
                   "StringEquals": {
                           "aws:PrincipalTag/IsAppStudioAccessRole": "true",
                           "sts:ExternalId": "11111111-2222-3333-4444-555555555555"
                   }
               }
           } 
       ]
   }
   ```

------

   選擇**下一步**。

1. 在**新增許可**中，搜尋並選取您在上一個步驟中建立的政策 (**S3ReadOnlyForAppStudio** 或 **S3FullAccessForAppStudio**)。選擇政策旁的 **\$1** 將展開政策，以顯示其授予的許可，並選擇核取方塊會選取政策。

   選擇**下一步**。

1. 在**名稱、檢閱和建立**頁面上，提供**角色名稱**和**描述**。

1. 在**步驟 3：新增標籤**中，選擇**新增標籤**以新增下列標籤，以提供 App Studio 存取：
   + **金鑰： **`IsAppStudioDataAccessRole`
   + **值： **`true`

1. 選擇**建立角色**並記下產生的 Amazon Resource Name (ARN)，在下一個步驟中，您將需要它在 App Studio 中建立 Amazon S3 連接器。

## 步驟 3：建立 Amazon S3 連接器
<a name="connectors-s3-create-connector"></a>

現在您已設定 Amazon S3 資源和 IAM 政策和角色，請使用該資訊在 App Studio 中建立連接器，建置器可以用來將其應用程式連線至 Amazon S3。

**注意**  
您必須在 App Studio 中具有管理員角色，才能建立連接器。

**建立 Amazon S3 的連接器**

1. 導覽至 App Studio。

1. 在左側導覽窗格中，在**管理**區段中選擇**連接器**。您將前往顯示現有連接器清單的頁面，其中包含每個連接器的一些詳細資訊。

1. 選擇 **\$1 建立連接器**。

1. 選擇 **Amazon S3** 連接器。

1. 填寫下列欄位來設定您的連接器：
   + **名稱：**輸入 Amazon S3 連接器的名稱。
   + **描述：**輸入 Amazon S3 連接器的描述。
   + **IAM 角色：**從在 中建立的 IAM 角色輸入 Amazon Resource Name (ARN)[步驟 2b：建立 IAM 角色，讓 App Studio 存取 Amazon S3 資源](#connectors-s3-iam-role)。如需 IAM 的詳細資訊，請參閱《[IAM 使用者指南](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html)》。
   + **區域：**選擇 Amazon S3 資源所在的 AWS 區域。

1. 選擇**建立**。

1. 新建立的連接器會出現在**連接器**清單中。