本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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
。只有在 設定為 時,才能HomeDirectoryType
設定此值LOGICAL。以下是
Entry
和Target
對範例。[ { "Entry": "/directory1", "Target": "/bucket_name/home/mydirectory" } ]
在大多數情況下,您可以使用此值來取代工作階段政策,將使用者鎖定到指定的主目錄 ("
chroot
")。若要這麼做,您可以將Entry
設定為 ,/
並將Target
設定為使用者登入時,其主目錄應看到的值。以下是 的
Entry
和Target
對範例chroot
。[ { "Entry": "/", "Target": "/bucket_name/home/mydirectory" } ]
類型:HomeDirectoryMapEntry 物件陣列
陣列成員:項目數下限為 1。最多 50000 個項目。
必要:否
- HomeDirectoryType
-
使用者登入伺服器時,您希望的使用者主目錄之登陸目錄 (資料夾) 類型。如果您將其設定為
PATH
,則使用者會看到絕對 Amazon S3 儲存貯體或 Amazon EFS 路徑,就像在其檔案傳輸通訊協定用戶端一樣。如果您將其設定為LOGICAL
,則需要在 中提供映射,HomeDirectoryMappings
以了解如何讓使用者看見 Amazon S3 或 Amazon EFS 路徑。注意
如果
HomeDirectoryType
是LOGICAL
,您必須使用HomeDirectoryMappings
參數提供映射。另一方面,如果HomeDirectoryType
是PATH
,您可以使用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-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
,然後執行 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,請參閱下列內容: