CreateUser - AWS Transfer Family

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

CreateUser

Crea un usuario y lo asocia con un servidor habilitado para Protocolo de transferencia de archivos existente. Solo puede crear y asociar los usuarios con servidores que tengan IdentityProviderType establecido en SERVICE_MANAGED. Con los parámetros paraCreateUser, puede especificar el nombre de usuario, establecer el directorio principal, almacenar la clave pública del usuario y asignar la función del usuario AWS Identity and Access Management (IAM). También puede opcionalmente agregar una política de sesiones y asignar metadatos con etiquetas que se pueden utilizar para agrupar y buscar usuarios.

Sintaxis de la solicitud

{ "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" }

Parámetros de la solicitud

Para obtener información sobre los parámetros comunes a todas las acciones, consulte Parámetros comunes.

La solicitud acepta los siguientes datos en JSON formato.

HomeDirectory

Directorio de destino (carpeta) de un usuario cuando inicia sesión en el servidor a través del cliente.

Un ejemplo de HomeDirectory es /bucket_name/home/mydirectory.

nota

El parámetro HomeDirectory solo se utiliza si HomeDirectoryType está establecido en PATH.

Tipo: cadena

Limitaciones de longitud: longitud mínima de 0. La longitud máxima es de 1024 caracteres.

Patrón: (|/.*)

Obligatorio: no

HomeDirectoryMappings

Asignaciones de directorios lógicos que especifican qué EFS rutas y claves de Amazon S3 o Amazon deben estar visibles para el usuario y cómo desea hacerlas visibles. Debe especificar el Target par Entry y, donde se Entry muestra cómo se hace visible la ruta y Target es la EFS ruta real de Amazon S3 o Amazon. Si solo especifica un destino, se muestra tal cual. También debes asegurarte de que tu rol AWS Identity and Access Management (IAM) proporciona acceso a las rutas de entradaTarget. Este valor solo se puede establecer si HomeDirectoryType está establecido en LOGICAL.

Lo siguiente es un ejemplo del par Entry y Target.

[ { "Entry": "/directory1", "Target": "/bucket_name/home/mydirectory" } ]

En la mayoría de los casos, puede usar este valor en lugar de la política de sesión para limitar al usuario al directorio de inicio designado (“chroot”). Para ello, puede establecer Entry a / y establecer Target al valor que el usuario debería ver en su directorio de inicio al iniciar sesión.

A continuación, se muestra un ejemplo del par Entry y Target para chroot.

[ { "Entry": "/", "Target": "/bucket_name/home/mydirectory" } ]

Tipo: matriz de objetos HomeDirectoryMapEntry

Miembros de la matriz: número mínimo de 1 artículo. Número máximo de 50000 artículos.

Obligatorio: no

HomeDirectoryType

El tipo de directorio de destino (carpeta) que quiere utilizar como directorio de inicio de los usuarios cuando inicien sesión en el servidor. Si lo configuras enPATH, el usuario verá el bucket absoluto de Amazon S3 o la EFS ruta de Amazon tal como están en sus clientes de protocolo de transferencia de archivos. Si lo configuras enLOGICAL, tendrás que proporcionar mapeos en la HomeDirectoryMappings forma en que deseas que Amazon S3 o Amazon EFS paths sean visibles para tus usuarios.

nota

Si HomeDirectoryType es LOGICAL, debe proporcionar las asignaciones mediante el parámetro HomeDirectoryMappings. Si, por el contrario, HomeDirectoryType es PATH, se proporciona una ruta absoluta mediante el parámetro HomeDirectory. No puede tener HomeDirectory y HomeDirectoryMappings en su plantilla.

Tipo: cadena

Valores válidos: PATH | LOGICAL

Obligatorio: no

Policy

Una política de sesión para su usuario de modo que pueda usar el mismo rol AWS Identity and Access Management (IAM) en varios usuarios. Esta política reduce el ámbito de acceso de un usuario a partes de su bucket de Amazon S3. Entre las variables que puede utilizar dentro de esta política se incluyen ${Transfer:UserName}, ${Transfer:HomeDirectory} y ${Transfer:HomeBucket}.

nota

Esta política se aplica solo cuando el dominio de ServerId es Amazon S3. Amazon EFS no utiliza políticas de sesión.

En el caso de las políticas de sesión, AWS Transfer Family almacena la política como un JSON blob, en lugar del nombre de recurso de Amazon (ARN) de la política. La política se guarda como un JSON blob y se pasa al Policy argumento.

Para ver un ejemplo de una política de sesión, consulte Example session policy (Ejemplo de política de sesión).

Para obtener más información, consulte AssumeRolela APIreferencia del servicio AWS de token de seguridad.

Tipo: cadena

Limitaciones de longitud: longitud mínima de 0 caracteres. La longitud máxima es de 2048 caracteres.

Obligatorio: no

PosixProfile

Especifica la POSIX identidad completa, incluida la ID de usuario (Uid), la ID de grupo (Gid) y cualquier grupo secundario IDs (SecondaryGids), que controla el acceso de los usuarios a los sistemas de EFS archivos de Amazon. Los POSIX permisos que se establecen en los archivos y directorios de Amazon EFS determinan el nivel de acceso que obtienen sus usuarios al transferir archivos dentro y fuera de sus sistemas de EFS archivos de Amazon.

Tipo: objeto PosixProfile

Obligatorio: no

Role

El nombre del recurso de Amazon (ARN) del rol AWS Identity and Access Management (IAM) que controla el acceso de los usuarios al bucket de Amazon S3 o al sistema de EFS archivos de Amazon. Las políticas asociadas a esta función determinan el nivel de acceso que desea proporcionar a sus usuarios al transferir archivos desde y hacia su bucket de Amazon S3 o sistema de EFS archivos de Amazon. El IAM rol también debe contener una relación de confianza que permita al servidor acceder a sus recursos cuando atienda las solicitudes de transferencia de los usuarios.

Tipo: cadena

Limitaciones de longitud: longitud mínima de 20. La longitud máxima es de 2048 caracteres.

Patrón: arn:.*role/\S+

Obligatorio: sí

ServerId

Identificador único asignado por el sistema para una instancia del servidor. Este es el servidor específico al que ha agregado el usuario.

Tipo: cadena

Limitaciones de longitud: longitud fija de 19.

Patrón: s-([0-9a-f]{17})

Obligatorio: sí

SshPublicKeyBody

La parte pública de la clave Secure Shell (SSH) utilizada para autenticar al usuario en el servidor.

Los tres elementos de formato de clave SSH pública estándar son <key type><body base64>, y uno opcional<comment>, con espacios entre cada elemento.

AWS Transfer Family acepta RSAECDSA, y ED25519 claves.

  • En el RSA caso de las claves, el tipo de clave esssh-rsa.

  • En el ED25519 caso de las llaves, el tipo de clave esssh-ed25519.

  • En el caso de ECDSA las claves, el tipo de clave es ecdsa-sha2-nistp256 ecdsa-sha2-nistp384ecdsa-sha2-nistp521, o, según el tamaño de la clave que haya generado.

Tipo: cadena

Limitaciones de longitud: longitud mínima de 0 caracteres. La longitud máxima es de 2048 caracteres.

Obligatorio: no

Tags

Pares clave-valor que se pueden utilizar para agrupar y buscar usuarios. Las etiquetas son metadatos asociados a usuarios para cualquier fin.

Tipo: matriz de objetos Tag

Miembros de la matriz: número mínimo de 1 artículo. Número máximo de 50 artículos.

Obligatorio: no

UserName

Una cadena única que identifica a un usuario y está asociada a ServerId. Este nombre de usuario debe tener un mínimo de 3 caracteres y un máximo de 100. A continuación, se muestran caracteres válidos: a-z, A-Z, 0-9, guion bajo “_”, guion “-”, punto “.” y el signo “@”. El nombre de usuario no puede comenzar por un guion, un punto ni una arroba.

Tipo: cadena

Limitaciones de longitud: longitud mínima de 3. La longitud máxima es de 100 caracteres.

Patrón: [\w][\w@.-]{2,99}

Obligatorio: sí

Sintaxis de la respuesta

{ "ServerId": "string", "UserName": "string" }

Elementos de respuesta

Si la acción se realiza correctamente, el servicio devuelve una respuesta de HTTP 200.

El servicio devuelve los siguientes datos en JSON formato.

ServerId

El ID del servidor al que se asocia el usuario.

Tipo: cadena

Limitaciones de longitud: longitud fija de 19.

Patrón: s-([0-9a-f]{17})

UserName

Una cadena única que identifica a un usuario de Transfer Family.

Tipo: cadena

Limitaciones de longitud: longitud mínima de 3. La longitud máxima es de 100 caracteres.

Patrón: [\w][\w@.-]{2,99}

Errores

Para obtener información acerca de los errores comunes a todas las acciones, consulte Errores comunes.

InternalServiceError

Esta excepción se produce cuando se produce un error en el AWS Transfer Family servicio.

HTTPCódigo de estado: 500

InvalidRequestException

Esta excepción se produce cuando el cliente envía una solicitud con un formato incorrecto.

HTTPCódigo de estado: 400

ResourceExistsException

El recurso solicitado no existe o existe en una región distinta de la especificada para el comando.

HTTPCódigo de estado: 400

ResourceNotFoundException

Esta excepción se produce cuando el servicio AWS Transfer Family no encuentra un recurso.

HTTPCódigo de estado: 400

ServiceUnavailableException

La solicitud ha fallado porque el servicio AWS Transfer Family no está disponible.

HTTPCódigo de estado: 500

Ejemplos

Ejemplo

Para crear un usuario, primero puede guardar los parámetros en un JSON archivo, por ejemplocreateUserParameters, y luego ejecutar el comando 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" }

Solicitud de muestra

aws transfer create-user --cli-input-json file://createUserParameters

Respuesta de ejemplo

{ "ServerId": ""s-1111aaaa2222bbbb3", "UserName": "bobusa-API" }

Véase también

Para obtener más información sobre cómo usarlo API en uno de los idiomas específicos AWS SDKs, consulte lo siguiente: