连接到亚马逊简单存储服务 (Amazon S3) Service - AWS 应用程序工作室

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

连接到亚马逊简单存储服务 (Amazon S3) Service

要将 App Studio 与 Amazon S3 连接以使构建者能够在应用程序中访问和使用 Amazon S3 资源,请执行以下步骤:

在您完成步骤并使用适当权限创建连接器后,构建者可以使用连接器创建与 Amazon S3 资源交互的应用程序。有关在 App Studio 应用程序中与 Amazon S3 交互的更多信息,请参阅使用组件和自动化与 Amazon 简单存储服务交互

步骤 1:创建和配置 Amazon S3 资源

根据应用程序的需求和现有资源,您可能需要创建一个 Amazon S3 存储桶,供应用程序写入和读取。有关创建 Amazon S3 资源(包括存储桶)的信息,请参阅《亚马逊简单存储服务用户指南》中的 Amazon S3 入门

要在应用程序中使用该S3 上传组件,您必须将跨源资源共享 (CORS) 配置添加到要上传到的任何 Amazon S3 存储桶。CORS 配置授予 App Studio 向存储桶推送对象的权限。以下过程详细介绍了如何使用控制台向 Amazon S3 存储桶添加 CORS 配置。有关 CORS 及其配置的更多信息,请参阅 A mazon 简单存储服务用户指南中的使用跨源资源共享 (CORS)

在控制台中向 Amazon S3 存储桶添加 CORS 配置
  1. 在中导航到您的存储桶https://console.aws.amazon.com/s3/

  2. 选择 Permissions(权限)选项卡。

  3. 跨源资源共享 (CORS) 中,选择编辑。

  4. 添加以下片段:

    [ { "AllowedHeaders": [ "*" ], "AllowedMethods": [ "PUT", "POST" ], "AllowedOrigins": [ "*" ], "ExposeHeaders": [] } ]
  5. 选择 Save changes(保存更改)

第 2 步:创建具有相应的 Amazon S3 权限的 IAM 策略和角色

要在 App Studio 中使用 Amazon S3 资源,管理员必须创建 IAM 策略和角色来授予 App Studio 访问资源的权限。IAM 策略控制构建者可以使用的数据范围以及可以针对这些数据调用的操作,例如创建、读取、更新或删除。然后,IAM 策略将附加到 App Studio 使用的 IAM 角色。

我们建议为每项服务和策略至少创建一个 IAM 角色。例如,如果构建者在 Amazon S3 中创建两个由不同存储桶支持的应用程序,则管理员应创建两个 IAM 策略和角色,每个策略和角色对应一个存储桶。

步骤 2a:创建具有相应的 Amazon S3 权限的 IAM 策略

您在 App Studio 中创建和使用的 IAM 策略应仅包含应用程序遵循最佳安全实践所需的相应资源的最低限度权限。

创建具有相应 Amazon S3 权限的 IAM 策略
  1. 使用有权创建 IAM 策略的用户登录 IAM 控制台。我们建议使用中创建的管理用户创建管理用户来管理 AWS 资源

  2. 在左侧导航栏中,选择策略

  3. 选择创建策略

  4. 策略编辑器部分,选择 JSON 选项。

  5. 键入或粘贴 JSON 策略文档。以下选项卡包含针对 Amazon S3 资源的只读和完全访问权限的示例策略。

    注意

    以下策略适用于所有使用通配符 (*) 的 Amazon S3 资源。为了获得最佳安全实践,您应将通配符替换为要用于 App Studio 的资源(例如存储桶或文件夹)的亚马逊资源名称 (ARN)。

    Read only

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

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

    以下策略授予对已配置的 Amazon S3 存储桶或文件夹的完全访问权限(放置、获取、列出和删除)。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "S3FullAccessForAppStudio", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:ListBucket", "s3:DeleteObject" ], "Resource": "*" } ] }
  6. 选择下一步

  7. 在 “查看并创建” 页面上,提供策略名称(例如AWSAppStudioS3FullAccess)和描述(可选)。

  8. 选择创建策略以创建策略。

步骤 2b:创建一个 IAM 角色以授予 App Studio 访问亚马逊 S3 资源的权限

要在 App Studio 中使用 Amazon S3 资源,管理员必须创建一个 IAM 角色来授予 App Studio 访问资源的权限。IAM 角色控制构建者可以使用的数据范围以及可以针对这些数据调用的操作,例如创建、读取、更新或删除。

我们建议为每项服务和策略至少创建一个 IAM 角色。

创建 IAM 角色以授予 App Studio 访问 Amazon S3 资源的权限
  1. 使用有权创建 IAM 角色的用户登录 IAM 控制台。我们建议使用中创建的管理用户创建管理用户来管理 AWS 资源

  2. 在控制台的导航窗格中,选择 Roles,然后选择 Create role

  3. 可信实体类型中,选择自定义信任策略

  4. 将默认策略替换为以下策略,以允许 App Studio 应用程序在您的账户中扮演此角色。

    您必须替换策略中的以下占位符。要使用的值可以在 App Studio 的 “帐户设置” 页面中找到。

    • 111122223333替换为 AWS 用于设置 App Studio 实例的账户账号,该账号在AWS 账户设置中列为账户 ID

    • 11111111-2222-3333-4444-555555555555替换为您的 App Studio 团队标识,该团队标识在您的 App Studio 实例的账户设置中作为团队标识列出。

    { "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" } } } ] }

    选择下一步

  5. 添加权限中,搜索并选择您在上一步中创建的策略(S3ReadOnlyForAppStudioS3FullAccessForAppStudio)。选择策略旁边的 + 将展开策略以显示其授予的权限,选中该复选框将选择该策略。

    选择下一步

  6. 在 “名称、查看和创建” 页面上,提供角色名称描述

  7. 步骤 3:添加标签中,选择添加新标签以添加以下标签以提供 App Studio 访问权限:

    • 密钥:IsAppStudioDataAccessRole

    • 值:true

  8. 选择创建角色并记下生成的亚马逊资源名称 (ARN),下一步您将需要它来在 App Studio 中创建 Amazon S3 连接器。

步骤 3:创建 Amazon S3 连接器

现在,您已经配置了 Amazon S3 资源以及 IAM 策略和角色,请使用这些信息在 App Studio 中创建连接器,构建者可以使用该连接器将其应用程序连接到 Amazon S3。

注意

您必须在 App Studio 中拥有管理员角色才能创建连接器。

为 Amazon S3 创建连接器
  1. 导航到 App Studio。

  2. 在左侧导航栏的管理区域,选择连接器。您将进入一个页面,其中显示了现有连接器的列表,其中包含每个连接器的一些详细信息。

  3. 选择 + 创建连接器

  4. 选择 Amazon S3 连接器。

  5. 通过填写以下字段来配置您的连接器:

  6. 选择创建

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