Share via


Desabilitar uma identidade gerenciada atribuída pelo sistema para a conta da Automação do Azure

Você pode desabilitar uma identidade gerenciada atribuída pelo sistema na Automação do Azure usando o portal do Azure ou usando a API REST.

Desabilitar o Portal do Azure

Você pode desabilitar a identidade gerenciada atribuída pelo sistema no portal do Azure independentemente de como a identidade gerenciada atribuída pelo sistema foi configurada originalmente.

  1. Entre no portal do Azure.

  2. Navegue até sua conta de Automação e, em Configurações da Conta, selecione Identidade.

  3. Na guia Sistema atribuído, no botão Status, selecione Desativado e, em seguida, selecione Salvar. Quando você for solicitado a confirmar, selecione Sim.

A identidade gerenciada atribuída pelo sistema é desabilitada e não tem mais acesso ao recurso de destino.

Desabilitar usando a API REST

A sintaxe e as etapas de exemplo são fornecidas abaixo.

Corpo da solicitação

O corpo da solicitação a seguir desabilita a identidade gerenciada atribuída pelo sistema e remove todas as identidades gerenciadas atribuídas pelo usuário usando o método HTTP PATCH.

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

Se houver várias identidades atribuídas pelo usuário definidas, para retê-las e remover apenas a identidade atribuída pelo sistema, você precisará especificar cada identidade atribuída pelo usuário usando a lista delimitada por vírgulas. O exemplo a seguir usa o 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 seguir está o URI de solicitação da API REST do serviço para enviar a solicitação 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

Exemplo

Execute as etapas a seguir.

  1. Copie e copie o corpo da solicitação, dependendo de qual operação você deseja executar, em um arquivo chamado body_remove_sa.json. Salve o arquivo no seu computador local ou em uma conta de armazenamento do Azure.

  2. Entre no Azure de modo interativo usando o cmdlet Connect-AzAccount e siga as instruções.

    # 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. Forneça um valor apropriado para as variáveis e, em seguida, execute o script.

    $subscriptionID = "subscriptionID"
    $resourceGroup = "resourceGroupName"
    $automationAccount = "automationAccountName"
    $file = "path\body_remove_sa.json"
    
  4. Este exemplo usa o cmdlet Invoke-RestMethod do PowerShell para enviar a solicitação PATCH à conta de Automação.

    # 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
    

    Dependendo da sintaxe usada, a saída será: UserAssigned ou blank.

Próximas etapas