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.

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

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 paire Entry et, qui Entry indique comment le chemin est rendu visible et Target 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 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 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 du HomeDirectoryMappings paramètre. Si, par contre, 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 : 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'Policyargument.

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é estssh-rsa.

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

  • Pour ECDSA les clés, le type de clé est soit ecdsa-sha2-nistp256ecdsa-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 :