

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 AWS Transfer Family 傳輸資料
<a name="using-aws-transfer-integration"></a>

AWS Transfer Family 是一項全受管 AWS 服務，可讓您透過下列通訊協定，將檔案傳入和傳出 Amazon EFS 檔案系統：
+  Secure Shell (SSH) 檔案傳輸通訊協定 (SFTP) (AWS Transfer for SFTP)
+ 檔案傳輸通訊協定安全 (FTPS) (AWS Transfer for FTPS)
+ 檔案傳輸通訊協定 (FTP) (AWS Transfer for FTP)

使用 Transfer Family，您可以安全地讓第三方 (例如廠商、合作夥伴或客戶) 透過支援的通訊協定在全球範圍內大規模存取您的檔案，而無需管理任何基礎架構。此外，您現在可以使用 SFTP、FTPS 和 FTP 用戶端，從 Windows、macOS 和 Linux 環境中輕鬆存取 EFS 檔案系統。這有助於將 NFS 用戶端和存取點以外的資料存取性擴展到多個環境中的使用者。

使用 Transfer Family 在 Amazon EFS 檔案系統中傳輸資料，其計算方式與其他用戶端使用方式相同。如需詳細資訊，請參閱[輸送量模式](performance.md#throughput-modes)及[Amazon EFS 配額](limits.md)。

若要進一步了解 AWS Transfer Family，請參閱 [AWS Transfer Family 使用者指南](https://docs.aws.amazon.com/transfer/latest/userguide/what-is-aws-transfer-family.html)。

**注意**  
對於具有允許 20EFS1 年 1 月 6 日之前建立公開存取之 Amazon EFS 檔案系統的 AWS 帳戶，預設會停用 Transfer Family with Amazon EFS。若要使用 Transfer Family 存取您的檔案系統，請聯絡 支援。

**Topics**
+ [AWS Transfer Family 搭配 Amazon EFS 使用 的先決條件](#prerequisites-aws-transfer)
+ [設定 的 EFS 檔案系統 AWS Transfer Family](#config-efs-aws-transfer-int)

## AWS Transfer Family 搭配 Amazon EFS 使用 的先決條件
<a name="prerequisites-aws-transfer"></a>

若要使用 Transfer Family 來存取 Amazon EFS 檔案系統的檔案，您的組態必須符合下列條件：
+ Transfer Family 伺服器和您的 Amazon EFS 檔案系統位於同一個 AWS 區域中。
+ Transfer Family 使用的 IAM 角色必須連接 Amazon EFS 許可 （例如 `elasticfilesystem:ClientMount`和 `elasticfilesystem:ClientWrite`)。如需許可和政策的詳細資訊，請參閱*AWS Transfer Family 《 使用者指南*》中的[建立 IAM 角色和政策](https://docs.aws.amazon.com/transfer/latest/userguide/requirements-roles.html)。
+ (選用) 如果 Transfer Family 伺服器屬於其他帳戶，請啟用跨帳户存取權。
  + 請確定您的檔案系統政策不允許公開存取。如需詳細資訊，請參閱[封鎖對 EFS 檔案系統的公開存取](access-control-block-public-access.md)。
  + 修改檔案系統政策以啟用跨帳户存取權。如需詳細資訊，請參閱[設定 Transfer Family 的跨帳户存取權](#efs-cross-acct-access-transfer)。

## 設定 的 EFS 檔案系統 AWS Transfer Family
<a name="config-efs-aws-transfer-int"></a>

設定 Amazon EFS 檔案系統與 Transfer Family 搭配使用時，需要執行下列步驟：
+ **步驟 1. ** 取得分配給 Transfer Family 列使用者的 POSIX ID 清單。
+ **步驟 2.** 使用分配給 Transfer Family 使用者的 POSIX ID，確保 Transfer Family 使用者可以存取您的檔案系統目錄。
+ **步驟 3.** IAM 政策設定為允許存取 Transfer Family 使用的 IAM 角色。

### 設定 Transfer Family 使用者的檔案和目錄許可
<a name="efs-access-aws-transfer"></a>

請確定 Transfer Family 使用者可存取 EFS 檔案系統上所需的檔案和目錄。使用分配給 Transfer Family 使用者的 POSIX ID 清單，將存取許可指派給目錄。在此範例中，使用者會在 Amazon EFS 掛載點`transferFam`下建立名為 的目錄。根據您的使用情況，可選用建立目錄。如有需要，您可以在 EFS 檔案系統上選擇其名稱和位置。

**將檔案和目錄許可指派給 Transfer Family 的 POSIX 使用者**

1. 連線到您的 Amazon EC2 執行個體。只有運行以 Linux 為基礎的 EC2 執行個體，才能掛載 Amazon EFS 文件系統。

1. 如果 EFS 檔案系統尚未掛載在 EC2 執行個體上，請掛載 EFS 檔案系統。如需詳細資訊，請參閱[掛載 EFS 檔案系統](mounting-fs.md)。

1. 下列範例會在 EFS 檔案系統上建立目錄，並將其群組變更為 Transfer Family 使用者的 POSIX 群組 ID，在此範例中 ID 為 1101。

   1. 使用下列命令，建立 `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
      ```

   1. 使用下列命令，將 `efs/transferFam` 的群組變更為指派給 Transfer Family 使用者的 POSIX GID。

      ```
      [ec2-user@ip-192-0-2-0 ~]$ sudo chown :1101 efs/transferFam/
      ```

   1. 確認變更。

      ```
      [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 角色
<a name="configure-iam-transfer-role"></a>

在 Transfer Family 中，您可以建立以資源為基礎的 IAM 政策和 IAM 角色，以定義使用者對 EFS 檔案系統的存取權。如需詳細資訊，請參閱《AWS Transfer Family 使用者指南》**中的[建立 IAM 角色和政策](https://docs.aws.amazon.com/transfer/latest/userguide/requirements-roles.html)。您必須使用 IAM 身分政策或檔案系統政策授予該 Transfer Family IAM 角色對 EFS 檔案系統的存取權。

下列檔案系統政策範例，即授予 `ClientMount` (讀取) 和 `ClientWrite` 對 IAM 角色 `EFS-role-for-transfer` 的存取權。

------
#### [ JSON ]

****  

```
{
    "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"
            ],
            "Resource": "arn:aws:elasticfilesystem:us-east-1:111122223333:file-system/*"
        }
    ]
}
```

------

如需建立檔案系統政策的詳細資訊，請參閱 [建立檔案系統政策](create-file-system-policy.md)。如需使用以身分爲基礎的 IAM 政策來管理對 EFS 資源存取權的詳細資訊，請參閱 [Amazon EFS 身分型政策](security_iam_service-with-iam.md#security_iam_service-with-iam-id-based-policies)。

### 設定 Transfer Family 的跨帳户存取權
<a name="efs-cross-acct-access-transfer"></a>

如果用於存取檔案系統的 Transfer Family 伺服器屬於不同的伺服器 AWS 帳戶，您必須授予該帳戶存取您的檔案系統的權限。此外，您的檔案系統政策必須是非公開狀態。如需封鎖對檔案系統的公開存取的詳細資訊，請參閱 [封鎖對 EFS 檔案系統的公開存取](access-control-block-public-access.md)。

您可以在檔案系統政策中授予對檔案系統的不同 AWS 帳戶 存取權。在 Amazon EFS 主控台中，使用**檔案系統政策編輯器**的**授予其他許可**區段，指定您要授予的檔案系統存取 AWS 帳戶 層級。如需建立或編輯檔案系統政策的詳細資訊，請參閱 [建立檔案系統政策](create-file-system-policy.md)。

您可以使用帳戶 ID 或帳戶 Amazon Resource Name (ARN) 來指定帳戶。如需關於 ARN 的詳細資訊，請參閱《IAM 使用者指南》**中的[ IAM ARN](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns)。

下列範例是非公用檔案系統政策，該政策將授予檔案系統跨帳户存取權。該政策有下列兩種陳述式：

1. 第一種陳述式為 `NFS-client-read-write-via-fsmt`，即使用檔案系統掛載目標將讀取、寫入和根權限授予存取檔案系統的 NFS 用戶端。

1. 第二個陳述式 僅`Grant-cross-account-access`授予讀取和寫入權限給 AWS 帳戶 111122223333，這是擁有 Transfer Family 伺服器的帳戶，該伺服器需要存取您帳戶中的此 EFS 檔案系統。

```
{    
    "Statement": [
        {
            "Sid": "NFS-client-read-write-via-fsmt",
            "Effect": "Allow",
            "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",
            "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"
            ]
        }
    ]
}
```