本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
TestIdentityProvider
如果启用IdentityProviderType
了文件传输协议的服务器的为AWS_DIRECTORY_SERVICE
或API_Gateway
,则测试您的身份提供商是否已成功设置。我们强烈建议您在创建服务器后立即调用此操作来测试您的身份验证方法。这样,您可以解决身份提供商集成问题,以确保您的用户可以成功使用该服务。
ServerId
和 UserName
参数是必需的。ServerProtocol
SourceIp
、和UserPassword
都是可选的。
TestIdentityProvider
如果您的服务器是IdentityProviderType
,则无法使用SERVICE_MANAGED
。
-
如果您为任何参数提供了任何不正确的值,则该
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
请求语法
{
"ServerId": "string
",
"ServerProtocol": "string
",
"SourceIp": "string
",
"UserName": "string
",
"UserPassword": "string
"
}
请求参数
有关由所有操作共享的参数的信息,请参阅Comon Parameters (常用参数)。
请求接受采用 JSON 格式的以下数据。
- ServerId
-
系统为特定服务器分配的标识符。使用用户名称和密码测试服务器的用户身份验证方法。
类型:字符串
长度限制:固定长度为 19。
模式:
^s-([0-9a-f]{17})$
必需:是
- ServerProtocol
-
要测试的文件传输协议的类型。
可用的协议包括:
-
安全外壳 (SSH) 文件传输协议 (SFTP)
-
安全文件传输协议 (FTPS)
-
文件传输协议 (FTP)
类型:字符串
有效值:
SFTP | FTP | FTPS | AS2
必需:否
-
- SourceIp
-
要测试的用户账户的源 IP 地址。
类型:字符串
长度限制:最大长度为 32。
模式:
^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$
必需:否
- UserName
-
要测试的用户账户的名称。
类型:字符串
长度限制:最小长度为 3。长度上限为 100。
模式:
^[\w][\w@.-]{2,99}$
必需:是
- UserPassword
-
要测试的用户账户的密码。
类型:字符串
长度约束:最大长度为 1024。
必需:否
响应语法
{
"Message": "string",
"Response": "string",
"StatusCode": number,
"Url": "string"
}
响应元素
如果此操作成功,则该服务将会发送回 HTTP 200 响应。
服务以 JSON 格式返回的以下数据。
- Message
-
一条指示测试是否成功的消息。
注意 如果返回空字符串,则最可能的原因是用户名或密码不正确导致身份验证失败。
类型:字符串
- Response
-
从您的 API Gateway 返回的响应。
类型:字符串
- StatusCode
-
HTTP 状态码,即来自您的 API Gateway 的响应。
类型:整数
- Url
-
用于对用户进行身份验证的服务端点。
类型:字符串
长度限制:最大长度为 255。
错误
有关所有操作常见错误的信息,请参阅常见错误。
- InternalServiceError
-
当 Transfer Family 服务中发生错误时,会Amazon引发此异常。
HTTP 状态代码:500
- InvalidRequestException
-
当客户端提交格式错误的请求时,会引发此异常。
HTTP 状态代码:400
- ResourceNotFoundException
-
当 Transfer Family 服务找不到资源时,会Amazon引发此异常。
HTTP 状态代码:400
- ServiceUnavailableException
-
由于 Transfer FamAmazon ily 服务不可用,请求失败。
HTTP 状态代码:500
示例
示例
以下请求返回来自身份提供商的消息,说明用户名和密码组合是可以使用的有效身份Amazon 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 是你的自定义用户的用户名。
如果命令成功,则您的响应的形式与下方类似,其中:
-
Amazon Web Services 账户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" }
另请参阅
有关在特定语言的 Amazon 软件开发工具包中使用此 API 的更多信息,请参阅以下内容: