Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
CreateUser
Crée un utilisateur et l'associe à un serveur existant compatible avec le protocole de transfert de fichiers. Vous pouvez uniquement créer et associer les utilisateurs avec des serveurs pour lesquels IdentityProviderType
est défini sur SERVICE_MANAGED
. À l'aide des paramètres pourCreateUser
, vous pouvez spécifier le nom d'utilisateur, définir le répertoire de base, stocker la clé publique de l'utilisateur et attribuer le rôle de l'utilisateur AWS Identity and Access Management (IAM). Vous pouvez également ajouter une politique de session et attribuer les métadonnées avec des balises qui peuvent être utilisées pour regrouper et rechercher des utilisateurs.
Syntaxe de la requête
{
"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
"
}
Paramètres de demande
Pour plus d'informations sur les paramètres courants pour toutes les actions, consultez Paramètres courants.
La demande accepte les données suivantes au JSON format suivant.
- HomeDirectory
-
La destination d'un répertoire (dossier) pour un utilisateur lorsqu'il se connecte au serveur à l'aide de son client.
Un exemple de
HomeDirectory
est/bucket_name/home/mydirectory
.Note
Le paramètre
HomeDirectory
est uniquement utilisé siHomeDirectoryType
est défini sur la valeurPATH
.Type : String
Contraintes de longueur : longueur minimum de 0. Longueur maximum de 1024.
Modèle :
(|/.*)
Obligatoire : non
- HomeDirectoryMappings
-
Des mappages de répertoires logiques qui spécifient quels EFS chemins et clés Amazon S3 ou Amazon doivent être visibles par votre utilisateur et comment vous souhaitez les rendre visibles. Vous devez spécifier la
Target
paireEntry
et, quiEntry
indique comment le chemin est rendu visible etTarget
correspond au EFS chemin Amazon S3 ou Amazon réel. Si vous spécifiez uniquement une cible, elle est affichée telle quelle. Vous devez également vous assurer que votre rôle AWS Identity and Access Management (IAM) donne accès aux chemins d'accèsTarget
. Cette valeur ne peut être définie que si elleHomeDirectoryType
est définie sur LOGICAL.Voici un exemple de
Target
paireEntry
et.[ { "Entry": "/directory1", "Target": "/bucket_name/home/mydirectory" } ]
Dans la plupart des cas, vous pouvez utiliser cette valeur au lieu de la politique de session pour verrouiller votre utilisateur dans le répertoire de base désigné (»
chroot
«). Pour ce faire, vous pouvezEntry
définir/
etTarget
définir la valeur que l'utilisateur doit voir pour son répertoire personnel lorsqu'il se connecte.Voici un exemple de
Target
paireEntry
et pourchroot
.[ { "Entry": "/", "Target": "/bucket_name/home/mydirectory" } ]
Type : tableau d’objets HomeDirectoryMapEntry
Membres du tableau : Nombre minimum de 1 élément. Nombre maximum de 50 000 articles.
Obligatoire : non
- HomeDirectoryType
-
Le type de répertoire (dossier) de destination du répertoire de base de vos utilisateurs lorsqu'ils se connectent au serveur. Si vous le définissez sur
PATH
, l'utilisateur verra le bucket Amazon S3 absolu ou le EFS chemin Amazon tel quel dans ses clients de protocole de transfert de fichiers. Si vous le définissez surLOGICAL
, vous devez fournir des mappages indiquant comment vous souhaitez rendre les EFS chemins Amazon S3 ou Amazon visibles pour vos utilisateurs.HomeDirectoryMappings
Note
Dans
HomeDirectoryType
l'affirmativeLOGICAL
, vous devez fournir des mappages à l'aide duHomeDirectoryMappings
paramètre. Si, par contre,HomeDirectoryType
c'est le casPATH
, vous fournissez un chemin absolu à l'aide duHomeDirectory
paramètre. Vous ne pouvez pas avoir les deuxHomeDirectory
etHomeDirectoryMappings
dans votre modèle.Type : String
Valeurs valides :
PATH | LOGICAL
Obligatoire : non
- Policy
-
Une politique de session pour votre utilisateur afin que vous puissiez utiliser le même rôle AWS Identity and Access Management (IAM) pour plusieurs utilisateurs. Cette politique limite l'accès d'un utilisateur à certaines parties de son compartiment Amazon S3. Les variables que vous pouvez utiliser à l'intérieur de cette politique incluent
${Transfer:UserName}
,${Transfer:HomeDirectory}
et${Transfer:HomeBucket}
.Note
Cette politique s'applique uniquement lorsque le domaine de
ServerId
est Amazon S3. Amazon EFS n'utilise pas de politiques de session.Pour les politiques de session, AWS Transfer Family stocke la politique sous forme de JSON blob, au lieu du nom de ressource Amazon (ARN) de la politique. Vous enregistrez la politique sous forme de JSON blob et vous la transmettez dans l'
Policy
argument.Pour obtenir un exemple de politique de session, veuillez consulter la rubrique Exemple de politique de session.
Pour plus d'informations, consultez le AssumeRoledocument de APIréférence du service AWS de jetons de sécurité.
Type : String
Contraintes de longueur : longueur minimale de 0. Longueur maximale de 2048.
Obligatoire : non
- PosixProfile
-
Spécifie l'POSIXidentité complète, y compris l'ID utilisateur (
Uid
), l'ID de groupe (Gid
) et tout groupe secondaire IDs (SecondaryGids
), qui contrôle l'accès de vos utilisateurs à vos systèmes de EFS fichiers Amazon. Les POSIX autorisations définies sur les fichiers et les répertoires d'Amazon EFS déterminent le niveau d'accès dont bénéficient vos utilisateurs lors du transfert de fichiers vers et depuis vos systèmes de EFS fichiers Amazon.Type : objet PosixProfile
Obligatoire : non
- Role
-
Le nom de ressource Amazon (ARN) du rôle AWS Identity and Access Management (IAM) qui contrôle l'accès de vos utilisateurs à votre compartiment Amazon S3 ou à votre système de EFS fichiers Amazon. Les politiques associées à ce rôle déterminent le niveau d'accès que vous souhaitez fournir à vos utilisateurs lors du transfert de fichiers vers et depuis votre compartiment Amazon S3 ou votre système de EFS fichiers Amazon. Le IAM rôle doit également contenir une relation de confiance qui permet au serveur d'accéder à vos ressources lorsqu'il répond aux demandes de transfert de vos utilisateurs.
Type : String
Contraintes de longueur : longueur minimale de 20. Longueur maximale de 2048.
Modèle :
arn:.*role/\S+
Obligatoire : oui
- ServerId
-
Identifiant unique attribué par le système pour une instance de serveur. Il s'agit du serveur spécifique auquel vous avez ajouté votre utilisateur.
Type : String
Contraintes de longueur : longueur fixe de 19.
Modèle :
s-([0-9a-f]{17})
Obligatoire : oui
- SshPublicKeyBody
-
Partie publique de la clé Secure Shell (SSH) utilisée pour authentifier l'utilisateur auprès du serveur.
Les trois éléments de format de clé SSH publique standard sont
<key type>
<body base64>
, et un facultatif<comment>
, avec des espaces entre chaque élément.AWS Transfer Family accepte RSAECDSA, et ED25519 clés.
-
Pour RSA les clés, le type de clé est
ssh-rsa
. -
Pour ED25519 les clés, le type de clé est
ssh-ed25519
. -
Pour ECDSA les clés, le type de clé est soit
ecdsa-sha2-nistp256
ecdsa-sha2-nistp384
, soitecdsa-sha2-nistp521
, selon la taille de la clé que vous avez générée.
Type : String
Contraintes de longueur : longueur minimale de 0. Longueur maximale de 2048.
Obligatoire : non
-
- Tags
-
Paires clé-valeur qui peuvent être utilisées pour regrouper et rechercher des utilisateurs. Les balises sont des métadonnées associées aux utilisateurs pour différents motifs.
Type : tableau d’objets Tag
Membres du tableau : Nombre minimum de 1 élément. Nombre maximal de 50 éléments.
Obligatoire : non
- UserName
-
Chaîne unique qui identifie un utilisateur et est associée à un
ServerId
. Ce nom d'utilisateur doit comporter au minimum 3 caractères et au maximum 100 caractères. Les caractères suivants sont valides : a-z, A-Z, 0-9, trait de soulignement '_', tiret '-', point '. », et arobase « @ ». Le nom d'utilisateur ne peut pas commencer par un trait d'union, un point ou un arobase.Type : String
Contraintes de longueur : Longueur minimum de 3. Longueur maximum de 100.
Modèle :
[\w][\w@.-]{2,99}
Obligatoire : oui
Syntaxe de la réponse
{
"ServerId": "string",
"UserName": "string"
}
Eléments de réponse
Si l'action aboutit, le service renvoie une réponse HTTP 200.
Les données suivantes sont renvoyées sous JSON forme formatée par le service.
- ServerId
-
Identifiant du serveur auquel l'utilisateur est rattaché.
Type : String
Contraintes de longueur : longueur fixe de 19.
Modèle :
s-([0-9a-f]{17})
- UserName
-
Chaîne unique qui identifie un utilisateur de Transfer Family.
Type : String
Contraintes de longueur : Longueur minimum de 3. Longueur maximum de 100.
Modèle :
[\w][\w@.-]{2,99}
Erreurs
Pour plus d'informations sur les erreurs courantes pour toutes les actions, consultez Erreurs courantes.
- InternalServiceError
-
Cette exception est levée lorsqu'une erreur se produit dans le AWS Transfer Family service.
HTTPCode de statut : 500
- InvalidRequestException
-
Cette exception est levée lorsque le client soumet une demande mal formée.
HTTPCode de statut : 400
- ResourceExistsException
-
La ressource demandée n'existe pas ou existe dans une région autre que celle spécifiée pour la commande.
HTTPCode de statut : 400
- ResourceNotFoundException
-
Cette exception est levée lorsqu'aucune ressource n'est trouvée par le service AWS Transfer Family.
HTTPCode de statut : 400
- ServiceUnavailableException
-
La demande a échoué car le service AWS Transfer Family n'est pas disponible.
HTTPCode de statut : 500
Exemples
Exemple
Pour créer un utilisateur, vous pouvez d'abord enregistrer les paramètres dans un JSON fichier, par exemplecreateUserParameters
, puis exécuter la commande create-userAPI.
{ "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" }
Exemple de demande
aws transfer create-user --cli-input-json file://createUserParameters
Exemple de réponse
{
"ServerId": ""s-1111aaaa2222bbbb3",
"UserName": "bobusa-API"
}
consultez aussi
Pour plus d'informations sur son utilisation API dans l'une des langues spécifiques AWS SDKs, consultez ce qui suit :