TestIdentityProvider - AWS Transfer Family

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

TestIdentityProvider

如果已啟用檔案傳輸通訊協定IdentityProviderType之伺服器的 是 AWS_DIRECTORY_SERVICEAPI_Gateway, 會測試您的身分提供者是否已成功設定。強烈建議您在建立伺服器時立即呼叫此操作,以測試您的身分驗證方法。如此一來,您就可以對身分提供者整合的問題進行疑難排解,以確保使用者能夠成功使用 服務。

ServerIdUserName 是必要參數。ServerProtocolSourceIpUserPassword 皆為選用。

注意下列事項:

  • TestIdentityProvider 如果伺服器的 為 ,IdentityProviderType則無法使用 SERVICE_MANAGED

  • TestIdentityProvider 不適用於 金鑰:它只接受密碼。

  • TestIdentityProvider 可以測試處理金鑰和密碼的自訂身分提供者的密碼操作。

  • 如果您為任何參數提供任何不正確的值,則Response欄位為空白。

  • 如果您為使用服務受管使用者的伺服器提供伺服器 ID,您會收到錯誤:

    An error occurred (InvalidRequestException) when calling the TestIdentityProvider operation: s-server-ID not configured for external auth

  • 如果您為無法識別實際傳輸伺服器的--server-id參數輸入伺服器 ID,則會收到下列錯誤:

    An error occurred (ResourceNotFoundException) when calling the TestIdentityProvider operation: Unknown server.

    您的伺服器可能位於不同的區域。您可以新增下列項目來指定區域:--region region-code,例如--region us-east-2在美國東部 (俄亥俄) 指定伺服器。

請求語法

{ "ServerId": "string", "ServerProtocol": "string", "SourceIp": "string", "UserName": "string", "UserPassword": "string" }

請求參數

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

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

ServerId

特定伺服器的系統指派識別符。該伺服器的使用者身分驗證方法會使用使用者名稱和密碼進行測試。

類型:字串

長度限制條件:固定長度為 19。

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

必要:是

ServerProtocol

要測試的檔案傳輸通訊協定類型。

可用的通訊協定包括:

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

  • 檔案傳輸通訊協定安全 (FTPS)

  • 檔案傳輸通訊協定 (FTP)

  • 適用性聲明 2 (AS2)

類型:字串

有效值:SFTP | FTP | FTPS | AS2

必要:否

SourceIp

要測試之帳戶的來源 IP 地址。

類型:字串

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

模式:\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}

必要:否

UserName

要測試的帳戶名稱。

類型:字串

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

模式:[\w][\w@.-]{2,99}

必要:是

UserPassword

要測試的帳戶密碼。

類型:字串

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

必要:否

回應語法

{ "Message": "string", "Response": "string", "StatusCode": number, "Url": "string" }

回應元素

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

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

Message

指出測試是否成功的訊息。

注意

如果傳回空字串,最可能的原因是身分驗證因使用者名稱或密碼不正確而失敗。

類型:字串

Response

從 API Gateway 或 Lambda 函數傳回的回應。

類型:字串

StatusCode

來自 API Gateway 或 Lambda 函數的回應HTTP狀態碼。

類型:整數

Url

用於驗證使用者的 服務端點。

類型:字串

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

錯誤

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

InternalServiceError

當 AWS Transfer Family 服務發生錯誤時,就會擲回此例外狀況。

HTTP 狀態碼:500

InvalidRequestException

當用戶端提交格式不正確的請求時,就會擲回此例外狀況。

HTTP 狀態碼:400

ResourceNotFoundException

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

HTTP 狀態碼:400

ServiceUnavailableException

請求失敗,因為 AWS Transfer Family 服務無法使用。

HTTP 狀態碼:500

範例

範例

下列請求會傳回來自身分提供者的訊息,指出使用者名稱和密碼組合是可搭配 使用的有效身分 AWS Transfer Family。

請求範例

{ "ServerID": "s-01234567890abcdef", "UserName": "my_user", "UserPassword": "MyPassword-1" }

範例

下列回應顯示成功測試的範例回應。

回應範例

"Response":" {\"homeDirectory\":\"/mybucket001\",\"homeDirectoryDetails\":null,\"homeDirectoryType\":\"PATH\",\"posixProfile\":null, \"publicKeys\":\"[ssh-rsa-key]\",\"role\":\"arn:aws:iam::123456789012:role/my_role\",\"policy\":null,\"username\":\"transferuser002\", \"identityProviderType\":null,\"userConfigMessage\":null)"} "StatusCode": "200", "Message": ""

範例

下列回應表示指定的使用者屬於多個具有存取權的群組。

"Response":"", "StatusCode":200, "Message":"More than one associated access found for user's groups."

範例

如果您已使用 API Gateway 建立並設定自訂身分提供者,您可以輸入下列命令來測試您的使用者:

aws transfer test-identity-provider --server-id s-0123456789abcdefg --user-name myuser

其中 s-0123456789abcdefg 是您的傳輸伺服器,而 myuser 是自訂使用者的使用者名稱。

如果命令成功,您的回應類似於以下內容:

  • AWS 帳戶 ID 為 012345678901

  • 使用者角色是 user-role-api-gateway

  • 主目錄是 myuser-bucket

  • 公有金鑰是公有金鑰

  • 叫用URL是叫用-URL

{ "Response": "{\"Role\": \"arn:aws:iam::012345678901:role/user-role-api-gateway\",\"HomeDirectory\": \"/myuser-bucket\",\"PublicKeys\": \"[public-key]\"}", "StatusCode": 200, "Message": "", "Url": "https://invocation-URL/servers/s-0123456789abcdefg/users/myuser/config" }

另請參閱

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