TestIdentityProvider - Amazon Transfer Family
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

TestIdentityProvider

如果IdentityProviderType启用文件传输协议的服务器的AWS_DIRECTORY_SERVICE或者API_Gateway,测试您的身份提供商是否已成功设置。我们强烈建议您在创建服务器后立即调用此操作来测试您的身份验证方法。通过这样做,您可以排除身份提供商集成的问题,以确保您的用户可以成功地使用该服务。

ServerIdUserName 参数是必需的。这些区域有:ServerProtocolSourceIp, 和UserPassword均为可选项。

注意

您无法使用TestIdentityProvider如果IdentityProviderType服务器的SERVICE_MANAGED.

  • 如果为任何参数提供了任何不正确的值,Response字段为空。

  • 如果为使用服务托管用户的服务器提供服务器 ID,则会出现以下错误:

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

  • 如果输入服务器 ID--server-id参数不标识实际传输服务器时,您会收到以下错误:

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

请求语法

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

请求参数

有关所有操作通用的参数的信息,请参阅常见参数.

请求接受采用 JSON 格式的以下数据。

ServerId

特定服务器的系统分配的标识符。服务器的用户身份验证方法使用用户名和密码进行测试。

类型: 字符串

长度约束:固定长度为 19。

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

:必需 是

ServerProtocol

要测试的文件传输协议的类型。

可用的协议包括:

  • Secure Shell (SSH) 文件传输协议 (SFTP)

  • 文件传输协议安全 (FTPS)

  • 文件传输协议 (FTP)

类型: 字符串

有效值: SFTP | FTP | FTPS

:必需 否

SourceIp

要测试的用户帐户的源 IP 地址。

类型: 字符串

长度约束:长度上限为 32。

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

:必需 否

UserName

要测试的用户帐户的名称。

类型: 字符串

长度约束:最小长度为 3。长度上限为 100。

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

:必需 是

用户密码

要测试的用户帐户的密码。

类型: 字符串

长度约束:长度上限为 1024。

:必需 否

响应语法

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

响应元素

如果此操作成功,则该服务将会发送回 HTTP 200 响应。

服务以 JSON 格式返回的以下数据。

Message

指示测试是否成功的消息。

类型: 字符串

响应

从您的 API Gateway 返回的响应。

类型: 字符串

StatusCode

HTTP 状态代码,它是来自您的 API Gateway 的响应。

类型: 整数

Url

用于验证用户身份的服务的终端节点。

类型: 字符串

长度约束:长度上限为 255。

Errors

有关所有操作常见的错误的信息,请参阅常见错误.

InternalServiceError

在出现错误时,会引发此异常。AmazonTTransfer Family

HTTP 状态代码:500

InvalidRequestException

在客户端提交格式错误的请求时,会引发此异常。

HTTP 状态代码:400

ResourceNotFoundException

在资源找不到时,会引发此异常。AmazonTTransfer Family

HTTP 状态代码:400

ServiceUnavailableException

请求失败,因为Amazon酒店不提供 Transfer Family 服务。

HTTP 状态代码:500

Examples

Example

以下请求返回来自身份提供商的消息,指出用户名和密码组合是一个有效的标识,可用于AmazonTransfer Family。

示例请求

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

Example

以下响应显示测试成功的示例响应。

示例响应

"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": ""

Example

以下响应指示指定用户属于多个具有访问权限的组。

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

Example

如果您已经使用 API Gateway 创建并配置了自定义身份提供程序,则可以输入以下命令来测试用户:

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

其中S-0123456789 阿卜杜克是您的传输服务器,我的用户是您的自定义用户的用户名。

如果命令成功,则响应的形式与以下内容类似::

  • Amazon账户 ID 是012345678901

  • 用户角色是用户角色-API 网关

  • 主目录为我的用户桶

  • 公有密钥是公有密钥

  • 调用 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 的更多信息。Amazon开发工具包,请参阅以下: