Verwenden von verwalteten Identitäten für Azure-Ressourcen auf einem virtuellen Azure-Computer für die Anmeldung

Verwaltete Identitäten für Azure-Ressourcen sind ein Feature von Microsoft Entra ID. Für alle Azure-Dienste, die verwaltete Identitäten unterstützen, gilt ein eigener Zeitplan. Sehen Sie sich den Verfügbarkeitsstatus der verwalteten Identitäten für Ihre Ressource und die bekannten Probleme an, bevor Sie beginnen.

Dieser Artikel enthält PowerShell- und CLI-Skriptbeispiele für die Anmeldung mit verwalteten Identitäten für Azure-Ressourcen sowie eine Anleitung zu wichtigen Themen, z.B. zur Fehlerbehandlung.

Hinweis

Es wird empfohlen, das Azure Az PowerShell-Modul für die Interaktion mit Azure zu verwenden. Informationen zu den ersten Schritten finden Sie unter Installieren des Azure Az PowerShell-Moduls. Informationen zum Migrieren zum Az PowerShell-Modul finden Sie unter Migrieren von Azure PowerShell von AzureRM zum Az-Modul.

Voraussetzungen

  • Wenn Sie mit der Funktion für verwaltete Identitäten für Azure-Ressourcen nicht vertraut sind, finden Sie hier eine Übersicht. Wenn Sie kein Azure-Konto haben, sollten Sie sich für ein kostenloses Konto registrieren, bevor Sie fortfahren.

Wenn Sie die Azure PowerShell- oder Azure CLI-Beispiele in diesem Artikel verwenden möchten, müssen Sie die neueste Version von Azure PowerShell bzw. der Azure CLI installieren.

Wichtig

  • Bei allen Beispielskripts in diesem Artikel wird vorausgesetzt, dass der Befehlszeilenclient auf einem virtuellen Computer mit verwalteten Identitäten für Azure-Ressourcen ausgeführt wird. Verwenden Sie die Funktion „Verbinden“ im Azure-Portal zum Herstellen einer Remoteverbindung mit Ihrem virtuellen Computer. Weitere Informationen zur Aktivierung von verwalteten Identitäten für Azure-Ressourcen auf einer VM finden Sie unter Konfigurieren von verwalteten Identitäten für Azure-Ressourcen auf einer VM über das Azure-Portal oder in einem der verwandten Artikel (PowerShell, CLI, Vorlage oder Azure SDK).
  • Um Fehler beim Zugriff auf Ressourcen zu verhindern, muss die verwaltete Identität des virtuellen Computers mindestens über den Zugriff „Leser“ im entsprechenden Bereich (virtueller Computer oder höher) verfügen, um Azure Resource Manager-Vorgänge auf dem virtuellen Computer zu ermöglichen. Weitere Informationen finden Sie unter Zuweisen verwalteter Identitäten für den Zugriff auf Azure-Ressourcen über das Azure-Portal.

Übersicht

Verwaltete Identitäten für Azure-Ressourcen stellen ein Dienstprinzipalobjekt bereit, das bei der Aktivierung von verwalteten Identitäten für Azure-Ressourcen auf dem virtuellen Computer erstellt wird. Der Dienstprinzipal kann Zugriff auf Azure-Ressourcen erhalten und von Skript- oder Befehlszeilenclients als Identität für die Anmeldung und den Zugriff auf Ressourcen verwendet werden. Bislang war für einen Skriptclient für den Zugriff auf geschützte Ressourcen unter seiner eigenen Identität Folgendes erforderlich:

  • Registrierung und Zustimmung als vertrauliche und Webclientanwendung in Microsoft Entra ID
  • Anmeldung unter dem zugehörigen Dienstprinzipal mit den Anmeldeinformationen der Anwendung (wahrscheinlich im Skript eingebettet)

Mithilfe verwalteter Identitäten für Azure-Ressourcen muss Ihr Skriptclient beides nicht mehr ausführen, da er sich unter dem Dienstprinzipal der verwalteten Identitäten für Azure-Ressourcen anmelden kann.

Azure CLI

Mit diesem Skript wird Folgendes veranschaulicht:

  1. Anmelden bei Microsoft Entra ID unter dem Dienstprinzipal der verwalteten Identität des virtuellen Computers für Azure-Ressourcen

  2. Aufrufen von Azure Resource Manager und Abrufen der Dienstprinzipal-ID des virtuellen Computers. Die Verwaltung des Tokenabrufs und der Tokenverwendung erfolgt automatisch über die Befehlszeilenschnittstelle. Achten Sie darauf, dass Sie <VM-NAME> durch den Namen Ihres virtuellen Computers ersetzen.

    az login --identity
    
    $spID=$(az resource list -n <VM-NAME> --query [*].identity.principalId --out tsv)
    echo The managed identity for Azure resources service principal ID is $spID
    

Azure PowerShell

Mit diesem Skript wird Folgendes veranschaulicht:

  1. Anmelden bei Microsoft Entra ID unter dem Dienstprinzipal der verwalteten Identität des virtuellen Computers für Azure-Ressourcen

  2. Aufrufen eines Azure Resource Manager-Cmdlets zum Abrufen von Informationen zu dem virtuellen Computer. Die Verwaltung der Tokenverwendung erfolgt automatisch über PowerShell.

    Add-AzAccount -identity
    
    # Call Azure Resource Manager to get the service principal ID for the VM's managed identity for Azure resources. 
    $vmInfoPs = Get-AzVM -ResourceGroupName <RESOURCE-GROUP> -Name <VM-NAME>
    $spID = $vmInfoPs.Identity.PrincipalId
    echo "The managed identity for Azure resources service principal ID is $spID"
    

Ressourcen-IDs für Azure-Dienste

Eine Liste mit Ressourcen, die Microsoft Entra ID unterstützen und mit verwalteten Identitäten für Azure-Ressourcen getestet wurden, und die jeweiligen zugehörigen Ressourcen-IDs finden Sie unter Azure-Dienste, die die Microsoft Entra-Authentifizierung unterstützen.

Anleitung zur Fehlerbehandlung

Antworten wie beispielsweise die folgenden können angeben, dass die verwaltete Identität des virtuellen Computers für Azure-Ressourcen nicht ordnungsgemäß konfiguriert wurde:

  • Mit PowerShell: Invoke-WebRequest: Es konnte keine Verbindung mit dem Remoteserver hergestellt werden.
  • Über die CLI: MSI: Failed to retrieve a token from http://localhost:50342/oauth2/token with an error of 'HTTPConnectionPool(host='localhost', port=50342) (MSI: Fehler beim Abrufen eines Tokens aus 'http://localhost:50342/oauth2/token' mit dem Fehler 'HTTPConnectionPool[host='localhost', port=50342])

Wenn einer dieser Fehler ausgegeben wird, kehren Sie im Azure-Portal zum virtuellen Azure-Computer zurück, wechseln Sie zur Seite Identität, und stellen Sie sicher, dass Vom System zugewiesen auf „Ja“ eingestellt ist.

Nächste Schritte