2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

AWS Transfer for SFTP,适用于 Amazon S3 的完全托管式 SFTP 服务

  • 2019-10-15
  • 本文字数:2580 字

    阅读完需:约 8 分钟

AWS Transfer for SFTP,适用于 Amazon S3 的完全托管式 SFTP 服务

许多组织将 SFTP(安全文件传输协议)纳入长期建立的数据处理和合作伙伴集成工作流的一部分。虽然很容易因这些系统“老旧”而忽略它们,但事实上,它们非常有用,并将在相当长的一段时间内继续发挥作用。我们希望帮助客户以顺畅、不中断的方式将这些工作流迁移到云。


AWS Transfer for SFTP


今天,我们推出了 AWS Transfer for SFTP,一款完全托管、高度可用的 SFTP 服务。您只需创建服务器,设置用户账户,并将服务器与一个或多个 Amazon Simple Storage Service (S3) 存储桶相关联即可。您可以对用户身份、权限和密钥进行精细控制。您可以在 Transfer for SFTP 中创建用户,也可以使用现有的身份提供商。您还可以使用 IAM 策略来控制授予每个用户的访问权限级别。您还可以使用现有的 DNS 名称和 SSH 公钥,轻松迁移到 Transfer for SFTP。您的客户和合作伙伴将继续照常连接并进行传输,不会更改现有工作流。


您拥有底层 S3 存储桶的完整访问权限,并且可以使用许多不同的 S3 功能,包括生命周期策略、多个存储类、服务器端加密的多个选项和版本控制等等。您可以编写 AWS Lambda 函数来构建一个“智能”FTP 站点,传入文件上传成功后,就能对其进行处理,使用 Amazon Athena 就地查询文件,并轻松连接到现有数据注入过程。在出站端,您可以使用其他 AWS 服务生成报告、文档、清单、自定义软件版本等,然后将它们存储在 S3 中,以便控制对您的客户和合作伙伴进行的分发。


创建服务器


首先,我打开 AWS Transfer for SFTP 控制台并单击 Create server(创建服务器):



我可以让 Transfer for SFTP 管理用户名和密码,也可以通过 API Gateway 访问现有的 LDAP 或 Active Directory 身份提供程序。我可以使用 Amazon Route 53 DNS 别名或现有的主机名,还可以标记我的服务器。我从默认值开始,然后单击 Create server(创建服务器),实际创建我的 SFTP 服务器:



服务器启动并在几分钟内运行:



现在我可以添加一两个用户! 我选择服务器并单击添加用户,然后输入用户名,为其主目录选择 S3 存储桶(带有可选前缀),并选择一个 IAM 角色,为用户提供所需的存储桶访问权限。然后我粘贴 SSH 公钥(使用 ssh-keygen 创建),然后单击添加:



现在我已一切准备就绪。我从控制台检索服务器终端节点并发出我的第一个 sftp 命令:



这些文件立即显示在 S3 存储桶的 jeff/ 部分中:



我可以将一个 Lambda 函数附加到存储桶并执行我想要的任何类型的上传后处理操作。例如,我可以通过 Amazon Rekognition 运行所有上传的图像,并根据它包含的对象类型将它们路由到几个不同目的地之一,我可以通过 Amazon Comprehend 运行音频文件来执行语音转文本操作。


通过 IAM 实现全面控制


为了在演练中直奔正题,我的 IAM 角色使用了下面这个非常简单的策略:


{    "Version": "2012-10-17",    "Statement": [        {            "Effect": "Allow",            "Action": [                "s3:ListAllMyBuckets",                "s3:GetBucketLocation"            ],            "Resource": "*"        },        {            "Effect": "Allow",            "Action": "s3:ListBucket",            "Resource": "arn:aws:s3:::data-transfer-inbound"        },        {            "Effect": "Allow",            "Action": "s3:*",            "Resource": "arn:aws:s3:::data-transfer-inbound/jeff/*"        }    ]}
复制代码


如果我计划在同一台服务器上托管大量用户,我可以使用如下所示的范围缩小策略:


{    "Version": "2012-10-17",    "Statement": [        {            "Sid": "ListHomeDir",            "Effect": "Allow",            "Action": "s3:ListBucket",            "Resource": "arn:aws:s3:::${transfer:HomeBucket}"        },        {            "Sid": "AWSTransferRequirements",            "Effect": "Allow",            "Action": [                "s3:ListAllMyBuckets",                "s3:GetBucketLocation"            ],            "Resource": "*"        },        {            "Sid": "HomeDirObjectAccess",            "Effect": "Allow",            "Action": [                "s3:PutObject",                "s3:GetObject",                "s3:DeleteObjectVersion",                "s3:DeleteObject",                "s3:GetObjectVersion"            ],            "Resource": "arn:aws:s3:::${transfer:HomeDirectory}*"        }    ]}
复制代码


在评估范围缩小策略时,{transfer:HomeDirectory} 策略变量将设置为每个用户对应的值;这允许我使用针对每个用户适当定制的相同策略。


注意事项


关于 AWS Transfer for SFTP,请记住以下几点:


程序化访问 – 还提供了一整套 API 和 CLI 命令。例如,我可以使用一个简单的命令创建服务器:


$ aws transfer create-server --identity-provider-type SERVICE_MANAGED -------------------------------------|           CreateServer            |+-----------+-----------------------+|  ServerId |  s-b445dcff7f164c73a  |+-----------+-----------------------+
复制代码


还有许多其他命令,包括 list-servers、start-server、stop-server、create-user 和 list-users。


CloudWatch – 每个服务器都可以选择将详细的访问日志发送到 Amazon CloudWatch。一个单独的日志流用于每个 SFTP 会话,还有一个日志流用于身份验证错误:



备用身份提供程序 – 我向您展示了上面的内置用户管理。您还可以访问使用现有 LDAP 或 Active Directory 的备用身份提供程序。


定价 – 您需要按小时为每台运行的服务器支付费用,并按 GB 为上传和下载的数据支付费用。


现已推出


AWS Transfer for SFTP 现已面向以下区域推出:美国东部(弗吉尼亚北部)、美国东部(俄亥俄)、美国西部(俄勒冈)、美国西部(加利福尼亚北部)、加拿大(中部)、欧洲(爱尔兰)、欧洲(巴黎)、欧洲(法兰克福)、欧洲(伦敦)、亚太地区(东京)、亚太地区(新加坡)、亚太地区(悉尼)以及亚太地区(首尔)。


– Jeff;


本文转载自 AWS 技术博客。


原文链接:


https://amazonaws-china.com/cn/blogs/china/新增功能-aws-transfer-for-sftp-适用于-amazon-s3-的完全托管式-sftp-服务/


2019-10-15 14:341414
用户头像

发布了 1950 篇内容, 共 164.8 次阅读, 收获喜欢 81 次。

关注

评论

发布
暂无评论
发现更多内容

【我和openGauss的故事】 openGauss 5.0.0 分区表增强

daydayup

opengauss

【我和openGauss的故事】记一次基于在银河麒麟系统上适配openGauss进阶之旅

daydayup

【我和openGauss的故事】openGauss逻辑备份恢复

daydayup

对线面试官-Redis 十一 | 双写一致性问题

派大星

Java 面试题

【我与openGauss的故事】openGauss 5.0企业版主从部署,实战狂飙

daydayup

opengauss

点云标注在自动驾驶中的重要性

数据堂

掌数科技携手华为云GaussDB,助力金融科技创新,联合打造行业标杆

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 7 月 PK 榜

12 点半!Voxel51 亚太地区计算机视觉线上 Meetup,速来!

Zilliz

计算机视觉 Milvus Zilliz voxel51

【航遥 × ModelWhale】AI for Science 科研范式改革

ModelWhale

人工智能 云计算 算力 遥感 地球科学

openGauss DBMind上的多指标关联性分析介绍

daydayup

opengauss

openGauss资源池化开发者入门指南

daydayup

opengauss

百亿规模京东实时浏览记录系统的设计与实现 | 京东云技术团队

京东科技开发者

数据 离线 企业号 7 月 PK 榜 浏览记录

深耕行业创新 引领视听未来 | 宇视亮相北京Infocomm China 2023展会

新消费日报

思考:数字卫星可视化如何实现?

DevOps和数字孪生

仿真建模 数字卫星

MobPush 推送限制策略

MobTech袤博科技

程序员 前端 push 智能推送 推送

【我和openGauss的故事】openGauss特性:CM支持两节点部署特性

daydayup

社区征文 | 记一次“雪花算法”造成的生产事故的排查记录

悟空聊架构

架构 雪花算法 生产事故 悟空聊架构 年中技术盘点

什么是 JSON:一个简洁易懂的入门指南

Apifox

Java json 程序员 开发 Postman

极客时间架构实战营模块一作业

德拉古蒂洛维奇

#架构实战营

监控系统 Prometheus 的原理 | 社区征文

悟空聊架构

运维 监控 Prometheus 悟空聊架构 年中技术盘点

点云标注在自动驾驶中的挑战

数据堂

Jedis 参数异常引发服务雪崩案例分析

vivo互联网技术

服务雪崩 Redis集群模式 主从切换 Jedis参数设置

这些大数据传输解决方案保证了企业快速传输和数据可靠性

镭速

高速传输 大数据传输 快速文件传输

基于50W携程出行攻略构建事件图谱(含码源):交通工具子图谱、订酒店吃饭事件图谱等

汀丶人工智能

人工智能 自然语言处理 知识图谱

为什么要做稳定性保障?

老张

SRE 稳定性保障

用热爱,走一些“远”路!

禅道项目管理

openGauss数据库源码解析系列文章——AI技术(二)

daydayup

opengauss

订单逆向履约系统的建模与PaaS化落地实践 | 京东云技术团队

京东科技开发者

领域建模 企业号 7 月 PK 榜 订单逆向履约 快退

24款数据可视化工具介绍

2D3D前端可视化开发

数据分析 web前端 数据可视化工具 可视化看板 数据可视化软件

浅析本地缓存技术-Guava Cache | 京东物流技术团队

京东科技开发者

Java 缓存 Guava Cache Guava 企业号 7 月 PK 榜

大语言模型的预训练[6]:思维链(Chain-of-thought,CoT)定义原理详解、Zero-shot CoT、Few-shot CoT 以及在LLM上应用| 社区征文

汀丶人工智能

人工智能 大语言模型 LLM模型 年中技术盘点 思维链

AWS Transfer for SFTP,适用于 Amazon S3 的完全托管式 SFTP 服务_语言 & 开发_亚马逊云科技 (Amazon Web Services)_InfoQ精选文章