Compartir vía


Ejecución de comandos de PowerShell con credenciales de Microsoft Entra para acceder a datos de colas

Azure Storage proporciona extensiones para PowerShell que le permiten iniciar sesión y ejecutar comandos de scripting con credenciales de Microsoft Entra. Al iniciar sesión en PowerShell con credenciales de Microsoft Entra, se devuelve un token de acceso OAuth 2.0. PowerShell 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.

Operaciones compatibles

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 PowerShell. Los permisos para las colas se asignan mediante Azure RBAC. Por ejemplo, si se le asigna el rol de lector de datos de cola, puede ejecutar comandos de scripting que lean datos de una cola. Si se le asigna el rol de colaborador de datos de cola, 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.

Importante

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. En PowerShell, incluya el parámetro -UseConnectedAccount para crear un objeto AzureStorageContext con sus credenciales de Microsoft Entra.

Llamada a comandos de PowerShell mediante credenciales de Microsoft Entra

Nota:

Se recomienda usar el módulo Azure Az de PowerShell para interactuar con Azure. Para empezar, vea Instalación de Azure PowerShell. Para más información sobre cómo migrar al módulo Az de PowerShell, consulte Migración de Azure PowerShell de AzureRM a Az.

Si quiere usar Azure PowerShell para iniciar sesión y ejecutar operaciones posteriores en Azure Storage mediante credenciales de Microsoft Entra, cree un contexto de almacenamiento para hacer referencia a la cuenta de almacenamiento e incluya el parámetro -UseConnectedAccount.

En el ejemplo siguiente, se muestra cómo crear una cola en una nueva cuenta de almacenamiento desde Azure PowerShell mediante las credenciales de Microsoft Entra. No olvide reemplazar los valores del marcador de posición entre corchetes angulares por sus propios valores:

  1. Inicie sesión en su cuenta de Azure con el comando Connect-AzAccount:

    Connect-AzAccount
    

    Para obtener más información sobre cómo iniciar sesión en Azure con PowerShell, consulte Inicio de sesión con Azure PowerShell.

  2. Cree un grupo de recursos de Azure mediante una llamada a New-AzResourceGroup.

    $resourceGroup = "sample-resource-group-ps"
    $location = "eastus"
    New-AzResourceGroup -Name $resourceGroup -Location $location
    
  3. Cree una cuenta de almacenamiento mediante una llamada a New-AzStorageAccount.

    $storageAccount = New-AzStorageAccount -ResourceGroupName $resourceGroup `
      -Name "<storage-account>" `
      -SkuName Standard_LRS `
      -Location $location `
    
  4. Obtenga el contexto de la cuenta de almacenamiento que especifica la nueva cuenta de almacenamiento mediante una llamada a New-AzStorageContext. Cuando actúe en una cuenta de almacenamiento, puede hacer referencia al contexto en lugar de proporcionar varias veces las credenciales. Incluya el parámetro -UseConnectedAccount para llamar a las operaciones de datos posteriores con sus credenciales de Microsoft Entra:

    $ctx = New-AzStorageContext -StorageAccountName "<storage-account>" -UseConnectedAccount
    
  5. 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.

  6. Cree una cola mediante una llamada a New-AzStorageQueue. Dado que esta llamada usa el contexto creado en los pasos anteriores, la cola se crea con sus credenciales de Microsoft Entra.

    $queueName = "sample-queue"
    New-AzStorageQueue -Name $queueName -Context $ctx
    

Pasos siguientes