Usuarios, grupos y permisos en el nivel de Network File System (NFS)
Después de crear un sistema de archivos, de forma predeterminada, solo el usuario raíz (UID 0) dispone de permisos de lectura, escritura y ejecución. Para que otros usuarios modifiquen el sistema de archivos, el usuario raíz debe concederles acceso de forma explícita. Puede utilizar puntos de acceso para automatizar la creación de directorios desde los que un usuario que no sea raíz puede escribir. Para obtener más información, consulte Trabajo con puntos de acceso de Amazon EFS.
Los objetos de sistema de archivos de Amazon EFS tienen un modo de estilo Unix asociado a ellos. Este valor de modo define los permisos para realizar acciones en ese objeto. Los usuarios familiarizados con los sistemas de estilo UNIX pueden comprender fácilmente cómo se comporta Amazon EFS con respecto a estos permisos.
Además, en los sistemas de estilo Unix, los usuarios y los grupos se asignan a identificadores numéricos, que Amazon EFS utiliza para representar la propiedad del archivo. En el caso de Amazon EFS, los objetos del sistema de archivos (es decir, archivos, directorios, etc.) pertenecen a un único propietario y a un único grupo. Amazon EFS usa estos ID numéricos asignados para comprobar los permisos cuando un usuario intenta acceder a un objeto del sistema de archivos.
nota
El protocolo NFS admite un máximo de 16 ID de grupo (GID) por usuario y cualquier GID adicional se trunca a partir de las solicitudes de los clientes de NFS. Para obtener más información, consulte Acceso denegado a los archivos permitidos en el sistema de archivos NFS.
A continuación, encontrará ejemplos de permisos y un debate sobre consideraciones de permisos de NFS en Amazon EFS.
Temas
- Permisos de archivos y directorios
- Ejemplo de permisos y casos de uso del sistema de archivos de Amazon EFS
- Permisos de ID de grupo y usuario en archivos y directorios dentro de un sistema de archivos
- Sin agrupación de raíz
- Almacenamiento en caché de permisos
- Cambio de propiedad de objeto del sistema de archivos
- Puntos de acceso de EFS
Ejemplo de permisos y casos de uso del sistema de archivos de Amazon EFS
Después de crear un sistema de archivos de Amazon EFS y destinos de montaje para el sistema de archivos en la VPC, puede montar el sistema de archivos remoto localmente en su instancia de Amazon EC2. El comando mount
puede montar cualquier directorio en el sistema de archivos. No obstante, la primera vez que cree el sistema de archivos, solo hay un directorio raíz en /
. El usuario raíz y el grupo raíz son propietarios del directorio montado.
El siguiente comando mount
monta el directorio raíz de un sistema de archivos de Amazon EFS, identificado por el nombre de DNS del sistema de archivos, en el directorio local /efs-mount-point
.
sudo mount -t nfs -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport
file-system-id
.efs.aws-region.amazonaws.com:/ efs-mount-point
El modo de permisos inicial permite:
-
Permisos
read-write-execute
para el propietario raíz -
Permisos
read-execute
para el grupo raíz -
Permisos
read-execute
para otras personas
Solo el usuario raíz puede modificar este directorio. El usuario raíz también puede conceder a otros usuarios permisos para escribir en este directorio, por ejemplo:
-
Crear subdirectorios que se pueden escribir por usuario. Para obtener instrucciones paso a paso, consulte Tutorial: Crear subdirectorios que se pueden escribir por usuario.
-
Permitir a los usuarios escribir en la raíz del sistema de archivos de Amazon EFS Un usuario con privilegios raíz puede conceder a otros usuarios acceso al sistema de archivos.
-
Para cambiar la propiedad del sistema de archivos de Amazon EFS a un usuario y grupo no-raíz, utilice lo siguiente:
$ sudo chown
user
:group
/EFSroot
-
Para cambiar los permisos del sistema de archivos a otros más permisivos, utilice lo siguiente:
$ sudo chmod 777 /
EFSroot
Este comando concede privilegios de lectura-escritura-ejecución a todos los usuarios de todas las instancias EC2 que tienen el sistema de archivos montado.
-
Permisos de ID de grupo y usuario en archivos y directorios dentro de un sistema de archivos
Los archivos y directorios del sistema de archivos de Amazon EFS admiten los permisos de lectura, escritura y ejecución estándar de tipo Unix basados en el ID de usuario y el ID de grupo. Cuando un cliente NFS monta un sistema de archivos EFS sin utilizar un punto de acceso, el ID de usuario y el ID de grupo proporcionados por el cliente son de confianza. Los puntos de acceso EFS se pueden utilizar para anular el ID de usuario y los ID de grupo utilizados por el cliente NFS. Cuando los usuarios intentan acceder a los archivos y directorios, Amazon EFS comprueba su ID de usuario e ID de grupo para comprobar si el usuario tiene permiso para acceder a los objetos. Amazon EFS también utiliza estos ID para indicar el propietario y el propietario de grupo para nuevos archivos y directorios que crea el usuario. Amazon EFS no examina los nombres de usuario o de grupo, solo utiliza identificadores numéricos.
nota
Al crear un usuario en una instancia EC2, puede asignar cualquier ID de usuario (UID) e ID de grupo (GID) numéricos al usuario. Los ID numéricos de usuario se establecen en el archivo /etc/passwd
en sistemas Linux. Los ID de grupo numérico se encuentran en el archivo /etc/group
. Estos archivos definen los mapeos entre nombres e ID. Fuera de la instancia de EC2, Amazon EFS no realiza ninguna autenticación de estos identificadores, incluido el ID raíz de 0.
Si un usuario accede a un sistema de archivos de Amazon EFS desde dos instancias EC2 diferentes, en función de si el UID del usuario es el mismo o diferente en dichas instancias, verá distinto comportamiento como se indica:
-
Si los ID de usuario son los mismos en ambas instancias EC2, Amazon EFS considera que indican el mismo usuario, independientemente de la instancia EC2 que utilizan. La experiencia del usuario al acceder al sistema de archivos es la misma desde ambas instancias EC2.
-
Si los ID de usuario no son iguales en ambas instancias EC2, Amazon EFS considera que los usuarios son usuarios diferentes. La experiencia del usuario no es la misma al acceder al sistema de archivos de Amazon EFS desde las dos instancias EC2 diferentes.
-
Si dos usuarios distintos en distintas instancias EC2 comparten un ID, Amazon EFS los considera que son el mismo usuario.
Podría plantearse administrar los mapeos de ID de usuario entre instancias EC2 de forma coherente. Los usuarios pueden comprobar su ID numérico utilizando el comando id
.
$ id uid=502(joe) gid=502(joe) groups=502(joe)
Desactivar el mapeador de ID
Las utilidades de NFS en el sistema operativo incluyen un demonio denominado mapeador de ID que administra el mapeo entre nombres de usuario e ID. En Amazon Linux, el demonio se denomina rpc.idmapd
y en Ubuntu se denomina idmapd
. Traduce los ID de usuarios y grupos en nombres y viceversa. Sin embargo, Amazon EFS solo trata con ID numéricos. Le recomendamos que desactive este proceso en sus instancias EC2. En Amazon Linux, el mapeador de ID suele estar deshabilitado: si lo está, no lo habilite. Para desactivar el mapeador de ID, utilice los comandos que se muestran a continuación.
$ service rpcidmapd status $ sudo service rpcidmapd stop
Sin agrupación de raíz
De forma predeterminada, la compresión de raíces está deshabilitada en los sistemas de archivos de EFS. Amazon EFS se comporta como un servidor NFS de Linux con no_root_squash
. Si el ID de un usuario o grupo es 0, Amazon EFS trata a dicho usuario como usuario root
e ignora las comprobaciones de permisos (permitiendo el acceso y la modificación de todos los objetos del sistema de archivos). La eliminación de raíz se puede habilitar en una conexión de cliente cuando la política de identidad o recursos AWS Identity and Access Management (IAM de AWS) no permite el acceso a la acción ClientRootAccess
. Cuando la agrupación de raíz está habilitada, el usuario raíz se convierte a un usuario con permisos limitados en el servidor de NFS.
Para obtener más información, consulte Uso de IAM para controlar el acceso a los datos del sistema de archivos.
Habilitar la agrupación de nodo raíz mediante la autorización de IAM para clientes NFS
Puede configurar Amazon EFS para denegar el acceso raíz a su sistema de archivos de Amazon EFS para todas las entidades principales de AWS, excepto para una única estación de trabajo de administración. Se hace configurando la autorización de AWS Identity and Access Management (IAM) para clientes de sistema de archivos de red (NFS).
Para ello, es necesario configurar dos políticas de permisos de IAM, como se indica a continuación.
-
Cree una política de sistema de archivos EFS que permita explícitamente el acceso de lectura y escritura al sistema de archivos y deniegue implícitamente el acceso del nodo raíz.
-
Asigne una identidad de IAM a la estación de trabajo de administración de Amazon EC2 que requiere acceso de nodo raíz al sistema de archivos mediante un perfil de instancia de Amazon EC2. Para obtener más información acerca de los perfiles de instancias de Amazon EC2, consulte Uso de perfiles de instancia en la Guía del usuario de AWS Identity and Access Management.
-
Asigne la política administrada de AWS
AmazonElasticFileSystemClientFullAccess
al rol de IAM de la estación de trabajo de administración. Para obtener más información sobre las políticas administradas de AWS para EFS, consulte Administración de identidades y accesos para Amazon EFS.
Para habilitar la agrupación de nodo raíz mediante la autorización de IAM para clientes NFS, utilice los procedimientos siguientes.
Para evitar el acceso raíz al sistema de archivos
Abra la consola de Amazon Elastic File System en https://console.aws.amazon.com/efs/
. Elija Sistemas de archivos.
Elija el sistema de archivos en el que desea habilitar la agrupación de nodo raíz.
-
En la página de detalles del sistema de archivos, elija Política del sistema de archivos y, a continuación, elija Editar. Aparece la página File system policy (Política del sistema de archivos).
-
Seleccione Impedir el acceso a la raíz de forma predeterminada* en Opciones de política. El objeto JSON de política aparece en el editor de políticas.
Elija Save (Guardar) para guardar la política del sistema de archivos.
Los clientes que no son anónimos pueden obtener acceso raíz al sistema de archivos a través de una política basada en la identidad. Cuando asocia la política administrada por AmazonElasticFileSystemClientFullAccess
a la función de la estación de trabajo, IAM concede acceso raíz a la estación de trabajo en función de su política de identidad.
Para habilitar el acceso raíz desde la estación de trabajo de administración
Abra la consola de IAM en https://console.aws.amazon.com/iam/
. Crear un rol para Amazon EC2 llamado
EFS-client-root-access
. IAM crea un perfil de instancia con el mismo nombre que el rol de EC2 que ha creado.Asigne la política administrada de AWS
AmazonElasticFileSystemClientFullAccess
a la función EC2 que ha creado. El contenido de esta política se muestra a continuación.{ "Version”: "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "elasticfilesystem:ClientMount", "elasticfilesystem:ClientRootAccess", "elasticfilesystem:ClientWrite", "elasticfilesystem:DescribeMountTargets" ], "Resource": "*" } ] }
Asocie el perfil de instancia a la instancia EC2 que está utilizando como estación de trabajo de administración, como se describe a continuación. Para obtener más información, consulte Adjuntar un rol de IAM a una instancia en la Guía del usuario de Amazon EC2 para instancias de Linux.
Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/
. En el panel de navegación, seleccione Instances (Instancia[s]).
Seleccione la instancia. Para Actions (Acciones), elija Instance Settings (Configuración de instancia) y, a continuación, elija Attach/Replace IAM role (Asociar/sustituir rol de IAM).
Seleccione el rol de IAM que creó en el primer paso,
EFS-client-root-access
, y elija Apply (Aplicar).
Instale el ayudante de montaje EFS en la estación de trabajo de administración. Para obtener más información sobre el ayudante de montaje EFS y el paquete amazon-efs-utils, consulte Instalación del cliente de Amazon EFS.
Monte el sistema de archivos EFS en la estación de trabajo de administración mediante el siguiente comando con la opción de montaje
iam
.$
sudo mount -t efs -o tls,iamfile-system-id
:/efs-mount-point
Puede configurar la instancia de Amazon EC2 para que monte automáticamente el sistema de archivos con autorización de IAM. Para obtener más información sobre cómo montar un sistema de archivos de EFS con autorización de IAM, consulte Montaje con autorización de IAM.
Almacenamiento en caché de permisos
Amazon EFS almacena en caché los permisos de archivos durante un breve periodo de tiempo. Como resultado, es posible que haya un breve periodo en el que un usuario cuyo acceso se revocó recientemente, pueda seguir accediendo a ese objeto.
Cambio de propiedad de objeto del sistema de archivos
Amazon EFS aplica el atributo chown_restricted
de POSIX. Esto significa que solo el usuario raíz puede cambiar el propietario de un objeto del sistema de archivos. El usuario raíz o propietario puede cambiar el grupo propietario de un objeto del sistema de archivos. Sin embargo, a menos que el usuario sea raíz, el grupo solo se puede cambiar a uno del que sea miembro el usuario propietario.
Puntos de acceso de EFS
Un punto de acceso aplica una ruta de usuario, grupo y sistema de archivos del sistema operativo a cualquier solicitud del sistema de archivos realizada mediante el punto de acceso. El usuario y el grupo del sistema operativo del punto de acceso anulan cualquier información de identidad proporcionada por el cliente NFS. La ruta del sistema de archivos se expone al cliente como directorio raíz del punto de acceso. Este enfoque garantiza que cada aplicación siempre utilice la identidad correcta del sistema operativo y el directorio correcto al acceder a conjuntos de datos basados en archivos compartidos. Las aplicaciones que utilizan el punto de acceso solo pueden acceder a los datos en su propio directorio e inferiores. Para obtener más información acerca de los puntos de acceso, consulte Trabajo con puntos de acceso de Amazon EFS.