設定和使用 SFTP 連接器 - AWS Transfer Family

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

設定和使用 SFTP 連接器

連接器的目的是在 AWS 儲存體與合作夥伴的 SFTP 伺服器之間建立關係。您可以將檔案從 Amazon S3 傳送至外部、合作夥伴擁有的目的地。您也可以使用 SFTP 連接器從合作夥伴的 SFTP 伺服器擷取檔案。

本教學課程說明如何設定具有服務受管和 VPC_LATTICE 輸出類型的 SFTP 連接器,然後在 Amazon S3 儲存體和 SFTP 伺服器之間傳輸檔案。

SFTP 連接器會從 擷取 SFTP 登入資料 AWS Secrets Manager ,以向遠端 SFTP 伺服器進行身分驗證並建立連線。連接器會將檔案傳送至遠端伺服器或從遠端伺服器擷取檔案,並將檔案存放在 Amazon S3 中。您可以選擇服務受管輸出 (使用 AWS 受管基礎設施) 或 VPC 輸出 (使用跨 VPC 資源存取透過 VPC 路由)。IAM 角色用於允許存取 Amazon S3 儲存貯體和存放在 Secrets Manager 中的登入資料。您也可以登入 Amazon CloudWatch。

SFTP 連接器如何與 Secrets Manager、Amazon S3、CloudWatch 日誌、IAM 角色和遠端 SFTP 伺服器互動的架構圖。

下列部落格文章提供使用 SFTP 連接器建置 MFT 工作流程的參考架構,包括在使用 SFTP 連接器將檔案傳送到遠端 SFTP 伺服器之前,先使用 PGP 加密檔案:使用 AWS Transfer Family SFTP 連接器和 PGP 加密來建構安全且合規的受管檔案傳輸。

連接器輸出類型

SFTP 連接器支援兩種輸出類型,可決定連接器將流量路由到遠端 SFTP 伺服器的方式:

  • SERVICE_MANAGED (預設):將 AWS Transfer Family 受管基礎設施與靜態 IP 地址用於傳出連線。

  • VPC:使用跨 VPC 資源存取透過 VPC 路由流量,啟用私有端點連線和使用您自己的 NAT 閘道。

本教學課程涵蓋這兩種輸出類型。當您需要以下項目時,請選擇 VPC 輸出類型:

  • 連線至 VPC 中的私有 SFTP 伺服器 (私有 IP 地址)

  • 透過 Direct Connect 或 VPN 連線至內部部署 SFTP 伺服器

  • 透過 VPC 路由公有端點流量以進行安全控制

  • 將您自己的彈性 IP 地址用於傳出連線

步驟 1:建立必要的支援資源

您可以使用 SFTP 連接器在 Amazon S3 和任何遠端 SFTP 伺服器之間複製檔案。在本教學課程中,我們使用 AWS Transfer Family 伺服器做為遠端 SFTP 伺服器。我們需要建立和設定下列資源:

對於 VPC 輸出類型連接器,您也需要:

建立 Amazon S3 儲存貯體

建立 Amazon S3 儲存貯體
  1. 在 https://https://console.aws.amazon.com/s3/ 登入 AWS Transfer Family 主控台。

  2. 選擇區域並輸入名稱。

    在本教學課程中,我們的儲存貯體位於 US East (N. Virginia) us-east-1,名稱為 sftp-server-storage-east

  3. 接受預設值,然後選擇建立儲存貯體。

如需建立 Amazon S3 儲存貯體的完整詳細資訊,請參閱《Amazon Simple Storage Service 使用者指南》中的如何建立 S3 儲存貯體?

建立具有必要許可的 IAM 角色

針對存取角色,建立具有下列許可的政策。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowListingOfUserFolder", "Action": [ "s3:ListBucket", "s3:GetBucketLocation" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket" ] }, { "Sid": "HomeDirObjectAccess", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObject", "s3:DeleteObjectVersion", "s3:GetObjectVersion", "s3:GetObjectACL", "s3:PutObjectACL" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*" }, { "Sid": "GetConnectorSecretValue", "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": "arn:aws:secretsmanager:us-west-2:111122223333:secret:aws/transfer/SecretName-6RandomCharacters" } ] }

取代項目,如下所示:

  • 對於 amzn-s3-demo-bucket,教學課程使用 sftp-server-storage-east

  • 對於區域,教學課程使用 us-east-1

  • 對於 account-id,請使用您的 AWS 帳戶 ID。

  • 對於 SecretName-6RandomCharacters,我們using sftp-connector1是名稱 (秘密會有自己的六個隨機字元)。

您也必須確保此角色包含信任關係,允許連接器在服務使用者的傳輸請求時存取您的資源。如需建立信任關係的詳細資訊,請參閱 建立信任關係

注意

若要查看我們用於教學課程的角色詳細資訊,請參閱 合併使用者和存取角色

在 中建立和存放秘密 AWS Secrets Manager

我們需要將秘密存放在 Secrets Manager 中,以存放 SFTP 連接器的使用者登入資料。您可以使用密碼、SSH 私有金鑰或兩者。針對教學課程,我們使用私有金鑰。

注意

當您將秘密存放在 Secrets Manager 時, AWS 帳戶 會產生費用。如需關於定價的資訊,請參閱AWS Secrets Manager 定價

開始存放秘密的程序之前,請擷取私有金鑰並將其格式化。私有金鑰必須對應至遠端 SFTP 伺服器上為使用者設定的公有金鑰。在我們的教學課程中,私有金鑰必須對應到為測試使用者儲存在用作遠端伺服器的 Transfer Family SFTP 伺服器上的公有金鑰。

若要執行此操作,請執行下列命令:

jq -sR . path-to-private-key-file

例如,如果您的私有金鑰檔案位於 中~/.ssh/sftp-testuser-privatekey,則命令如下。

jq -sR . ~/.ssh/sftp-testuser-privatekey

這會以正確的格式 (含內嵌換行字元) 將金鑰輸出至標準輸出。將此文字複製到某個位置,因為您需要在下列程序中貼上 (步驟 6)。

在 Secrets Manager 中存放 SFTP 連接器的使用者登入資料
  1. 登入 AWS 管理主控台 並在 https://https://console.aws.amazon.com/secretsmanager/ 開啟 AWS Secrets Manager 主控台。

  2. 在左側導覽窗格中,選擇秘密

  3. 秘密頁面上,選擇儲存新的秘密

  4. 選擇秘密類型頁面上,針對秘密類型,選擇其他類型的秘密

  5. 鍵/值對區段中,選擇鍵/值索引標籤。

    • 金鑰 — 輸入 Username

    • value — 輸入我們使用者的名稱 sftp-testuser

  6. 若要輸入金鑰,建議您使用純文字索引標籤。

    1. 選擇新增列,然後輸入 PrivateKey

    2. 選擇純文字索引標籤。欄位現在包含下列文字:

      {"Username":"sftp-testuser","PrivateKey":""}
    3. 在空白雙引號 ("") 之間,貼上私有金鑰的文字 (稍早儲存)。

      您的畫面應如下所示 (索引鍵資料呈現灰色)。

      純文字的秘密,顯示使用者名稱和私有金鑰。
  7. 選擇下一步

  8. 設定秘密頁面上,輸入秘密的名稱。在本教學課程中,我們將秘密命名為 aws/transfer/sftp-connector1

  9. 選擇下一步,然後在設定輪換頁面上接受預設值。然後選擇下一步

  10. 檢閱頁面上,選擇存放以建立和存放秘密。

建立資源閘道 (僅限 VPC 輸出類型)

對於 VPC 輸出類型連接器,您需要在 VPC 中建立資源閘道。資源閘道可做為跨 VPC 資源存取的進入點。

建立資源閘道
  1. 執行下列命令來建立資源閘道 (將 VPC ID 和子網路 IDs 取代為您的值):

    aws vpc-lattice create-resource-gateway \ --name my-sftp-resource-gateway \ --vpc-identifier vpc-12345678 \ --subnet-ids subnet-12345678 subnet-87654321
    注意

    資源閘道需要至少 2 個可用區域中的子網路。

  2. 請注意回應中的資源閘道 ID,以便在下一個步驟中使用。

建立資源組態 (僅限 VPC 輸出類型)

建立指向 SFTP 伺服器的資源組態。這可以是 VPC 中伺服器的私有 IP 地址,或外部伺服器的公有 DNS 名稱。如需資源組態的詳細資訊,請參閱《Amazon VPC Lattice 使用者指南》中的資源組態

建立資源組態
  1. 對於私有 SFTP 伺服器,請執行:

    aws vpc-lattice create-resource-configuration \ --name my-sftp-resource-config \ --port-ranges 22 \ --type SINGLE \ --resource-gateway-identifier rgw-12345678 \ --resource-configuration-definition ipResource={ipAddress="10.0.1.100"}
  2. 對於公有 SFTP 伺服器 (僅限 DNS 名稱),請執行:

    aws vpc-lattice create-resource-configuration \ --name my-public-sftp-resource-config \ --port-ranges 22 \ --type SINGLE \ --resource-gateway-identifier rgw-12345678 \ --resource-configuration-definition dnsResource={domainName="sftp.example.com"}
    注意

    公有端點必須使用 DNS 名稱,而不是 IP 地址。

  3. 建立連接器時,請注意來自 回應的資源組態 ARN。

步驟 2:建立和測試 SFTP 連接器

在本節中,我們會建立使用先前建立的所有資源的 SFTP 連接器。如需詳細資訊,請參閱建立 SFTP 連接器

建立 SFTP 連接器
  1. 在 https://https://console.aws.amazon.com/transfer/ 開啟 AWS Transfer Family 主控台。

  2. 在左側導覽窗格中,選擇 SFTP 連接器,然後選擇建立 SFTP 連接器

  3. 針對輸出類型,選擇下列其中一項:

    • 服務受管 (預設):將 AWS Transfer Family 受管基礎設施與靜態 IP 地址用於傳出連線。

    • VPC Lattice:使用跨 VPC 資源存取透過 VPC 路由流量。針對私有端點連線或使用您自己的 NAT 閘道,選擇此選項。

    重要

    您無法在建立連接器後變更輸出類型。請根據您的連線需求謹慎選擇。

  4. 連接器組態區段中,提供下列資訊:

    • 針對 URL,輸入遠端 SFTP 伺服器的 URL。在教學課程中,我們會輸入用作遠端 SFTP 伺服器的 Transfer Family 伺服器 URL。

      sftp://s-1111aaaa2222bbbb3.server.transfer.us-east-1.amazonaws.com

      以 Transfer Family 伺服器 ID 取代 1111aaaa2222bbbb3

    • 針對存取角色,輸入我們先前建立的角色 sftp-connector-role

    • 針對資源組態 ARN (僅限 VPC Lattice 輸出類型),輸入您先前建立的資源組態 ARN:

      arn:aws:vpc-lattice:us-east-1:account-id:resourceconfiguration/rcfg-12345678
    • 針對記錄角色,選擇在主體元素transfer.amazonaws.com中包含具有 之信任政策的角色。

      秘訣:除了將 Transfer Family 新增為信任的實體之外,您還可以將 AWSTransferLoggingAccess AWS 受管政策新增至角色。此政策會在 AWSTransferLoggingAccess 中詳細說明。

    Transfer 系列 SFTP 連接器主控台,顯示 連接器組態設定。
  5. SFTP 組態區段中,提供下列資訊:

    • 針對 Connector 登入資料,選擇包含 SFTP 登入資料之 Secrets Manager 資源的名稱。針對教學課程,選擇 aws/transfer/sftp-connector1

    • 對於信任的主機金鑰 ,請貼入主機金鑰的公有部分。您可以ssh-keyscan為 SFTP 伺服器執行 來擷取此金鑰。如需如何格式化和存放信任主機金鑰的詳細資訊,請參閱 SftpConnectorConfig資料類型文件。

    • 針對最大並行連線,選取從 1 到 5 的整數值:預設值為 5。

    Transfer 系列 SFTP 連接器主控台,顯示 SFTP 組態設定。
  6. 確認所有設定後,請選擇建立連接器以建立 SFTP 連接器。

您也可以使用 建立連接器 AWS Command Line Interface。

  • 若要使用服務管理的輸出建立 SFTP 連接器,請執行下列命令:

    aws transfer create-connector \ --url "sftp://s-1111aaaa2222bbbb3.server.transfer.us-east-1.amazonaws.com" \ --access-role "arn:aws::iam::account-id:role/sftp-connector-role" \ --sftp-config UserSecretId="aws/transfer/sftp-connector1",TrustedHostKeys="ssh-rsa AAAAB3NzaC..."
  • 若要使用 VPC 型輸出建立 SFTP 連接器,請執行下列命令:

    aws transfer create-connector \ --url "sftp://my.sftp.server.com:22" \ --access-role "arn:aws::iam::account-id:role/sftp-connector-role" \ --sftp-config UserSecretId="aws/transfer/sftp-connector1",TrustedHostKeys="ssh-rsa AAAAB3NzaC..." \ --egress-config VpcLattice={ResourceConfigurationArn="arn:aws:vpc-lattice:us-east-1:account-id:resourceconfiguration/rcfg-12345678",PortNumber=22}

建立 SFTP 連接器之後,建議您在嘗試使用新連接器傳輸任何檔案之前進行測試。

注意

對於 VPC 輸出類型連接器,DNS 解析可能需要幾分鐘才能建立。在此期間,連接器狀態將為 PENDINGTestConnection並將傳回「無法使用連接器」。在嘗試檔案傳輸ACTIVE之前,請等待狀態變成 。

Test a connector using the console
測試 SFTP 連接器
  1. 在 https://https://console.aws.amazon.com/transfer/ 開啟 AWS Transfer Family 主控台。

  2. 在左側導覽窗格中,選擇 SFTP 連接器,然後選取連接器。

  3. 動作功能表中,選擇測試連線

    Transfer Family 主控台,顯示選取的 SFTP 連接器,並反白顯示測試連線測試連線動作。

系統會傳回訊息,指出測試通過或失敗。如果測試失敗,系統會根據測試失敗的原因提供錯誤訊息。

SFTP 連接器測試連線面板,顯示成功的測試。
SFTP 連接器測試連線面板,顯示測試失敗:錯誤訊息指出連接器的存取角色不正確。
Test a connector using the CLI

若要使用 測試連接器 AWS Command Line Interface,請在命令提示字元中執行下列命令 (以實際連接器 ID 取代 連接器 ID):

aws transfer test-connection --connector-id c-connector-id

如果測試成功,則會傳回下列行:

{ "Status": "OK", "StatusMessage": "Connection succeeded" }

如果測試失敗,您會收到描述性錯誤訊息,例如:

{ "Status": "ERROR", "StatusMessage": "Unable to assume the configured access role" }

當您描述 VPC 輸出類型連接器時,回應會包含新欄位:

{ "Connector": { "AccessRole": "arn:aws:iam::219573224423:role/sftp-connector-role", "Arn": "arn:aws:transfer:us-east-1:219573224423:connector/c-5dfa309ccabf40759", "ConnectorId": "c-5dfa309ccabf40759", "Status": "ACTIVE", "EgressConfig": { "ResourceConfigurationArn": "arn:aws:vpc-lattice:us-east-1:025066256552:resourceconfiguration/rcfg-079259b27a357a190" }, "EgressType": "VPC", "ServiceManagedEgressIpAddresses": null, "SftpConfig": { "TrustedHostKeys": [ "ssh-rsa AAAAB3NzaC..." ], "UserSecretId": "aws/transfer/sftp-connector1" }, "Url": "sftp://my.sftp.server.com:22" } }

請注意,VPC 輸出類型連接器為 ServiceManagedEgressIpAddresses null,因為流量會透過您的 VPC 路由,而非 AWS 受管基礎設施。

步驟 3:使用 SFTP 連接器傳送和擷取檔案

為了簡化,我們假設您的 Amazon S3 儲存貯體中已有檔案。

注意

本教學課程同時針對來源和目的地儲存位置使用 Amazon S3 儲存貯體。如果您的 SFTP 伺服器不使用 Amazon S3 儲存體,則無論您在下列命令sftp-server-storage-east中看到何處,都可以將路徑取代為可從 SFTP 伺服器存取的檔案位置路徑。

  • 我們將名為 的檔案SEND-to-SERVER.txt從 Amazon S3 儲存傳送至 SFTP 伺服器。

  • 我們將名為 的檔案RETRIEVE-to-S3.txt從 SFTP 伺服器擷取到 Amazon S3 儲存體。

注意

在下列命令中,將 connector-id 取代為您的連接器 ID。

首先,我們會將檔案從 Amazon S3 儲存貯體傳送至遠端 SFTP 伺服器。從命令提示字元中,執行下列命令:

aws transfer start-file-transfer --connector-id c-connector-id --send-file-paths "/sftp-server-storage-east/SEND-to-SERVER.txt" / --remote-directory-path "/sftp-server-storage-east/incoming"

您的儲存sftp-server-storage-east貯體現在看起來應該像這樣。

具有新傳輸檔案的 SFTP 伺服器儲存貯體。

如果您未如預期看到檔案,請檢查您的 CloudWatch 日誌。

檢查您的 CloudWatch 日誌
  1. 在 https://https://console.aws.amazon.com/cloudwatch/ 開啟 Amazon CloudWatch 主控台

  2. 從左側導覽功能表中選取日誌群組

  3. 在搜尋列中輸入您的連接器 ID 以尋找您的日誌。

  4. 選取從搜尋傳回的日誌串流。

  5. 展開最新的日誌項目。

如果成功,日誌項目如下所示:

{ "operation": "SEND", "timestamp": "2023-12-18T15:26:57.346283Z", "connector-id": "connector-id", "transfer-id": "transfer-id", "file-transfer-id": "transfer-id/file-transfer-id", "url": "sftp://server-id.server.transfer.us-east-1.amazonaws.com", "file-path": "/sftp-server-storage-east/SEND-to-SERVER.txt", "status-code": "COMPLETED", "start-time": "2023-12-18T15:26:56.915864Z", "end-time": "2023-12-18T15:26:57.298122Z", "account-id": "account-id", "connector-arn": "arn:aws:transfer:us-east-1:account-id:connector/connector-id", "remote-directory-path": "/sftp-server-storage-east/incoming" }

如果檔案傳輸失敗,日誌項目會包含指定問題的錯誤訊息。錯誤的常見原因是 IAM 許可和不正確的檔案路徑發生問題。

接著,我們將檔案從 SFTP 伺服器擷取到 Amazon S3 儲存貯體。從命令提示字元中,執行下列命令:

aws transfer start-file-transfer --connector-id c-connector-id --retrieve-file-paths "/sftp-server-storage-east/RETRIEVE-to-S3.txt" --local-directory-path "/sftp-server-storage-east/incoming"

如果傳輸成功,Amazon S3 儲存貯體會包含傳輸的檔案,如下所示。

具有新傳輸檔案的 Amazon S3 儲存貯體。

如果成功,日誌項目如下所示:

{ "operation": "RETRIEVE", "timestamp": "2023-12-18T15:36:40.017800Z", "connector-id": "c-connector-id", "transfer-id": "transfer-id", "file-transfer-id": "transfer-id/file-transfer-id", "url": "sftp://s-server-id.server.transfer.us-east-1.amazonaws.com", "file-path": "/sftp-server-storage-east/RETRIEVE-to-S3.txt", "status-code": "COMPLETED", "start-time": "2023-12-18T15:36:39.727626Z", "end-time": "2023-12-18T15:36:39.895726Z", "account-id": "account-id", "connector-arn": "arn:aws:transfer:us-east-1:account-id:connector/c-connector-id", "local-directory-path": "/sftp-server-storage-east/incoming" }

故障診斷 VPC 輸出類型連接器

如果您遇到 VPC 輸出類型連接器的問題,請檢查下列項目:

  • 連接器狀態為待定:VPC 連接器的 DNS 解析可能需要幾分鐘的時間。等待狀態變成 ACTIVE,再嘗試連線。

  • 連線逾時:確認安全群組允許資源閘道子網路與目標 SFTP 伺服器之間的連接埠 22 流量。

  • 資源組態錯誤:確保您的資源組態指向正確的 IP 地址或 DNS 名稱,且資源閘道與您的 SFTP 伺服器位於相同的 VPC 中 (適用於私有端點)。如需詳細資訊,請參閱《Amazon VPC Lattice 使用者指南》中的資源組態

  • 公有端點問題:對於公有端點,請確定您在資源組態中使用 DNS 名稱,而不是 IP 地址。確認您的 VPC 具有用於傳出網際網路存取的 NAT 閘道。

  • 可用區域可用性:資源閘道需要至少 2 個可用區域中的子網路。並非所有 AZs 都支援 VPC Lattice - 檢查您區域中支援的 AZs。

VPC 輸出類型的成本考量:

  • VPC Lattice 以資源提供者的身分收取 0.006/GB 的資料處理費用 (直接由 VPC Lattice 計費)

  • AWS Transfer Family 會吸收每 GB 0.01 USD 的資源消費者成本 (前 1 PB)

  • 對於透過 VPC 的公有端點,可能會收取額外的 NAT Gateway 和資料傳輸費用

  • 除了標準 0.40 USD/GB 的資料處理費之外,沒有額外的 Transfer Family 費用

建立 Transfer Family 伺服器以用作遠端 SFTP 伺服器的程序

接下來,我們概述建立 Transfer Family 伺服器的步驟,該伺服器可做為本教學課程的遠端 SFTP 伺服器。注意下列事項:

  • 我們使用 Transfer Family 伺服器來代表遠端 SFTP 伺服器。典型的 SFTP 連接器使用者擁有自己的遠端 SFTP 伺服器。請參閱 建立 Transfer Family SFTP 伺服器和使用者

  • 由於我們使用 Transfer Family 伺服器,因此我們也使用服務管理的 SFTP 使用者。此外,為了簡化起見,我們結合此使用者存取 Transfer Family 伺服器所需的許可,以及他們使用我們的連接器所需的許可。同樣地,大多數 SFTP 連接器使用案例都有未與 Transfer Family 伺服器相關聯的個別 SFTP 使用者。請參閱 建立 Transfer Family SFTP 伺服器和使用者

  • 在本教學課程中,由於我們將 Amazon S3 儲存體用於遠端 SFTP 伺服器,因此我們需要建立第二個儲存貯體 sftp-server-storage-east,以便將檔案從一個儲存貯體傳輸到另一個儲存貯體。

建立 Transfer Family SFTP 伺服器和使用者

大多數使用者不需要建立 Transfer Family SFTP 伺服器和使用者,因為您已有 SFTP 伺服器與使用者,而且您可以使用此伺服器往返傳輸檔案。不過,為了簡化本教學課程,我們使用 Transfer Family 伺服器做為遠端 SFTP 伺服器。

遵循中所述的程序來建立啟用 SFTP 的伺服器建立伺服器,並步驟 3:新增服務受管使用者新增使用者。以下是我們用於教學課程的使用者詳細資訊:

  • 建立您的服務受管使用者 sftp-testuser

    • 將主目錄設定為 /sftp-server-storage-east/sftp-testuser

    • 建立使用者時,您會存放公有金鑰。稍後,當您在 Secrets Manager 中建立秘密時,您需要提供對應的私有金鑰。

  • 角色:sftp-connector-role。在本教學課程中,我們為 SFTP 使用者和存取 SFTP 連接器使用相同的 IAM 角色。當您為組織建立連接器時,您可能會有個別的使用者和存取角色。

  • 伺服器主機金鑰:您需要在建立連接器時使用伺服器主機金鑰。您可以ssh-keyscan為您的伺服器執行 來擷取此金鑰。例如,如果您的伺服器 ID 是 s-1111aaaa2222bbbb3,且其端點位於 ,us-east-1則下列命令會擷取伺服器主機金鑰:

    ssh-keyscan s-1111aaaa2222bbbb3.server.transfer.us-east-1.amazonaws.com

    將此文字複製到某個位置,因為您需要將它貼到步驟 2:建立和測試 SFTP 連接器程序中。

合併使用者和存取角色

針對教學課程,我們使用單一的合併角色。我們同時將此角色用於 SFTP 使用者,以及連接器的存取。下列範例包含此角色的詳細資訊,以防您想要在教學課程中執行任務。

下列範例授予必要的許可,以存取 Amazon S3 中的兩個儲存貯體,以及aws/transfer/sftp-connector1存放在 Secrets Manager 中的名為 的秘密。針對教學課程,此角色名為 sftp-connector-role

{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowListingOfUserFolder", "Action": [ "s3:ListBucket", "s3:GetBucketLocation" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::sftp-server-storage-east", "arn:aws:s3:::sftp-server-storage-east" ] }, { "Sid": "HomeDirObjectAccess", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObject", "s3:DeleteObjectVersion", "s3:GetObjectVersion", "s3:GetObjectACL", "s3:PutObjectACL" ], "Resource": [ "arn:aws:s3:::sftp-server-storage-east/*", "arn:aws:s3:::sftp-server-storage-east/*" ] }, { "Sid": "GetConnectorSecretValue", "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": "arn:aws:secretsmanager:us-east-1:111122223333:secret:aws/transfer/sftp-connector1-6RandomCharacters" } ] }

如需為 Transfer Family 建立角色的完整詳細資訊,請遵循中所述的程序建立使用者角色來建立角色。