基于Amazon S3设置AWS Transfer Family Web 应用程序

基于Amazon S3设置AWS Transfer Family Web 应用程序

在当今数字化时代,组织和个人对于安全、高效的文件传输需求日益增长,尤其是非技术用户往往面临客户端操作复杂、跨设备适配难等问题。Amazon Transfer Family Web 应用程序作为一种基于浏览器的无代码解决方案,通过与 Amazon S3 深度集成,提供了简单易用且安全的文件传输体验,有效降低了运营开销。本文将详细介绍如何基于 Amazon S3 搭建该 Web 应用程序,从创建应用、分配用户,到配置跨源资源共享(CORS)、设置访问权限管控,最终实现安全高效的文件传输功能。

image-20250925215044355

  • 本方案基于亚马逊云科技:

    首先需要创建注册并登录亚马逊云科技账号:亚马逊云科技官网

    亚马逊云科技近期推出了全新免费套餐(Free Tier 2.0),可以帮助开发者/企业用户更低成本、更轻松地上手云服务,新账户注册可领 $100 美元抵扣金,完成 5 个入门任务,每完成一项额外奖励 $20,最高再拿 $100,总抵扣金达 200 美元

    与旧版本对比,其优势如下,不过需要注意的是仅在海外区域可用哦(北京与宁夏为中国区域,其他为海外区域)

    Free Tier 2.0(现行)Legacy Free Tier(旧版)
    账户与支付支持银联信用卡注册账户与人民币支付,无需外币信用卡。(2月份开始支持银联信用卡)
    免费形态账户分为两种计划:免费计划(确保 0 元,最长 6 个月或抵扣金用完)与付费计划(所有服务全量访问)。两种计划内均包括服务抵扣金,短期免费试用服务和永久免费服务。三类优惠:Trials(短期试用)/ 12 个月免费 / 永久免费;到期或超额后按需计费。
    金额机制新用户最高 $200 AWS 抵扣金:注册 $100,完成 EC2/RDS/Lambda/Bedrock/Budgets 5个任务再得 $100。以按服务配额为主(按月清零、不可跨服务挪用),没用到的配额会浪费。
    误扣风险免费计划不扣费(除非自愿升级),剩余抵扣金升级后在自注册起 12 个月内仍可用于合规服务。容易因超出某服务配额而进入计费;新手对“超限”不敏感。
    特点专而深:抵扣金可集中投向你的刚需服务(示例:EC2 指定实例族、RDS、Lambda、Bedrock 等)。广而浅:配额分布在很多服务,用不到的等于浪费,刚需服务的免费量相对有限。

1. 创建web应用程序

登录亚马逊与科技管理控制台,搜索 Amazon IAM Identity Center,并确认位于正确的 AWS 区域。

2.选择 设置并记下 实例 ARN。

instance-arn

3.导航到 Amazon Transfer Family 并选择 Web 应用程序

select-web-app

4.选择创建 Web 应用程序,以配置 Web 应用程序。

5.在身份验证访问下验证是否已连接 IAM Identity Center。

  • 对于权限类型,选择创建并使用新的服务角色

authentication-access

6.对于标签,选择添加标签

  • 对于键,输入名称
  • 对于,输入 Transfer Family Web 应用程序演示

7.选择下一步

9.查看所选输入,并选择创建 Web 应用程序

10.创建 Web 应用程序后,选择添加用户。

create-web-app-1

2. 分配用户

1.选择分配用户和群组,并选择分配现有用户和群组

2.选择下一步

assign-existing-users

3.在弹出窗口中,搜索您的用户

4.选择用户,并选择分配

search-user

5.在 Web 应用程序详细信息窗格中,复制**实例 **ARN,因为在启用跨源资源共享时会用到它。

6.在用户选项卡上,复制用户ID

web-app-details-1

2. 设置跨源资源共享 (CORS)

2.1 创建存储桶

1.打开 Amazon S3 控制台,然后选择创建存储桶。

create-bucket

  • transfer-family-web-app-demo-

3.将其余选项保留为默认值。导航到页面底部,然后选择创建存储桶。

1.创建存储桶后,在通用存储桶选项卡上,搜索您创建的存储桶,选择名称**。选择**权限选项卡。

2.在跨源资源共享 (CORS) 中,选择编辑并粘贴以下代码。

3.将 AccessEndpoint 替换为复制的实际 InstanceARN

  • 注:请勿输入尾部斜杠,因为当用户尝试登录 Web 应用程序时,尾部斜杠会导致错误。
    • 正确的例子:https://webapp-b4d851af6e314fc39.transfer-webapp.us-west-2.on.aws
    • 错误的例子:*https://webapp-b4d851af6e314fc39.transfer-webapp.us-west-2.on.aws

3.选择保存更改

[
  {
    "AllowedHeaders": [
      "*"
    ],
    "AllowedMethods": [
      "GET",
      "PUT",
      "POST",
      "DELETE",
      "HEAD"
    ],
    "AllowedOrigins": [
      "AccessEndpoint"
    ],
    "ExposeHeaders": [
      "last-modified",
       "content-length",
      "etag",
      "x-amz-version-id",
      "content-type",
      "x-amz-request-id",
      "x-amz-id-2",
      "date",
      "x-amz-cf-id",
      "x-amz-storage-class",
      "access-control-expose-headers"
     ],
    "MaxAgeSeconds": 3000
  }
]

replace-accessendpoint

3. 创建实例

3.1 创建 S3 访问权限管控实例

1.打开 Amazon S3 访问权限管控控制台,选择创建 S3 访问权限管控实例

s3-access-grants

2.选择添加 IAM Identity Center 实例。对于 IAM Identity Center 实例 ARN,输入复制的 InstanceARN,然后选择下一步

3.选择下一步,将在后台创建 S3 访问权限管控实例。

4.选择取消。

cancel-create-new-role

3.2 注册位置

1.选择位置选项卡。

locations-tab

2.在注册位置页面上,执行以下操作:

  • 对于 IAM 角色中,选择新建或选择
    • 此角色允许 S3 访问权限管控实例访问您指定的位置范围。

3.选择注册位置继续。

register-location

3.3 创建管制

1.选择创建管制

create-grant

2.对于位置,选择浏览位置**,然后选择注册位置部分中注册的位置。然后选择选择**路径。

choose-path-location

3.在路径页面上,执行以下操作:

  • 对于目录身份类型,选择用户

4.选择创建管制

4. 访问 Amazon Transfer Family Web 应用程序

4.1 访问 Amazon Transfer Family Web 应用程序

  1. 打开 Amazon Transfer Family 控制台。 在左窗格中,选择 Web 应用程序

  2. 搜索 Transfer Family Web 应用程序演示并选择访问端点。

aws-transfer-family-console

3.在用户名框中输入您的****用户名,然后选择**下一步。

4.输的密码并选择登录

username-signin

5.完成上述步骤并成功登录后,看到Web 应用程序的登录页面。

web-app-landing-page

测试Web 应用程序

1.输入文件夹名称并选择创建文件夹。

create-folder

2.在创建的文件夹中,选择添加文件。

3.在本地计算机上选择任何文件,然后选择上传

4.导航到S3存储桶并确认示例文件已成功上传。

sample-file-uploaded

通过上述步骤,我们成功完成了基于 Amazon S3 的 AWS Transfer Family Web 应用程序搭建。从创建 Web 应用程序并关联 IAM Identity Center 进行用户管理,到配置 S3 存储桶的 CORS 规则以支持跨域访问,再到通过 S3 访问权限管控实例设置精细化权限,整个流程实现了从身份验证到文件传输的全链路安全管控。

最终,用户可通过浏览器直接访问应用程序,完成文件夹创建、文件上传等操作,且上传的文件能实时同步至指定的 S3 存储桶,验证了方案的有效性。该方案不仅简化了非技术用户的操作流程,还借助 AWS 原生的安全机制保障了数据传输的安全性,适合各类组织降低文件传输的管理成本与技术门槛。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

炒香菇的书呆子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值