Identificación de una cola

Completado

Ahora que tenemos una cuenta de almacenamiento, veamos cómo se trabaja con la cola que contiene.

Para acceder a una cola, necesita tres datos:

  • El nombre de la cuenta de almacenamiento
  • El nombre de la cola
  • El token de autorización

Esta información la usan las aplicaciones que se comunican con la cola, el front-end web que agrega los mensajes y el nivel intermedio que los procesa.

Identidad de la cola

Cada cola tiene un nombre que se asigna durante la creación. El nombre debe ser único dentro de la cuenta de almacenamiento, pero no tiene que ser único de forma global (al contrario que el nombre de la cuenta de almacenamiento).

La combinación del nombre de su cuenta de almacenamiento y el nombre de la cola identifica una cola.

Autorización de acceso

Todas las solicitudes a una cola deben estar autorizadas y hay varias opciones entre las que elegir.

Tipo de autorización Descripción
Microsoft Entra ID Puede usar la autenticación basada en roles e identificar clientes específicos en función de las credenciales de Microsoft Entra.
Clave compartida Firma de clave cifrada asociada a la cuenta de almacenamiento que a veces se denomina clave de cuenta. Cada cuenta de almacenamiento tiene dos de estas claves que se pueden pasar con cada solicitud para autenticar el acceso. Usar este enfoque es similar a utilizar una contraseña raíz: proporciona acceso total a la cuenta de almacenamiento.
Firma de acceso compartido Una firma de acceso compartido (SAS) es un URI generado que concede acceso limitado a los objetos de la cuenta de almacenamiento a los clientes. Puede restringir el acceso a recursos, permisos y ámbitos específicos para limitar las restricciones a un intervalo de fechas, de modo que desactive automáticamente el acceso después de un período de tiempo.

Importante

Usaremos la autorización de clave de cuenta porque es la manera más sencilla de empezar a trabajar con las colas. Sin embargo, para lograr una seguridad óptima, Microsoft recomienda usar Microsoft Entra ID con identidades administradas para autorizar las solicitudes de datos de cola siempre que sea posible. La autorización con Microsoft Entra ID e identidades administradas proporciona más seguridad y facilidad de uso que la autorización con claves compartidas. Para más información sobre las identidades administradas, consulte ¿Qué son las identidades administradas para recursos de Azure? Para obtener un ejemplo de cómo habilitar y usar una identidad administrada para una aplicación .NET, consulte Autenticación de aplicaciones hospedadas en Azure para recursos de Azure con .NET.

Para escenarios en los que se utilizan firmas de acceso compartido (SAS), Microsoft recomienda usar un SAS de delegación de usuario. Una SAS de delegación de usuarios está protegida con credenciales de Microsoft Entra en lugar de la clave de cuenta. Para obtener información sobre las firmas de acceso compartido, consulte Conceder acceso limitado a los datos con firmas de acceso compartido. Para ver un ejemplo de cómo crear y utilizar un SAS de delegación de usuario con .NET, consulte Crear un SAS de delegación de usuario para un blob con .NET.

Recuperación de la cadena de conexión

Una cadena de conexión es una cadena que combina el nombre de una cuenta de almacenamiento y la clave de cuenta, y la aplicación debe conocerla para acceder a la cuenta de almacenamiento. El formato se parece al siguiente:

"DefaultEndpointsProtocol=https;AccountName=<your storage account name>;AccountKey=<your key>;EndpointSuffix=core.windows.net"

Puede recuperar la cadena de conexión de la sección Seguridad y redes>Claves de acceso de la cuenta de almacenamiento en Azure Portal, o bien desde la línea de comandos mediante la CLI de Azure:

az storage account show-connection-string -g <resource group name> --output tsv -n <storage account name>

Uso del paquete Azure.Storage.Queues para .NET

El paquete Azure.Storage.Queues forma parte del SDK de Azure para .NET. Este paquete proporciona una manera de acceder mediante programación a las colas de almacenamiento de Azure desde código de .NET. Para el acceso mediante el paquete se necesitan la cadena de conexión y el nombre de la cola.

Advertencia

Este valor de cadena de conexión debe almacenarse en una ubicación segura. Cualquier persona que tenga acceso a esta cadena de conexión puede manipular la cola.

Vamos a obtener la cadena de conexión de Azure y configurar una nueva aplicación para usarla.