Seleccione sus preferencias de cookies

Usamos cookies esenciales y herramientas similares que son necesarias para proporcionar nuestro sitio y nuestros servicios. Usamos cookies de rendimiento para recopilar estadísticas anónimas para que podamos entender cómo los clientes usan nuestro sitio y hacer mejoras. Las cookies esenciales no se pueden desactivar, pero puede hacer clic en “Personalizar” o “Rechazar” para rechazar las cookies de rendimiento.

Si está de acuerdo, AWS y los terceros aprobados también utilizarán cookies para proporcionar características útiles del sitio, recordar sus preferencias y mostrar contenido relevante, incluida publicidad relevante. Para aceptar o rechazar todas las cookies no esenciales, haga clic en “Aceptar” o “Rechazar”. Para elegir opciones más detalladas, haga clic en “Personalizar”.

Configuración de un método de Amazon API Gateway como proveedor de identidad personalizado

Modo de enfoque
Configuración de un método de Amazon API Gateway como proveedor de identidad personalizado - 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.

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.

Este tutorial ilustra cómo configurar un método de Amazon API Gateway y usarlo como proveedor de identidad personalizado para cargar archivos a un AWS Transfer Family servidor. En este tutorial solo se utiliza la plantilla de pila básica y otras funciones básicas como ejemplo.

Requisitos previos

Antes de crear los recursos de Transfer Family en AWS CloudFormation, cree su almacenamiento y su rol de usuario.

Cómo especificar el almacenamiento y crear un rol de usuario
  1. Según el almacenamiento que utilice, consulte la siguiente documentación:

  2. Para crear un rol de usuario, consulte Crea un IAM rol y una política

Introduzca los detalles de su almacenamiento y su rol de usuario al crear su pila AWS CloudFormation en la siguiente sección.

Paso 1: Crea una CloudFormation pila

Para crear una AWS CloudFormation pila a partir de la plantilla proporcionada
  1. Abre la AWS CloudFormation consola en https://console.aws.amazon.com/cloudformation.

  2. Seleccione Crear pila y seleccione Con recursos nuevos (estándar).

  3. En Requisito previo: preparar plantilla, elija La plantilla está lista.

  4. Copia este enlace, plantilla de pila básica, y pégalo en el URL campo Amazon S3.

  5. Haga clic en Next (Siguiente).

  6. Especifique los parámetros, incluido un nombre para la pila. Asegúrese de hacer lo siguiente:

    • Sustituya los valores predeterminados por UserNamey UserPassword.

    • Para UserHomeDirectoryello, introduzca los detalles del almacenamiento (ya sea un bucket de Amazon S3 o un EFS sistema de archivos de Amazon) que creó anteriormente.

    • Sustituya la función UserRoleArnde usuario predeterminada por la que creó anteriormente. El rol AWS Identity and Access Management (IAM) debe tener los permisos adecuados. Para ver un ejemplo de política de IAM roles y segmentos, consultePaso 6: limitación del acceso al bucket.

    • Si desea autenticarse con una clave pública en lugar de una contraseña, introduzca su clave pública en el campo UserPublicKey1. La primera vez que se conecte al servidor utilizandoSFTP, proporcionará la clave privada en lugar de una contraseña.

  7. Seleccione Siguiente y, a continuación, vuelva a seleccionar Siguiente en la página Configurar opciones de pila.

  8. Revise los detalles de la pila que esté creando y, a continuación, seleccione Crear pila.

    nota

    En la parte inferior de la página, en la sección Capacidades, debes reconocer que AWS CloudFormation podría crear IAM recursos.

Paso 2: Compruebe la configuración del método API Gateway para su servidor

nota

Para mejorar la seguridad, puede configurar un firewall de aplicaciones web. AWS WAF es un firewall de aplicaciones web que le permite supervisar las HTTPS solicitudes HTTP y las solicitudes que se reenvían a Amazon API Gateway. Para obtener más información, consulte Agregue un cortafuegos de aplicaciones web.

Para comprobar la configuración del método API Gateway para su servidor e implementarlo
  1. Abra la consola API Gateway en https://console.aws.amazon.com/apigateway/.

  2. Elija la plantilla básica de Transfer Custom Identity Provider API que generó la AWS CloudFormation plantilla.

  3. En el panel Recursos, elija y GET, a continuación, elija Solicitud de método.

  4. En Acciones, elija Implementar API. Para la Etapa de implementación, elija prod y, a continuación, elija Implementar.

    Una vez que el método API Gateway se haya implementado correctamente, consulte su rendimiento en la sección Stage Editor.

    nota

    Copia la URL dirección de invocación que aparece en la parte superior de la página. Lo necesitará para el siguiente paso.

Paso 3: visualización de los detalles del servidor de Transfer Family

Al utilizar la plantilla para crear una AWS CloudFormation pila, se crea automáticamente un servidor Transfer Family.

Visualización de los detalles del servidor de Transfer Family
  1. Abre la AWS CloudFormation consola en https://console.aws.amazon.com/cloudformation.

  2. Elija la pila que ha creado.

  3. Elija la pestaña Recursos.

    Pantalla que muestra la lista de recursos creados durante la creación de la AWS CloudFormation pila, con los detalles del servidor Transfer Family resaltados.

    El servidor ARN se muestra en la columna de ID física de la TransferServerfila. El ID del servidor está contenido enARN, por ejemplo, s-11112222333344445.

  4. Abra la AWS Transfer Family consola en y https://console.aws.amazon.com/transfer/, en la página Servidores, elija el nuevo servidor.

    El ID del servidor coincide con el ID que se muestra para el TransferServerrecurso en AWS CloudFormation.

Paso 4: comprobación de que el usuario puede conectarse al servidor

Comprobación de que el usuario puede conectarse al servidor, mediante la consola Transfer Family
  1. Abra la AWS Transfer Family consola en https://console.aws.amazon.com/transfer/.

  2. En la página Servidores, elija su nuevo servidor, elija Acciones y, a continuación, elija Probar.

  3. Introduzca el texto de sus credenciales de inicio de sesión en el campo Nombre de usuario y en el campo Contraseña. Estos son los valores que estableció al implementar la AWS CloudFormation pila.

  4. En Protocolo de servidor, seleccione y SFTP, en IP de origen, introduzca127.0.0.1.

  5. Seleccione Probar.

    Si la autenticación del usuario se realiza correctamente, la prueba devuelve una StatusCode: 200 HTML respuesta y un JSON objeto que contiene los detalles de las funciones y los permisos del usuario. Por ejemplo:

    { "Response": "{\"Role\": \"arn:aws:iam::123456789012:role/my-user-role\",\"HomeDirectory\": \"/${transfer:HomeBucket}/\"}", "StatusCode": 200, "Message": "", "Url": "https://1a2b3c4d5e.execute-api.us-east-2.amazonaws.com/prod/servers/s-1234abcd5678efgh0/users/myuser/config" }

    Si la prueba no se realiza correctamente, añada una de las políticas AWS gestionadas por API Gateway a la función que está utilizando para su API función.

Paso 5: Pruebe la SFTP conexión y la transferencia de archivos

Para probar la SFTP conexión
  1. En Linux o macOS, abra un terminal de comandos.

  2. Ingrese uno de los siguientes comandos en función de si utiliza una contraseña o un par de claves para la autenticación.

    • Si utiliza una contraseña, introduzca este comando:

      sftp -o PubkeyAuthentication=no myuser@server-ID.server.transfer.region-code.amazonaws.com

      Escriba la contraseña cuando se le solicite.

    • Si utiliza un par de claves, introduzca este comando:

      sftp -i private-key-file myuser@server-ID.server.transfer.region-code.amazonaws.com

    nota

    Para estos comandos sftp, inserte el código de la Región de AWS donde está ubicado su servidor de Transfer Family. Por ejemplo, si su servidor está en el este de EE. UU. (Ohio), introduzcaus-east-2.

  3. Cuando aparezca sftp>, asegúrese de que puede cargar (put), descargar (get) y ver directorios y archivos (pwd y ls).

Paso 6: limitación del acceso al bucket

Puede limitar quién accede a un bucket específico de Amazon S3. El siguiente ejemplo muestra la configuración que se debe usar en la CloudFormation pila y en la política que seleccione para el usuario.

En este ejemplo, configuramos los siguientes parámetros para la AWS CloudFormation pila:

  • CreateServer: true

  • UserHomeDirectory: /myuser-bucket

  • UserName: myuser

  • UserPassword: MySuperSecretPassword

    importante

    Este es un ejemplo de contraseña. Al configurar el método API Gateway, asegúrese de introducir una contraseña segura.

  • UserPublicKey1: your-public-key

  • UserRoleArn: arn:aws:iam::role-id:role/myuser-api-gateway-role

El UserPublicKey1 es una clave pública que ha generado como parte de un par de claves pública/privada.

role-id es exclusivo del rol de usuario que cree. La política asociada a myuser-api-gateway-role es la siguiente:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::myuser-bucket" }, { "Sid": "VisualEditor1", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObjectAcl", "s3:GetObject", "s3:DeleteObjectVersion", "s3:DeleteObject", "s3:PutObjectAcl", "s3:GetObjectVersion" ], "Resource": "arn:aws:s3:::myuser-bucket/*" } ] }

Para conectarse al servidor medianteSFTP, introduzca uno de los siguientes comandos en la línea de comandos.

  • Si utiliza una contraseña para autenticarse, ejecute el siguiente comando:

    sftp -o PubkeyAuthentication=no myuser@transfer-server-ID.server.transfer.region-id.amazonaws.com

    Escriba la contraseña cuando se le solicite.

  • Si utiliza un par de claves para autenticarse, ejecute el siguiente comando:

    sftp -i private-key-file myuser@transfer-server-ID.server.transfer.region-id.amazonaws.com

nota

Para estos sftp comandos, utilice el ID de Región de AWS la ubicación del servidor Transfer Family. Por ejemplo, si su servidor está en el este de EE. UU. (Ohio), utilice us-east-2.

Cuando sftp aparezca la línea de comandos, accederá a su directorio de inicio, que podrá ver ejecutando el comando pwd. Por ejemplo:

sftp> pwd Remote working directory: /myuser-bucket

El usuario no puede ver ningún directorio situado por encima del directorio de inicio. Por ejemplo:

sftp> pwd Remote working directory: /myuser-bucket sftp> cd .. sftp> ls Couldn't read directory: Permission denied

Actualice Lambda si utiliza Amazon EFS

Si seleccionaste Amazon EFS como opción de almacenamiento para tu servidor Transfer Family, tendrás que editar la función lambda de tu pila.

Cómo agregar un perfil posix a la función de Lambda
  1. Abra la consola Lambda en. https://console.aws.amazon.com/lambda/

  2. Elija la función de Lambda que ha creado. La función Lambda tiene el formato de stack-name-GetUserConfigLambda-lambda-identifier, donde stack-name es el nombre de la CloudFormation pila y lambda-identifier es el identificador de la función.

  3. En la pestaña Código, seleccione index.js para ver el código de la función.

  4. En response, añada la siguiente línea entre Policy y HomeDirectory:

    PosixProfile: {"Uid": uid-value, "Gid": gid-value},

    ¿Dónde está el uid-value y gid-value son números enteros, 0 o mayores, que representan el ID de usuario y el ID de grupo, respectivamente.

    Por ejemplo, después de agregar el perfil Posix, el campo de respuesta podría tener el siguiente aspecto:

    response = { Role: 'arn:aws:iam::123456789012:role/api-gateway-transfer-efs-role', // The user will be authenticated if and only if the Role field is not blank Policy: '', // Optional JSON blob to further restrict this user's permissions PosixProfile: {"Gid": 65534, "Uid": 65534}, HomeDirectory: '/fs-fab2c234' // Not required, defaults to '/' };
PrivacidadTérminos del sitioPreferencias de cookies
© 2025, Amazon Web Services, Inc o sus afiliados. Todos los derechos reservados.