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.
Tutorial: Configuración AWS Transfer Family aplicación web con acceso selectivo a varios cubos
Este tutorial lo guiará a través de la configuración de una aplicación web de Transfer Family con permisos de bucket de Amazon S3 específicos para un solo usuario. Aprenderá a configurar una solución que permita a los usuarios descargar desde un bucket y subir contenido a otro sin perder la seguridad. Se trata de un tutorial avanzado que se basa en los conceptos tratados en el tutorial básico. Si eres nuevo en AWS Transfer Family aplicaciones web, considera empezar con Tutorial: Configuración de una aplicación web básica de Transfer Family.
Requisitos previos
Antes de comenzar este tutorial, necesita lo siguiente:
-
IAM Identity Center configurado en la misma región que su AWS Transfer Family aplicación web. Tenga en cuenta que AWS solo permite una instancia de IAM Identity Center por AWS cuenta para todas las regiones.
-
Al menos un usuario configurado en el centro de identidad de IAM.
-
Dos cubos de S3: uno para descargas y otro para subidas.
nota
Este tutorial comparte muchos requisitos previos con el tutorial básico de la aplicación web. Para obtener más información sobre la configuración del Centro de identidad de IAM y la creación de usuarios, consulte Tutorial: Configuración de una aplicación web básica de Transfer Family.
Paso 1: Crea una aplicación web de Transfer Family
Para crear una aplicación web de Transfer Family
-
Inicia sesión en Consola de administración de AWS y abre el AWS Transfer Family consola en https://console.aws.amazon.com/transfer/
. -
En el panel de navegación izquierdo, elige Aplicaciones web.
-
Elige Crea una aplicación web.
Para el acceso de autenticación, tenga en cuenta que el servicio encuentra automáticamente el AWS IAM Identity Center instancia que configuraste como requisito previo.
-
En el Tipo de permiso panel, seleccione Crear y usar un nuevo rol de servicio. El servicio crea el rol de portador de identidad para usted. La función de portador de identidad incluye la identidad de un usuario autenticado en sus sesiones.
-
En el Unidades de aplicaciones web panel, acepte el valor predeterminado de 1 o ajústelo a un valor superior si es necesario.
-
Agregue una etiqueta que le ayude a organizar sus aplicaciones web. Para ver el tutorial, escriba Nombre para la clave y Aplicación web tutorial por la relación calidad-precio.
sugerencia
Puede editar el nombre de la aplicación web directamente desde Aplicaciones web página de lista después de crearla.
-
Elige Siguiente para abrir el Diseñar una aplicación web página. En esta pantalla, proporcione la siguiente información.
Si lo desea, puede proporcionar un título para su aplicación web. También puedes subir archivos de imagen para tu logotipo y tu favicon.
-
Para el título de la página, personalice el título de la pestaña del navegador que ven los usuarios cuando se conectan a la aplicación web. Si no escribes nada para el título de la página, el valor predeterminado es Aplicación web Transfer.
-
Para el logotipo, sube un archivo de imagen. El tamaño máximo para subir la imagen de tu logotipo es de 2 MB.
-
Para el favicon, sube un archivo de imagen. El tamaño máximo para subir tu favicon es de 2 MB.
-
-
Elige Siguiente, luego elige Crea una aplicación web.
Paso 2: Configurar las funciones de IAM para el acceso a S3
Debes crear dos funciones de IAM: una con acceso solo para descarga al primer bucket y otra con acceso solo para subir contenido al segundo bucket.
Política de confianza para ambos roles
Utilice la siguiente política de confianza para ambas funciones de IAM:
-
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AccessGrantsTrustPolicy", "Effect": "Allow", "Principal": { "Service": "access-grants.s3.amazonaws.com" }, "Action": [ "sts:AssumeRole", "sts:SetSourceIdentity", "sts:SetContext" ] } ] }
Política de IAM para el depósito de descargas
Crea un rol de IAM con la siguiente política para el acceso de solo lectura a tu depósito de descargas:
-
{ "Version":"2012-10-17", "Statement": [ { "Sid": "ObjectLevelReadPermissions", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion", "s3:GetObjectAcl", "s3:GetObjectVersionAcl", "s3:ListMultipartUploadParts", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket1/*", "arn:aws:s3:::amzn-s3-demo-bucket1" ] } ] }
importante
Reemplazar amzn-s3-demo-bucket1 con el nombre real de tu depósito de descargas.
Política de IAM para el bucket de carga
Crea otro rol de IAM con la siguiente política para el acceso de escritura a tu bucket de subida:
-
{ "Version":"2012-10-17", "Statement": [ { "Sid": "ObjectLevelWritePermissions", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:PutObjectAcl", "s3:PutObjectVersionAcl", "s3:DeleteObject", "s3:DeleteObjectVersion", "s3:AbortMultipartUpload", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket2/*", "arn:aws:s3:::amzn-s3-demo-bucket2" ] } ] }
importante
Reemplazar amzn-s3-demo-bucket2 con el nombre real de tu bucket de subida.
Paso 3: configurar S3 Access Grants
-
Abra la consola S3 en https://console.aws.amazon.com/s3/
. -
En el panel de navegación, elige Becas de acceso.
-
Haga clic Cree una instancia de S3 Access Grants.
-
Selecciona la opción Añadir una instancia de IAM Identity Center e introduzca el ARN de la instancia del centro de identidad.
-
Haga clic Siguientey, a continuación, haga clic Cancelar para terminar de crear la instancia de S3 Access Grants sin continuar con pasos adicionales.
Este paso crea la instancia de S3 Access Grants. Ahora registrará ubicaciones y creará concesiones de acceso.
Paso 4: Registra las ubicaciones de los buckets de S3
Registre ambos depósitos de S3 como ubicaciones con S3 Access Grants:
-
En la consola de S3 Access Grants, vaya a Ubicaciones y haga clic Registrar ubicación.
-
Bajo Alcance de ubicación, elige el bucket S3 específico para las descargas (amzn-s3-demo-bucket1).
-
Cuando se le pida que elija un rol de IAM, seleccione el rol de IAM de descarga que creó anteriormente.
-
Complete el proceso de registro.
-
Repite el proceso para registrar el bucket de subida (amzn-s3-demo-bucket2) y selecciona el rol de IAM de subida cuando se te pida.
Paso 5: Crear concesiones de acceso
Crea dos subvenciones, una para cada ubicación registrada:
-
En la consola de S3 Access Grants, vaya a Subsidios y haga clic Crea una subvención.
-
En Ubicación, haga clic Navegar por ubicación y selecciona la ubicación del depósito de descargas (amzn-s3-demo-bucket1).
-
En Subprefijo (opcional), introduzca
*para permitir el acceso a todo el bucket o especificar una ruta comofolder1/folder2/*para restringir el acceso a un prefijo específico.Utilizando
*establecerá el alcance de la subvención ens3://bucket-name/*, lo que permite el acceso a todo el depósito. Para permitir el acceso solo a un prefijo específico, introduce una ruta comofolder1/folder2/*, lo que establecerá el alcance de la subvención ens3://bucket-name/folder1/folder2/*. -
Bajo Permisos y acceso, selecciona Leer para el depósito de descargas.
-
En Tipo de concesionario, elige Identidad de directorio de IAM Identity Center.
-
Para Tipo de principal de IAM, seleccione Usuario e introduzca el seudónimo de su usuario de IAM Identity Center.
-
Complete el proceso de creación de subvenciones.
-
Repite el proceso para crear una concesión para el bucket de subida (amzn-s3-demo-bucket2), pero selecciona Read-write para obtener los permisos.
Paso 6: Configurar la política CORS para los buckets de S3
Configure una política CORS para ambos depósitos de S3 para permitir el acceso a través de su AWS Transfer Family WebApp:
-
Abre la consola S3 y navega hasta tu depósito de descargas (amzn-s3-demo-bucket1).
-
Seleccione la pestaña Permisos.
-
Desplázate hacia abajo hasta el Cross-origin uso compartido de recursos (CORS) sección y haga clic Editar.
-
Agregue la siguiente configuración de CORS, reemplazando
WebAppEndpointcon su actual WebApp URL de punto final:Puede encontrar la URL del punto final de su aplicación web en AWS Transfer Family consola en WebApps. Se verá similar a https://webapp-***********.transfer-webapp.us-west-2.on.aws.
[ { "AllowedHeaders": [ "*" ], "AllowedMethods": [ "GET", "PUT", "POST", "DELETE", "HEAD" ], "AllowedOrigins": [ "https://WebAppEndpoint" ], "ExposeHeaders": [ "last-modified", "content-length", "etag", "x-amz-version-id", "content-type", "x-amz-request-id", "x-amz-id-2", "date", "x-amz-cf-id", "x-amz-storage-class", "access-control-expose-headers" ], "MaxAgeSeconds": 3000 } ] -
Haga clic en Guardar cambios.
-
Repite el proceso para tu bucket de subida (amzn-s3-demo-bucket2).
Paso 7: Probar la configuración
-
Abre tu AWS Transfer Family URL de la aplicación web. Puede encontrar esta URL en AWS Transfer Family consola en WebApps en el Punto final de acceso campo.
-
Inicie sesión con las credenciales de usuario del IAM Identity Center que configuró con las concesiones de acceso.
-
Tras iniciar sesión, deberías ver las dos ubicaciones de S3 en la página de inicio.
-
Navega hasta el depósito de descargas (amzn-s3-demo-bucket1) y comprueba que puedes descargar archivos, pero no subirlos.
-
Navega hasta el bucket de subida (amzn-s3-demo-bucket2) y comprueba que puedes subir archivos.
Conclusión
Lo has configurado correctamente AWS Transfer Family WebApp con acceso selectivo al bucket S3 para un solo usuario. Esta configuración permite al usuario descargar contenido de un bucket y subirlo a otro, sin perder la seguridad gracias a las funciones de IAM y a las concesiones de acceso a S3.
Este enfoque se puede extender a varios usuarios mediante la creación de concesiones adicionales en S3 Access Grants para cada usuario, lo que permite un control detallado de los permisos de acceso a los cubos. Para obtener información sobre la configuración básica de la aplicación web, consulte Tutorial: Configuración de una aplicación web básica de Transfer Family.