UpdateServer - AWS Transfer Family

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

UpdateServer

在建立伺服器之後,更新已啟用檔案傳輸通訊協定的伺服器內容。

UpdateServer叫會傳回您更新ServerId的伺服器。

請求語法

{ "Certificate": "string", "EndpointDetails": { "AddressAllocationIds": [ "string" ], "SecurityGroupIds": [ "string" ], "SubnetIds": [ "string" ], "VpcEndpointId": "string", "VpcId": "string" }, "EndpointType": "string", "HostKey": "string", "IdentityProviderDetails": { "DirectoryId": "string", "Function": "string", "InvocationRole": "string", "SftpAuthenticationMethods": "string", "Url": "string" }, "LoggingRole": "string", "PostAuthenticationLoginBanner": "string", "PreAuthenticationLoginBanner": "string", "ProtocolDetails": { "As2Transports": [ "string" ], "PassiveIp": "string", "SetStatOption": "string", "TlsSessionResumptionMode": "string" }, "Protocols": [ "string" ], "S3StorageOptions": { "DirectoryListingOptimization": "string" }, "SecurityPolicyName": "string", "ServerId": "string", "StructuredLogDestinations": [ "string" ], "WorkflowDetails": { "OnPartialUpload": [ { "ExecutionRole": "string", "WorkflowId": "string" } ], "OnUpload": [ { "ExecutionRole": "string", "WorkflowId": "string" } ] } }

請求參數

如需所有動作的一般參數資訊,請參閱《Common Parameters》。

請求接受採用 JSON 格式的下列資料。

Certificate

Certificate Manager (ACM) AWS憑證的 Amazon 資源名稱 (ARN)。當 Protocols 設定為 FTPS 時,此為必要項目。

若要要求新的公用憑證,請參閱 Certificate Manager 使用指南中的要求公用 AWS憑證

若要將現有憑證匯入 ACM,請參閱《Certificate Manager 使用指南》中的〈將憑 AWS證匯入 ACM〉。

若要要求私有憑證以透過私有 IP 位址使用 FTPS,請參閱 Certificate Manager 使用者指南中的要求私有 AWS憑證

支援具有下列密碼編譯演算法和金鑰大小的憑證:

  • 2048 位元 RSA (RSA_2048)

  • 4096 位元 RSA (RSA_4096)

  • 橢圓定焦曲線 256 位元 (EC_prime256v1)

  • 橢圓定焦曲線 384 位元 (EC_secp384r1)

  • 橢圓定焦曲線 521 位元 (EC_secp521r1)

注意

憑證必須是有效的 SSL/TLS X.509 版本 3 憑證,並具備 FQDN 或 IP 位址,以及簽發者的相關資訊。

類型:字串

長度限制:長度下限為 0。長度上限為 1600。

必要:否

EndpointDetails

為伺服器設定的 Virtual Private Cloud (VPC) 端點設定。當您將端點託管於 VPC 時,您可以限定只有 VPC 內的資源才可存取端點,或連接彈性 IP 地址以開放給網際網路上的用戶端存取端點。VPC 的預設安全群組會自動指派給端點。

類型:EndpointDetails 物件

必要:否

EndpointType

您希望您伺服器使用的端點類型。您可以選擇將伺服器的端點設為可公開存取 (PUBLIC),或在 VPC 中託管。若為 VPC 中託管的端點,您可以限制只能存取 VPC 中的伺服器和資源,或直接連接彈性 IP 地址,讓其面向網際網路。

注意

2021 年 5 月 19 日之後,如果您的 AWS帳戶EndpointType=VPC_ENDPOINT在 2021 年 5 月 19 日之前尚未使用,您將無法使用您的帳戶建立伺服器。如果您在 2021 年 5 月 19 日或之前已經EndpointType=VPC_ENDPOINT在您的 AWS帳戶中創建了服務器,則不會受到影響。在此日期之後,使用 EndpointType = VPC

如需詳細資訊,請參閱 停止使用 VPC_ 端點

建議使用 VPC 作為 EndpointType。使用此端點類型時,您可以選擇直接將最多三個彈性 IPv4 地址 (包括 BYO IP) 與伺服器的端點建立關聯,並使用 VPC 安全群組依用戶端的公用 IP 地址來限制流量。當 EndpointType 設為 VPC_ENDPOINT 時就無法如此。

類型:字串

有效值:PUBLIC | VPC | VPC_ENDPOINT

必要:否

HostKey

RSA、ECDSA 或 ED25519 私密金鑰,以用於啟用了 SFTP 的伺服器。如果您想要旋轉金鑰,或有一組使用不同演算法的作用中金鑰,您可以新增多個主機金鑰。

使用下列指令產生不含密碼的 RSA 2048 位元金鑰:

ssh-keygen -t rsa -b 2048 -N "" -m PEM -f my-new-server-key.

-b選項使用最小值 2048。您可以使用 3072 或 4096 來建立更強大的金鑰。

使用下列指令產生不含複雜密碼的 ECDSA 256 位元金鑰:

ssh-keygen -t ecdsa -b 256 -N "" -m PEM -f my-new-server-key.

ECDSA -b 選項的有效值為 256、384 和 521。

使用下列指令來產生不含密碼的 ED25519 金鑰:

ssh-keygen -t ed25519 -N "" -f my-new-server-key.

對於所有這些命令,您可以my-new-server-key用您選擇的字符串替換。

重要

如果您不打算將現有使用者從現有啟用 SFTP 的伺服器遷移到新伺服器,請不要更新主機金鑰。意外變更伺服器的主機金鑰可能造成破壞。

如需詳細資訊,請參閱《 AWS Transfer Family 使用指南》中的更新已啟用 SFTP 之伺服器的主機金鑰

類型:字串

長度限制:長度下限為 0。長度上限為 4096。

必要:否

IdentityProviderDetails

陣列,其中包含呼叫客戶驗證 API 方法所需的所有資訊。

類型:IdentityProviderDetails 物件

必要:否

LoggingRole

(IAM) 角色的 Amazon 資源名稱 AWS Identity and Access Management (ARN),可讓伺服器為 Amazon Amazon S3 或 Amazon EFSevts 開啟亞馬遜 CloudWatch 日誌記錄。設定後,您可以檢視 CloudWatch 記錄中的使用者活動。

類型:字串

長度限制:長度下限為 0。長度上限為 2048。

模式:(|arn:.*role/\S+)

必要:否

PostAuthenticationLoginBanner

指定使用者連線到伺服器時要顯示的字串。此字串會在使用者驗證後顯示。

注意

SFTP 通訊協定不支援驗證後顯示橫幅。

類型:字串

長度限制:長度下限為 0。長度上限為 4096。

模式:[\x09-\x0D\x20-\x7E]*

必要:否

PreAuthenticationLoginBanner

指定使用者連線到伺服器時要顯示的字串。此字串會在使用者驗證之前顯示。例如,下列橫幅會顯示有關使用系統的詳細資訊:

This system is for the use of authorized users only. Individuals using this computer system without authority, or in excess of their authority, are subject to having all of their activities on this system monitored and recorded by system personnel.

類型:字串

長度限制:長度下限為 0。長度上限為 4096。

模式:[\x09-\x0D\x20-\x7E]*

必要:否

ProtocolDetails

為伺服器設定的通訊協定設定。

  • 若要指出被動模式 (用於 FTP 和 FTPS 通訊協定),請使用 PassiveIp 參數。輸入單一點分四進制 IPv4 位址,例如防火牆、路由器或負載平衡器的外部 IP 地址。

  • 若要忽略在用戶端嘗試對您上傳至 Amazon S3 儲存貯體的檔案使用 SETSTAT 命令時所產生的錯誤,請使用 SetStatOption 參數。若要讓 AWS Transfer Family 伺服器忽略指SETSTAT令並上傳檔案而不需對 SFTP 用戶端進行任何變更,請將值設定為ENABLE_NO_OP。如果將SetStatOption參數設定為ENABLE_NO_OP,Transfer Family 會產生 Amazon CloudWatch 日誌的日誌項目,以便您可以判斷用戶端何時SETSTAT撥打電話。

  • 若要判斷 AWS Transfer Family 伺服器是否透過唯一的工作階段 ID 繼續最近交涉的工作階段,請使用參數TlsSessionResumptionMode

  • As2Transports 指出 AS2 訊息的傳輸方法。目前僅支援 HTTP。

類型:ProtocolDetails 物件

必要:否

Protocols

在您的檔案傳輸通訊協定用戶端可以連線到伺服器的端點上,指定檔案傳輸通訊協定或通訊協定。可用的通訊協定包括:

  • SFTP (安全殼層 (SSH) 檔案傳輸通訊協定):透過 SSH 傳輸檔案

  • FTPS (檔案傳輸通訊協定安全):使用 TLS 加密的檔案傳輸

  • FTP (檔案傳輸通訊協定):未加密的檔案傳輸

  • AS2(適用性聲明 2):用於傳輸結構化數據 business-to-business

注意
  • 如果您選取FTPS,您必須選擇儲存在 AWS Certificate Manager (ACM) 中的憑證,當用戶端透過 FTPS 連線至伺服器時,用來識別您的伺服器。

  • 如果 Protocol 包含 FTPFTPS,則 EndpointType 必須是 VPCIdentityProviderType 必須是 AWS_DIRECTORY_SERVICEAWS_LAMBDAAPI_GATEWAY

  • 如果 Protocol 包含 FTP,則無法與 AddressAllocationIds 建立關聯。

  • 如果 Protocol 僅設定為 SFTP,則 EndpointType 可以設定為 PUBLIC,且 IdentityProviderType 可以設定任何支援的識別類型:SERVICE_MANAGEDAWS_DIRECTORY_SERVICEAWS_LAMBDAAPI_GATEWAY

  • 如果 Protocol 包括 AS2,則 EndpointType 必須為 VPC,且網域必須為 Amazon S3。

類型:字串陣列

陣列成員:項目數下限為 1。最多 4 個項目數。

有效值:SFTP | FTP | FTPS | AS2

必要:否

S3StorageOptions

指定 Amazon S3 目錄的效能是否已最佳化。此選項根據預設為停用。

依預設,主目錄對應具有TYPEDIRECTORY. 如果啟用此選項,如FILE果您希望對應具有檔案目標,則需要明確地將設定為。HomeDirectoryMapEntry Type

類型:S3StorageOptions 物件

必要:否

SecurityPolicyName

指定伺服器的安全性原則名稱。

類型:字串

長度限制:長度下限為 0。長度上限為 100。

模式:Transfer[A-Za-z0-9]*SecurityPolicy-[A-Za-z0-9-]+

必要:否

ServerId

系統指派給「Transfer Family」使用者所指派之伺服器執行個體的唯一識別碼。

類型:字串

長度約束:固定長度為 19。

模式:s-([0-9a-f]{17})

必要:是

StructuredLogDestinations

指定要將伺服器記錄檔傳送至的記錄群組。

若要指定記錄群組,您必須提供現有記錄群組的 ARN。在此情況下,記錄群組的格式如下:

arn:aws:logs:region-name:amazon-account-id:log-group:log-group-name:*

例如:arn:aws:logs:us-east-1:111122223333:log-group:mytestgroup:*

如果您先前已為伺服器指定記錄群組,則可以在update-server呼叫中為此參數提供空白值,將其清除,並實際關閉結構化記錄。例如:

update-server --server-id s-1234567890abcdef0 --structured-log-destinations

類型:字串陣列

陣列成員:項目數下限為 0。項目數上限為 1。

長度限制︰長度下限為 20。長度上限為 1600。

模式:arn:\S+

必要:否

WorkflowDetails

指定要指派之工作流程的工作流程 ID,以及用於執行工作流程的執行角色。

除了完全上傳檔案時要執行的工作流程外,WorkflowDetails 亦可包含要在部分上傳時執行之工作流程的工作流程 ID (和執行角色)。當伺服器工作階段中斷連線,而檔案仍在上載時,就會發生部分上傳。

若要從伺服器中移除相關聯的工作流程,您可以提供空白 OnUpload 物件 (如以下範例所示)。

aws transfer update-server --server-id s-01234567890abcdef --workflow-details '{"OnUpload":[]}'

類型:WorkflowDetails 物件

必要:否

回應語法

{ "ServerId": "string" }

回應元素

如果動作成功,則服務傳回 HTTP 200 回應。

服務會傳回下列 JSON 格式的資料。

ServerId

系統指派給「Transfer Family」使用者所指定之伺服器的唯一識別碼。

類型:字串

長度約束:固定長度為 19。

模式:s-([0-9a-f]{17})

錯誤

如需所有動作常見錯誤的資訊,請參閱常見錯誤

AccessDeniedException

您沒有足夠存取權可執行此動作。

HTTP 狀態碼:400

ConflictException

當針對已啟用 VPC 作UpdateServer為端點類型的檔案傳輸通訊協定的伺服器呼叫,且伺服器不處於可用狀態時,會擲回此例外狀況。VpcEndpointID

HTTP 狀態碼:400

InternalServiceError

當在 AWS Transfer Family 服務中發生錯誤時,拋出此異常。

HTTP 狀態碼:500

InvalidRequestException

當客戶端提交格式錯誤的請求時,拋出此異常。

HTTP 狀態碼:400

ResourceExistsException

請求的資源不存在,或存在於為命令指定的區域以外的區域中。

HTTP 狀態碼:400

ResourceNotFoundException

當 AWS Transfer Family 服務找不到資源時,會擲回此例外狀況。

HTTP 狀態碼:400

ServiceUnavailableException

申請失敗,因為 AWS Transfer Family 服務不可用。

HTTP 狀態碼:500

ThrottlingException

由於請求調節,因此請求遭到拒絕。

HTTP 狀態碼:400

範例

範例

下列範例會更新伺服器的角色。

請求範例

{ "EndpointDetails": { "VpcEndpointId": "vpce-01234f056f3g13", "LoggingRole": "CloudWatchS3Events", "ServerId": "s-01234567890abcdef" } }

範例

下列範例會從伺服器移除任何關聯的工作流程。

請求範例

aws transfer update-server --server-id s-01234567890abcdef --workflow-details '{"OnUpload":[]}'

範例

這是此 API 呼叫的範例回應。

回應範例

{ "ServerId": "s-01234567890abcdef" }

另請參閱

如需在其中一個特定語言 AWS SDK 中使用此 API 的詳細資訊,請參閱下列內容: