Conexión a la cuenta de Azure Storage

Completado

Ha agregado las bibliotecas cliente necesarias para la aplicación y tiene todo listo para conectarse a la cuenta de almacenamiento de Azure.

Para trabajar con datos en una cuenta de almacenamiento, la aplicación necesitará dos conjuntos de datos:

  • Clave de acceso
  • Punto de conexión de la API REST

Claves de acceso de seguridad

Cada cuenta de almacenamiento tiene dos claves de acceso únicas para proteger la cuenta de almacenamiento. Si la aplicación necesita conectarse a varias cuentas de almacenamiento, requerirá la clave de acceso de cada una de ellas.

An illustration showing an application connected to two different storage accounts in the cloud. Each storage account is accessible with a unique key.

Punto de conexión de la API de REST

Además de las claves de acceso de autenticación en las cuentas de almacenamiento, la aplicación debe conocer los puntos de conexión de servicio de almacenamiento para enviar las solicitudes REST.

El punto de conexión REST es una combinación del nombre de la cuenta de almacenamiento, el tipo de datos y un dominio conocido. Por ejemplo:

Tipo de datos Punto de conexión de ejemplo
Blobs https://[name].blob.core.windows.net/
Colas https://[name].queue.core.windows.net/
Tabla https://[name].table.core.windows.net/
Files https://[name].file.core.windows.net/

Si tiene un dominio personalizado vinculado a Azure, también puede crear una dirección URL de dominio personalizado para el punto de conexión.

Cadenas de conexión

La manera más sencilla de controlar las claves de acceso y las direcciones URL de punto de conexión dentro de las aplicaciones es usar las cadenas de conexión de la cuenta de almacenamiento. Una cadena de conexión proporciona toda la información de conectividad necesaria en una única cadena de texto.

Las cadenas de conexión de Azure Storage tienen un aspecto similar al ejemplo siguiente, pero con el nombre de cuenta y la clave de acceso de la cuenta de almacenamiento específica:

DefaultEndpointsProtocol=https;AccountName={your-storage};
   AccountKey={your-access-key};
   EndpointSuffix=core.windows.net

Seguridad

Las teclas de acceso son fundamentales para proporcionar acceso a la cuenta de almacenamiento y, en consecuencia, no deberían proporcionarse a ningún sistema o usuario que no quiera que tenga acceso a la cuenta de almacenamiento. Las claves de acceso son el equivalente al nombre de usuario y la contraseña con los que se accede al equipo.

Normalmente, la información de conectividad de la cuenta de almacenamiento se almacena en un archivo de configuración, una base de datos o una variable de entorno.

Importante

Almacenar esta información en un archivo de configuración puede ser peligroso si incluye ese archivo en el control de código fuente y lo almacena en un repositorio público. Se trata de un error común y significa que cualquiera puede examinar el código fuente en el repositorio público y ver la información de conexión de la cuenta de almacenamiento.

Cada cuenta de almacenamiento tiene dos claves de acceso. Esto es así para permitir que las claves se alternen (se vuelvan a generar) periódicamente como parte del procedimiento recomendado de seguridad para mantener la cuenta de almacenamiento segura. Puede hacerlo desde Azure Portal o la herramienta de la línea de comandos de la CLI de Azure o PowerShell.

Alternar una clave invalida el valor de clave original inmediatamente y revoca el acceso a cualquiera que obtuviera la clave de manera inapropiada. Con la compatibilidad para dos claves, puede alternar las claves sin causar tiempo de inactividad en las aplicaciones que las usan. La aplicación puede pasar a utilizar la clave de acceso alternativa mientras se vuelve a generar la otra clave. Si tiene varias aplicaciones con esta cuenta de almacenamiento, todas deben usar la misma clave para admitir esta técnica. Esta es la idea básica:

  1. Actualice las cadenas de conexión en el código de su aplicación para hacer referencia a la clave de acceso secundaria de la cuenta de almacenamiento.
  2. Vuelva a generar la clave de acceso principal de la cuenta de almacenamiento mediante Azure Portal o la herramienta de la línea de comandos.
  3. Actualice las cadenas de conexión en su código para hacer referencia a la nueva clave de acceso principal.
  4. Vuelva a generar la clave de acceso secundaria de la misma forma.

Sugerencia

Es muy recomendable alternar periódicamente las claves de acceso para garantizar su privacidad, igual que el cambio de contraseñas. Si está utilizando la clave en una aplicación de servidor, puede usar Azure Key Vault para almacenar automáticamente la clave de acceso. Las instancias de Key Vault permiten la sincronización directa con la cuenta de almacenamiento y alternan automáticamente las claves de manera periódica. El uso de Key Vault ofrece una capa de seguridad adicional para que la aplicación nunca deba trabajar directamente con las claves de acceso.

Firmas de acceso compartido (SAS)

Las claves de acceso son la forma más sencilla de autenticar el acceso a una cuenta de almacenamiento. Pero proporcionan acceso total a cualquier cosa en la cuenta de almacenamiento, de manera similar a una contraseña raíz en un equipo.

Las cuentas de almacenamiento ofrecen un mecanismo de autenticación independiente denominado firmas de acceso compartido que admite la expiración y la limitación de los permisos en escenarios donde deba limitarse el acceso. Use este enfoque cuando vaya a permitir a otros usuarios leer y escribir datos en su cuenta de almacenamiento. Al final del módulo encontrará vínculos a la documentación sobre este tema avanzado.