本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWS Transfer Family 伺服器端點入門
使用此教學課程來開始使用 AWS Transfer Family (Transfer 系列)。您將了解如何使用 Amazon S3 儲存體建立具有可公開存取端點的已啟用 SFTP 的伺服器、使用服務受管身分驗證新增使用者,以及使用 Cyberduck 傳輸檔案。
先決條件
開始之前,請務必完成 中的要求先決條件。在此設定中,您會建立 Amazon Simple Storage Service (Amazon S3) 儲存貯體和 AWS Identity and Access Management (IAM) 使用者角色。
使用 AWS Transfer Family 主控台需要許可,而設定 Transfer Family AWS 使用的其他服務需要許可,例如 Amazon Simple Storage Service AWS Certificate Manager、Amazon Elastic File System 和 Amazon Route 53。例如,對於 AWS 使用 Transfer Family 傳入和傳出檔案的使用者,AmazonS3FullAccess 會授予設定和使用 Amazon S3 儲存貯體的許可。建立 Amazon S3 儲存貯體需要此政策中的一些許可。
若要使用 Transfer Family 主控台,您需要下列項目:
-
AWSTransferConsoleFullAccess 會授予 SFTP 使用者建立 Transfer Family 資源的許可。
-
只有在您希望 Transfer Family 在 Amazon CloudWatch Logs 中自動為伺服器建立記錄角色,或為登入伺服器的使用者角色時,才需要 IAMFullAccess (或特別是允許建立 IAM 角色的政策)。
-
若要建立和刪除 VPC 伺服器類型,您需要將動作 ec2:CreateVpcEndpoint 和 ec2:DeleteVpcEndpoints 新增至您的政策。如需基於安全考量限制 VPC 端點存取的資訊,請參閱 限制 Transfer Family 伺服器的 VPC 端點存取。
注意
AmazonS3FullAccess 和 IAMFullAccess 政策本身不需要用於 的一般用途 AWS Transfer Family。此處顯示這些項目的簡單方式,可確保涵蓋您需要的所有許可。此外,這些是 AWS 受管政策,這是可供所有 AWS 客戶使用的標準政策。您可以檢視這些政策中的個別許可,並判斷用於您用途所需的最小集合。
步驟 1:登入 AWS Transfer Family 主控台
登入 Transfer Family
-
登入 AWS 管理主控台 ,並在 https://https://console.aws.amazon.com/transfer/
開啟 AWS Transfer Family 主控台。 -
針對帳戶 ID 或別名,輸入您 的 ID AWS 帳戶。
-
針對 IAM 使用者名稱,輸入您為 Transfer Family 建立的使用者角色名稱。
-
針對密碼,輸入 AWS 您的帳戶密碼。
-
選擇登入。
步驟 2:建立啟用 SFTP 的伺服器
Secure Shell (SSH) 檔案傳輸通訊協定 (SFTP) 是一種網路通訊協定,用於透過網際網路安全地傳輸資料。通訊協定支援 SSH 的完整安全性和身分驗證功能。它廣泛用於交換資料,包括金融服務、醫療保健、零售和廣告等各種產業的業務合作夥伴之間的敏感資訊。
建立啟用 SFTP 的伺服器
-
從導覽窗格中選取伺服器,然後選擇建立伺服器。
-
在選擇通訊協定中,選取 SFTP,然後選擇下一步。
-
在選擇身分提供者中,選擇受管服務以在 Transfer Family 中存放使用者身分和金鑰,然後選擇下一步。
-
在選擇端點中,執行下列動作:
-
針對端點類型,選擇可公開存取的端點類型。
-
針對自訂主機名稱,選擇無。
-
選擇下一步。
-
-
在選擇網域中,選擇 Amazon S3。
-
在設定其他詳細資訊中,針對密碼編譯演算法選項,選擇安全政策,其中包含啟用供伺服器使用的密碼編譯演算法。我們最新的安全政策是預設值:如需詳細資訊,請參閱 AWS Transfer Family 伺服器的安全政策。
注意
只有在您為伺服器新增受管工作流程時,才選擇為 CloudWatch 記錄建立新角色。 CloudWatch 若要記錄伺服器事件,您不需要建立 IAM 角色。
-
在檢閱和建立中,選擇建立伺服器。系統會將您導向伺服器頁面。
在新伺服器的狀態變更為線上之前,可能需要幾分鐘的時間。此時,您的伺服器可以執行檔案操作,但您必須先建立使用者。如需建立使用者的詳細資訊,請參閱 管理伺服器端點的使用者。
步驟 3:新增服務受管使用者
將使用者新增至啟用 SFTP 的伺服器
-
在伺服器頁面上,選取要新增使用者的伺服器。
-
選擇新增使用者。
-
在使用者組態區段中,針對使用者名稱輸入使用者名稱。此使用者名稱必須至少為 3 個字元,最多為 100 個字元。您可以在使用者名稱中使用下列字元:a–z、A-Z、0–9、底線 '_'、連字號 '-'、句點 '.' 和符號 '@'。使用者名稱開頭不能是連字號 '-'、句點 '.' 或符號 '@'。
-
針對 Access,選擇您在 中建立的 IAM 角色建立 IAM 角色和政策。此 IAM 角色包含 IAM 政策,其中包含存取 Amazon S3 儲存貯體的許可,以及與服務的信任關係 AWS Transfer Family 。中概述的程序建立信任關係說明如何建立適當的信任關係。
-
針對政策,選擇無。
-
針對主目錄,選擇您要用來存放所傳輸資料的 Amazon S3 儲存貯體 AWS Transfer Family。輸入
home目錄的路徑。這是您的使用者使用用戶端登入時看到的目錄。我們建議您使用包含使用者名稱的目錄路徑,以便您可以選擇使用工作階段政策。工作階段政策會將 Amazon S3 儲存貯體中的使用者存取權限制在該使用者的
home目錄。如需使用工作階段政策的詳細資訊,請參閱 工作階段政策的運作方式。如果您願意,可以將此參數保留空白,以使用 Amazon S3 儲存貯體的
root目錄。如果您選擇此選項,請確定您的 IAM 角色提供目錄的root存取權。 -
選取限制核取方塊,以防止您的使用者存取其
home目錄外的任何內容。這也可防止使用者看到 Amazon S3 儲存貯體名稱或資料夾名稱。 -
針對 SSH 公有金鑰,以
ssh-rsa格式輸入 SSH 金鑰對的公有 SSH 金鑰部分。<string>您的金鑰必須由 服務驗證,才能新增您的新使用者。如需如何產生 SSH 金鑰對的詳細資訊,請參閱 為服務受管使用者產生 SSH 金鑰。
-
(選用) 針對索引鍵和值,輸入一或多個標籤做為索引鍵/值對,然後選擇新增標籤。
-
選擇 Add (新增) 將新使用者新增至您選擇的伺服器。
新使用者會出現在伺服器詳細資訊頁面的使用者區段中。
步驟 4:使用用戶端傳輸檔案
您可以在用戶端中指定傳輸操作,透過 AWS Transfer Family 服務傳輸檔案。 AWS Transfer Family 支援多個用戶端。如需詳細資訊,請參閱使用用戶端透過伺服器端點傳輸檔案
本節包含使用 Cyberduck 和 OpenSSH 的程序。
使用 Cyberduck
AWS Transfer Family 使用 Cyberduck 傳輸檔案
-
開啟 Cyberduck
用戶端。 -
選擇開啟連線。
-
在開啟連線對話方塊中,選擇 SFTP (SSH 檔案傳輸通訊協定)。
-
在伺服器中,輸入您的伺服器端點。伺服器端點位於伺服器詳細資訊頁面上,請參閱 檢視 SFTP、FTPS 和 FTP 伺服器詳細資訊。
-
對於連接埠號碼,輸入
22表示 SFTP。 -
針對 Username (使用者名稱),輸入您在管理伺服器端點的使用者中建立的使用者名稱。
-
針對 SSH 私有金鑰,選擇或輸入 SSH 私有金鑰。
-
選擇連線。
-
執行檔案傳輸。
根據檔案所在位置,執行以下其中一項:
-
在本機目錄 (來源) 中,選擇您要傳輸的檔案,然後將它們拖放到 Amazon S3 目錄 (目標)。
-
在 Amazon S3 目錄 (來源) 中,選擇您要傳輸的檔案,然後將它們拖放到您的本機目錄 (目標)。
-
使用 OpenSSH
使用下列說明使用 OpenSSH 從命令列傳輸檔案。
注意
此用戶端僅適用於啟用 SFTP 的伺服器。
AWS Transfer Family 使用 OpenSSH 命令列公用程式傳輸檔案
-
在 Linux 或 Macintosh 上,開啟命令終端機。
-
在提示中,輸入下列命令:
% sftp -i transfer-key sftp_user@service_endpoint在上述命令中,
sftp_user是使用者名稱,而transfer-key是 SSH 私有金鑰。此處service_endpoint是伺服器端點,如所選伺服器的 AWS Transfer Family 主控台所示。應會出現
sftp提示。 -
(選用) 若要檢視使用者的主目錄,請在
sftp提示中輸入下列命令:sftp> pwd -
在下一行中,輸入下列文字:
sftp> cd /amzn-s3-demo-bucket/home/sftp_user在此入門練習中,此 Amazon S3 儲存貯體是檔案傳輸的目標。
-
在下一行中,輸入下列命令:
sftp> put filename.txtput命令會將檔案傳輸至 Amazon S3 儲存貯體。即會顯示類似下面的訊息,指出正在傳輸檔案或已完成。
Uploading filename.txt to /amzn-s3-demo-bucket/home/sftp_user/filename.txtsome-file.txt 100% 127 0.1KB/s 00:00