本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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 路徑和金鑰,以及您希望如何顯示這些路徑和金鑰。您必須指定
Entry
和Target
配對,其中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
定為使用者在登入時應該看到的主目錄的值。以下是的
Entry
和Target
配對範例chroot
。[ { "Entry": "/", "Target": "/bucket_name/home/mydirectory" } ]
類型:HomeDirectoryMapEntry 物件陣列
陣列成員:項目數下限為 1。5 萬個物品的最大數量。
必要:否
- HomeDirectoryType
-
使用者登入伺服器時,您希望的使用者主目錄之登陸目錄 (資料夾) 類型。如果將其設定為
PATH
,使用者將在其檔案傳輸協定用戶端中看到絕對的 Amazon S3 儲存貯體或 Amazon EFS 路徑。如果將其設定為LOGICAL
,則需要在中提供對應,以便讓使用者看到 Amazon S3 或 Amazon EFS 路徑的方式。HomeDirectoryMappings
注意
如果
HomeDirectoryType
是LOGICAL
,則必須使用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-nistp384
ecdsa-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 格式的資料。
錯誤
如需所有動作常見錯誤的資訊,請參閱常見錯誤。
- 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 的詳細資訊,請參閱下列內容: