CreateUser - AWS Transfer Family

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.

Cette demande accepte les données suivantes au format JSON.

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é si HomeDirectoryType est défini sur la valeur PATH.

Type : chaîne

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 chemins et clés Amazon S3 ou Amazon EFS doivent être visibles par votre utilisateur et comment vous souhaitez les rendre visibles. Vous devez spécifier la Target paire Entry et, qui Entry indique comment le chemin est rendu visible et correspond Target au chemin Amazon S3 ou Amazon EFS 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ès. Target Cette valeur ne peut être définie que si elle HomeDirectoryType est définie sur LOGICAL.

Voici un exemple de Target paire Entry 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 pouvez Entry définir / et Target définir la valeur que l'utilisateur doit voir pour son répertoire personnel lorsqu'il se connecte.

Voici un exemple de Target paire Entry 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 surPATH, l'utilisateur verra le bucket Amazon S3 ou le chemin Amazon EFS absolu tels quels dans leurs clients de protocole de transfert de fichiers. Si vous le définissez surLOGICAL, vous devez fournir des mappages indiquant comment vous souhaitez rendre les HomeDirectoryMappings chemins Amazon S3 ou Amazon EFS visibles pour vos utilisateurs.

Note

Dans HomeDirectoryType l'affirmativeLOGICAL, vous devez fournir des mappages à l'aide du HomeDirectoryMappings paramètre. Si, en revanche, HomeDirectoryType c'est le casPATH, vous fournissez un chemin absolu à l'aide du HomeDirectory paramètre. Vous ne pouvez pas avoir les deux HomeDirectory et HomeDirectoryMappings dans votre modèle.

Type : chaîne

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 blob JSON, au lieu du nom de ressource Amazon (ARN) de la politique. Vous enregistrez la politique comme objet blob JSON et la transmettez dans l'argument Policy.

Pour obtenir un exemple de politique de session, veuillez consulter la rubrique Exemple de politique de session.

Pour plus d'informations, consultez AssumeRolela référence de l'API du AWS Security Token Service.

Type : chaîne

Contraintes de longueur : longueur minimale de 0. Longueur maximale de 2048.

Obligatoire : non

PosixProfile

Spécifie l'identité POSIX complète, y compris l'ID utilisateur (Uid), l'ID de groupe (Gid) et les éventuels identifiants de groupes secondaires (SecondaryGids), qui contrôle l'accès de vos utilisateurs à vos systèmes de fichiers Amazon EFS. Les autorisations POSIX définies sur les fichiers et les répertoires dans Amazon EFS déterminent le niveau d'accès que vos utilisateurs obtiennent lors du transfert de fichiers vers et depuis vos systèmes de fichiers Amazon EFS.

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 fichiers Amazon EFS. Les politiques associées à ce rôle déterminent le niveau d'accès que vous souhaitez accorder à vos utilisateurs lorsqu'ils transfèrent des fichiers depuis et vers votre compartiment Amazon S3 ou votre système de fichiers Amazon  EFS. Le rôle IAM doit également contenir une relation d'approbation qui permet au serveur d'accéder à vos ressources lors du traitement des demandes de transfert de votre utilisateur.

Type : chaîne

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 : chaîne

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 du format de clé publique SSH standard sont <key type><body base64>, et un facultatif<comment>, avec des espaces entre chaque élément.

AWS Transfer Family accepte les clés RSA, ECDSA et ED25519.

  • Pour les clés RSA, le type de clé estssh-rsa.

  • Pour les clés ED25519, le type de clé est. ssh-ed25519

  • Pour les clés ECDSA, le type de clé est soitecdsa-sha2-nistp256, soit ecdsa-sha2-nistp384ecdsa-sha2-nistp521, selon la taille de la clé que vous avez générée.

Type : chaîne

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 : chaîne

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 au format JSON par le service.

ServerId

Identifiant du serveur auquel l'utilisateur est rattaché.

Type : chaîne

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 : chaîne

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.

Code d’état HTTP : 500

InvalidRequestException

Cette exception est levée lorsque le client soumet une demande mal formée.

Code d’état HTTP : 400

ResourceExistsException

La ressource demandée n'existe pas ou existe dans une région autre que celle spécifiée pour la commande.

Code d’état HTTP : 400

ResourceNotFoundException

Cette exception est levée lorsqu'aucune ressource n'est trouvée par le service AWS Transfer Family.

Code d’état HTTP : 400

ServiceUnavailableException

La demande a échoué car le service AWS Transfer Family n'est pas disponible.

Code d’état HTTP : 500

Exemples

Exemple

Pour créer un utilisateur, vous pouvez d'abord enregistrer les paramètres dans un fichier JSON, par exemplecreateUserParameters, puis exécuter la commande d'API create-user.

{ "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 l'utilisation de cette API dans l'un des AWS SDK spécifiques au langage, consultez les pages suivantes :