

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 连接到亚马逊简单存储服务 (Amazon S3) Service
<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 简单存储服务交互](automations-s3.md)。

## 步骤 1：创建和配置 Amazon S3 资源
<a name="connectors-s3-create-resources"></a>

根据应用程序的需求和现有资源，您可能需要创建一个 Amazon S3 存储桶，供应用程序写入和读取。有关创建 Amazon S3 资源（包括存储桶）的信息，请参阅《[亚马逊*简单存储服务用户指南》中的 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 向存储桶推送对象的权限。以下过程详细介绍了如何使用控制台向 Amazon S3 存储桶添加 CORS 配置。有关 CORS 及其配置的更多信息，请参阅 A *mazon 简单存储服务*用户指南中的[使用跨源资源共享 (CORS)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/cors.html)。

**在控制台中向 Amazon S3 存储桶添加 CORS 配置**

1. 在中导航到您的存储桶[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 的资源（例如存储桶或文件夹）的亚马逊资源名称 (ARN)。

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

   以下策略授予对已配置的 Amazon S3 存储桶或文件夹的只读访问权限（获取和列出）。

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

****  

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

------

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

   以下策略授予对已配置的 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 访问亚马逊 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*替换为 AWS 用于设置 App Studio 实例的账户的账号，该**AWS 账号在 App Studio 实例的账户设置中作为账户 ID** 列出。
   + *11111111-2222-3333-4444-555555555555*替换为您的 App Studio 实例 ID，该**实例在 App Studi** o 实例的账户设置中作为实例 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. 选择**创建角色**并记下生成的亚马逊资源名称 (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 角色的亚马逊资源名称 (ARN)。[步骤 2b：创建一个 IAM 角色以授予 App Studio 访问亚马逊 S3 资源的权限](#connectors-s3-iam-role)有关 IAM 的更多信息，请参阅《IAM 用户指南》[https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html)。
   + **区域：**选择您的 Amazon S3 资源所在的 AWS 区域。

1. 选择**创建**。

1. 新创建的连接器将出现在**连接**器列表中。