Tutorial: Verwenden einer systemseitig zugewiesenen verwalteten Identität eines virtuellen Linux-Computers für den Zugriff auf Azure Key Vault

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 erfahren Sie, wie ein virtueller Linux-Computer mithilfe einer systemseitig zugewiesenen verwalteten Identität auf Azure Key Vault zugreifen kann. Key Vault ermöglicht es Ihrer Clientanwendung, mithilfe eines Geheimnisses auf Ressourcen zuzugreifen, die nicht durch Microsoft Entra ID geschützt sind. Verwaltete Dienstidentitäten 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 ein in einer Key Vault gespeicherten Geheimnisses für den virtuellen Computer
  • Abrufen eines Zugriffstokens mithilfe der VM-Identität und Verwenden dieses Zugriffstokens zum Abrufen des Geheimnisses aus dem Schlüsseltresor

Voraussetzungen

Erstellen eines Schlüsseltresors

Tipp

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

In diesem Abschnitt wird gezeigt, wie Sie einem virtuellen Computer den Zugriff auf ein in einer Key Vault-Instanz gespeichertes Geheimnis gewähren. Mithilfe von verwalteten Identitäten für Azure-Ressourcen kann der Code Zugriffstoken zur Authentifizierung von Ressourcen abrufen, die die Microsoft Entra-Authentifizierung unterstützen.  Jedoch nicht alle Azure-Dienste unterstützen die Microsoft Entra-Authentifizierung. Um verwaltete Identitäten für Azure-Ressourcen mit diesen Diensten zu verwenden, speichern Sie die Dienstanmeldeinformationen in Azure Key Vault, und greifen Sie mit der verwalteten Identität des virtuellen Computers auf Key Vault zu, um die Anmeldeinformationen abzurufen.

Zunächst müssen Sie eine Key Vault-Instanz erstellen und der systemseitig zugewiesenen verwalteten Identität des virtuellen Computers den Zugriff darauf erteilen.

  1. Melden Sie sich beim Azure-Portal an.

  2. Wählen Sie oben auf der linken Navigationsleiste Ressource erstellen aus.

  3. Geben Sie im Feld Marketplace durchsuchen den Suchbegriff Key Vault ein, und drücken Sie die EINGABETASTE.

  4. Wählen Sie in den Ergebnissen Key Vault aus.

  5. Klicken Sie auf Erstellen.

  6. Geben Sie unter Name einen Namen für die neue Key Vault-Instanz an.

    Screenshot: Bildschirm zum Erstellen von Azure Key Vault-Instanzen

  7. Geben Sie alle erforderlichen Informationen ein. Wählen Sie dabei unbedingt das Abonnement und die Ressourcengruppe aus, in denen Sie den für dieses Tutorial verwendeten virtuellen Computer erstellt haben.

  8. Wählen Sie Überprüfen + erstellen aus.

  9. Klicken Sie auf Erstellen

Erstellen eines Geheimnisses

Fügen Sie als Nächstes der Key Vault-Instanz ein Geheimnis hinzu, das Sie später mithilfe von Code abrufen können, der auf dem virtuellen Computer ausgeführt wird. Im Rahmen dieses Tutorials wird PowerShell verwendet. Die gleichen Konzepte gelten jedoch für jeden Code, der auf diesem virtuellen Computer ausgeführt wird.

  1. Navigieren Sie zur neu erstellten Key Vault-Instanz.

  2. Wählen Sie Geheimnisse und dann Hinzufügen aus.

  3. Wählen Sie die Option Generieren/importieren aus.

  4. Lassen Sie auf dem Bildschirm Geheimnis erstellen unter Uploadoptionen die Option Manuell ausgewählt.

  5. Geben Sie einen Namen und einen Wert für das Geheimnis ein.  Dabei kann es sich um einen beliebigen Wert handeln. 

  6. Lassen Sie das Aktivierungs- und das Ablaufdatum leer, und übernehmen Sie für Aktiviert die ausgewählte Option Ja

  7. Wählen Sie Erstellen aus, um das Geheimnis zu erstellen.

    Screenshot: Erstellen des Geheimnisses

Gewähren von Zugriff

Der von der VM verwendeten verwalteten Identität muss Zugriff gewährt werden, damit sie das in Key Vault gespeicherte Geheimnis lesen kann.

  1. Navigieren Sie zur neu erstellten Key Vault-Instanz.

  2. Wählen Sie im Menü auf der linken Seite die Option Zugriffsrichtlinie aus.

  3. Wählen Sie Zugriffsrichtlinie hinzufügen aus.

    Screenshot: Key Vault-Bildschirm zum Erstellen einer Zugriffsrichtlinie

  4. Wählen Sie im Abschnitt Zugriffsrichtlinie hinzufügen unter Anhand einer Vorlage konfigurieren (optional) im Pulldownmenü die Option Verwaltung von Geheimnissen aus.

  5. Wählen Sie Prinzipal auswählen, und geben Sie im Suchfeld den Namen des zuvor erstellten virtuellen Computers ein.  Wählen Sie in der Ergebnisliste den virtuellen Computer und dann Auswählen aus.

  6. Wählen Sie Hinzufügen aus.

  7. Wählen Sie Speichern aus.

Zugreifen auf Daten

Zum Ausführen dieser Schritte benötigen Sie einen SSH-Client.  Wenn Sie Windows verwenden, können Sie den SSH-Client im Windows-Subsystem für Linux verwenden. Wenn Sie Hilfe beim Konfigurieren der SSH-Clientschlüssel benötigen, lesen Sie die Informationen unter Vorgehensweise: Verwenden von SSH-Schlüsseln mit Windows in Azure oder Erstellen und Verwenden eines SSH-Schlüsselpaars (öffentlich und privat) für virtuelle Linux-Computer in Azure.

Wichtig

Alle Azure SDKs unterstützen die Azure.Identity-Bibliothek, die das Erwerben von Microsoft Entra-Token für den Zugriff auf Zieldienste vereinfacht. Erfahren Sie mehr über Azure SDKs, und nutzen Sie die Azure.Identity-Bibliothek.

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

  2. Verbinden Sie den virtuellen Computer mit dem gewünschten SSH-Client. 

  3. Übermitteln Sie im Terminalfenster mit CURL eine Anforderung an den lokalen Endpunkt der verwalteten Identitäten für Azure-Ressourcen, um ein Zugriffstoken für Azure Key Vault abzurufen.    

    Die CURL-Anforderung für das Zugriffstoken finden Sie weiter unten.  

    curl 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https%3A%2F%2Fvault.azure.net' -H Metadata:true  
    

    Die Antwort enthält das Zugriffstoken, das Sie für den Zugriff auf Resource Manager benötigen. 

    Antwort:

    {"access_token":"eyJ0eXAi...",
    "refresh_token":"",
    "expires_in":"3599",
    "expires_on":"1504130527",
    "not_before":"1504126627",
    "resource":"https://vault.azure.net",
    "token_type":"Bearer"} 
    

    Sie können dieses Zugriffstoken zur Authentifizierung bei Azure Key Vault verwenden.  Die nächste CURL-Anforderung zeigt, wie Sie mithilfe von CURL und der Key Vault-REST-API ein Geheimnis aus der Key Vault lesen.  Sie benötigen die URL Ihrer Key Vault-Instanz. Diese befindet sich in Key Vault auf der Seite Übersicht im Abschnitt Zusammenfassung.  Außerdem benötigen Sie das Zugriffstoken, das Sie im vorherigen Aufruf abgerufen haben. 

    curl 'https://<YOUR-KEY-VAULT-URL>/secrets/<secret-name>?api-version=2016-10-01' -H "Authorization: Bearer <ACCESS TOKEN>" 
    

    Die Antwort sieht wie folgt aus:

    {"value":"p@ssw0rd!","id":"https://mytestkeyvault.vault.azure.net/secrets/MyTestSecret/7c2204c6093c4d859bc5b9eff8f29050","attributes":{"enabled":true,"created":1505088747,"updated":1505088747,"recoveryLevel":"Purgeable"}} 
    

Nachdem Sie das Geheimnis aus Key Vault abgerufen haben, können Sie es für die Authentifizierung bei einem Dienst verwenden, für den ein Name und ein Kennwort angegeben werden müssen.

Bereinigen von Ressourcen

Gehen Sie wie folgt vor, wenn Sie die Ressourcen bereinigen möchten: Melden Sie sich im Azure-Portal an, wählen Sie die Option Ressourcengruppen und dann die Ressourcengruppe aus, die in diesem Tutorial erstellt wurde (z. B. mi-test), und verwenden Sie anschließend den Befehl Ressourcengruppe löschen.

Diesen Schritt können Sie alternativ über PowerShell oder die CLI ausführen.

Nächste Schritte

In diesem Tutorial haben Sie gelernt, wie Sie eine systemseitig zugewiesene verwaltete Identität eines virtuellen Linux-Computers verwenden, um auf Azure Key Vault zuzugreifen. Weitere Informationen zu Azure Key Vault finden Sie in folgendem Artikel: