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

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

Amazon Transfer Family Web 应用程序献出了简单、无代码、完全托管的浏览器体验,支持与 Amazon Simple Storage Service(Amazon S3)之间的安全文件传输。通过采用这种基于浏览器的解决方案,组织无需在不同的终端用户设备和操作系统上安装、支持各种文件传输客户端并排查问题,从而减少了运营开销。

这种手段对非技术用户尤其有益,因为客户端应用程序的操作可能较为困难。这些 Web 应用程序原生集成了 AWS IAM Identity Center 和 Amazon S3 访问权限管控,确保只有经过身份验证的用户才能查看其获得授权访问的信息。

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 应用程序。

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

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

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

posted on 2025-09-26 21:49  ljbguanli  阅读(19)  评论(0)    收藏  举报