本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
UpdateUser
将新属性分配给用户。您传递的参数会修改以下任何或所有内容:您指定的UserName
和ServerId
的主目录、角色和策略。
响应为更新后的用户返回ServerId
和UserName
。
在控制台中,您可以在创建或更新用户时选择 “受限”。这样可以确保用户无法访问其主目录之外的任何内容。配置此行为的编程方法是更新用户。将它们设置HomeDirectoryType
为LOGICAL
,并HomeDirectoryMappings
使用Entry
作为root (/
) 和Target
主目录来指定。
例如,如果用户的主目录是/test/admin-user
,则以下命令会更新用户,以便他们在控制台中的配置显示 Restricted 标志为选中。
aws transfer update-user --server-id <server-id> --user-name admin-user --home-directory-type LOGICAL --home-directory-mappings "[{\"Entry\":\"/\", \"Target\":\"/test/admin-user\"}]"
请求语法
{
"HomeDirectory": "string
",
"HomeDirectoryMappings": [
{
"Entry": "string
",
"Target": "string
",
"Type": "string
"
}
],
"HomeDirectoryType": "string
",
"Policy": "string
",
"PosixProfile": {
"Gid": number
,
"SecondaryGids": [ number
],
"Uid": number
},
"Role": "string
",
"ServerId": "string
",
"UserName": "string
"
}
请求参数
有关所有操作的通用参数的信息,请参阅通用参数。
该请求接受以下JSON格式的数据。
- HomeDirectory
-
用户使用客户端登录服务器时的登录目录(文件夹)。
HomeDirectory
示例为/bucket_name/home/mydirectory
。注意
HomeDirectory
参数仅在HomeDirectoryType
设置为PATH
时使用。类型:字符串
长度约束:最小长度为 0。最大长度为 1024。
模式:
(|/.*)
必需:否
- HomeDirectoryMappings
-
逻辑目录映射,用于指定哪些 Amazon S3 或 Amazon EFS 路径和密钥应该对您的用户可见,以及您希望如何让它们可见。您必须指定
Entry
和Target
对,其中Entry
显示路径是如何显示的,并且Target
是实际的 Amazon S3 或 Amazon EFS 路径。如果您只指定一个目标,则将按原样显示。您还必须确保您的 Amazon Identity and Access Management (IAM) 角色提供对中路径的访问权限Target
。只有当设置为时,才能设置HomeDirectoryType
此值LOGICAL。以下是
Entry
和Target
对的示例。[ { "Entry": "/directory1", "Target": "/bucket_name/home/mydirectory" } ]
在大多数情况下,您可以使用此值而不是会话策略将您的用户锁定到指定的主目录(“
chroot
”)。为此,您可以设置Entry
为 '/' 并设置Target
为 HomeDirectory参数值。以下是
chroot
的Entry
和Target
对示例。[ { "Entry": "/", "Target": "/bucket_name/home/mydirectory" } ]
类型:HomeDirectoryMapEntry 对象数组
数组成员:最少 1 个物品。最大数量为 50000 件物品。
必需:否
- HomeDirectoryType
-
您希望用户在登录服务器时,用户主目录的登录目录(文件夹)的类型。如果您将其设置为
PATH
,则用户将在其文件传输协议客户端中看到绝对的 Amazon S3 存储桶或 Amazon EFS 路径。如果将其设置为LOGICAL
,则需要在中提供映射,说明如何让用户看见 Amazon S3 或 Amazon EFS 路径。HomeDirectoryMappings
注意
如果
HomeDirectoryType
是LOGICAL
,则必须使用HomeDirectoryMappings
参数提供映射。另一方面,如果HomeDirectoryType
是PATH
,则使用HomeDirectory
参数提供绝对路径。您的模板中不能同时使用HomeDirectory
和HomeDirectoryMappings
。类型:字符串
有效值:
PATH | LOGICAL
必需:否
- Policy
-
适用于您的用户的会话策略,以便您可以跨多个用户使用相同的 Amazon Identity and Access Management (IAM) 角色。此策略将用户的访问权限缩小至 Amazon S3 存储桶的一部分。可在此策略中使用的变量包括
${Transfer:UserName}
、${Transfer:HomeDirectory}
和${Transfer:HomeBucket}
。注意
仅当
ServerId
域为 Amazon S3 时,此政策才适用。Amazon EFS 不使用会话策略。对于会话策略,将策略 Amazon Transfer Family 存储为 JSON blob,而不是策略的 Amazon 资源名称 (ARN)。您将策略另存为 JSON blob 并将其传递到
Policy
参数中。有关会话策略的示例,请参阅示例会话策略。
有关更多信息,请参阅AssumeRole《 Amazon 安全令牌服务API参考》。
类型:字符串
长度约束:最小长度为 0。最大长度为 2048。
必需:否
- PosixProfile
-
指定控制您的用户访问您的亚马逊弹性文件系统 (
Uid
AmazonGid
) 的完整POSIX身份,包括用户 ID IDs (SecondaryGids
)、群组 ID () 和任何次要群组 (EFS)。对文件系统中的文件和目录设置的POSIX权限决定了您的用户在将文件传入和传出您的 Amazon EFS 文件系统时获得的访问权限级别。类型:PosixProfile 对象
必需:否
- Role
-
() 角色的亚马逊资源名称 (ARN),用于控制您的用户对您的 Amazon S3 存储桶或亚马逊EFS文件系统的访问权限。 Amazon Identity and Access Management IAM附加到此角色的策略决定了在将文件传入和传出您的 Amazon S3 存储桶或 Amazon EFS 文件系统时,您希望向用户提供的访问权限级别。该IAM角色还应包含信任关系,允许服务器在为用户的转移请求提供服务时访问您的资源。
类型:字符串
长度约束:最小长度为 20。最大长度为 2048。
模式:
arn:.*role/\S+
必需:否
- ServerId
-
系统为分配给用户的 Transfer Family 服务器实例指定的唯一标识符。
类型:字符串
长度限制:固定长度为 19。
模式:
s-([0-9a-f]{17})
必需:是
- UserName
-
一个标识用户并与
ServerId
指定的服务器关联的唯一字符串。此用户名长度最少必须为 3 个字符,最多为 100 个字符。以下是有效的字符:a-z、A-Z、0-9、下划线“_”、连字符“-”、句点“.”和“@”符号。用户名不能以连字符、句点或 @ 符号开头。类型:字符串
长度约束:最小长度为 3。最大长度为 100。
模式:
[\w][\w@.-]{2,99}
必需:是
响应语法
{
"ServerId": "string",
"UserName": "string"
}
响应元素
如果操作成功,服务将发回 HTTP 200 响应。
以下数据由服务以JSON格式返回。
错误
有关所有操作的常见错误的信息,请参阅常见错误。
- InternalServiceError
-
当 Amazon Transfer Family 服务中发生错误时,会引发此异常。
HTTP状态码:500
- InvalidRequestException
-
当客户端提交格式错误的请求时,会引发此异常。
HTTP状态码:400
- ResourceNotFoundException
-
当 Transfer Family 服务找不到资源时,就会 Amazon引发此异常。
HTTP状态码:400
- ServiceUnavailableException
-
请求失败,因为 Trans Amazon fer Family 服务不可用。
HTTP状态码:500
- ThrottlingException
-
由于请求限制而导致请求被拒绝。
HTTP状态码:400
示例
示例
以下示例将更新一个 Transfer Family 用户。
示例请求
{
"HomeDirectory": "/bucket2/documentation",
"HomeDirectoryMappings": [
{
"Entry": "/directory1",
"Target": "/bucket_name/home/mydirectory"
}
],
"HomeDirectoryType:" "PATH",
"Role": "AssumeRole",
"ServerId": "s-01234567890abcdef",
"UserName": "my_user"
}
示例
这是此次API呼叫的示例响应。
示例响应
{
"ServerId": "s-01234567890abcdef",
"UserName": "my_user"
}
另请参阅
有关API在一种特定语言中使用此功能的更多信息 Amazon SDKs,请参阅以下内容: