Verwenden einer systemseitig zugewiesenen verwalteten Identität eines virtuellen Windows-Computers für den Zugriff auf Resource Manager

Verwaltete Identitäten für Azure-Ressourcen ist eine Funktion 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.

In diesem Tutorial wird gezeigt, wie Sie mit einem virtuellen Windows-Computer, auf dem die systemseitig zugewiesene verwaltete Identität aktiviert ist, auf die Azure Resource Manager-API zugreifen. Verwaltete Identitäten für Azure-Ressourcen werden von Azure automatisch verwaltet und ermöglichen Ihnen die Authentifizierung für Dienste, die die Microsoft Entra-Authentifizierung unterstützen, ohne dass Sie Anmeldeinformationen in Ihren Code einfügen müssen. Folgendes wird vermittelt:

  • Gewähren des Zugriffs auf eine Ressourcengruppe in Azure Resource Manager für Ihren virtuellen Computer
  • Abrufen eines Zugriffstokens mithilfe der VM-Identität und Verwenden dieses Zugriffstokens zum Aufrufen von Azure Resource Manager

Voraussetzungen

Aktivieren

Eine systemseitig zugewiesene verwaltete Identität wird mit einem Mausklick aktiviert. Sie können sie entweder während der Erstellung eines virtuellen Computers oder in den Eigenschaften eines vorhandenen virtuellen Computers aktivieren.

Screenshot shows the System assigned tab for a virtual machine where you can turn on the System assigned status.

So aktivieren Sie eine systemseitig zugewiesene verwaltete Identität auf einem neuen virtuellen Computer:

  1. Melden Sie sich beim Azure-Portal

  2. Erstellen eines virtuellen Computers mit aktivierter systemseitig zugewiesener Identität

Gewähren des Zugriffs auf eine Ressourcengruppe in Azure Resource Manager für Ihren virtuellen Computer

Tipp

Die Schritte in diesem Artikel können je nach dem Portal, mit dem Sie beginnen, geringfügig variieren.

Mithilfe von verwalteten Identitäten für Azure-Ressourcen kann die Anwendung Zugriffstoken zur Authentifizierung von Ressourcen abrufen, die die Microsoft Entra-Authentifizierung unterstützen. Die Azure Resource Manager-API unterstützt die Microsoft Entra-Authentifizierung. Wir gewähren der Identität dieser VM Zugriff auf eine Ressource im Azure Resource Manager, in diesem Fall eine Ressourcengruppe. Wir weisen der verwalteten Identität im Bereich der Ressourcengruppe die Rolle Leser zu.

  1. Melden Sie sich mit Ihrem Administratorkonto beim Azure-Portal an.
  2. Navigieren Sie zu der Registerkarte für die Ressourcengruppen.
  3. Wählen Sie die Ressourcengruppe aus, für die Sie der verwalteten Identität des virtuellen Computers den Zugriff erteilen möchten.
  4. Wählen Sie im linken Bereich die Option Zugriffssteuerung (IAM) aus.
  5. Wählen Sie Hinzufügen und dann Rollenzuweisung hinzufügen aus.
  6. Wählen Sie auf der Registerkarte Rolle die Rolle Leser aus. Mit dieser Rolle können Sie alle Ressourcen anzeigen, aber keine Änderungen vornehmen.
  7. Wählen Sie auf der Registerkarte Mitglieder für Zugriff zuweisen zu die Option Verwaltete Identität aus. Wählen Sie dann + Mitglieder auswählen aus.
  8. Stellen Sie sicher, dass in der Dropdownliste Abonnement das richtige Abonnement aufgeführt wird. Wählen Sie unter Ressourcengruppe die Option Alle Ressourcengruppen.
  9. Wählen Sie in der Dropdownliste Identität verwalten den Eintrag Virtueller Computer aus.
  10. Wählen Sie abschließend unter Auswählen in der Dropdownliste Ihren virtuellen Windows-Computer aus, und klicken Sie auf Speichern.

Abrufen eines Zugriffstokens mithilfe der systemseitig zugewiesenen verwalteten Identität eines virtuellen Computers und Verwenden dieses Zugriffstokens zum Aufrufen von Azure Resource Manager

In diesem Abschnitt müssen Sie PowerShell verwenden. Wenn Sie PowerShell nicht installiert haben, können Sie es hier herunterladen.

  1. Navigieren Sie im Portal zu Virtuelle Computer, wechseln Sie dann zu Ihrem virtuellen Windows-Computer, und wählen Sie in der Übersicht die Option Verbinden aus.

  2. Geben Sie Ihren Benutzernamen und Ihr Kennwort ein, das Sie beim Erstellen des virtuellen Windows-Computers hinzugefügt haben.

  3. Sie haben nun eine Remotedesktopverbindung mit der VM erstellt. Öffnen Sie jetzt PowerShell in der Remotesitzung.

  4. Erstellen Sie mithilfe des Cmdlets „Invoke-WebRequest“ eine Anforderung an den lokalen Endpunkt für die verwaltete Identität für Azure-Ressourcen, um ein Zugriffstoken für Azure Resource Manager zu erhalten.

       $response = Invoke-WebRequest -Uri 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https://management.azure.com/' -Method GET -Headers @{Metadata="true"}
    

    Hinweis

    Der Wert des „resource“-Parameters muss exakt mit dem von Microsoft Entra ID erwarteten Wert übereinstimmen. Wenn Sie die Azure Resource Manager-Ressourcen-ID verwenden, müssen Sie den nachgestellten Schrägstrich im URI verwenden.

    Extrahieren Sie als Nächstes die vollständige Antwort, die als JSON-formatierte Zeichenfolge (JavaScript Object Notation) im „$response“-Objekt gespeichert ist.

    $content = $response.Content | ConvertFrom-Json
    

    Extrahieren Sie dann das Zugriffstoken aus der Antwort.

    $ArmToken = $content.access_token
    

    Rufen Sie abschließend Azure Resource Manager mit dem Zugriffstoken auf. In diesem Beispiel wird auch das Cmdlet „Invoke-WebRequest“ für den Aufruf von Azure Resource Manager und das Einschließen des Zugriffstokens im Autorisierungsheader verwendet.

    (Invoke-WebRequest -Uri https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>?api-version=2016-06-01 -Method GET -ContentType "application/json" -Headers @{ Authorization ="Bearer $ArmToken"}).content
    

    Hinweis

    Bei der URL wird die Groß-/Kleinschreibung beachtet. Achten Sie daher darauf, dieselbe Groß- und Kleinschreibung zu verwenden wie zuvor beim Benennen der Ressourcengruppe, und darauf, den Großbuchstaben „G“ in „resourceGroups“ zu beachten.

    Der folgende Befehl gibt die Details der Ressourcengruppe zurück:

    {"id":"/subscriptions/98f51385-2edc-4b79-bed9-7718de4cb861/resourceGroups/DevTest","name":"DevTest","location":"westus","properties":{"provisioningState":"Succeeded"}}
    

Nächste Schritte

In dieser Schnellstartanleitung haben Sie gelernt, wie Sie eine systemseitig zugewiesene verwaltete Identität verwenden, um auf die Azure Resource Manager-API zuzugreifen. Weitere Informationen zu Azure Resource Manager finden Sie hier: