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