Freigeben über


Verwenden verwalteter Identitäten in einem Azure Batch Konto oder Pool

In diesem Artikel wird erläutert, wie Verwaltete Identitäten in einem Microsoft Azure Batch-Konto oder einem Batchpool verwendet werden. In diesem Artikel wird erläutert, wann Sie verwaltete Identitäten in einem Batchkonto im Vergleich zu einem Batchpool konfigurieren sollten. Außerdem werden verschiedene Verhaltensszenarien beschrieben, da die Verwendung verwalteter Identitäten in einigen Fehlersituationen zu Verwirrung führen kann.

Voraussetzungen

Einrichten Ihres Speicherkontos für die Verwendung mit Ihrem Batch-Konto

Wenn Sie verwaltete Identitäten in Ihrem Batch-Konto einrichten möchten, müssen Sie zuerst Ihr Speicherkonto so einrichten, dass es als automatische Speicher für Ihr Batchkonto verwendet wird. Diese automatische Speicherung wird verwendet, um die Anwendungspakete und Aufgabenressourcendateien zu speichern. Um die automatische Speicherung zu konfigurieren, müssen Sie das Speicherkonto mit Ihrem Batchkonto verknüpfen. Außerdem müssen Sie das Autostorage-Konto so festlegen, dass verwaltete Identitäten des Batchkontos als Authentifizierungsmodus verwendet werden.

Führen Sie die folgenden Schritte aus, um dieses Setup abzuschließen:

  1. Suchen Sie im Azure-Portal nach Batch-Konten, und wählen Sie diese Option aus.

  2. Wählen Sie in der Liste der Batchkonten den Namen Ihres Batchkontos aus.

  3. Suchen Sie im Navigationsbereich des Batch-Kontos die Überschrift Einstellungen , und wählen Sie dann Speicherkonto aus.

  4. Wählen Sie im Abschnitt SPEICHERKONTOINFORMATIONEN die Option Speicherkonto auswählen aus.

  5. Nachdem Sie Ihr Speicherkonto ausgewählt haben, kehren Sie zum Abschnitt SPEICHERKONTOINFORMATIONEN zurück, und ändern Sie das Feld Authentifizierungsmodus in Verwaltete Batch-Kontoidentität.

Einrichten einer verwalteten Identität in Ihrem Batch-Konto

Hinweis

Die in diesem Abschnitt beschriebene Interaktion erfolgt zwischen einem Batchkonto und Azure Storage oder Azure Key Vault. Informationen zur Interaktion zwischen Batchknoten und anderen Azure-Ressourcen finden Sie im nächsten Abschnitt (Einrichten einer verwalteten Identität in Ihrem Batchpool).

Indem Sie die verwaltete Identität für ein Batchkonto konfigurieren, erteilen Sie dem Batchkonto die Berechtigung, sich nur bei anderen Diensten zu authentifizieren. Mit dieser Konfiguration können Sie sich nicht bei Batchknoten oder virtuellen Batchpoolcomputern (VMs) authentifizieren.

Beim Konfigurieren der verwalteten Identität in Ihrem Batchkonto haben Sie zwei Möglichkeiten: Aktivieren Sie die systemseitig zugewiesene verwaltete Identität oder erstellen Sie eine separate benutzerseitig zugewiesene verwaltete Identität für das Batchkonto.

Führen Sie die folgenden Schritte aus, um die verwaltete Identität in Ihrem Batch-Konto einzurichten:

  1. Suchen Sie im Azure-Portal nach Batch-Konten, und wählen Sie diese Option aus.

  2. Wählen Sie in der Liste der Batchkonten den Namen Ihres Batchkontos aus.

  3. Suchen Sie im Navigationsbereich des Batchkontos die Überschrift Einstellungen , und wählen Sie dann Identität aus.

  4. Wählen Sie in der Überschrift Identitätstyp entweder Systemseitig zugewiesen (für eine systemseitig zugewiesene verwaltete Identität) oder Benutzerseitig zugewiesen (für eine benutzerseitig zugewiesene verwaltete Identität) aus.

  5. Kehren Sie nach Abschluss dieser Konfiguration zur Übersichtsseite Ihres Batchkontos zurück. Wählen Sie auf der Seite im Abschnitt Essentials die Option JSON-Ansicht aus. Die JSON-Darstellung der verwalteten Identität wird in einem der folgenden Formate angezeigt:

    Systemseitig zugewiesene verwaltete Identität
        "identity": {
            "principalId": "<principal-guid>",
            "tenantId": "<tenant-guid>",
            "type": "SystemAssigned"
        }
    
    Benutzerseitig zugewiesene verwaltete Identität
        "identity": {
            "type": "UserAssigned",
            "userAssignedIdentities": {
                "/subscriptions/<subscription-guid>/resourceGroups/<resource-group-name>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<user-assigned-identity-name>": {
                    "principalId": "<principal-guid>",
                    "clientId": "<client-guid>"
                }
            }
        }
    

Verwenden einer verwalteten Identität für den Zugriff auf Ihr Konto für die automatische Speicherung

Die Verwaltete Identitätsfunktion Ihres Batchkontos wird für bestimmte Aufgaben verwendet, z. B. das Hochladen eines Anwendungspakets in Ihr Batch-Konto. Navigieren Sie zum Hochladen des Anwendungspakets im Azure-Portal zur Übersichtsseite Ihres Batch-Kontos, wählen Sie Anwendungen>Hinzufügen aus, und folgen Sie dann den Anweisungen im Portal, um den Upload abzuschließen. Azure Batch speichert das Anwendungspaket in seinem Konto für die automatische Speicherung. Da Sie zuvor den Authentifizierungsmodus des Batchkontos auf Verwaltete Identität des Batchkontos festgelegt haben, ruft das System die Anmeldeinformationen aus der verwalteten Identität Ihres Batchkontos ab, um auf das Konto für die automatische Speicherung zuzugreifen.

Möglicherweise müssen Sie überprüfen, ob die verwaltete Identität über ausreichende Berechtigungen für das Konto für die automatische Speicherung verfügt. Führen Sie die folgenden Schritte aus, um nach diesen Berechtigungen zu suchen:

  1. Suchen Sie im Azure-Portal nach Speicherkonten, und wählen Sie diese Option aus.

  2. Wählen Sie in der Liste der Speicherkonten den Namen Ihres Kontos für die automatische Speicherung aus.

  3. Wählen Sie im Navigationsbereich des Speicherkontos Access Control (IAM) aus.

  4. Wählen Sie auf der Seite Access Control (IAM) die Schaltfläche Zugriff überprüfen aus.

  5. Wählen Sie im Bereich Zugriff überprüfen die Option Verwaltete Identität aus.

  6. Wählen Sie im Feld Verwaltete Identität die verwaltete Identität aus, für die Sie Berechtigungen anzeigen möchten.

  7. Überprüfen Sie auf der Registerkarte Aktuelle Rollenzuweisungen , ob eine zugewiesene Rolle über ausreichende Berechtigungen zum Hochladen eines Anwendungspakets verfügt. Wenn keine solche Rollenzuweisung vorhanden ist, wird die folgende Fehlermeldung in Ihren Azure-Portal Benachrichtigungen angezeigt, wenn Sie versuchen, das Anwendungspaket in Ihr Batch-Konto hochzuladen:

    Uploadfehler für <paketname> -.zip

    Beim Dateiupload ist während des Uploads ein unerwarteter Fehler aufgetreten.

Wenn dieser Uploadfehler auftritt, überprüfen Sie die HTTP-Archivdatei (.har) der Uploadanforderung. Es gibt eine POST-Anforderung, die das Namenspräfix (batchz. B. ) enthält, batch?api-version=2020-06-01und Es wird ein HTTP-status von 200 angezeigt. In der Nutzlast bemerken Sie die tatsächliche PUT-Anforderung, die an Ihr Batchkonto gesendet wird. Die Antwort auf die PUT-Anforderung zeigt den HTTP-status 409 an. Die vollständige Fehlerantwort ähnelt dem folgenden Text:

{responses: [{name: "<response-guid>", httpStatusCode: 409,...}]}
  {responses: [{name: "<response-guid>", httpStatusCode: 409,...}]}
    0: {name: "<response-guid>", httpStatusCode, 409,...}
      content: {error: {code: "AutoStorageNoPermission",...}}
        error: {code: "AutoStorageNoPermission",...}
          code: "AutoStorageNoPermission"
          message: "The managed identity does not have permission to access auto storage account. Please use Azure RBAC to assign the managed identity access to auto storage."
          target: "BatchAccount"
        contentLength: 318

Dieser Fehler bedeutet, dass Ihre systemseitig oder benutzerseitig zugewiesene verwaltete Identität in Ihrem Batchkonto nicht über die erforderlichen Berechtigungen zum Ausführen von Aktionen für das Konto für die automatische Speicherung verfügt.

Verwenden einer verwalteten Identität für den Zugriff auf Ihren Schlüsseltresor

Informationen zum Verwenden einer verwalteten Identität für den Zugriff auf eine Azure Key Vault finden Sie unter Konfigurieren von kundenseitig verwalteten Schlüsseln für Ihr Azure Batch Konto mit Azure Key Vault und verwalteter Identität.

Einrichten einer verwalteten Identität in Ihrem Batchpool

Hinweis

Die in diesem Abschnitt erläuterte Interaktion erfolgt zwischen einem Batchknoten und anderen Azure-Ressourcen. Informationen zur Interaktion zwischen einem Batchkonto und Azure Storage oder Azure Key Vault finden Sie im vorherigen Abschnitt (Einrichten einer verwalteten Identität in Ihrem Batch-Konto).

Wenn Sie Azure Batch Knoten den Zugriff auf andere Azure-Ressourcen erlauben möchten, verwenden Sie eine verwaltete Identität, die im Azure Batch-Pool konfiguriert ist.

Wenn der Authentifizierungsmodus des Kontos für die automatische Speicherung auf verwaltete Batch-Kontoidentität festgelegt ist, erhalten die Azure Batch Knoten die Token der verwalteten Identität. Die Knoten verwenden die Token der verwalteten Identität, um sich über Microsoft Entra Authentifizierung mithilfe des Azure Instance Metadata Service (IMDS) zu authentifizieren.

Der Azure-Batchpool unterstützt nur die benutzerseitig zugewiesene Version der verwalteten Identität. Daher müssen Sie eine benutzerseitig zugewiesene verwaltete Identität im selben Mandanten wie Ihr Azure Batch-Konto erstellen. Außerdem müssen Sie der benutzerseitig zugewiesenen verwalteten Identität die Berechtigung in der Speicherdatenebene (z. B. über den Besitzer von Storage-Blobdaten) erteilen.

Zuordnen einer verwalteten Identität zum Knoten, der auf das AutoStorage-Konto zugreift

Für die benutzerseitig zugewiesene Identität, die die Computeknoten für den Zugriff auf die automatische Speicherung verwenden, müssen Sie diesen Identitätsverweis Pools zuweisen, die Über Computeknoten verfügen, die Zugriff auf die automatische Speicherung benötigen. (Details zu dieser Anforderung werden in der REST-API für das Batch-Konto – AutoStorageBaseProperties von Update in der nodeIdentityReference -Eigenschaft beschrieben.) Daher müssen Sie Ihren Knotenidentitätsverweis an zwei Stellen auf dem Azure-Portal konfigurieren:

  • Knotenidentitätsverweis im Konto für die automatische Speicherung des Batch-Kontos

  • Die vom Benutzer zugewiesene verwaltete Identität im Batchpool

Wichtig

Sie können mehrere benutzerseitig zugewiesene verwaltete Identitäten in der Poolidentität definieren. Die im Knotenidentitätsverweis definierte Muss jedoch auch in der Poolidentität definiert werden.

Einrichten der Knotenidentitätsreferenz des Autostorage-Kontos

Führen Sie die folgenden Schritte aus, um den Knotenidentitätsverweis in Ihrem Autostorage-Konto einzurichten:

  1. Suchen Sie im Azure-Portal nach Batch-Konten, und wählen Sie diese Option aus.

  2. Wählen Sie in der Liste der Batchkonten den Namen Ihres Batchkontos aus.

  3. Suchen Sie im Navigationsbereich des Batch-Kontos die Überschrift Einstellungen , und wählen Sie dann Speicherkonto aus.

  4. Wählen Sie im Abschnitt SPEICHERKONTOINFORMATIONEN die Option Speicherkonto auswählen und dann Ihr Konto für die automatische Speicherung aus.

  5. Wechseln Sie zur Überschrift Knotenidentitätsverweis , und wählen Sie dann Hinzufügen aus.

  6. Schließen Sie den Vorgang zum Hinzufügen Ihrer neuen benutzerseitig zugewiesenen Knotenidentitätsreferenz ab.

Einrichten der benutzerseitig zugewiesenen verwalteten Identität des Batchpools

Führen Sie die folgenden Schritte aus, um die benutzerseitig zugewiesene verwaltete Identität in Ihrem Batchpool einzurichten:

  1. Suchen Sie im Azure-Portal nach Batch-Konten, und wählen Sie diese Option aus.

  2. Wählen Sie in der Liste der Batchkonten den Namen Ihres Batchkontos aus.

  3. Suchen Sie im Navigationsbereich des Batchkontos die Überschrift Features , und wählen Sie dann Pools aus.

  4. Wählen Sie auf der Seite Batchpool die Option Hinzufügen aus.

  5. Geben Sie auf der Seite Pool hinzufügen eine Pool-ID ein. Wählen Sie im Feld Identität die Option Benutzer zugewiesen aus.

  6. Suchen Sie die Überschrift Benutzerseitig zugewiesene verwaltete Identität , und wählen Sie dann Hinzufügen aus.

  7. Schließen Sie den Vorgang zum Hinzufügen des Zuvor erstellten Knotenidentitätsverweis zum Batchpool ab.

Anwendungsfälle für verwaltete Identitäten in einem Batchknoten

Sie können die verwaltete Identität in einem Batchknoten auf unterschiedliche Weise verwenden, z. B. für die folgenden Features:

  • Herunterladen von Anwendungspaketen aus einem Batchpool
  • Herunterladen von Aufgabenressourcendateien aus einem Batchpool

Herunterladen von Anwendungspaketen aus einem Batchpool

Wenn Sie einen Batchpool erstellen, können Sie Anwendungspakete auf Poolebene angeben. Die Anwendungspakete werden aus dem Autostorage-Konto heruntergeladen und auf allen Knoten in diesem Pool installiert. Weitere Informationen finden Sie unter Hochladen und Verwalten von Anwendungen. Laden Sie die Anwendungspakete in das Batchkonto hoch, bevor Sie während der Erstellung des Batchpools auf sie verweisen. Navigieren Sie zum Hinzufügen von Anwendungspaketen zu Ihrem Batchpool zur Seite Pool hinzufügen Ihres Batchkontos, suchen Sie die Überschrift OPTIONALE EINSTELLUNGEN , und wählen Sie dann Anwendungspakete aus.

Verhaltensszenarien

In diesem Abschnitt werden die status des Knotens und die status des Anwendungspaketdownloads für die folgenden Parameter für verwaltete Identitäten beschrieben:

  • Gibt an, ob die verwaltete Identität im Knotenidentitätsverweis angegeben ist.

  • Gibt an, ob die verwaltete Identität über ausreichende Berechtigungen im Konto für die automatische Speicherung verfügt.

  • Gibt an, ob der Batchpool mit derselben verwalteten Identität oder einer anderen verwalteten Identität erstellt wurde.

Im Azure-Portal finden Sie die Downloadstatus von Knoten und Paketen auf der Übersichtsseite des Batchknotens. Um zu dieser Seite zu gelangen, suchen Sie die Überschrift Allgemein im Navigationsbereich des Batchpools, wählen Sie Knoten aus, und wählen Sie dann den Namen des Knotens aus, der angezeigt werden soll.

In der folgenden Tabelle werden vier Verhaltensszenarien beschrieben, die verwaltete Identitäten und Anwendungspakete in einem Batchpool umfassen.

Szenarionummer Verwendung verwalteter Identitäten Berechtigungen für verwaltete Identitäten im Konto für die automatische Speicherung Spezifikation zur Poolerstellung Knoten status status zum Herunterladen von Paketen
1 Im Knotenidentitätsverweis angegeben Ausreichende Berechtigungen Im Pool mit derselben verwalteten Identität erstellt Erfolgreich gestartet Auf den Knoten im Stammverzeichnis/Anwendungsverzeichnis heruntergeladen
2 Im Knotenidentitätsverweis angegeben Unzureichende Berechtigungen Im Pool mit derselben verwalteten Identität erstellt Erfolgreich gestartet, aber im Leerlaufzustand Nicht auf den Knoten heruntergeladen
3 In Knotenidentitätsverweis nicht angegeben Ausreichende oder unzureichende Berechtigungen Erstellt im Pool mit der gleichen oder einer anderen verwalteten Identität Unbestimmte Zeit im Status "Wird gestartet " hängen Nicht auf den Knoten heruntergeladen
4 Im Knotenidentitätsverweis angegeben Ausreichende oder unzureichende Berechtigungen Im Pool mit einer anderen verwalteten Identität erstellt Nicht verwendbarer Zustand Nicht auf den Knoten heruntergeladen

In Szenario 3 wird der Knotenidentitätsverweis null, wenn der Azure Batch Dienst versucht, den Knoten zu starten. Dies führt dazu, dass der Knoten im Status Wird gestartet hängen bleibt. Um diese status zu überprüfen, wechseln Sie zur Seite Übersicht des Batchpoolknotens, und wählen Sie dann Batchprotokolle hochladen aus, um die Batchprotokolle in einen Speichercontainer hochzuladen. Wählen Sie im Bereich Batchprotokolle hochladen Ihren Azure Storage-Container aus, wählen Sie die Schaltfläche Speichercontainer auswählen aus, und laden Sie dann die agent-debug.log-Datei aus Ihrem Speichercontainer herunter. Die Protokolldatei enthält mehrere Einträge mit der Meldung "Pool noch nicht vollständig verknüpft, health=Status.TvmJoinPoolInProgress".

In Szenario 4 können Sie beim Erstellen des Batchpools mehrere verwaltete Identitäten definieren. Was geschieht, wenn die verwaltete Identität, die Sie im Knotenidentitätsverweis definieren, der Poolidentität nicht hinzugefügt wird? In diesem Fall kann der Azure Batch Dienst nicht die richtige verwaltete Identität finden, die der im Knotenverweis definierten Identität entspricht. Stattdessen zeigt der Dienst die folgende Knotenfehlermeldung an:

Knoten weist 1 Fehler auf.

Fehler auf dem Knoten

Code: ApplicationPackageError

Nachricht:
Mindestens ein für den Pool angegebenes Anwendungspaket ist ungültig.

Herunterladen von Aufgabenressourcendateien aus einem Batchpool

Während Sie eine Aufgabe erstellen, können Sie Ressourcendateien angeben, die in der Aufgabe verwendet werden sollen. Diese Dateien werden automatisch aus dem Autostorage-Konto auf den Knoten heruntergeladen, bevor der Taskbefehl ausgeführt wird. Weitere Informationen finden Sie unter Aufgaben in Azure Batch. Führen Sie die folgenden Schritte aus, um Aufgabenressourcendateien anzugeben:

  1. Suchen Sie im Azure-Portal nach Batch-Konten, und wählen Sie diese Option aus.

  2. Wählen Sie in der Liste der Batchkonten den Namen Ihres Batchkontos aus.

  3. Suchen Sie im Navigationsbereich Ihres Batch-Kontos die Überschrift Features , und wählen Sie Aufträge aus.

  4. Wählen Sie auf der Seite Aufträge die Option Hinzufügen aus.

  5. Füllen Sie die erforderlichen Felder im Bereich Aufträge hinzufügen aus, und wählen Sie dann OK aus.

  6. Suchen Sie im Navigationsbereich Ihres Batchauftrags die Überschrift Allgemein , und wählen Sie dann Aufgaben aus.

  7. Wählen Sie auf der Seite Aufgaben die Option Hinzufügen aus.

  8. Füllen Sie im Bereich Aufgaben hinzufügen alle erforderlichen Felder aus. Suchen Sie dann die Überschrift ERWEITERTE EINSTELLUNGEN , und wählen Sie Ressourcendateien aus.

    Azure-Portal Screenshot des Aufgabenbereichs

Sie können die Ressourcendateien mithilfe der methoden angeben, die in der folgenden Tabelle beschrieben werden.

Methode Hinweise
Container für automatische Speicherung Der Identitätsverweis wird als Keine angezeigt und kann nicht geändert werden. Der Knoten greift auf das Konto für die automatische Speicherung zu, um Ressourcendateien abzurufen.
Container-URL oder HTTP-URL Sie können die URL eines anderen Azure Storage-Kontos definieren, wenn in diesem Azure Storage-Konto genügend Berechtigungen für den Identitätsverweis konfiguriert wurden und die Identität dem Batchpool hinzugefügt wurde.

Wenn Sie Zugriff auf das Konto für die automatische Speicherung benötigen, muss die Identität sowohl im Knotenidentitätsverweis als auch in der Poolidentität definiert werden.

Wenn Sie die Ressourcendateidefinitionen angeben, sind das Blobpräfix und die Dateipfadparameter optional. Das Blobpräfix wird verwendet, um bestimmte Blobs zu filtern. Der Dateipfad wird verwendet, um einen Unterordner im Knoten zum Speichern der Blobdateien zu erstellen. Wenn der Dateipfad nicht definiert ist, werden die Dateien im Pfad für jede Aufgabe (root/wd) gespeichert.

Ressourcendateityp Wert Blobpräfix Dateipfad Dateimodus (nur Linux) Identitätsreferenz
AutoStorageContainerName <Name der App> mypath1
StorageContainerUrl <https:// account-name.blob.core.windows.net/con> mypath2 /subscriptions/<subscription-guid>/resourceGroups/<resource-group-name>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<user-assigned-identity-name>
HttpUrl <https:// account-name.blob.core.windows.net/con/api.crt> mypath3 /subscriptions/<subscription-guid>/resourceGroups/<resource-group-name>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<user-assigned-identity-name>

Verhaltensszenarien

In der folgenden Tabelle werden vier Verhaltensszenarien beschrieben, die auftreten können, wenn Sie mithilfe einer verwalteten Identität einen Batchpool erstellen und dann einen Task mit Ressourcendateien zum Abrufen eines Blobs aus einem Container für die automatische Speicherung erstellen.

Szenarionummer Verwendung verwalteter Identitäten Berechtigungen für verwaltete Identitäten im Konto für die automatische Speicherung Spezifikation zur Poolerstellung Ergebnis
1 Im Knotenidentitätsverweis angegeben Ausreichende Berechtigungen Im Pool mit derselben verwalteten Identität erstellt Die Blobdatei wurde erfolgreich auf den Knoten im Verzeichnis root/wd/<file-path> heruntergeladen, wie auf der Übersichtsseite der Aufgabe gezeigt.
2 Im Knotenidentitätsverweis angegeben Unzureichende Berechtigungen Im Pool mit derselben verwalteten Identität erstellt Der Task schlägt aufgrund eines ResourceContainerAccessDenied-Fehlers fehl. Fehlermeldung "Der Zugriff für einen der angegebenen Azure-Blobcontainer wurde verweigert"
3 In Knotenidentitätsverweis nicht angegeben Ausreichende oder unzureichende Berechtigungen Erstellt im Pool mit der gleichen oder einer anderen verwalteten Identität Der Task schlägt aufgrund eines ResourceContainerAccessDenied-Fehlers fehl. Fehlermeldung "Der Zugriff für einen der angegebenen Azure-Blobcontainer wurde verweigert"
4 Im Knotenidentitätsverweis angegeben Ausreichende oder unzureichende Berechtigungen Im Pool mit einer anderen verwalteten Identität erstellt Task schlägt aufgrund eines ResourceContainerListMiscError-Fehlers fehl, Fehlermeldung "Sonstiger Fehler beim Auflisten eines der angegebenen Azure-Blobcontainer aufgetreten"

Wechseln Sie in Szenarien, in denen der Blobabruftask fehlschlägt, zur Seite Aufgaben des Azure-Portal, und wählen Sie dann den Namen der Aufgabe aus, der neben dem Fehlercode angezeigt wird. Suchen Sie dann im Navigationsbereich der Aufgabenseite nach der Überschrift Allgemein , wählen Sie Eigenschaften und dann Json-Ansicht aus. Die JSON-Anzeige der Eigenschaften zeigt die entsprechende Fehlermeldung und andere Details zur fehlgeschlagenen Aufgabe an. In Szenario 4 schlägt beispielsweise der ResourceContainerListMiscError-Fehler aufgrund des Fehlers "HTTP 400 Ungültige Anforderung" fehl. Dies liegt daran, dass die verwaltete Identität, die im Knotenidentitätsverweis definiert ist, keiner der verwalteten Identitäten entspricht, die in der Konfiguration der Poolidentität definiert sind.

Überprüfen, ob Ihre verwaltete Identität auf Azure-Ressourcen zugreifen kann

Führen Sie die folgenden Schritte aus, um in Windows zu überprüfen, ob eine verwaltete Identität, der ein Azure Batch Knoten zugewiesen ist, über ausreichende Berechtigungen für den Zugriff auf Azure-Ressourcen (z. B. ein Speicherkonto) verfügt:

Hinweis

Diese Prozedur emuliert den letzten Schritt, den Sie ausführen müssen, um ein Token mit einer gültigen Identitäts-ID abzurufen, um auf das Speicherkonto zuzugreifen und auf ausreichende Berechtigungen zu überprüfen. Wenn die Identität nicht im Knotenidentitätsverweis definiert ist, kann der Knoten die Identitäts-ID nicht abrufen. In diesem Fall ist der gesamte Prozess bereits blockiert, bevor Sie den letzten Schritt ausführen können. Bevor Sie dieses Verfahren ausführen, überprüfen Sie, ob die Identität im Knotenidentitätsverweis definiert ist.

  1. Verwenden Sie das Remotedesktopprotokoll (RDP), um eine Verbindung mit dem Knoten herzustellen.

  2. Senden Sie in Postman eine GET-Anforderung, die den Metadata: true Header enthält, an die folgende URL:

    http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01& resource=https://storage.azure.com/& mi_res_id=/subscriptions/<subscription-guid>/resourceGroups/<resource-group-name>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<user-assigned-identity-name>

    Die 169.254.169.254 IP-Adresse wird auch als Azure Instance Metadata Service (IMDS) bezeichnet. IMDS stellt Informationen zum vm-instance bereit. Wenn Sie über diese VM instance Informationen verfügen, können Sie die VM verwenden, um Token für die verwaltete Identität anzufordern.

    Der mi_res_id Parameterwert in der URL ist fett formatiert. Dies ist die Ressourcen-ID der benutzerseitig zugewiesenen verwalteten Identität, die Sie in der Poolidentität definiert haben. Führen Sie die folgenden Schritte aus, um diese Ressourcen-ID zusammen mit der Client-ID und der Prinzipal-ID zu ermitteln:

    1. Suchen Sie im Azure-Portal nach Batch-Konten, und wählen Sie diese Option aus.

    2. Wählen Sie in der Liste der Batchkonten den Namen Ihres Batchkontos aus.

    3. Suchen Sie im Navigationsbereich des Batchkontos die Überschrift Features , und wählen Sie dann Pools aus.

    4. Wählen Sie in der Liste der Batchpools den Namen Ihres Batchpools aus.

    5. Suchen Sie im Navigationsbereich des Batchpools die Überschrift Allgemein , und wählen Sie dann Eigenschaften aus.

    6. Wählen Sie auf der Seite mit den Pooleigenschaften die Option Json-Ansicht aus.

    7. Suchen Sie im JSON-Text nach der identity/userAssignedIdentities Liste. Kopieren Sie für die benutzerseitig zugewiesene verwaltete Identität, die Sie verwenden, die Werte für die folgenden Eigenschaften:

      • resourceId
      • clientId (eine GUID)
      • principalId (eine GUID)

    Nachdem Sie die URL in Postman gesendet haben, enthält der Text der JSON-Antwort Einträge für access_token (eine lange Textzeichenfolge, auch als Bearertoken bezeichnet) und client_id (eine GUID). Der client_id Antwortwert sollte mit dem Wert übereinstimmen, den clientId Sie von der Eigenschaftenseite des Batchpools kopiert haben.

    Warnung

    Haben Sie mehr als eine verwaltete Identität in der Poolidentität definiert, aber keine verwaltete Identität in der URL angegeben? In diesem Fall zeigt Postman eine 400 Ungültige Anforderung status an:

    Postman-Screenshot eines 400 Bad Request-status, wenn Sie viele verwaltete Identitäten in der Poolidentität definiert haben, aber keine angegeben haben.

  3. Kopieren Sie das vollständige Bearertoken, und testen Sie es dann in Postman, indem Sie das Blob aus Ihrem Autostorage-Konto abrufen. In diesem Beispiel verfügt die verwaltete Identität nicht über die Berechtigung für den Zugriff auf den Speicher. Daher antwortet das Autostorage-Konto, indem es einen HTTP 403-Fehler zurückgibt (AuthorizationPermissionMismatch-Fehler, Meldung "Diese Anforderung ist nicht autorisiert, diesen Vorgang mithilfe dieser Berechtigung auszuführen").

    Hinweis

    Der x-ms-version-Header ist erforderlich, um das Blob abzurufen. Weitere Informationen finden Sie unter Get Blob API für Azure Storage.

    Postman-Screenshot eines 403 AuthorizationPermissionMismatch-status, wenn Ihre verwaltete Identität nicht für den Zugriff auf das Autostorage-Konto autorisiert ist.

Informationen zum Haftungsausschluss von Drittanbietern

Die in diesem Artikel genannten Drittanbieterprodukte stammen von Herstellern, die von Microsoft unabhängig sind. Microsoft gewährt keine implizite oder sonstige Garantie in Bezug auf die Leistung oder Zuverlässigkeit dieser Produkte.

Haftungsausschluss für Kontaktinformationen von Drittanbietern

Die Kontaktinformationen zu den in diesem Artikel erwähnten Drittanbietern sollen Ihnen helfen, zusätzliche Informationen zu diesem Thema zu finden. Diese Kontaktinformationen können ohne vorherige Ankündigung geändert werden. Sie werden von Microsoft ohne jede Gewähr weitergegeben.

Kontaktieren Sie uns für Hilfe

Wenn Sie Fragen haben oder Hilfe mit Ihren Azure-Gutschriften benötigen, dann erstellen Sie beim Azure-Support eine Support-Anforderung oder fragen Sie den Azure Community-Support. Sie können auch Produktfeedback an die Azure Feedback Community senden.