本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon Transfer Family用于访问 Amazon EFS 文件系统中的文件
Amazon Transfer Family是一项完全托管的Amazon服务,您可以使用它通过以下协议将文件传输到和传出 Amazon EFS 文件系统:
Secure Shell (SSH) 文件传输协议 (SFTP) (Amazon Transfer for SFTP)
安全文件传输协议 (FTPS) (Amazon Transfer for FTPS)
文件传输协议 (FTP) (Amazon Transfer for FTP)
使用 Transfer Family,您可以安全地让第三方(例如您的供应商、合作伙伴或客户)通过支持的协议在全球范围内大规模访问您的文件,而无需管理任何基础架构。此外,你现在可以使用 SFTP、FTPS 和 FTP 客户端从 Windows、macOS 和 Linux 环境轻松访问你的 EFS 文件系统。这有助于将数据的可访问性扩展到 NFS 客户端和接入点之外,扩展到多个环境中的用户。
使用 Transfer Family 在 Amazon EFS 文件系统中传输数据的计算方式与其他客户端使用情况相同。有关更多信息,请参阅 吞吐量模式 和 亚马逊 EFS 配额和限制。
要了解有关 Amazon Transfer Family 的更多信息,请参阅 Amazon Transfer Family 用户指南。
注意
对于在 2021 年 1 月 6 日之前创建的 Amazon EFS 文件系统,其策略允许公共访问,则默认情况下,在 Amazon EFS 中使用 TranAmazon Web Services 账户 sfer Family 处于禁用状态。要允许使用 Transfer Family 访问您的文件系统,请联系Amazon Web Services Support。
Amazon Transfer Family与 Amazon EFS 一起使用的先决条件
要使用 Transfer Family 访问您的 Amazon EFS 文件系统的文件,您的配置必须满足以下条件:
Transfer Family 服务器和您的 Amazon EFS 文件系统位于同一位置Amazon Web Services 区域。
IAM 策略配置为允许访问 Transfer Family 使用的 IAM 角色。有关更多信息,请参阅Amazon Transfer Family用户指南中的创建 IAM 角色和策略。
(可选)如果 Transfer Family Family 服务器由其他账户拥有,请选择一个不同的账户。
确保您的文件系统策略不允许公共访问。有关更多信息,请参阅阻止公有访问:
修改文件系统策略以启用跨账户访问。有关更多信息,请参阅配置 Transfer Family 账户的访问权限:
配置您的 Amazon EFS 文件系统以供使用Amazon Transfer Family
配置 Amazon EFS 文件系统以与 Transfer Family 一起使用需要执行以下步骤:
步骤 1. 获取分配给 Transfer Family 用户的 POSIX ID 列表。
步骤 2. 使用分配给 Transfer Family 用户的 POSIX ID,确保 Transfer Family 用户可以访问您的文件系统的目录。
第 3 步。 配置 IAM 以允许访问 Transfer Family 使用的 IAM 角色。
为 Transfer Family 用户设置文件和目录权限
确保 Transfer Family 用户有权访问您的 EFS 文件系统上的必要文件和目录。使用分配给 Transfer Family 用户的 POSIX ID 列表为该目录分配访问权限。在此示例中,用户在 EFS 挂载点transferFam
下创建了一个名为的目录。创建目录是可选的账户,具体取决于您的用例。如果需要,您可以选择它在 EFS 文件系统上的名称和位置。
向 POSIX 用户分配 Transfer Family 的文件和目录权限
连接到您的 Amazon EC2 实例。亚马逊 EFS 仅支持通过基于 Linux 的 EC2 实例进行安装。
如果您的 EFS 文件系统尚未挂载到 EC2 实例上,请选择一个不同的账户。有关更多信息,请参阅装载 EFS 文件系统:
以下示例在 EFS 文件系统上创建目录,并将其组更改为 Transfer Family 用户的 POSIX 组 ID,在本示例中为 1101。
efs/transferFam
使用以下命令创建目录。实际上,你可以在你选择的文件系统上使用名称和位置。[ec2-user@ip-192-0-2-0 ~]$
ls
efs efs-mount-point efs-mount-point2
[ec2-user@ip-192-0-2-0 ~]$
ls efs
[ec2-user@ip-192-0-2-0 ~]$
sudo mkdir efs/transferFam
[ec2-user@ip-192-0-2-0 ~]$
ls -l efs
total 0 drwxr-xr-x 2 root root 6 Jan 6 15:58 transferFam
使用以下命令将的组更改为分配给 Tr
efs/transferFam
ansfer Family 用户的 POSIX GID。[ec2-user@ip-192-0-2-0 ~]$
sudo chown :1101 efs/transferFam/
确认更改。
[ec2-user@ip-192-0-2-0 ~]$
ls -l efs
total 0 drwxr-xr-x 2 root 1101 6 Jan 6 15:58 transferFam
启用对 Transfer Family 使用的 IAM 角色的访问权限
在 Transfer Family 中,您可以创建基于资源的 IAM 策略和定义用户对 EFS 文件系统的访问权限的 IAM 角色。有关更多信息,请参阅Amazon Transfer Family用户指南中的创建 IAM 角色和策略。您必须使用 IAM 身份策略或文件系统策略授予 Transfer Family IAM 角色访问您的 EFS 文件系统的权限。
以下是向 IAM 角色授予ClientMount
(读取)和ClientWrite
访问权限的文件系统策略示例EFS-role-for-transfer
。
{ "Version": "2012-10-17", "Id": "efs-policy-wizard-8698b356-4212-4d30-901e-ad2030b57762", "Statement": [ { "Sid": "Grant-transfer-role-access", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/EFS-role-for-transfer" }, "Action": [ "elasticfilesystem:ClientWrite", "elasticfilesystem:ClientMount" ] } ] }
有关创建文件系统策略的更多信息,请参阅创建文件系统策略。有关使用基于身份的 IAM 策略管理 EFS 资源访问权限,请参阅亚马逊 EFS 基于身份的政策。
配置 Transfer Family 账户的访问权限
如果用于访问您的文件系统的 Transfer Family 服务器属于其他Amazon Web Services 账户服务器,则必须授予该帐户访问您的文件系统的权限。此外,您的文件系统策略必须是非公开的。有关阻止公有访问文件系统的公有访问的账户,请参阅阻止公有访问。
您可以在文件系统策略中授予对文件系统的不同Amazon Web Services 账户访问权限。在 Amazon EFS 控制台中,使用文件系统策略编辑器的 “授予额外权限” 部分来指定您授予的文件系统访问权限Amazon Web Services 账户和级别。有关创建或编辑文件系统策略的更多信息,请参阅创建文件系统策略。
您可以使用账户 ID 或账户 ID 指定ARN。有关 ARN ARN 的更多信息,请参阅 IAM 用户指南中的 IAM ARN ARN ARN。
以下示例是一个非公共文件系统策略,它授予对文件系统的跨账户访问权限。它有以下两个语句:
第一条语句向使用文件系统装载目标访问文件系统的 NFS 客户端授予读取、写入和根权限。
NFS-client-read-write-via-fsmt
-
第二条语句仅授予Amazon Web Services 账户 111122223333 的读写权限,该账户拥有 Transfer Family 服务器,需要访问您账户中的此 EFS 文件系统。
Grant-cross-account-access
{ "Statement": [ { "Sid": "NFS-client-read-write-via-fsmt", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": [ "elasticfilesystem:ClientRootAccess", "elasticfilesystem:ClientWrite", "elasticfilesystem:ClientMount" ], "Condition": { "Bool": { "elasticfilesystem:AccessedViaMountTarget": "true" } } }, { "Sid": "Grant-cross-account-access", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:root" }, "Action": [ "elasticfilesystem:ClientWrite", "elasticfilesystem:ClientMount" ] } ] }
以下文件系统策略添加了一条语句,授予对 Transfer Family 使用的 IAM 角色的访问权限。
{ "Statement": [ { "Sid": "NFS-client-read-write-via-fsmt", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": [ "elasticfilesystem:ClientRootAccess", "elasticfilesystem:ClientWrite", "elasticfilesystem:ClientMount" ], "Condition": { "Bool": { "elasticfilesystem:AccessedViaMountTarget": "true" } } }, { "Sid": "Grant-cross-account-access", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:root" }, "Action": [ "elasticfilesystem:ClientWrite", "elasticfilesystem:ClientMount" ] }, { "Sid": "Grant-transfer-role-access", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/EFS-role-for-transfer" }, "Action": [ "elasticfilesystem:ClientWrite", "elasticfilesystem:ClientMount" ] } ] }