View a markdown version of this page

AWS Transfer Family referencia de la API - 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.

AWS Transfer Family referencia de la API

La guía completa de referencia de API para Transfer Family está disponible en AWS Transfer Family API Reference.

AWS Transfer Family es un servicio de transferencia segura que puede utilizar para transferir archivos desde y hacia el almacenamiento del Amazon Simple Storage Service (Amazon S3) mediante los siguientes protocolos:

  • Protocolo de File Transfer (SFTP) Secure Shell (SSH)

  • Protocolo seguro de File Transfer (FTPS)

  • Protocolo de File Transfer (FTP)

  • Declaración de aplicabilidad 2 (AS2)

Los servidores, usuarios y roles se identifican por su nombre de recurso de Amazon (ARN). Puede asignar etiquetas, que son pares clave-valor, a las entidades con un ARN. Las etiquetas son metadatos que se pueden utilizar para agrupar o buscar estas entidades. Un ejemplo donde las etiquetas resultan útiles es en contabilidad.

En los formatos de AWS Transfer Family identificación se respetan las siguientes convenciones:

  • Los valores ServerId adoptan la forma s-01234567890abcdef.

  • Los valores SshPublicKeyId adoptan la forma key-01234567890abcdef.

Los formatos del nombre de recurso de Amazon (ARN) adoptan esta forma:

  • En el caso de los servidores, los ARN adoptan la forma arn:aws:transfer:region:account-id:server/server-id.

    Un ejemplo de ARN de un servidor es arn:aws:transfer:us-east-1:123456789012:server/s-01234567890abcdef.

  • En el caso de los usuarios, los ARN adoptan la forma arn:aws:transfer:region:account-id:user/server-id/username.

    Un ejemplo es arn:aws:transfer:us-east-1:123456789012:user/s-01234567890abcdef/user1.

Las entradas de DNS (puntos de conexión) en uso son:

  • Los puntos de enlace de la API adoptan la forma transfer.region.amazonaws.com.

  • Los puntos de enlace de servidor adoptan la forma server-id.server.transfer.region.amazonaws.com.

Esta referencia de interfaz API para AWS Transfer Family contiene documentación sobre una interfaz de programación que puede usar para administrar AWS Transfer Family. La estructura de la referencia es la siguiente:

  • Para obtener una lista alfabética de las acciones, consulte la Actions.

  • Para ver una lista de tipos de datos ordenada alfabéticamente, consulte Types.

  • Para ver una lista de parámetros de consulta comunes, consulte el tema relacionado con los parámetros comunes.

  • Para ver las descripciones de los códigos de error, consulte el tema relacionado con los errores comunes.

sugerencia

En lugar de ejecutar un comando, puede usar el parámetro --generate-cli-skeleton con cualquier llamada a la API para generar y mostrar una plantilla de parámetros. Después puede utilizar la plantilla generada para personalizarla y utilizarla como entrada en un comando posterior. Para más información, consulte Generar y usar un archivo básico de parámetros.

Cómo realizar solicitudes a la API

Además de usar la consola, puede usar la AWS Transfer Family API para configurar y administrar sus servidores mediante programación. En esta sección se describen las AWS Transfer Family operaciones, la firma de solicitudes para la autenticación y la gestión de errores. Para obtener más información acerca de las regiones y los puntos de conexión disponibles para Transfer Family, consulte los puntos de conexión y cuotas de AWS Transfer Family en Referencia general de AWS.

nota

También puede utilizar los AWS SDK al desarrollar aplicaciones con Transfer Family;. Los AWS SDK para Java, .NET y PHP envuelven la API de Transfer Family subyacente, lo que simplifica las tareas de programación. Para obtener información sobre la descarga de las bibliotecas de SDK, consulte Código de muestra de bibliotecas.

Cabeceras de solicitud obligatorias para Transfer Family

En esta sección se describen los encabezados obligatorios que debe enviar con cada solicitud POST a AWS Transfer Family. Puede incluir encabezados HTTP para identificar información clave sobre la solicitud, incluidas la operación que desea invocar, la fecha de la solicitud y la información que indica su autorización como remitente de la solicitud. Los encabezados no distinguen entre mayúsculas y minúsculas y el orden de los encabezados no es importante.

El siguiente ejemplo muestra los encabezados que se utilizan en la ListServersoperación.

POST / HTTP/1.1 Host: transfer.us-east-1.amazonaws.com x-amz-target: TransferService.ListServers x-amz-date: 20220507T012034Z Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20220507/us-east-1/transfer/aws4_request, SignedHeaders=content-type;host;x-amz-date;x-amz-target, Signature=13550350a8681c84c861aac2e5b440161c2b33a3e4f302ac680ca5b686de48de Content-Type: application/x-amz-json-1.1 Content-Length: 17 {"MaxResults":10}

Los siguientes son los encabezados que se deben incluir con las solicitudes POST a Transfer Family. Los encabezados que se muestran a continuación y que comienzan por «x-amz» son específicos de. AWS El resto de los encabezados que se muestran son encabezados comunes utilizados en transacciones HTTP.

Entrada y firma de la solicitud de Transfer Family

Todas las entradas de la solicitud deben enviarse como parte de la carga útil de JSON en el cuerpo de la solicitud. En el caso de las acciones en las que todos los campos de solicitud son opcionales, por ejemplo ListServers, tendrá que proporcionar un objeto JSON vacío en el cuerpo de la solicitud, por ejemplo, {}. La estructura de la carga útil de Transfer Family request/response está documentada, por ejemplo DescribeServer, en la referencia de la API existente.

Transfer Family admite la autenticación mediante AWS Signature Version 4. Para obtener más información, consulte Firmar solicitudes de API de AWS.

Respuestas de error

Cuando se produce un error, la información de encabezado de la respuesta contiene:

  • Content-Type: application/x-amz-json-1.1

  • Un código de estado HTTP 4xx o 5xx adecuado

El cuerpo de una respuesta de error contiene información sobre el error que se ha producido. El siguiente ejemplo de respuesta de error muestra la sintaxis de salida de los elementos de respuesta comunes a todas las respuestas de error.

{ "__type": "String", "Message": "String", <!-- Message is lowercase in some instances --> "Resource": "String", "ResourceType": "String", "RetryAfterSeconds": "String" }

En la tabla siguiente se explican los campos de respuesta de error JSON que se muestran en la sintaxis anterior.

__type

Una de las excepciones de una llamada a la API Transfer Family.

Tipo: cadena

Mensaje o mensaje

Uno de los mensajes de código de error de operación.

nota

Algunas excepciones usan message y otras usan Message. Puede comprobar el código de la interfaz para determinar el tipo de mayúsculas y minúsculas adecuado. Como alternativa, puede probar cada opción para ver cuál funciona.

Tipo: cadena

Resource

El recurso para el que se invoca el error. Por ejemplo, si intenta crear un usuario que ya existe, el Resource es el nombre de usuario del usuario existente.

Tipo: cadena

ResourceType

El tipo de recurso para el que se invoca el error. Por ejemplo, si intenta crear un usuario que ya existe, el ResourceType es User.

Tipo: cadena

RetryAfterSeconds

La cantidad de segundos que se debe esperar antes de volver a intentar el comando.

Tipo: cadena

Ejemplos de respuestas de error

Si llama a la API de DescribeServer y especifica un servidor que no existe, se devuelve el siguiente cuerpo de JSON.

{ "__type": "ResourceNotFoundException", "Message": "Unknown server", "Resource": "s-11112222333344444", "ResourceType": "Server" }

Si la ejecución de una API provoca una limitación, se devuelve el siguiente cuerpo de JSON.

{ "__type":"ThrottlingException", "RetryAfterSeconds":"1" }

Si utiliza la API de CreateServer y no tiene permisos suficientes para crear un servidor de Transfer Family, se devuelve el siguiente cuerpo de JSON.

{ "__type": "AccessDeniedException", "Message": "You do not have sufficient access to perform this action." }

Si utiliza la API de CreateUser y especifica un usuario que ya existe, se devuelve el siguiente cuerpo de JSON.

{ "__type": "ResourceExistsException", "Message": "User already exists", "Resource": "Alejandro-Rosalez", "ResourceType": "User" }

Bibliotecas disponibles

AWS proporciona bibliotecas, códigos de muestra, tutoriales y otros recursos para los desarrolladores de software que prefieren crear aplicaciones mediante API específicas del idioma en lugar de las herramientas de línea de comandos y la API de Query. Estas bibliotecas proporcionan funciones básicas (que no se incluyen en las API), como la autenticación de solicitudes, los reintentos de solicitudes y la gestión de errores para que se pueda comenzar más fácilmente. Consulte Herramientas a partir de las cuales desarrollar AWS

Para ver las bibliotecas y código de ejemplo en todos los idiomas, consulte Código de muestra y bibliotecas.

Proveedores de identidad

AWS Transfer Family admite varios tipos de proveedores de identidad para autenticar y administrar los usuarios. Cada servidor solo puede usar un método de autenticación, que debe seleccionarse al crear el servidor.

Servicio gestionado

Con el método de SERVICE_MANAGED autenticación, las credenciales de usuario se almacenan y gestionan en él AWS Transfer Family. Los usuarios se autentican mediante claves públicas SSH asociadas a su nombre de usuario en el servidor.

Cada usuario puede tener una o más claves públicas de SSH almacenadas en el servicio. Cuando un cliente solicita una operación de archivo, proporciona el nombre de usuario y la clave privada de SSH, que se autentica con la clave pública almacenada.

Directory Service

El método de AWS_DIRECTORY_SERVICE autenticación le permite integrarse con AWS Directory Service para Microsoft Active Directory (AWS Directory Service for Microsoft Active Directory).

Esta opción le permite administrar la autenticación y el acceso de los usuarios a través de los grupos de Active Directory existentes. Los usuarios pueden autenticarse con sus credenciales de Active Directory.

Hay un límite predeterminado de 100 grupos de Active Directory por servidor, que se puede aumentar hasta un máximo de 150 grupos mediante un aumento del límite de servicio.

Lambda

El método de AWS_LAMBDA autenticación le permite conectarse a un proveedor de identidad personalizado mediante AWS Lambda.

Esta opción proporciona flexibilidad para integrarse con sus sistemas de administración de identidades existentes. La función Lambda es responsable de autenticar a los usuarios y devolver las políticas de acceso adecuadas.

Personalizado (API Gateway)

El método de API_GATEWAY autenticación (que se muestra como personalizado en la consola) permite utilizar un método de autenticación personalizado que proporciona tanto la autenticación del usuario como el control del acceso.

Este método consiste en que la Amazon API Gateway utiliza una llamada a la API del proveedor de identidad para validar las solicitudes de los usuarios. Puede utilizar este método personalizado para autenticar a los usuarios mediante un servicio de directorio, un name/password par de bases de datos o algún otro mecanismo.

Para todos los métodos de autenticación, a los usuarios se les asignan políticas que definen su acceso a los buckets de Amazon S3 o a los sistemas de archivos de Amazon Elastic File System. El servidor hereda la relación de confianza del usuario a través de un rol de IAM con una AssumeRole acción, lo que le permite realizar operaciones de archivos en nombre del usuario.

Convenciones de nomenclatura

AWS Transfer Family utiliza formatos estandarizados para los identificadores de recursos y los nombres de recursos de Amazon (ARN). Es importante comprender estas convenciones a la hora de trabajar con la AWS Transfer Family API.

Formatos de ID

En los formatos de AWS Transfer Family ID se respetan las siguientes convenciones:

ID de servidor

Los valores ServerId adoptan la forma s-01234567890abcdef.

ID de clave pública de SSH

Los valores SshPublicKeyId adoptan la forma key-01234567890abcdef.

ID de conector

Los valores ConnectorId adoptan la forma c-01234567890abcdef.

ID de flujo de trabajo

Los valores WorkflowId adoptan la forma w-01234567890abcdef.

IDs de perfil

Los valores ProfileId adoptan la forma p-01234567890abcdef.

WebApp IDs

Los valores WebAppId adoptan la forma webapp-01234567890abcdef.

Formatos ARN

Los formatos del nombre de recurso de Amazon (ARN) adoptan esta forma:

ARN de servidor

En el caso de los servidores, los ARN adoptan la forma arn:aws:transfer:region:account-id:server/server-id.

Ejemplo: arn:aws:transfer:us-east-1:123456789012:server/s-01234567890abcdef.

ARN de usuario

En el caso de los usuarios, los ARN adoptan la forma arn:aws:transfer:region:account-id:user/server-id/username.

Ejemplo: arn:aws:transfer:us-east-1:123456789012:user/s-01234567890abcdef/user1.

ARN de conector

En el caso de los conectores, los ARN adoptan la forma. arn:aws:transfer:region:account-id:connector/connector-id

Ejemplo: arn:aws:transfer:us-east-1:123456789012:connector/c-01234567890abcdef.

Los ARN del flujo de trabajo

En el caso de los flujos de trabajo, los ARN adoptan la forma. arn:aws:transfer:region:account-id:workflow/workflow-id

Ejemplo: arn:aws:transfer:us-east-1:123456789012:workflow/w-01234567890abcdef.

WebApp Los ARN

En el caso de las aplicaciones web, los ARN adoptan la forma. arn:aws:transfer:region:account-id:webapp/webapp-id

Ejemplo: arn:aws:transfer:us-east-1:123456789012:webapp/webapp-01234567890abcdef.

Puede asignar etiquetas, que son pares clave-valor, a las entidades con un ARN. Las etiquetas son metadatos que se pueden utilizar para agrupar o buscar estas entidades. Un ejemplo donde las etiquetas resultan útiles es en contabilidad.

DNS y puntos finales

AWS Transfer Family utiliza convenciones de nomenclatura de DNS estandarizadas tanto para los puntos finales de la API como para los puntos finales del servidor. Comprender estos puntos finales es fundamental para configurar los clientes y realizar llamadas a la API.

Puntos de conexión de API

Los puntos finales de la API se utilizan para realizar llamadas a la API con el fin de gestionar los recursos AWS Transfer Family . Estos puntos finales adoptan las siguientes formas:

Puntos finales de API estándar

Los puntos finales de la API estándar adoptan la forma. transfer.region.amazonaws.com

Ejemplo: transfer.us-east-1.amazonaws.com

Dual-Stack Los puntos finales de la API

AWS Transfer Family ofrece puntos de enlace de API de doble pila a los que se puede acceder mediante solicitudes de IPv4 o IPv6:

  • https://transfer.region-code.api.aws

  • https://transfer-fips.region-code.api.aws

Puntos finales del servidor

Los clientes de transferencia de archivos utilizan los puntos finales del servidor para conectarse a AWS Transfer Family los servidores. Estos puntos finales adoptan las siguientes formas:

Puntos finales de servidor estándar

Los puntos finales de servidor estándar adoptan la forma. server-id.server.transfer.region.amazonaws.com

Ejemplo: s-01234567890abcdef.server.transfer.us-east-1.amazonaws.com

Nombres de host personalizados

También puede configurar nombres de host personalizados para sus servidores. AWS Transfer Family Los nombres de host personalizados se pueden usar para proporcionar una experiencia más fácil de usar o de marca para sus usuarios.

Para usar un nombre de host personalizado, debes:

  1. Ser propietario del nombre de dominio

  2. Proporcione un certificado válido

  3. Configure los registros DNS para que apunten a su AWS Transfer Family servidor

Para obtener una lista completa de los AWS Transfer Family puntos finales por AWS región, consulte los AWS Transfer Family puntos finales y las cuotas en. Referencia general de AWS