CreateUser - AWS Transfer Family

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

CreateUser

建立使用者,並將其與已啟用檔案傳輸通訊協定的現有伺服器建立關聯。您只能建立並將使用者與將 IdentityProviderType 設為 SERVICE_MANAGED 的伺服器建立關聯。使用 的參數CreateUser,您可以指定使用者名稱、設定主目錄、儲存使用者的公有金鑰,以及指派使用者的 AWS Identity and Access Management (IAM) 角色。您也可以選用地新增工作階段政策,並使用可用來分組和搜尋使用者的標籤指派中繼資料。

請求語法

{ "HomeDirectory": "string", "HomeDirectoryMappings": [ { "Entry": "string", "Target": "string", "Type": "string" } ], "HomeDirectoryType": "string", "Policy": "string", "PosixProfile": { "Gid": number, "SecondaryGids": [ number ], "Uid": number }, "Role": "string", "ServerId": "string", "SshPublicKeyBody": "string", "Tags": [ { "Key": "string", "Value": "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設定為使用者登入時,其主目錄應看到的值。

以下是 的 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 (Gid) 和任何次要群組 IDs(SecondaryGids),以控制使用者對 Amazon EFS 檔案系統的存取。在 Amazon 檔案和目錄上設定的POSIX許可EFS決定了使用者在傳輸檔案進出 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

伺服器執行個體的系統指派唯一識別碼。這是您新增使用者的特定目標伺服器。

類型:字串

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

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

必要:是

SshPublicKeyBody

用於向伺服器驗證使用者的 Secure Shell (SSH) 金鑰公有部分。

三個標準SSH公有金鑰格式元素為 <key type><body base64>和選用的 <comment>,每個元素之間都有空格。

AWS Transfer Family 接受 RSA、 ECDSA和 ED25519金鑰。

  • 對於RSA金鑰,金鑰類型為 ssh-rsa

  • 對於ED25519金鑰,金鑰類型為 ssh-ed25519

  • 對於ECDSA金鑰,金鑰類型為 ecdsa-sha2-nistp256ecdsa-sha2-nistp384ecdsa-sha2-nistp521,取決於您產生的金鑰大小。

類型:字串

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

必要:否

Tags

鍵/值對,可用來分組和搜尋使用者。標籤是基於任何用途連接到使用者的中繼資料。

類型:Tag 物件陣列

陣列成員:項目數下限為 1。項目數上限為 50。

必要:否

UserName

識別使用者並且和 ServerId 建立關聯的唯一字串。此使用者名稱的長度必須最少為 3 個字元,最多為 100 個字元。以下是有效字元:a-z、A-Z、0-9、底線 '_'、連字號 '-'、句號 '。',以及位置符號 '@'。使用者名稱不能以連字號、句號或符號開頭。

類型:字串

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

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

必要:是

回應語法

{ "ServerId": "string", "UserName": "string" }

回應元素

如果動作成功,服務會傳回 HTTP 200 個回應。

服務會以 JSON 格式傳回下列資料。

ServerId

使用者所連接之伺服器的識別碼。

類型:字串

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

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

UserName

識別 Transfer Family 使用者的唯一字串。

類型:字串

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

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

錯誤

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

InternalServiceError

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

HTTP 狀態碼:500

InvalidRequestException

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

HTTP 狀態碼:400

ResourceExistsException

請求的資源不存在,或存在於命令指定的區域以外的區域。

HTTP 狀態碼:400

ResourceNotFoundException

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

HTTP 狀態碼:400

ServiceUnavailableException

請求失敗,因為 AWS Transfer Family 服務無法使用。

HTTP 狀態碼:500

範例

範例

若要建立使用者,您可以先將參數儲存到JSON檔案中,例如 createUserParameters,然後執行 create-user API命令。

{ "HomeDirectory": "/DOC-EXAMPLE-BUCKET", "HomeDirectoryType": "PATH", "Role": "arn:aws:iam::111122223333:role/bob-role", "ServerId": "s-1111aaaa2222bbbb3", "SshPublicKeyBody": "ecdsa-sha2-nistp521 AAAAE2VjZHNhLXNoYTItbmlzdHA... bobusa@mycomputer.us-east-1.amazon.com", "UserName": "bobusa-API" }

請求範例

aws transfer create-user --cli-input-json file://createUserParameters

回應範例

{ "ServerId": ""s-1111aaaa2222bbbb3", "UserName": "bobusa-API" }

另請參閱

如需在其中一種語言特定 API中使用此功能的詳細資訊 AWS SDKs,請參閱下列內容: