Deshabilitación de una identidad administrada asignada por el sistema para una cuenta de Azure Automation

Puede deshabilitar una identidad administrada asignada por el sistema en Azure Automation mediante Azure Portal o mediante la API REST.

Deshabilitación mediante Azure Portal

Puede deshabilitar la identidad administrada asignada por el sistema desde Azure Portal independientemente de cómo la haya configurado originalmente.

  1. Inicie sesión en Azure Portal.

  2. Vaya a la cuenta de Automation y, en Configuración de la cuenta, seleccione Identidad.

  3. En la pestaña Asignada por el sistema, en el botón Estado, seleccione Desactivado y, a continuación, seleccione Guardar. Cuando se le solicite confirmación, seleccione .

La identidad administrada asignada por el sistema se deshabilitará y ya no tendrá acceso al recurso de destino.

Deshabilitación mediante la API REST

A continuación, se proporcionan los pasos de ejemplo y la sintaxis.

Cuerpo de la solicitud

El cuerpo de la solicitud siguiente deshabilita la identidad administrada asignada por el sistema y quita todas las identidades administradas asignadas por el usuario mediante el método HTTP PATCH.

{ 
 "identity": { 
   "type": "None" 
  } 
}

Si hay varias identidades asignadas por el usuario definidas, para conservarlas y quitar solo la identidad asignada por el sistema, debe especificar cada identidad asignada por el usuario mediante una lista delimitada por comas. En el ejemplo siguiente, se usa el método HTTP PATCH.

{ 
"identity" : {
    "type": "UserAssigned",
    "userAssignedIdentities": {
        "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/firstIdentity": {},
        "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/secondIdentity": {}
        }
    }
}

A continuación, se muestra el identificador URI de solicitud de la API REST del servicio para enviar la solicitud PATCH.

PATCH https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resource-group-name/providers/Microsoft.Automation/automationAccounts/automation-account-name?api-version=2020-01-13-preview

Ejemplo

Lleve a cabo los pasos siguientes.

  1. Copie y pegue el cuerpo de la solicitud, en función de la operación que quiera realizar, en un archivo denominado body_remove_sa.json. Guarde el archivo en la máquina local o en una cuenta de almacenamiento de Azure.

  2. Inicie sesión en Azure de forma interactiva con el cmdlet Connect-AzAccount y siga las instrucciones.

    # Sign in to your Azure subscription
    $sub = Get-AzSubscription -ErrorAction SilentlyContinue
    if(-not($sub))
    {
        Connect-AzAccount
    }
    
    # If you have multiple subscriptions, set the one to use
    # Select-AzSubscription -SubscriptionId "<SUBSCRIPTIONID>"
    
  3. Proporcione un valor adecuado para las variables y, después, ejecute el script.

    $subscriptionID = "subscriptionID"
    $resourceGroup = "resourceGroupName"
    $automationAccount = "automationAccountName"
    $file = "path\body_remove_sa.json"
    
  4. Este ejemplo usa el cmdlet de PowerShell Invoke-RestMethod para enviar una solicitud PATCH a la cuenta de Automation.

    # build URI
    $URI = "https://management.azure.com/subscriptions/$subscriptionID/resourceGroups/$resourceGroup/providers/Microsoft.Automation/automationAccounts/$automationAccount`?api-version=2020-01-13-preview"
    
    # build body
    $body = Get-Content $file
    
    # obtain access token
    $azContext = Get-AzContext
    $azProfile = [Microsoft.Azure.Commands.Common.Authentication.Abstractions.AzureRmProfileProvider]::Instance.Profile
    $profileClient = New-Object -TypeName Microsoft.Azure.Commands.ResourceManager.Common.RMProfileClient -ArgumentList ($azProfile)
    $token = $profileClient.AcquireAccessToken($azContext.Subscription.TenantId)
    $authHeader = @{
        'Content-Type'='application/json'
        'Authorization'='Bearer ' + $token.AccessToken
    }
    
    # Invoke the REST API
    Invoke-RestMethod -Uri $URI -Method PATCH -Headers $authHeader -Body $body
    
    # Confirm removal
    (Get-AzAutomationAccount `
        -ResourceGroupName $resourceGroup `
        -Name $automationAccount).Identity.Type
    

    En función de la sintaxis que se utilice, la salida será UserAssigned o en blanco.

Pasos siguientes