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.
Configure el almacenamiento para usarlo con AWS Transfer Family
En este tema se describen las opciones de almacenamiento que puede utilizar con AWS Transfer Family. Puede utilizar Amazon S3 o Amazon EFS como almacenamiento para sus servidores Transfer Family.
Configurar un bucket de Amazon S3
AWS Transfer Family accede a su bucket de Amazon S3 para atender las solicitudes de transferencia de sus usuarios, por lo que debe proporcionar un bucket de Amazon S3 como parte de la configuración de su servidor habilitado para el protocolo de transferencia de archivos. Puede usar un bucket existente o crear uno nuevo.
nota
No es necesario utilizar un servidor y un bucket de Amazon S3 que estén en la misma región de AWS , pero lo aconsejamos como práctica recomendada.
Cuando configuras tus usuarios, les asignas un rol a cada uno. IAM Este rol determina el nivel de acceso que tienen al bucket de Amazon S3.
Para obtener más información sobre la creación de un nuevo bucket, consulte la sección de ¿Como creo un bucket S3? en la Guía del usuario de Amazon Simple Storage Service.
nota
Puede usar el bloqueo de objetos de Amazon S3 para evitar que se elimine o se sobrescriba un objeto durante un periodo de tiempo determinado o de manera indefinida. Esto funciona de la misma manera con Transfer Family que con otros servicios. Si un objeto existe y está protegido, no se permite escribir en ese archivo ni eliminarlo. Para obtener más información acerca de Bloqueo de objetos en Amazon S3, consulte Uso de Bloqueo de objetos en Amazon S3 en la Guía del usuario de Amazon Simple Storage Service.
Puntos de acceso de Amazon S3
AWS Transfer Family es compatible con los puntos de acceso Amazon S3
Por ejemplo, puede usar los puntos de acceso para permitir que tres equipos diferentes tengan acceso al mismo conjunto de datos compartido: un equipo puede leer los datos de S3, un segundo equipo puede escribir datos en S3 y el tercer equipo puede leer, escribir y eliminar datos de S3. Para implementar un control de acceso granular como el mencionado anteriormente, puede crear un punto de acceso S3 que contenga una política que dé acceso asimétrico a los diferentes equipos. Puede usar los puntos de acceso S3 con su servidor de Transfer Family para lograr un control de acceso detallado, sin necesidad de crear una política de bucket de S3 compleja que abarque cientos de casos de uso. Para obtener más información sobre cómo utilizar los puntos de acceso S3 con un servidor Transfer Family, consulte la entrada del blog Enhance data access control with AWS Transfer Family Amazon S3
nota
AWS Transfer Family actualmente no es compatible con los puntos de acceso multirregionales de Amazon S3.
HeadObject Comportamiento de Amazon S3
nota
Al crear o actualizar un servidor Transfer Family, puede optimizar el rendimiento de sus directorios de Amazon S3, lo que elimina las HeadObject
llamadas.
En Amazon S3, los buckets y objetos son los principales recursos, y los objetos se almacenan en buckets. Amazon S3 puede imitar un sistema de archivos jerárquico, pero a veces puede comportarse de forma diferente a un sistema de archivos normal. Por ejemplo, los directorios no son un concepto de primera clase en Amazon S3, sino que se basan en claves de objetos. AWS Transfer Family deduce la ruta de un directorio dividiendo la clave de un objeto por la barra diagonal (/), tratando el último elemento como el nombre del archivo y agrupando los nombres de los archivos que tienen el mismo prefijo en la misma ruta. Los objetos de cero bits se crean para representar la ruta de una carpeta cuando se crea un directorio vacío con mkdir
o mediante la consola Amazon S3. La clave de estos objetos termina en una barra diagonal al final. Estos objetos de cero bits se describen en Organizar objetos en la consola de Amazon S3 mediante carpetas de la Guía del usuario de Amazon S3.
Cuando ejecuta un ls
comando y algunos resultados son objetos de cero bytes de Amazon S3 (estos objetos tienen claves que terminan en barra inclinada), Transfer Family emite una HeadObject
solicitud para cada uno de estos objetos (consulte HeadObjectla APIreferencia de Amazon Simple Storage Service para obtener más información). Esto puede provocar los siguientes problemas al utilizar Amazon S3 como almacenamiento con Transfer Family.
Otorgue la capacidad de escribir y enumerar únicamente archivos
En algunos casos, es posible que desee ofrecer únicamente acceso de escritura a sus objetos de Amazon S3. Por ejemplo, es posible que desee proporcionar acceso para escribir (o cargar) y enumerar objetos en un bucket, pero no para leer (descargar) objetos. Para ejecutar ls
mkdir
comandos mediante clientes de transferencia de archivos, debe tener Amazon S3 ListObjects
y PutObject
permisos. Sin embargo, cuando Transfer Family necesita realizar una HeadObject
llamada para escribir o enumerar archivos, la llamada falla y aparece el error Acceso denegado, ya que esta llamada requiere el GetObject
permiso.
nota
Al crear o actualizar un servidor Transfer Family, puede optimizar el rendimiento de sus directorios de Amazon S3, lo que elimina las HeadObject
llamadas.
En este caso, puede conceder el acceso añadiendo una condición de política AWS Identity and Access Management (IAM) que añada el GetObject
permiso solo para los objetos que terminen en una barra diagonal (/
). Esta condición impide GetObject
las llamadas a los archivos (por lo que no se pueden leer), pero permite al usuario enumerar las carpetas y recorrerlas. El siguiente ejemplo de política solo ofrece acceso de escritura y lista a sus buckets de Amazon S3. Para usar esta política,
sustitúyala por el nombre de tu bucket.DOC-EXAMPLE-BUCKET
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowListing", "Effect": "Allow", "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::
DOC-EXAMPLE-BUCKET
" }, { "Sid": "AllowReadWrite", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET
/*" ] }, { "Sid": "DenyIfNotFolder", "Effect": "Deny", "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "NotResource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET
/*/" ] } ] }
nota
Esta política no permite a los usuarios añadir archivos. En otras palabras, un usuario al que se le asigne esta política no puede abrir archivos para añadirles contenido o modificarlos. Además, si su caso de uso requiere una llamada a HeadObject
antes de cargar un archivo, esta política no le servirá.
Gran cantidad de objetos de cero bits que provocan problemas de latencia
Si sus buckets de Amazon S3 contienen una gran cantidad de estos objetos de cero bits, Transfer Family emite muchas llamadas HeadObject
, lo que puede provocar retrasos en el procesamiento.
Una posible solución a este problema es eliminar todos los objetos de cero bits. Tenga en cuenta lo siguiente:
-
Los directorios vacíos dejarán de existir. Los directorios solo existen porque sus nombres están en la clave de un objeto.
-
No impide que alguien vuelva a llamar
mkdir
y romper cosas una y otra vez. Puede mitigar esto mediante la elaboración de una política que impida la creación de directorios. -
Algunos escenarios utilizan estos objetos de 0 bits. Por ejemplo, tiene una estructura como /inboxes/customer1000 y el directorio de la bandeja de entrada se limpia todos los días.
Otra posible solución es limitar el número de objetos visibles mediante una condición política para reducir el número de llamadas HeadObject
. Para que esta sea una solución viable, debe aceptar que solo podrá ver un conjunto limitado de todos sus subdirectorios.
Configurar un sistema de EFS archivos de Amazon
AWS Transfer Family accede a Amazon Elastic File System (AmazonEFS) para atender las solicitudes de transferencia de los usuarios. Por lo tanto, debe proporcionar un sistema de EFS archivos Amazon como parte de la configuración de su servidor habilitado para el protocolo de transferencia de archivos. Puede usar un sistema de archivos existente o crear uno nuevo.
Tenga en cuenta lo siguiente:
-
Si utilizas un servidor Transfer Family y un sistema de EFS archivos de Amazon, el servidor y el sistema de archivos deben estar en el mismo lugar Región de AWS.
-
No es necesario que el servidor y el sistema de archivos estén en la misma cuenta. Si el servidor y el sistema de archivos no están en la misma cuenta, la política del sistema de archivos debe conceder permisos explícitos al rol de usuario.
Para obtener información sobre cómo configurar varias cuentas, consulte Administrar las AWS cuentas de su organización en la Guía del AWS Organizations usuario.
-
Al configurar los usuarios, se les asigna un IAM rol a cada uno. Este rol determina el nivel de acceso que tienen a tu sistema de EFS archivos de Amazon.
-
Para obtener más información sobre el montaje de un sistema de EFS archivos de Amazon, consulte Montaje de sistemas de EFS archivos de Amazon.
Para obtener más información sobre cómo AWS Transfer Family EFS funcionan juntos Amazon, consulte Uso AWS Transfer Family para acceder a los archivos del sistema de archivos de Amazon EFS en la Guía del usuario de Amazon Elastic File System.
Propiedad de los EFS archivos de Amazon
Amazon EFS utiliza el modelo de permisos de archivos de la Interfaz de Sistema Operativo Portátil (POSIX) para representar la propiedad de los archivos.
EnPOSIX, los usuarios del sistema se clasifican en tres clases de permisos distintas: cuando permites que un usuario acceda a los archivos almacenados en un sistema de EFS archivos de Amazon mediante AWS Transfer Family, debes asignarle un «POSIXperfil». Este perfil se utiliza para determinar su acceso a los archivos y directorios del sistema de EFS archivos de Amazon.
-
Usuario (u): propietario del archivo o directorio. Por lo general, el creador de un archivo o directorio también es el propietario.
-
Grupo (g): conjunto de usuarios que necesitan un acceso idéntico a los archivos y directorios que comparten.
-
Otros (o): todos los demás usuarios que tienen acceso al sistema, excepto el propietario y los miembros del grupo. Esta clase de permiso también se denomina “Pública”.
En el modelo de POSIX permisos, cada objeto del sistema de archivos (archivos, directorios, enlaces simbólicos, canales con nombre y conectores) está asociado a los tres conjuntos de permisos mencionados anteriormente. EFSLos objetos de Amazon tienen asociado un modo de estilo Unix. Este valor de modo define los permisos para realizar acciones en ese objeto.
Además, en los sistemas tipo Unix, los usuarios y los grupos se asignan a identificadores numéricos, que Amazon EFS utiliza para representar la propiedad de los archivos. EFSEn Amazon, los objetos pertenecen a un único propietario y a un único grupo. Amazon EFS utiliza el número asignado IDs para comprobar los permisos cuando un usuario intenta acceder a un objeto del sistema de archivos.
Configurar EFS usuarios de Amazon para Transfer Family
Antes de configurar tus EFS usuarios de Amazon, puedes realizar una de las siguientes acciones:
-
Puedes crear usuarios y configurar sus carpetas de inicio en AmazonEFS. Para obtener más información, consulte Configurar los usuarios de Transfer Family en Amazon EFS.
-
Si se siente cómodo añadiendo un usuario raíz, puede Crear un usuario EFS root de Amazon.
nota
Los servidores Transfer Family no admiten los puntos de EFS acceso de Amazon para establecer POSIX permisos. POSIXLos perfiles de los usuarios de Transfer Family (descritos en la sección anterior) ofrecen la posibilidad de establecer POSIX permisos. Estos permisos se establecen a nivel de usuario, para un acceso detallado UIDGID, basado en y secundarioGIDs.
Configurar los usuarios de Transfer Family en Amazon EFS
Transfer Family mapea los usuarios a los UID/GID and directories you specify. If the UID/GID/directories que aún no existenEFS, por lo que debes crearlos antes de asignarlos en Transfer a un usuario. Los detalles para crear EFS usuarios de Amazon se describen en Cómo trabajar con usuarios, grupos y permisos a nivel del sistema de archivos de red (NFS) de la Guía del usuario de Amazon Elastic File System.
Pasos para configurar EFS los usuarios de Amazon en Transfer Family
-
Mapea la EFS UID y GID para tu usuario en Transfer Family mediante los
PosixProfile
campos. -
Si desea que el usuario comience en una carpeta específica al iniciar sesión, puede especificar el EFS directorio en el
HomeDirectory
campo.
Puede automatizar el proceso mediante una CloudWatch regla y una función Lambda. Para ver un ejemplo de una función Lambda con la que interactúaEFS, consulte Uso de Amazon EFS para aplicaciones sin AWS Lambda servidor
Además, puede configurar directorios lógicos para los usuarios de Transfer Family. Para obtener más información, consulte la sección Configurar directorios lógicos para Amazon EFS del tema Uso de directorios lógicos para simplificar las estructuras de directorios de Transfer Family.
Crear un usuario EFS root de Amazon
Si a su organización le resulta cómodo habilitar el acceso de los usuarios root medianteSFTP/FTPSpara la configuración de sus usuarios, puede crear un usuario que sea 0 (usuario root) UID yGID, a continuación, utilizar ese usuario root para crear carpetas y asignar propietarios de POSIX ID al resto de los usuarios. La ventaja de esta opción es que no es necesario montar el sistema de EFS archivos de Amazon.
Siga los pasos descritos en Añadir usuarios gestionados por Amazon EFS Service y, tanto para el ID de usuario como para el ID de grupo, introduzca 0 (cero).
EFSComandos de Amazon compatibles
Los siguientes comandos son compatibles con Amazon EFS for AWS Transfer Family.
-
cd
-
ls
/dir
-
pwd
-
put
-
get
-
rename
-
chown
: solo el usuario raíz (es decir, los usuarios con uid=0) puede cambiar la propiedad y los permisos de los archivos y directorios. -
chmod
: solo el usuario raíz puede cambiar la propiedad y los permisos de los archivos y directorios. -
chgrp
: se admite tanto para el usuario raíz como para el propietario del archivo, que solo puede cambiar el grupo de un archivo para convertirlo en uno de sus grupos secundarios. -
ln -s
/symlink
-
mkdir
-
rm
/delete
-
rmdir
-
chmtime