UpdateUser - AWS Transfer Family

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

UpdateUser

將新屬性指派給使用者。您傳遞的參數會修改下列任何或所有項目: 和ServerId您指定的主目錄、角色UserName和政策。

回應會傳回UserName已更新使用者的 ServerId和 。

在主控台中,您可以在建立或更新使用者時選取限制。這可確保使用者無法存取主目錄以外的任何內容。設定此行為的程式設計方法是更新使用者。將 HomeDirectoryType設定為 LOGICAL,並使用 HomeDirectoryMappings Entry指定為根 (/) 和 Target作為其主目錄。

例如,如果使用者的主目錄是 /test/admin-user,則下列命令會更新使用者,以便其在主控台中的組態顯示選取的限制旗標。

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

請求參數

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

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

HomeDirectory

使用者使用其用戶端登入伺服器時的登陸目錄 (資料夾)。

HomeDirectory 範例為 /bucket_name/home/mydirectory

注意

只有在 HomeDirectoryType 設為 PATH 時才會使用 HomeDirectory 參數。

類型:字串

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

模式:(|/.*)

必要:否

HomeDirectoryMappings

邏輯目錄映射,可指定使用者應看到哪些 Amazon S3 或 Amazon EFS 路徑和金鑰,以及您希望如何使其可見。您必須指定 EntryTarget對,其中 Entry顯示如何顯示路徑,並且Target是實際的 Amazon S3 或 Amazon EFS 路徑。如果您只指定目標,則會顯示為原樣。您也必須確保 AWS Identity and Access Management (IAM) 角色提供對 中路徑的存取權Target。只有在 設定為 時,才能HomeDirectoryType設定此值LOGICAL

以下是 EntryTarget對範例。

[ { "Entry": "/directory1", "Target": "/bucket_name/home/mydirectory" } ]

在大多數情況下,您可以使用此值來取代工作階段政策,將使用者鎖定到指定的主目錄 ("chroot")。若要執行此操作,您可以將 Entry設定為 '/' 並Target設定為 HomeDirectory 參數值。

以下是 的 EntryTarget對範例chroot

[ { "Entry": "/", "Target": "/bucket_name/home/mydirectory" } ]

類型:HomeDirectoryMapEntry 物件陣列

陣列成員:項目數下限為 1。最多 50000 個項目。

必要:否

HomeDirectoryType

使用者登入伺服器時,您希望的使用者主目錄之登陸目錄 (資料夾) 類型。如果您將其設定為 PATH,則使用者會看到絕對 Amazon S3 儲存貯體或 Amazon EFS 路徑,就像在其檔案傳輸通訊協定用戶端一樣。如果您將其設定為 LOGICAL,則需要在 中提供映射,HomeDirectoryMappings以了解如何讓使用者看見 Amazon S3 或 Amazon EFS 路徑。

注意

如果 HomeDirectoryTypeLOGICAL,您必須使用 HomeDirectoryMappings 參數提供映射。另一方面,如果 HomeDirectoryTypePATH,則您使用 HomeDirectory 參數提供絕對路徑。您無法在範本HomeDirectoryMappings中同時擁有 HomeDirectory和 。

類型:字串

有效值:PATH | LOGICAL

必要:否

Policy

適用於使用者的工作階段政策,讓您可以在多個使用者之間使用相同的 AWS Identity and Access Management (IAM) 角色。此政策會減少使用者對其 Amazon S3 儲存貯體部分存取權的範圍。您可以在此政策內使用的變數包括 ${Transfer:UserName}${Transfer:HomeDirectory}${Transfer:HomeBucket}

注意

此政策僅適用於 的網域ServerId為 Amazon S3 時。Amazon EFS 不會使用工作階段政策。

對於工作階段政策, 會將政策 AWS Transfer Family 儲存為 JSON Blob,而不是政策的 Amazon Resource Name (ARN)。您可以將政策儲存為 BlobJSON,並將其傳遞到Policy引數中。

如需工作階段政策的範例,請參閱 Example session policy (工作階段政策範例)。

如需詳細資訊,請參閱 安全權杖服務參考 AssumeRole中的 。 AWS API

類型:字串

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

必要:否

PosixProfile

指定完整POSIX身分,包括使用者 ID (Uid)、群組 ID IDs(Gid) 和任何次要群組 (SecondaryGids),以控制使用者對 Amazon Elastic File Systems (Amazon) 的存取EFS。檔案系統中檔案和目錄上設定的POSIX許可決定了使用者在傳輸檔案進出 Amazon EFS 檔案系統時所取得的存取層級。

類型:PosixProfile 物件

必要:否

Role

(ARN) 角色的 Amazon Resource Name AWS Identity and Access Management (IAM),可控制使用者對 Amazon S3 儲存貯體或 Amazon EFS 檔案系統的存取。附加至此角色的政策會決定在將檔案移入和移出 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 格式傳回下列資料。

ServerId

帳戶所指派之 Transfer Family 伺服器執行個體的系統指派唯一識別碼。

類型:字串

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

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

UserName

指派給請求中指定之伺服器執行個體的使用者的唯一識別符。

類型:字串

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

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

錯誤

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

InternalServiceError

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

HTTP 狀態碼:500

InvalidRequestException

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

HTTP 狀態碼:400

ResourceNotFoundException

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

HTTP 狀態碼:400

ServiceUnavailableException

請求失敗,因為 AWS Transfer 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中使用此功能的詳細資訊 AWS SDKs,請參閱下列內容: