Distintas formas de autorizar el acceso para poner datos en cola con la CLI de Azure
Azure Storage proporciona extensiones para la CLI de Azure que permiten especificar el modo de autorizar las operaciones en los datos de colas. Puede autorizar las operaciones de datos de las siguientes maneras:
- Con una entidad de seguridad de Microsoft Entra. Microsoft recomienda usar las credenciales de Microsoft Entra para mayor seguridad y facilidad de uso.
- Con la clave de acceso de la cuenta o un token de firma de acceso compartido (SAS).
Cómo se autorizan las operaciones de datos
Los comandos de la CLI de Azure para leer y escribir datos de colas incluyen el parámetro --auth-mode
opcional. Especifique ese parámetro para indicar cómo se va a autorizar una operación de datos:
- Establezca el parámetro
--auth-mode
enlogin
para iniciar sesión con una entidad de seguridad de Microsoft Entra (recomendado). - Establezca el parámetro
--auth-mode
en el valorkey
heredado para intentar recuperar la clave de acceso de la cuenta que se va a usar para la autorización. Si omite el parámetro--auth-mode
, la CLI de Azure también intentará recuperar la clave de acceso.
Para usar el parámetro --auth-mode
, asegúrese de que ha instalado la CLI de Azure, versión 2.0.46 o posterior. Ejecute az --version
para comprobar la versión instalada.
Nota:
Cuando una cuenta de almacenamiento está bloqueada con un bloqueo ReadOnly de Azure Resource Manager, no se permite la operación Crear lista de claves para esa cuenta de almacenamiento. Crear lista de claves es una operación POST y todas las operaciones POST se impiden cuando se configura un bloqueo ReadOnly para la cuenta. Por esta razón, cuando la cuenta está bloqueada con un bloqueo ReadOnly, los usuarios que no disponen ya de las claves de cuenta deben usar las credenciales de Microsoft Entra para acceder a datos de colas.
Importante
Si omite el parámetro --auth-mode
o lo establece en key
, la CLI de Azure intentará usar la clave de acceso de la cuenta para la autorización. En este caso, Microsoft recomienda que proporcione la clave de acceso en el comando o en la variable de entorno AZURE_STORAGE_KEY
. Para obtener más información sobre las variables de entorno, vea la sección titulada Establecimiento de variables de entorno para parámetros de autorización.
Si no proporciona la clave de acceso, la CLI de Azure intentará llamar al proveedor de recursos de Azure Storage para recuperarla con cada operación. La realización de numerosas operaciones de datos que requieren una llamada al proveedor de recursos puede generar una limitación. Para obtener más información sobre los límites del proveedor de recursos, consulte Destinos de escalabilidad y rendimiento para el proveedor de recursos de Azure Storage.
Autorización con credenciales de Microsoft Entra
Al iniciar sesión en la CLI de Azure con credenciales de Microsoft Entra, se devuelve un token de acceso OAuth 2.0. La CLI de Azure usa automáticamente ese token para autorizar las operaciones de datos posteriores en Queue Storage. Para las operaciones admitidas, ya no necesita pasar una clave de cuenta o token SAS con el comando.
Puede asignar permisos para los datos de colas a una entidad de seguridad de Microsoft Entra mediante el control de acceso basado en rol de Azure (Azure RBAC). Para más información sobre los roles de Azure en Azure Storage, consulte cómo administrar los derechos de acceso a los datos de Azure Storage mediante Azure RBAC.
Permisos para llamar a operaciones de datos
Las extensiones de Azure Storage se admiten para las operaciones en datos de cola. Las operaciones a las que pueda llamar dependerán de los permisos que se concedan a la entidad de seguridad de Microsoft Entra con la que inicie sesión en la CLI de Azure. Los permisos para las colas se asignan mediante Azure RBAC. Por ejemplo, si se le asigna el rol Lector de datos de cola de almacenamiento, puede ejecutar comandos de scripting que leen datos de una cola. Si se le asigna el rol de Colaborador de datos de cola de almacenamiento, podrá ejecutar comandos de scripting que lean, escriban o eliminen una cola, o los datos que contiene.
Para más información sobre los permisos requeridos para cada operación de Azure Storage en una cola, consulte la sección Llamadas a operaciones de almacenamiento con tokens de OAuth.
Ejemplo: Autorización de una operación para crear una cola con credenciales de Microsoft Entra
En el ejemplo siguiente se muestra cómo crear una cola desde la CLI de Azure mediante las credenciales de Microsoft Entra. Para crear la cola, debe iniciar sesión en la CLI de Azure y necesitará un grupo de recursos y una cuenta de almacenamiento.
Antes de crear la cola, asígnese a sí mismo el rol Colaborador de datos de Queue Storage. Aunque sea el propietario de la cuenta, necesita permisos explícitos para realizar operaciones de datos en la cuenta de almacenamiento. Para más información sobre la asignación de roles de Azure, consulte Asignación de un rol de Azure para acceder a datos de cola.
Importante
La propagación de las asignaciones de roles de Azure puede tardar unos minutos.
Llame al comando
az storage queue create
--auth-mode
con el parámetro establecido enlogin
para crear la cola mediante las credenciales de Microsoft Entra. No olvide reemplazar los valores del marcador de posición entre corchetes angulares por sus propios valores:az storage queue create \ --account-name <storage-account> \ --name sample-queue \ --auth-mode login
Autorización con la clave de acceso de la cuenta
Si posee la clave de cuenta, puede llamar a cualquier operación de datos Azure Storage. En general, usar la clave de cuenta es menos seguro. Si la clave de cuenta se ha puesto en riesgo, es posible que también estén en peligro todos los datos de dicha cuenta.
En el ejemplo siguiente se muestra cómo crear una cola con la clave de acceso de la cuenta. Especifique la clave de cuenta y proporcione el parámetro --auth-mode
con el valor key
:
az storage queue create \
--account-name <storage-account> \
--name sample-queue \
--account-key <key>
--auth-mode key
Autorización con un token de SAS
Si posee un token de SAS, puede llamar a las operaciones de datos permitidas por la firma de acceso compartido. En el ejemplo siguiente se muestra cómo crear una cola con un token de SAS:
az storage queue create \
--account-name <storage-account> \
--name sample-queue \
--sas-token <token>
Establecimiento de variables de entorno para parámetros de autorización
Puede especificar parámetros de autorización en variables de entorno para evitar incluirlos en cada llamada a una operación de datos de Azure Storage. En la tabla siguiente se describen las variables de entorno disponibles.
Variable de entorno | Descripción |
---|---|
AZURE_STORAGE_ACCOUNT | El nombre de la cuenta de almacenamiento. Esta variable se debe usar junto con la clave de cuenta de almacenamiento o un token de SAS. Si no existe ninguno de ellos, la CLI de Azure intentará recuperar la clave de acceso de la cuenta de almacenamiento con la cuenta de Microsoft Entra autenticada. Si se ejecutan un gran número de comandos al mismo tiempo, se puede alcanzar la limitación del proveedor de recursos de Azure Storage. Para obtener más información sobre los límites del proveedor de recursos, consulte Destinos de escalabilidad y rendimiento para el proveedor de recursos de Azure Storage. |
AZURE_STORAGE_KEY | La clave de la cuenta de almacenamiento. Esta variable debe usarse junto con el nombre de la cuenta de almacenamiento. |
AZURE_STORAGE_CONNECTION_STRING | Una cadena de conexión que incluye la clave de cuenta de almacenamiento o un token de SAS. Esta variable debe usarse junto con el nombre de la cuenta de almacenamiento. |
AZURE_STORAGE_SAS_TOKEN | Un token de firma de acceso compartido (SAS). Esta variable debe usarse junto con el nombre de la cuenta de almacenamiento. |
AZURE_STORAGE_AUTH_MODE | El modo de autorización con el que se ejecuta el comando. Los valores permitidos son login (recomendado) o key . Si especifica login , la CLI de Azure usa las credenciales de Microsoft Entra para autorizar la operación de datos. Si especifica el modo key heredado, la CLI de Azure intentará consultar la clave de acceso de la cuenta y autorizar el comando con la clave. |