Deaktivieren einer systemseitig zugewiesenen verwalteten Identität für ein Azure Automation-Konto

Sie können eine systemseitig zugewiesene verwaltete Identität in Azure Automation über das Azure-Portal oder unter Verwendung der REST-API deaktivieren.

Deaktivierung über das Azure-Portal

Unabhängig davon, wie die systemseitig zugewiesene verwaltete Identität ursprünglich eingerichtet wurde, kann die systemseitig zugewiesene verwaltete Identität mithilfe des Azure-Portals deaktiviert werden.

  1. Melden Sie sich beim Azure-Portal an.

  2. Navigieren Sie zu Ihrem Automation-Konto, und wählen Sie unter Kontoeinstellungen die Option Identität aus.

  3. Klicken Sie auf der Registerkarte Systemseitig zugewiesen unterhalb der Schaltfläche Status auf Aus und dann auf Speichern. Wenn Sie aufgefordert werden, die Auswahl zu bestätigen, klicken Sie auf Ja.

Die systemseitig zugewiesene verwaltete Identität ist jetzt deaktiviert und kann nicht mehr auf die Zielressource zugreifen.

Deaktivierung mithilfe der REST-API

Syntax und Beispielschritte sind unten angegeben.

Anforderungstext

Der folgende Anforderungstext deaktiviert die systemseitig zugewiesene verwaltete Identität und entfernt alle benutzerseitig zugewiesenen verwalteten Identitäten mithilfe der HTTP-PATCH-Methode.

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

Wenn mehrere benutzerseitig zugewiesene Identitäten definiert sind, müssen Sie, um diese zu behalten und nur die systemseitig zugewiesene Identität zu entfernen, jede benutzerseitig zugewiesene Identität mithilfe einer durch Trennzeichen getrennten Liste angeben. Im folgenden Beispiel wird die HTTP-Methode PATCH verwendet.

{ 
"identity" : {
    "type": "UserAssigned",
    "userAssignedIdentities": {
        "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/firstIdentity": {},
        "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/secondIdentity": {}
        }
    }
}

Nachfolgend ist der REST-API-Anforderungs-URI zum Senden der PATCH-Anforderung gezeigt.

PATCH https://management.azure.com/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/resource-group-name/providers/Microsoft.Automation/automationAccounts/automation-account-name?api-version=2020-01-13-preview

Beispiel

Führen Sie die folgenden Schritte aus.

  1. Kopieren Sie den Anforderungstext, und fügen Sie ihn je nach auszuführendem Vorgang in eine Datei namens body_remove_sa.json ein. Speichern Sie die Datei auf Ihrem lokalen Computer oder in einem Azure-Speicherkonto.

  2. Melden Sie sich interaktiv mithilfe des Cmdlets Connect-AzAccount bei Azure an, und befolgen Sie die Anweisungen.

    # 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. Geben Sie einen geeigneten Wert für die Variablen an, und führen Sie dann das Skript aus.

    $subscriptionID = "subscriptionID"
    $resourceGroup = "resourceGroupName"
    $automationAccount = "automationAccountName"
    $file = "path\body_remove_sa.json"
    
  4. In diesem Beispiel wird das PowerShell-Cmdlet Invoke-RestMethod verwendet, um die PATCH-Anforderung an Ihr Automation-Konto zu senden.

    # 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
    

    Abhängig von der verwendeten Syntax ist die Ausgabe UserAssigned oder leer.

Nächste Schritte