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。只有當設定為 LO GIC 時HomeDirectoryType,才能設定此值。

以下是Entry和配Target對範例。

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

在大多數情況下,您可以使用此值而不是工作階段原則,將使用者鎖定到指定的主目錄 (」chroot「)。若要這麼做,您可Entry以設定/並設Target定為使用者在登入時應該看到的主目錄的值。

以下是的EntryTarget配對範例chroot

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

類型:HomeDirectoryMapEntry 物件陣列

陣列成員:項目數下限為 1。5 萬個物品的最大數量。

必要:否

HomeDirectoryType

使用者登入伺服器時,您希望的使用者主目錄之登陸目錄 (資料夾) 類型。如果將其設定為PATH,使用者將在其檔案傳輸協定用戶端中看到絕對的 Amazon S3 儲存貯體或 Amazon EFS 路徑。如果將其設定為LOGICAL,則需要在中提供對應,以便讓使用者看到 Amazon S3 或 Amazon EFS 路徑的方式。HomeDirectoryMappings

注意

如果HomeDirectoryTypeLOGICAL,則必須使用HomeDirectoryMappings參數提供對映。另一方面,HomeDirectoryType如果您使用HomeDirectory參數提供絕對路徑。PATH您的範本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 資源名稱 (ARN)。您會將政策作為 JSON blob 儲存,並在 Policy 引數中傳遞它。

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

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

類型:字串

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

必要:否

PosixProfile

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

類型:PosixProfile 物件

必要:否

Role

(IAM) 角色的亞馬遜資源名稱 AWS Identity and Access Management (ARN),用於控制使用者對 Amazon S3 儲存貯體或 Amazon EFS 檔案系統的存取。連接到此角色的政策會決定在將檔案傳入和傳出您的 Amazon S3 儲存貯體或 Amazon EFS 檔案系統時,您希望提供給使用者的存取層級。IAM 角色也應包含信任關係,允許伺服器在處理您使用者的傳輸請求時,存取您的資源。

類型:字串

長度限制︰長度下限為 20。長度上限為 2048。

模式:arn:.*role/\S+

必要:是

ServerId

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

類型:字串

長度約束:固定長度為 19。

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

必要:是

SshPublicKeyBody

用於向伺服器驗證使用者的安全殼層 (SSH) 金鑰的公開部分。

三個標準安全殼層公開金鑰格式元素是<key type><body base64>、和選用的<comment>,每個元素之間都有空格。

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

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

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

  • 對於 ECDSA 金鑰,金鑰類型為ecdsa-sha2-nistp256、或 ecdsa-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,然後執行建立使用者 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" }

另請參閱

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