本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
TestIdentityProvider
如果已啟用檔案傳輸通訊協定IdentityProviderType
之伺服器的 是 AWS_DIRECTORY_SERVICE
或 API_Gateway
, 會測試您的身分提供者是否已成功設定。強烈建議您在建立伺服器時立即呼叫此操作,以測試您的身分驗證方法。如此一來,您就可以對身分提供者整合的問題進行疑難排解,以確保使用者能夠成功使用 服務。
ServerId
和 UserName
是必要參數。ServerProtocol
、 SourceIp
和 UserPassword
皆為選用。
注意下列事項:
-
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,請參閱下列內容: