Conexión a Azure Blob Storage mediante el protocolo de transferencia de archivos SSH (SFTP)
En este artículo se muestra cómo conectarse de forma segura al punto de conexión de Blob Storage de una cuenta de Azure Storage mediante un cliente SFTP. Después de conectarse, puede cargar y descargar archivos, así como modificar listas de control de acceso (ACL) en archivos y carpetas.
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.
Autorice el acceso a clientes SFTP. Consulte el artículo sobre cómo autorizar el acceso a los clientes.
Si se va a conectar desde una red local, asegúrese de que el cliente permite la comunicación saliente a través del puertos 22 que usa SFTP.
Conexión de un cliente SFTP
Puede usar cualquier cliente SFTP para conectarse y transferir archivos de forma segura. En el ejemplo siguiente se muestra una sesión de Windows PowerShell que usa Open SSH.
PS C:\Users\temp> sftp contoso4.contosouser@contoso4.blob.core.windows.net
El nombre de usuario de SFTP es storage_account_name
.username
. En el ejemplo anterior, storage_account_name
es "contoso4" y username
es "contosouser". El nombre de usuario combinado se convierte en "contoso4.contosouser". El punto de conexión de Blob service es "contoso4.blob.core.windows.net".
Para completar la conexión, es posible que tenga que responder a una o varias solicitudes. Por ejemplo, si configuró el usuario local con autenticación de contraseña, se le pedirá que escriba esa contraseña. Es posible que se le pida que confíe en una clave de host. Las claves de host válidas se publican aquí.
Conexión mediante un dominio personalizada
Si desea conectarse al punto de conexión de Blob service mediante un dominio personalizado, la cadena de conexión es myaccount.myuser@customdomain.com
. Si no se especifica el directorio principal para el usuario, la cadena de conexión es myaccount.mycontainer.myuser@customdomain.com
.
Importante
Asegúrese de que el proveedor de DNS no realiza solicitudes de proxy, ya que esto puede provocar que se agote el tiempo de espera del intento de conexión.
Para obtener información sobre cómo asignar un dominio personalizado a un punto de conexión de Blob service, consulte Asignación de un dominio personalizado a un punto de conexión de Azure Blob Storage.
Conexión mediante un punto de conexión privado
Si desea conectarse al punto de conexión de Blob service mediante un punto de conexión privado, la cadena de conexión es myaccount.myuser@myaccount.privatelink.blob.core.windows.net
. Si no se especifica el directorio principal para el usuario, es myaccount.mycontainer.myuser@myaccount.privatelink.blob.core.windows.net
.
Nota:
Asegúrese de cambiar la configuración de red a "Habilitado desde redes virtuales y direcciones IP seleccionadas" y seleccione el punto de conexión privado. De lo contrario, el punto de conexión de Blob service seguirá siendo accesible públicamente.
Conexión mediante el enrutamiento de Internet
Si desea conectarse al punto de conexión de servicio de blob mediante el enrutamiento de Internet, la cadena de conexión es myaccount.myuser@myaccount-internetrouting.blob.core.windows.net
. Si no se especifica el directorio principal para el usuario, es myaccount.mycontainer.myuser@myaccount-internetrouting.blob.core.windows.net
.
Transferencia de datos
Después de conectarse, puede cargar y descargar archivos. En el ejemplo siguiente se carga un archivo denominado logfile.txt
mediante una sesión de Open SSH activa.
sftp> put logfile.txt
Uploading logfile.txt to /mydirectory/logfile.txt
logfile.txt
100% 19 0.2kb/S 00.00
Una vez completada la transferencia, puede ver y administrar el archivo en Azure Portal.
Nota:
Azure Portal usa la API de REST de blob y la API de REST de Data Lake Storage Gen2. La capacidad de interactuar con un archivo cargado en Azure Portal muestra la interoperabilidad entre SFTP y REST.
Consulte la documentación del cliente SFTP para obtener instrucciones sobre cómo conectar y transferir archivos.
Modifique la ACL de un archivo o directorio.
Puede modificar el nivel de permiso del usuario propietario, el grupo propietario y todos los demás usuarios de una ACL mediante un cliente SFTP. También puede cambiar el identificador del usuario propietario y el grupo propietario. Para obtener más información sobre la compatibilidad de ACL con los clientes SFTP, consulte ACL.
Modificar permisos
Para cambiar el nivel de permiso del usuario propietario, el grupo propietario o todos los demás usuarios de una ACL, el usuario local debe tener permiso Modify Permission
. Consulte la sección sobre cómo conceder permiso a los contenedores.
En el ejemplo siguiente se imprime la ACL de un directorio en la consola. A continuación, usa el comando chmod
para establecer la ACL en 777
. Cada 7
es la forma numérica de rwx
(lectura, escritura y ejecución). Por lo tanto, 777
concede permiso de lectura, escritura y ejecución al usuario propietario, al grupo propietario y a todos los demás usuarios. A continuación, en este ejemplo se imprime la ACL actualizada en la consola. Para obtener más información sobre las formas numéricas y abreviadas de una ACL, consulte Formas abreviadas de los permisos.
sftp> ls -l
drwxr-x--- 1234 5678 0 Mon, 08 Jan 2024 16:53:25 GMT dir1
drwxr-x--- 0 0 0 Mon, 16 Oct 2023 12:18:08 GMT dir2
sftp> chmod 777 dir1
Changing mode on /dir1
sftp> ls -l
drwxrwxrwx 1234 5678 0 Mon, 08 Jan 2024 16:54:06 GMT dir1
drwxr-x--- 0 0 0 Mon, 16 Oct 2023 12:18:08 GMT dir2
Nota:
Todavía no se admite la adición o modificación de entradas de ACL para usuarios con nombre, grupos con nombre y entidades de seguridad con nombre.
Cambio del usuario propietario
Para cambiar el usuario propietario de un directorio o blob, el usuario local debe tener permiso Modify Ownership
. Consulte la sección sobre cómo conceder permiso a los contenedores.
En el ejemplo siguiente se imprime la ACL de un directorio en la consola. El identificador del usuario propietario es 0
. En este ejemplo se usa el comando chown
para establecer el identificador del usuario propietario en 1234
e imprime el cambio en la consola.
sftp> ls -l
drwxr-x--- 0 0 0 Mon, 08 Jan 2024 16:00:12 GMT dir1
drwxr-x--- 0 0 0 Mon, 16 Oct 2023 12:18:08 GMT dir2
sftp> chown 1234 dir1
Changing owner on /dir1
sftp> ls -l
drwxr-x--- 1234 0 0 Mon, 08 Jan 2024 16:52:52 GMT dir1
drwxr-x--- 0 0 0 Mon, 16 Oct 2023 12:18:08 GMT dir2
sftp>
Cambio del grupo propietario
Para cambiar el grupo propietario de un directorio o blob, el usuario local debe tener permiso Modify Ownership
. Consulte la sección sobre cómo conceder permiso a los contenedores.
En el ejemplo siguiente se imprime la ACL de un directorio en la consola. El identificador del grupo propietario es 0
. En este ejemplo se usa el comando chgrp
para establecer el identificador del grupo propietario en 5678
e imprime el cambio en la consola.
sftp> ls -l
drwxr-x--- 1234 0 0 Mon, 08 Jan 2024 16:52:52 GMT dir1
drwxr-x--- 0 0 0 Mon, 16 Oct 2023 12:18:08 GMT dir2
sftp> chgrp 5678 dir1
Changing group on /dir1
sftp> ls -l
drwxr-x--- 1234 5678 0 Mon, 08 Jan 2024 16:53:25 GMT dir1
drwxr-x--- 0 0 0 Mon, 16 Oct 2023 12:18:08 GMT dir2
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