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
- Ein Azure Batch-Konto.
- Ein Azure Storage-Konto
- Postman.
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:
Suchen Sie im Azure-Portal nach Batchkonten, und wählen Sie sie aus.
Wählen Sie in der Liste der Batchkonten den Namen Ihres Batchkontos aus.
Suchen Sie im Navigationsbereich des Batchkontos die Überschrift "Einstellungen ", und wählen Sie dann "Speicherkonto" aus.
Wählen Sie im Abschnitt "SPEICHERKONTOINFORMATIONEN" die Option "Speicherkonto auswählen" aus.
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:
Suchen Sie im Azure-Portal nach Batchkonten, und wählen Sie sie aus.
Wählen Sie in der Liste der Batchkonten den Namen Ihres Batchkontos aus.
Suchen Sie im Navigationsbereich des Batchkontos die Überschrift "Einstellungen", und wählen Sie dann "Identität" aus.
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.
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:
Suchen Sie im Azure-Portal nach Speicherkonten, und wählen Sie sie aus.
Wählen Sie in der Liste der Speicherkonten den Namen Ihres AutoStorage-Kontos aus.
Wählen Sie im Navigationsbereich des Speicherkontos die Option Access Control (IAM) aus.
Wählen Sie auf der Seite Access Control (IAM) die Schaltfläche "Zugriff überprüfen" aus .
Wählen Sie im Bereich "Zugriff überprüfen" die Option "Verwaltete Identität " aus.
Wählen Sie im Feld "Verwaltete Identität " die verwaltete Identität aus, für die Sie Berechtigungen anzeigen möchten.
Ü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:
Suchen Sie im Azure-Portal nach Batchkonten, und wählen Sie sie aus.
Wählen Sie in der Liste der Batchkonten den Namen Ihres Batchkontos aus.
Suchen Sie im Navigationsbereich des Batchkontos die Überschrift "Einstellungen ", und wählen Sie dann "Speicherkonto" aus.
Wählen Sie im Abschnitt "SPEICHERKONTOINFORMATIONEN" die Option "Speicherkonto auswählen" und dann Ihr AutoStorage-Konto aus.
Wechseln Sie zur Überschrift "Knotenidentitätsreferenz", und wählen Sie dann "Hinzufügen" aus.
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:
Suchen Sie im Azure-Portal nach Batchkonten, und wählen Sie sie aus.
Wählen Sie in der Liste der Batchkonten den Namen Ihres Batchkontos aus.
Suchen Sie im Navigationsbereich des Batchkontos die Überschrift "Features", und wählen Sie dann "Pools" aus.
Wählen Sie auf der Seite "Batchpool" "Hinzufügen" aus.
Geben Sie auf der Seite "Pool hinzufügen" eine Pool-ID ein. Wählen Sie im Feld "Identität" die Option "Benutzer zugewiesen" aus.
Suchen Sie die Überschrift der vom Benutzer zugewiesenen verwalteten Identität, und wählen Sie dann "Hinzufügen" aus.
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:
Suchen Sie im Azure-Portal nach Batchkonten, und wählen Sie sie aus.
Wählen Sie in der Liste der Batchkonten den Namen Ihres Batchkontos aus.
Suchen Sie im Navigationsbereich Ihres Batchkontos die Überschrift "Features", und wählen Sie "Aufträge" aus.
Wählen Sie auf der Seite "Aufträge" die Option "Hinzufügen" aus.
Füllen Sie die erforderlichen Felder im Bereich "Aufträge hinzufügen" aus, und wählen Sie dann "OK" aus.
Suchen Sie im Navigationsbereich Ihres Batchauftrags die Überschrift "Allgemein", und wählen Sie dann "Aufgaben" aus.
Wählen Sie auf der Seite Aufgaben die Option Hinzufügen aus.
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.
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.
Verwenden Sie Remotedesktopprotokoll (RDP), um eine Verbindung mit dem Knoten herzustellen.
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:Suchen Sie im Azure-Portal nach Batchkonten, und wählen Sie sie aus.
Wählen Sie in der Liste der Batchkonten den Namen Ihres Batchkontos aus.
Suchen Sie im Navigationsbereich des Batchkontos die Überschrift "Features", und wählen Sie dann "Pools" aus.
Wählen Sie in der Liste der Batchpools den Namen ihres Batchpools aus.
Suchen Sie im Navigationsbereich des Batchpools die Überschrift "Allgemein", und wählen Sie dann "Eigenschaften" aus.
Wählen Sie auf der Seite "Pooleigenschaften" die Json-Ansicht aus.
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) undclient_id
(eine GUID). Derclient_id
Antwortwert sollte mit dem Wert übereinstimmen, denclientId
Sie aus der Eigenschaftenseite des Batchpools kopiert haben.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.
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.