Autorización del acceso a Azure Blob Storage para un cliente de protocolo de transferencia de archivos SSH (SFTP)
En este artículo se muestra cómo autorizar el acceso a los clientes SFTP para que pueda conectarse de forma segura al punto de conexión de Blob Storage de su cuenta de Azure Storage mediante un cliente SFTP.
Para más información sobre la compatibilidad de SFTP con Azure Blob Storage, consulte Protocolo de transferencia de archivos SSH (SFTP) en Azure Blob Storage.
Requisitos previos
- Habilite la compatibilidad de SFTP con Azure Blob Storage. Consulte el artículo sobre cómo habilitar o deshabilitar la compatibilidad de SFTP.
Creación de un usuario local
Azure Storage no admite la firma de acceso compartido (SAS) ni la autenticación de Microsoft Entra para acceder al punto de conexión de SFTP. En su lugar, debe usar una identidad denominada "usuario local" que se pueda proteger con una contraseña generada por Azure o un par de claves de Secure Shell (SSH). Para conceder acceso a un cliente que se conecta, la cuenta de almacenamiento debe tener una identidad asociada a la contraseña o par de claves. Esa identidad se denomina usuario local.
En esta sección, aprenderá a crear un usuario local, elegir un método de autenticación y asignar permisos para ese usuario local.
Para obtener más información sobre el modelo de permisos SFTP, consulte Modelo de permisos de SFTP.
Sugerencia
En esta sección se muestra cómo configurar usuarios locales para una cuenta de almacenamiento existente. Para ver una plantilla de Azure Resource Manager que configura un usuario local como parte de la creación de una cuenta, consulte Creación de una cuenta de Azure Storage y un contenedor de blobs accesible mediante el protocolo SFTP en Azure.
Elección de un método de autenticación
Puede autenticar a los usuarios locales que se conecten desde clientes SFTP usando una contraseña o un par de claves pública-privada de Secure Shell (SSH).
Importante
Aunque puede habilitar ambas formas de autenticación, los clientes SFTP pueden conectarse usando solo uno de ellos. Sin embargo, no se admite la autenticación multifactor, por lo que son necesarias una contraseña válida y un par de claves pública y privada válidas para realizar una autenticación correcta.
En Azure Portal, vaya a la cuenta de almacenamiento.
En Configuración, seleccione SFTP y luego Agregar usuario local.
En el panel de configuración Agregar usuario local, agregue el nombre de un usuario y, a continuación, seleccione los métodos de autenticación que quiera asociar a ese usuario local. Puede asociar una contraseña o una clave SSH.
Si selecciona Contraseña SSH, la contraseña aparecerá cuando complete todos los pasos del panel de configuración Agregar usuario local. Azure genera las contraseñas SSH y la longitud mínima de estas es de 32 caracteres.
Si selecciona SSH public key (Proteger con clave pública SSH), seleccione Origen de clave pública para especificar un origen de clave.
En la tabla siguiente se describe cada opción de origen de clave:
Opción Guía Generación de un nuevo par de claves Use esta opción para crear un nuevo par de claves pública y privada. La clave pública se almacena en Azure con el nombre de clave que proporcione. La clave privada se puede descargar después de que el usuario local se haya agregado correctamente. Uso de la clave existente almacenada en Azure Use esta opción si quiere usar una clave pública que ya esté almacenada en Azure. Para buscar claves existentes en Azure, consulte Enumeración de claves. Cuando los clientes SFTP se conectan a Azure Blob Storage, esos clientes deben proporcionar la clave privada asociada a esta clave pública. Use la clave pública existente. Use esta opción si quiere cargar una clave pública almacenada fuera de Azure. Si no tiene una clave pública, pero quiere generar una fuera de Azure, consulte Generación de claves con ssh-keygen. Importante
Solo se admiten claves públicas con formato OpenSSH. La clave que proporcione debe usar este formato:
<key type> <key data>
. Por ejemplo, las claves RSA tendrían un aspecto similar al siguiente:ssh-rsa AAAAB3N...
. Si su clave tiene otro formato, se puede usar una herramienta comossh-keygen
para convertirla al formato OpenSSH.Seleccione Siguiente para abrir la pestaña Permisos del panel de configuración.
Concesión de permiso a los contenedores
Elija a qué contenedores quiere conceder acceso y qué nivel de acceso quiere proporcionar. Estos permisos se aplican a todos los directorios y subdirectorios del contenedor. Para obtener más información sobre cada permiso de contenedor, consulte Permisos de contenedor.
Si desea autorizar el acceso en el nivel de archivo y directorio, puede habilitar la autorización de ACL. Esta funcionalidad está en versión preliminar y solo se puede habilitar mediante Azure Portal.
En la pestaña Permisos, seleccione los contenedores que quiere que estén disponibles para este usuario local. A continuación, seleccione los tipos de operaciones que quiere permitir que realice este usuario local.
Importante
El usuario local debe tener al menos un permiso de contenedor o permiso de ACL para el directorio principal de ese contenedor. De lo contrario, se producirá un error en un intento de conexión a ese contenedor.
Si desea autorizar el acceso mediante las listas de control de acceso (ACL) asociadas a archivos y directorios de este contenedor, active la casilla Permitir autorización de ACL. Para obtener más información sobre el uso de ACL para autorizar clientes SFTP, consulte ACL.
También puede agregar este usuario local a un grupo mediante la asignación de ese usuario a un id.de grupo. Ese identificador puede ser cualquier número o esquema de números que desee. La agrupación de usuarios permite agregar y quitar usuarios sin necesidad de volver a aplicar las ACL en una estructura de directorios completa. En su lugar, solo puede agregar o quitar usuarios del grupo.
Nota:
Se genera automáticamente un id. de usuario para el usuario local. No puede modificar este identificador, pero puede verlo después de crear el usuario local si vuelve a abrir ese usuario en el panel Editar usuario local.
En el cuadro de edición Directorio principal, escriba el nombre del contenedor o la ruta de acceso del directorio (incluido el nombre del contenedor) que será la ubicación predeterminada asociada a este usuario local (por ejemplo:
mycontainer/mydirectory
).Para obtener más información sobre el directorio principal, consulte Directorio principal.
Seleccione el botón Agregar para agregar el usuario local.
Si ha habilitado la autenticación de contraseña, la contraseña generada por Azure aparece en un cuadro de diálogo después de que se haya agregado el usuario local.
Importante
Tenga en cuenta que no podrá recuperar esta contraseña más adelante, así que asegúrese de copiarla y, a continuación, almacenarla en un lugar donde pueda encontrarla.
Si decide generar un nuevo par de claves, se le pedirá que descargue la clave privada de ese par de claves después de que se haya agregado el usuario local.
Nota
Los usuarios locales tienen una propiedad
sharedKey
que se usa solo para la autenticación de SMB.
Pasos siguientes
- Conéctese a Azure Blob Storage mediante un cliente SFTP. Consulte el artículo sobre cómo conectarse desde un cliente SFTP.
Contenido relacionado
- Compatibilidad del protocolo de transferencia de archivos SSH (SFTP) con Azure Blob Storage
- Habilitación o deshabilitación de la compatibilidad con el protocolo de transferencia de archivos SSH (SFTP) en Azure Blob Storage
- Autorización del acceso a Azure Blob Storage desde un cliente de protocolo de transferencia de archivos SSH (SFTP)
- Limitaciones y problemas conocidos de la compatibilidad con el Protocolo de transferencia de archivos de SSH (SFTP) en Azure Blob Storage
- Claves de host para la compatibilidad con el protocolo de transferencia de archivos SSH (SFTP) en Azure Blob Storage
- Consideraciones de rendimiento del protocolo de transferencia de archivos de SSH (SFTP) en Azure Blob Storage