Configuración de permisos de directorio y de nivel de archivo sobre SMB

Antes de comenzar este artículo, asegúrese de que ha leído, Asignación de permisos de nivel de recurso compartido a una identidad, para garantizar la vigencia de los permisos en el nivel de recurso compartido con el control de acceso basado en rol (RBAC) de Azure.

Después de asignar los permisos de los recursos compartidos, puede configurar listas de control de acceso (ACL) de Windows, también conocidas como permisos NTFS, en las raíces, los directorios o los archivos. Si bien los permisos de nivel de recurso compartido actúan como un equipo selector de alto nivel que determina si un usuario puede acceder al recurso compartido, las listas de control de acceso de Windows operan en un nivel más pormenorizado para controlar qué operaciones puede hacer un usuario en el nivel de directorio o archivo.

Los permisos tanto de nivel de recurso compartido como de nivel de archivo o de directorio se aplican cuando un usuario intenta acceder a un archivo o directorio, de modo que, si existe alguna una diferencia entre alguno de ellos, solo se aplicará el más restrictivo. Por ejemplo, si un usuario tiene acceso de lectura y escritura en el nivel de archivo, pero solo de lectura en un nivel de recurso compartido, solo podrá leer ese archivo. Y lo mismo sucede a la inversa: si un usuario tuviera acceso de lectura y escritura en el nivel de recurso compartido, pero solo de lectura en el nivel de archivo, solo podría leer el archivo.

Importante

Para configurar las ACL de Windows, necesitará una máquina cliente que ejecute Windows que tenga conectividad de red sin obstáculos al controlador de dominio. Si va a autenticarse con Azure Files mediante Active Directory Domain Services (AD DS) o Microsoft Entra Kerberos para identidades híbridas, esto significa que necesitará conectividad de red sin obstáculos de AD local. Si usa Microsoft Entra Domain Services, la máquina cliente debe tener conectividad de red sin obstáculos a los controladores de dominio del dominio administrado por Microsoft Entra Domain Services, que se encuentran en Azure.

Se aplica a

Tipo de recurso compartido de archivos SMB NFS
Recursos compartidos de archivos Estándar (GPv2), LRS/ZRS Yes No
Recursos compartidos de archivos Estándar (GPv2), GRS/GZRS Yes No
Recursos compartidos de archivos Premium (FileStorage), LRS/ZRS Yes No

Permisos de Azure RBAC

En la siguiente tabla se incluyen los permisos de RBAC de Azure relacionados con esta configuración. Si usa Explorador de Azure Storage, también necesitará el rol Lector y acceso a datos para leer o acceder al recurso compartido de archivos.

Permiso en el nivel de recurso compartido (rol integrado) Permiso NTFS Acceso resultante
Lector de recursos compartidos de SMB de datos de archivos de Storage Control total, modificación, lectura, escritura y ejecución Lectura y ejecución
Lectura Lectura
Colaborador de recursos compartidos de SMB de datos de archivos de Storage Control total Modificación, lectura, escritura y ejecución
Modificar Modify
Lectura y ejecución Lectura y ejecución
Lectura Lectura
Escritura Escritura
Colaborador elevado de recursos compartidos de SMB de datos de archivos de Storage Control total Modificar, leer, escribir, editar (modificar los permisos), ejecutar
Modificar Modify
Lectura y ejecución Lectura y ejecución
Lectura Lectura
Escritura Escritura

ACL de Windows admitidas

Azure Files admite el conjunto completo de ACL de Windows básicas y avanzadas.

Usuarios Definición
BUILTIN\Administrators Grupo de seguridad integrado que representa a los administradores del servidor de archivos. Este grupo está vacío y no se puede agregar a nadie.
BUILTIN\Users Grupo de seguridad integrado que representa a los usuarios del servidor de archivos. Incluye NT AUTHORITY\Authenticated Users de manera predeterminada. En el caso de un servidor de archivos tradicional, puede configurar la definición de pertenencia por servidor. Para Azure Files, no hay un servidor de hospedaje, por lo que BUILTIN\Users incluye el mismo conjunto de usuarios que NT AUTHORITY\Authenticated Users.
NT AUTHORITY\SYSTEM La cuenta de servicio del sistema operativo del servidor de archivos. Esta cuenta de servicio no se aplica en el contexto de Azure Files. Se incluye en el directorio raíz para ser coherente con la experiencia del servidor de archivos de Windows para escenarios híbridos.
NT AUTHORITY\Authenticated Users Todos los usuarios de AD que pueden obtener un token de Kerberos válido.
CREATOR OWNER Cada objeto del directorio o archivo tiene un propietario para ese objeto. Si hay ACL asignadas a CREATOR OWNER en ese objeto, el usuario que es propietario de este objeto tiene los permisos para el objeto definido por la ACL.

Los siguientes permisos están incluidos en el directorio raíz de un recurso compartido de archivos:

  • BUILTIN\Administrators:(OI)(CI)(F)
  • BUILTIN\Users:(RX)
  • BUILTIN\Users:(OI)(CI)(IO)(GR,GE)
  • NT AUTHORITY\Authenticated Users:(OI)(CI)(M)
  • NT AUTHORITY\SYSTEM:(OI)(CI)(F)
  • NT AUTHORITY\SYSTEM:(F)
  • CREATOR OWNER:(OI)(CI)(IO)(F)

Para más información sobre estos permisos avanzados, consulte la referencia de la línea de comandos para icacls.

Cómo funciona

Hay dos enfoques que puede adoptar para configurar y editar ACL de Windows:

  • Inicie sesión con el nombre de usuario y la clave de la cuenta de almacenamiento cada vez: cada vez que quiera configurar las ACL, monte el recurso compartido de archivos mediante la clave de la cuenta de almacenamiento en un equipo que tenga conectividad de red sin obstáculos al controlador de dominio.

  • Configuración de la clave de cuenta de almacenamiento o nombre de usuario único:

Nota:

Esta configuración funciona para los recursos compartidos de archivos recién creados porque cualquier archivo nuevo o directorio heredará el permiso raíz configurado. En el caso de los recursos compartidos de archivos migrados junto con las ACL existentes, o bien si migra algún archivo o directorio local con permisos existentes en un nuevo recurso compartido de archivos, es posible que este enfoque no funcione porque los archivos migrados no heredan la ACL raíz configurada.

  1. Inicie sesión con un nombre de usuario y una clave de cuenta de almacenamiento en una máquina que tenga conectividad de red sin obstáculos al controlador de dominio y conceda a algunos usuarios (o grupos) permiso para editar permisos en la raíz del recurso compartido de archivos.
  2. Asigne a esos usuarios el rol RBAC de recursos compartidos de recursos compartidos de SMB de datos de archivos de almacenamiento con privilegios elevados.
  3. En el futuro, siempre que quiera actualizar las ACL, puede usar uno de esos usuarios autorizados para iniciar sesión desde una máquina que tenga conectividad de red sin obstáculos al controlador de dominio y editar ACL.

Montaje del recurso compartido de archivos mediante la clave de la cuenta de almacenamiento

Antes de configurar las ACL de Windows, primero debe montar el recurso compartido de archivos mediante la clave de la cuenta de almacenamiento. Para ello, inicie sesión en un dispositivo unido a un dominio, abra un símbolo del sistema de Windows y ejecute el siguiente comando. Recuerde reemplazar <YourStorageAccountName>, <FileShareName> y <YourStorageAccountKey> por sus valores propios. Si Z ya está en uso, reemplácelo por una letra de unidad disponible. Para encontrar la clave de la cuenta de almacenamiento en Azure Portal, vaya a la cuenta de almacenamiento y seleccione Seguridad y redes>Claves de acceso, o bien puede usar el cmdlet Get-AzStorageAccountKey de PowerShell.

Es importante que use el comando net use de Windows para montar el recurso compartido en esta fase, no PowerShell. Si usa PowerShell para montar el recurso compartido, este no será visible para el Explorador de archivos de Windows o cmd.exe, y tendrá dificultades a la hora de configurar las ACL de Windows.

Nota

Es posible que vea la ACL de control total ya aplicada a un rol. Normalmente, esto ya ofrece la posibilidad de asignar permisos. Sin embargo, dado que hay comprobaciones de acceso en dos niveles (el nivel de recurso compartido y el nivel de archivo o directorio), esto está restringido. Solo los usuarios que tienen el rol Colaborador con privilegios elevados de SMB y crean un archivo o directorio pueden asignar permisos en esos archivos o directorios nuevos sin utilizar la clave de cuenta de almacenamiento. El resto de la asignación de permisos de archivo o directorio requiere primero conectarse al recurso compartido con la clave de cuenta de almacenamiento.

net use Z: \\<YourStorageAccountName>.file.core.windows.net\<FileShareName> /user:localhost\<YourStorageAccountName> <YourStorageAccountKey>

Configuración de ACL de Windows

Las ACL de Windows se pueden configurar con icacls o con el Explorador de archivos de Windows. También puede usar el comando Set-ACL de PowerShell.

Importante

Si el entorno tiene varios bosques de AD DS, no use el Explorador de Windows para configurar las ACL. En su lugar, use icacls.

Si tiene directorios o archivos en servidores de archivos locales con ACL de Windows configuradas con identidades de AD DS, puede copiarlos en Azure Files, conservando las ACL con herramientas tradicionales de copia de archivos como Robocopy o Azure AzCopy versión 10.4+. Si los directorios y archivos están organizados en niveles en Azure Files a través de Azure File Sync, las ACL se trasladan y conservan en su formato nativo.

Recuerde sincronizar las identidades para que los permisos establecidos surtan efecto. Puede establecer ACL para identidades no sincronizadas, pero estas ACL no se aplicarán porque las identidades no sincronizadas no estarán presentes en el vale kerberos usado para la autenticación o autorización.

Configuración de ACL de Windows con icacls

Para conceder permisos completos a todos los directorios y archivos del recurso compartido de archivos, incluido el directorio raíz, ejecute el siguiente comando de Windows desde un equipo que tenga línea de visión al controlador de dominio de AD. No olvide reemplazar los valores del marcador de posición en el ejemplo por los suyos propios.

icacls <mapped-drive-letter>: /grant <user-upn>:(f)

Para más información sobre cómo usar icacls para establecer ACL de Windows, así como sobre los distintos tipos de permisos admitidos, vea la referencia de línea de comandos de icacls.

Configuración de ACL de Windows con el Explorador de archivos de Windows

Si ha iniciado sesión en un cliente Windows unido a un dominio, puede usar el Explorador de archivos de Windows para conceder permiso completo a todos los directorios y archivos del recurso compartido de archivos, incluido el directorio raíz. Si el cliente no está unido a un dominio, use icacls para configurar las ACL de Windows.

  1. Abra el Explorador de archivos de Windows y haga clic con el botón derecho en el archivo o directorio, y seleccione Propiedades.
  2. Seleccione la pestaña Seguridad .
  3. Para cambiar los permisos, seleccione Editar.
  4. Puede cambiar el permiso de los usuarios existentes o seleccionar Agregar... para conceder permisos a los nuevos usuarios.
  5. En la ventana del símbolo del sistema para agregar nuevos usuarios, escriba el nombre de usuario de destino al que quiera conceder permisos en el cuadro Escriba los nombres de objeto que desea seleccionar y seleccione Comprobar nombres para buscar el nombre UPN completo del usuario de destino.
  6. Seleccione Aceptar.
  7. En la pestaña Seguridad, seleccione todos los permisos que desea conceder al nuevo usuario.
  8. Seleccione Aplicar.

Pasos siguientes

Ahora que ha habilitado y configurado la autenticación basada en identidades con AD DS, puede montar un recurso compartido de archivos.