Udostępnij za pośrednictwem


Wyłączanie tożsamości zarządzanej przypisanej przez system dla konta usługi Azure Automation

Tożsamość zarządzaną przypisaną przez system można wyłączyć w usłudze Azure Automation przy użyciu witryny Azure Portal lub interfejsu API REST.

Wyłączanie za pomocą witryny Azure Portal

Tożsamość zarządzana przypisana przez system można wyłączyć w witrynie Azure Portal niezależnie od tego, w jaki sposób tożsamość zarządzana przypisana przez system została pierwotnie skonfigurowana.

  1. Zaloguj się w witrynie Azure Portal.

  2. Przejdź do konta usługi Automation i w obszarze Ustawienia konta wybierz pozycję Tożsamość.

  3. Na karcie Przypisane przez system w obszarze przycisku Stan wybierz pozycję Wyłączone, a następnie wybierz pozycję Zapisz. Po wyświetleniu monitu o potwierdzenie wybierz pozycję Tak.

Tożsamość zarządzana przypisana przez system jest wyłączona i nie ma już dostępu do zasobu docelowego.

Wyłączanie za pomocą interfejsu API REST

Poniżej podano składnię i przykładowe kroki.

Treść żądania

Poniższa treść żądania wyłącza tożsamość zarządzaną przypisaną przez system i usuwa wszystkie tożsamości zarządzane przypisane przez użytkownika przy użyciu metody HTTP PATCH .

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

Jeśli zdefiniowano kilka tożsamości przypisanych przez użytkownika, aby je zachować i usunąć tylko tożsamość przypisaną przez system, należy określić każdą tożsamość przypisaną przez użytkownika przy użyciu listy rozdzielanej przecinkami. W poniższym przykładzie użyto metody HTTP PATCH .

{ 
"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": {}
        }
    }
}

Poniżej przedstawiono identyfikator URI żądania interfejsu API REST usługi w celu wysłania żądania PATCH.

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

Przykład

Wykonaj następujące kroki.

  1. Skopiuj i wklej treść żądania, w zależności od operacji, którą chcesz wykonać, do pliku o nazwie body_remove_sa.json. Zapisz plik na komputerze lokalnym lub na koncie usługi Azure Storage.

  2. Zaloguj się interaktywnie na platformie Azure przy użyciu polecenia cmdlet Connect-AzAccount i postępuj zgodnie z instrukcjami.

    # 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. Podaj odpowiednią wartość dla zmiennych, a następnie wykonaj skrypt.

    $subscriptionID = "subscriptionID"
    $resourceGroup = "resourceGroupName"
    $automationAccount = "automationAccountName"
    $file = "path\body_remove_sa.json"
    
  4. W tym przykładzie użyto polecenia cmdlet Programu PowerShell Invoke-RestMethod , aby wysłać żądanie PATCH do konta usługi 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
    

    W zależności od użytej składni dane wyjściowe będą: UserAssigned lub puste.

Następne kroki