Freigeben über


Verwenden von verwalteten Identitäten in einem Azure Batch-Konto oder -Pool

In diesem Artikel wird erläutert, wie verwaltete Identitäten in einem Microsoft Azure-Batchkonto 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 von verwalteter Identität in einigen Fehlersituationen Zu Verwirrung führen kann.

Voraussetzungen

Einrichten Ihres Speicherkontos für die Verwendung mit Ihrem Batchkonto

Wenn Sie verwaltete Identitäten in Ihrem Batchkonto einrichten möchten, müssen Sie zuerst Ihr Speicherkonto so einrichten, dass es als automatisches Speicherkonto verwendet wird. Diese automatische Speicherung wird verwendet, um die Anwendungspakete und Vorgangsressourcendateien 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.

Um diese Einrichtung abzuschließen, führen Sie die folgenden Schritte aus:

  1. Suchen Sie im Azure-Portal nach Batchkonten, und wählen Sie sie 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 "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 Identität des Batchkontos".

Einrichten der verwalteten Identität in Ihrem Batchkonto

Notiz

Die interaktion, die in diesem Abschnitt erläutert wird, ist zwischen einem Batchkonto und Azure Storage oder Azure Key Vault. Interaktion zwischen Batchknoten und anderen Azure-Ressourcen finden Sie im nächsten Abschnitt (Einrichten der 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 virtuellen Batchknoten oder virtuellen Computern des Batchpools authentifizieren.

Sie haben zwei Optionen, wenn Sie die verwaltete Identität in Ihrem Batchkonto konfigurieren: Aktivieren Sie die vom System zugewiesene verwaltete Identität, oder erstellen Sie eine separate vom Benutzer zugewiesene verwaltete Identität für das Batchkonto.

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

  1. Suchen Sie im Azure-Portal nach Batchkonten, und wählen Sie sie 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 "System zugewiesen" (für eine vom System zugewiesene verwaltete Identität) oder "Benutzer" (für eine vom Benutzer zugewiesene verwaltete Identität) aus.

  5. Kehren Sie nach Abschluss dieser Konfiguration zur Übersichtsseite Ihres Batchkontos zurück. Wählen Sie im Abschnitt "Essentials" der Seite die 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 AutoStorage-Konto

Das Feature "Verwaltete Identität" Ihres Batchkontos wird für bestimmte Aufgaben verwendet, z. B. das Hochladen eines Anwendungspakets in Ihr Batchkonto. Um das Anwendungspaket hochzuladen, wechseln Sie zur Übersichtsseite ihres Batchkontos im Azure-Portal, wählen Sie "Anwendungen hinzufügen"> aus, und folgen Sie dann den Portalanweisungen, um den Upload abzuschließen. Azure Batch speichert das Anwendungspaket in seinem AutoStorage-Konto. Da Sie zuvor den Authentifizierungsmodus des Batchkontos auf verwaltete Batchkontoidentität festgelegt haben, ruft das System die Anmeldeinformationen aus der verwalteten Identität Ihres Batchkontos ab, um auf das Konto für die automatische Storage zuzugreifen.

Möglicherweise müssen Sie überprüfen, ob die verwaltete Identität über genügend Berechtigungen für das AutoStorage-Konto 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 sie aus.

  2. Wählen Sie in der Liste der Speicherkonten den Namen Ihres AutoStorage-Kontos aus.

  3. Wählen Sie im Navigationsbereich des Speicherkontos die Option 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 Batchkonto 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 ein Namenspräfix enthält batch (z. B batch?api-version=2020-06-01. ), und Sie sehen einen HTTP-Status von 200. In der Nutzlast werden Sie feststellen, dass die tatsächliche PUT-Anforderung, die an Ihr Batchkonto gesendet wird. Die Antwort auf die PUT-Anforderung zeigt einen HTTP-Status von 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 vom System zugewiesene oder vom Benutzer zugewiesene verwaltete Identität in Ihrem Batchkonto nicht über genügend Berechtigungen zum Ausführen von Aktionen für das AutoStorage-Konto verfügt.

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

Informationen zur Verwendung einer verwalteten Identität für den Zugriff auf einen Azure Key Vault finden Sie unter Konfigurieren von vom Kunden verwalteten Schlüsseln für Ihr Azure Batch-Konto mit Azure Key Vault und verwalteter Identität.

Einrichten der verwalteten Identität in Ihrem Batchpool

Notiz

Die interaktion, die in diesem Abschnitt erläutert wird, liegt zwischen einem Batchknoten und anderen Azure-Ressourcen. Interaktion zwischen einem Batchkonto und azure Storage oder Azure Key Vault finden Sie im vorherigen Abschnitt (Einrichten der verwalteten Identität in Ihrem Batchkonto).

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

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

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

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

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

  • Der Knotenidentitätsverweis im AutoStorage-Konto des Batchkontos

  • Die vom Benutzer zugewiesene verwaltete Identität im Batchpool

Wichtig

Sie können mehr als eine vom Benutzer zugewiesene verwaltete Identität in der Poolidentität definieren. Der im Knotenidentitätsverweis definierte Muss jedoch auch in der Poolidentität definiert werden.

Einrichten des Knotenidentitätsverweises 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 Batchkonten, und wählen Sie sie 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 "Speicherkonto" aus.

  4. Wählen Sie im Abschnitt "SPEICHERKONTOINFORMATIONEN" die Option "Speicherkonto auswählen" und dann Ihr AutoStorage-Konto aus.

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

  6. Führen Sie den Vorgang zum Hinzufügen des neuen Benutzer zugewiesenen Knotenidentitätsverweises aus.

Einrichten der vom Benutzer zugewiesenen verwalteten Identität des Batchpools

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

  1. Suchen Sie im Azure-Portal nach Batchkonten, und wählen Sie sie 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" "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 der vom Benutzer zugewiesenen verwalteten Identität, und wählen Sie dann "Hinzufügen" aus.

  7. Führen Sie den Prozess zum Hinzufügen des Knotenidentitätsverweises aus, den Sie zuvor im Batchpool erstellt haben.

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

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

  • Herunterladen von Anwendungspaketen aus einem Batchpool
  • Herunterladen von Vorgangsressourcendateien 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 in 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 darauf verweisen. Wenn Sie Ihrem Batchpool Anwendungspakete hinzufügen möchten, wechseln Sie 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 der Knotenbetriebsstatus und der Status des Anwendungspaketdownloads für die folgenden verwalteten Identitätsparameter beschrieben:

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

  • Gibt an, ob die verwaltete Identität über ausreichende Berechtigungen im AutoStorage-Konto verfügt.

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

Im Azure-Portal finden Sie die Status des Knotens und Paketdownloads auf der Übersichtsseite des Batchknotens. Um zu dieser Seite zu gelangen, suchen Sie die Allgemeine Überschrift des Navigationsbereichs des Batchpools, wählen Sie Knoten aus, und wählen Sie dann den Namen des Knotens aus, den Sie anzeigen möchten.

Die folgende Tabelle enthält vier Verhaltensszenarien, die verwaltete Identitäts- und Anwendungspakete in einem Batchpool umfassen.

Szenarionummer Nutzung von verwalteten Identitäten Verwaltete Identitätsberechtigungen im AutoStorage-Konto Spezifikation für die Poolerstellung Knotenstatus Paketdownloadstatus
1 In Knotenidentitätsreferenz angegeben Ausreichende Berechtigungen Erstellt im Pool mithilfe derselben verwalteten Identität Erfolgreich gestartet Heruntergeladen auf den Knoten im Stamm-/Anwendungsverzeichnis
2 In Knotenidentitätsreferenz angegeben Insufficient permissions Erstellt im Pool mithilfe derselben verwalteten Identität Erfolgreich gestartet, aber im Leerlaufzustand Nicht auf den Knoten heruntergeladen
3 In Knotenidentitätsreferenz nicht angegeben Ausreichende oder unzureichende Berechtigungen Erstellt im Pool mithilfe derselben oder einer anderen verwalteten Identität Bleibt unbegrenzt im Startzustand hängen Nicht auf den Knoten heruntergeladen
4 In Knotenidentitätsreferenz angegeben Ausreichende oder unzureichende Berechtigungen Erstellt im Pool mithilfe einer anderen verwalteten Identität Nicht verwendbarer Zustand Nicht auf den Knoten heruntergeladen

Wenn der Azure-Batchdienst in Szenario 3 versucht, den Knoten zu starten, wird der Knotenidentitätsverweis null. Dadurch bleibt der Knoten in einem Startzustand hängen. Um diesen 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 wählen Sie dann die agent-debug.log Datei aus Ihrem Speichercontainer aus, und laden Sie sie herunter. Die Protokolldatei enthält mehrere Einträge, für die die Meldung "Pool noch nicht vollständig eingebunden ist, health=Status.TvmJoinPoolInProgress".

In Szenario 4 können Sie mehr als eine verwaltete Identität definieren, wenn Sie den Batchpool erstellen. 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 die richtige verwaltete Identität nicht finden, die dem im Knotenverweis definierten entspricht. Stattdessen zeigt der Dienst die folgende Knotenfehlermeldung an:

Knoten hat 1 Fehler.

Auf dem Knoten ist ein Fehler aufgetreten.

Code: ApplicationPackageError

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

Herunterladen von Vorgangsressourcendateien aus einem Batchpool

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

  1. Suchen Sie im Azure-Portal nach Batchkonten, und wählen Sie sie aus.

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

  3. Suchen Sie im Navigationsbereich Ihres Batchkontos 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 in der folgenden Tabelle beschriebenen Methoden angeben.

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

Wenn Sie Zugriff auf das AutoStorage-Konto benötigen, muss die Identität sowohl im Knotenidentitätsverweis als auch in der Poolidentität definiert werden.

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

Typ der Ressourcendatei Wert Blobpräfix Dateipfad Dateimodus (nur Linux) Identitätsreferenz
AutoStorageContainerName <Name-of-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 verwaltete Identität zum Erstellen eines Batchpools verwenden und dann eine Aufgabe erstellen, die Ressourcendateien enthält, um einen BLOB aus einem AutoStorage-Container abzurufen.

Szenarionummer Nutzung von verwalteten Identitäten Verwaltete Identitätsberechtigungen im AutoStorage-Konto Spezifikation für die Poolerstellung Ergebnis
1 In Knotenidentitätsreferenz angegeben Ausreichende Berechtigungen Erstellt im Pool mithilfe derselben verwalteten Identität Blob-Datei wird erfolgreich in den Knoten im Stammverzeichnis /wd/<file-path> heruntergeladen, wie auf der Aufgabenübersichtsseite gezeigt
2 In Knotenidentitätsreferenz angegeben Insufficient permissions Erstellt im Pool mithilfe derselben verwalteten Identität Fehler des Vorgangs aufgrund eines ResourceContainerAccessDenied-Fehlers : Fehlermeldung "Zugriff für einen der angegebenen Azure Blob-Container wird verweigert"
3 In Knotenidentitätsreferenz nicht angegeben Ausreichende oder unzureichende Berechtigungen Erstellt im Pool mithilfe derselben oder einer anderen verwalteten Identität Fehler des Vorgangs aufgrund eines ResourceContainerAccessDenied-Fehlers : Fehlermeldung "Zugriff für einen der angegebenen Azure Blob-Container wird verweigert"
4 In Knotenidentitätsreferenz angegeben Ausreichende oder unzureichende Berechtigungen Erstellt im Pool mithilfe einer anderen verwalteten Identität Fehler des Vorgangs aufgrund eines ResourceContainerListMiscError-Fehlers , Fehlermeldung "Verschiedene Fehler beim Auflisten eines der angegebenen Azure Blob-Container(n)"

Wechseln Sie in Szenarien, in denen die Blob-Abrufaufgabe fehlschlägt, zur Seite "Aufgaben" der Azure-Portal, und wählen Sie dann den Namen der Aufgabe aus, die neben dem Fehlercode angezeigt wird. Suchen Sie dann im Navigationsbereich der Aufgabenseite die Überschrift "Allgemein", wählen Sie "Eigenschaften" aus, und wählen Sie dann "Json-Ansicht" aus. Die JSON-Anzeige von Eigenschaften zeigt die entsprechende Fehlermeldung und weitere Details zur fehlgeschlagenen Aufgabe an. In Szenario 4 schlägt der ResourceContainerListMiscError-Fehler beispielsweise aufgrund eines "HTTP 400 Bad Request"-Fehlers fehl. Dies liegt daran, dass die verwaltete Identität, die im Knotenidentitätsverweis definiert ist, keiner der verwalteten Identitäten entspricht, die in der Poolidentitätskonfiguration 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, die einem Azure Batch-Knoten zugewiesen ist, über ausreichende Berechtigungen für den Zugriff auf Azure-Ressourcen verfügt (z. B. ein Speicherkonto):

Notiz

In diesem Verfahren wird der letzte Schritt emuliert, den Sie ausführen müssen, um ein Token abzurufen, das über eine gültige Identitäts-ID für den Zugriff auf das Speicherkonto verfügt und nach ausreichenden Berechtigungen sucht. 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. Stellen Sie vor diesem Verfahren sicher, dass die Identität im Knotenidentitätsverweis definiert ist.

  1. Verwenden Sie 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 zur VM-Instanz bereit. Wenn Sie über diese VM-Instanzinformationen verfügen, können Sie den virtuellen Computer verwenden, um Token für verwaltete Identität anzufordern.

    Der mi_res_id Parameterwert in der URL wird fett formatiert. Dies ist die Ressourcen-ID der vom Benutzer 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 finden:

    1. Suchen Sie im Azure-Portal nach Batchkonten, und wählen Sie sie 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 "Pooleigenschaften" die Json-Ansicht aus.

    7. Suchen Sie im JSON-Text die identity/userAssignedIdentities Liste. Kopieren Sie für die von Ihnen verwendete vom Benutzer zugewiesene verwaltete Identität 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 Textkörper 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 aus der Eigenschaftenseite des Batchpools kopiert haben.

    Warnung

    Haben Sie mehrere verwaltete Identitäten in der Poolidentität definiert, aber keine verwaltete Identität in der URL angegeben? In diesem Fall zeigt Postman den Status "400 Ungültige Anforderung " an:

    Postman-Screenshot eines Status

  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 durch Zurückgeben eines HTTP 403-Fehlers (AuthorizationPermissionMismatch-Fehler, Meldung "Diese Anforderung ist nicht berechtigt, diesen Vorgang mithilfe dieser Berechtigung auszuführen").

    Notiz

    Der x-ms-version-Header ist erforderlich, um das Blob abzurufen. Weitere Informationen finden Sie in der Azure Storage Get Blob-API.

    Postman-Screenshot eines Status von 403 AuthorizationPermissionMismatch, 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.