Freigeben über


Problembehandlung für Azure Resource Manager-Dienstverbindungen

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019

In diesem Artikel werden häufige Szenarien für die Problembehandlung vorgestellt, die Ihnen helfen, Probleme zu beheben, die beim Erstellen einer Azure Resource Manager-Dienstverbindung auftreten könnten. Informationen zum Erstellen, Bearbeiten und Absichern von Dienstverbindungen finden Sie unter Verwalten von Dienstverbindungen.

Was geschieht, wenn Sie eine Azure Resource Manager-Dienstverbindung erstellen?

Wenn Sie nicht über eine Dienstverbindung verfügen, können Sie wie folgt eine erstellen:

  1. Wählen Sie im Projekt die Option Projekteinstellungen und dann Dienstverbindungen aus.

    Screenshot: Zugriff auf Dienstverbindungen über die Projekteinstellungen

  2. Wählen Sie Neue Dienstverbindung aus, um eine neue Dienstverbindung hinzuzufügen, und wählen Sie dann Azure Resource Manager aus. Wählen Sie Weiter aus, wenn Sie fertig sind.

    Screenshot: Dienstverbindungstypen

  3. Wählen Sie App-Registrierung (automatisch) und Workload-Identitätsverbund als Anmeldeinformationen aus.

  4. Wählen Sie Abonnement und dann Ihr Abonnement aus der Dropdownliste aus. Füllen Sie das restliche Formular aus, und wählen Sie anschließend Speichern aus.

Wenn Sie Ihre neue Azure Resource Manager-Dienstverbindung speichern, führt Azure DevOps die folgenden Aktionen aus:

  1. Stellt eine Verbindung mit dem Microsoft Entra-Mandanten für das ausgewählte Abonnement her
  2. Erstellt eine Anwendung in Microsoft Entra ID im Auftrag des Benutzers.
  3. Weist dem ausgewählten Abonnement die Anwendung als mitwirkend zu.
  4. Erstellt eine Azure Resource Manager-Dienstverbindung mithilfe der Details dieser Anwendung.

Hinweis

Zum Erstellen von Dienstverbindungen müssen Sie den folgenden Projekteinstellungen der Gruppe „Endpunktersteller“ hinzugefügt sein: Projekteinstellungen>Dienstverbindungen>Sicherheit. Dieser Gruppe werden standardmäßig Mitwirkende hinzugefügt.

Problembehandlungsszenarien

Beim Erstellen von Dienstverbindungen könnten die folgenden Probleme auftreten:

Der Benutzer verfügt nur über Gastberechtigungen im Verzeichnis

  1. Melden Sie sich mit einem Administratorkonto beim Azure-Portal an. Beim Konto sollte es sich um einen Besitzer oder einen Benutzerkontoadministrator handeln.

  2. Wählen Sie Microsoft Entra ID in der linken Navigationsleiste aus.

  3. Stellen Sie sicher, dass Sie das entsprechende Verzeichnis bearbeiten, das dem Benutzerabonnement entspricht. Wenn nicht, wählen Sie Verzeichnis wechseln und melden Sie sich bei Bedarf mit den entsprechenden Anmeldeinformationen an.

  4. Wählen Sie Benutzer im Abschnitt Verwalten aus.

  5. Wählen Sie Benutzereinstellungen aus.

  6. Wählen Sie im Abschnitt Externe Benutzer die Option Einstellungen für externe Zusammenarbeit verwalten aus.

  7. Ändern Sie die Option Gastbenutzerberechtigungen sind eingeschränkt in Nein.

Wenn Sie dem Benutzer Berechtigungen auf Administratorebene erteilen möchten, können Sie den Benutzer alternativ zum Mitglied einer Administratorrolle machen. Führen Sie die folgenden Schritte aus:

Warnung

Wenn Sie Benutzer der Rolle „Globaler Administrator“ zuweisen, können sie alle administrativen Einstellungen in Ihrer Microsoft Entra-Organisation lesen und ändern. Es stellt eine bewährte Methode dar, diese Rolle weniger als fünf Personen in Ihrer Organisation zuzuweisen.

  1. Melden Sie sich mit einem Administratorkonto beim Azure-Portal an. Beim Konto sollte es sich um einen Besitzer oder einen Benutzerkontoadministrator handeln.

  2. Wählen Sie Microsoft Entra ID im linken Navigationsbereich aus.

  3. Stellen Sie sicher, dass Sie das entsprechende Verzeichnis bearbeiten, das dem Benutzerabonnement entspricht. Wenn nicht, wählen Sie Verzeichnis wechseln und melden Sie sich bei Bedarf mit den entsprechenden Anmeldeinformationen an.

  4. Wählen Sie Benutzer im Abschnitt Verwalten aus.

  5. Verwenden Sie das Suchfeld, um nach dem Benutzer zu suchen, den Sie verwalten möchten.

  6. Wählen Sie die Rolle Directory im Abschnitt Verwalten aus, und ändern Sie dann die Rolle. Wählen Sie Speichern aus, wenn Sie fertig sind.

In der Regel dauert es 15 bis 20 Minuten, um die Änderungen global anzuwenden. Der Benutzer kann dann versuchen, die Dienstverbindung neu zu erstellen.

Der Benutzer ist nicht berechtigt, Anwendungen zum Verzeichnis hinzuzufügen

Sie müssen dazu berechtigt sein, integrierte Anwendungen im Verzeichnis hinzuzufügen. Der Verzeichnisadministrator verfügt über Berechtigungen zum Ändern dieser Einstellung.

  1. Wählen Sie Microsoft Entra ID im linken Navigationsbereich aus.

  2. Stellen Sie sicher, dass Sie das entsprechende Verzeichnis bearbeiten, das dem Benutzerabonnement entspricht. Wenn nicht, wählen Sie Verzeichnis wechseln und melden Sie sich bei Bedarf mit den entsprechenden Anmeldeinformationen an.

  3. Wählen Sie Benutzer und dann Benutzereinstellungen aus.

  4. Ändern Sie unter App-Registrierungen die Option Benutzer können Anwendungen registrieren in Ja.

Sie können den Dienstprinzipal auch mit einem vorhandenen Benutzer bzw. einer vorhandenen Benutzerin erstellen, der bzw. die bereits über die erforderlichen Berechtigungen in Microsoft Entra ID verfügt. Weitere Informationen finden Sie unter Erstellen einer Azure Resource Manager-Dienstverbindung mit einem vorhandenen Dienstprinzipal.

Es konnte kein Zugriffstoken abgerufen werden oder es wurde kein gültiges Aktualisierungstoken gefunden

Diese Fehler treten normalerweise auf, wenn Ihre Sitzung abgelaufen ist. Gehen Sie zum Beheben dieser Probleme wie folgt vor:

  1. Melden Sie sich von Azure DevOps ab.
  2. Öffnen Sie ein InPrivate- oder Inkognito-Browserfenster, und navigieren Sie zu Azure DevOps.
  3. Melden Sie sich mit den entsprechenden Anmeldeinformationen an.
  4. Wählen Sie Ihre Organisation und Ihr Projekt aus.
  5. Erstellen Sie Ihre Dienstverbindung.

Fehler beim Zuweisen der Rolle eines Mitwirkenden

Dieser Fehler tritt normalerweise auf, wenn Sie nicht über die Berechtigung Scheiben für das ausgewählte Azure-Abonnement verfügen.

Bitten Sie den*die Abonnementadministrator*in, Ihnen in Microsoft Entra ID die entsprechende Rolle zuzuweisen, um dieses Problem zu beheben.

Abonnement wird beim Erstellen einer Dienstverbindung nicht aufgeführt

  • Maximal 50 Azure-Abonnements, die in den verschiedenen Dropdownmenüs für Azure-Abonnements aufgeführt sind (Abrechnung, Dienstverbindung usw.): Wenn Sie eine Dienstverbindung einrichten und über mehr als 50 Azure-Abonnements verfügen, werden einige Ihrer Abonnements nicht aufgeführt. Führen Sie in diesem Szenario die folgenden Schritte aus:

    1. Erstellen Sie einen neuen, nativen Microsoft Entra-Benutzer in der Microsoft Entra-Instanz Ihres Azure-Abonnements.
    2. Richten Sie den Microsoft Entra-Benutzer so ein, dass er über die richtigen Berechtigungen verfügt, um Abrechnungen einzurichten oder Dienstverbindungen zu erstellen. Weitere Informationen finden Sie unter Hinzufügen eines Benutzers, der die Abrechnung für Azure DevOps einrichten kann.
    3. Fügen Sie den*die Microsoft Entra-Benutzer*in zur Azure DevOps-Organisation mit der Zugriffsebene Beteiligter hinzu, und fügen Sie ihn bzw. sie dann der Gruppe Projektsammlungsadministratoren (für die Abrechnung) hinzu, oder vergewissern Sie sich, dass der*die Benutzer*in über ausreichende Berechtigungen im Teamprojekt verfügt, um Dienstverbindungen zu erstellen.
    4. Melden Sie sich mit den neuen Benutzeranmeldeinformationen bei Azure DevOps an und richten Sie eine Abrechnung ein. In der Liste wird nur ein Azure-Abonnement angezeigt.
  • Altes Benutzertoken, das in Azure DevOps Services zwischengespeichert ist: Wird Ihr Azure-Abonnement beim Erstellen einer ARM-Dienstverbindung (Azure Resource Manager) nicht aufgeführt, liegt dies möglicherweise an einem alten Benutzertoken, das in Azure DevOps Services zwischengespeichert ist. Dieses Szenario ist nicht unmittelbar ersichtlich, da in der Liste der Azure-Abonnements keine Fehler oder Warnmeldungen in Bezug auf ein veraltetes Benutzertoken aufgeführt sind. Um dieses Problem zu beheben, aktualisieren Sie das zwischengespeicherte Benutzertoken in Azure DevOps Services manuell. Gehen Sie hierzu folgendermaßen vor:

    1. Melden Sie sich vom Azure DevOps Services ab und melden Sie sich dann wieder an. Diese Aktion kann das Benutzertoken aktualisieren.
    2. Löschen Sie Ihren Browsercache und Cookies, um sicherzustellen, dass alte Token entfernt werden.
    3. Wechseln Sie im Azure DevOps-Portal zu den Dienstverbindungen und autorisieren Sie die Verbindung mit Azure erneut. Durch diesen Schritt wird Azure DevOps aufgefordert, ein neues Token zu verwenden.

Einige Abonnements fehlen in der Liste der Abonnements

  • Ändern der Einstellungen für unterstützte Kontotypen: Dieses Problem kann behoben werden, indem Sie die Einstellungen für unterstützte Kontotypen ändern und festlegen, wer Ihre Anwendung verwenden darf. Führen Sie die folgenden Schritte aus:

    1. Melden Sie sich beim Azure-Portal an.
    2. Wenn Sie Zugriff auf mehrere Mandanten haben, verwenden Sie im Menü am oberen Rand den Filter Verzeichnis + Abonnement, um den Mandanten auszuwählen, für den Sie eine Anwendung registrieren möchten.

    Screenshot mit dem Verzeichnis- und Abonnementsymbol im Azure-Portal.

    1. Wählen Sie Microsoft Entra ID im linken Bereich aus.
    2. Wählen Sie App-Registrierungen aus.
    3. Wählen Sie Ihre Bewerbung aus der Liste der registrierten Bewerbungen aus.
    4. Wählen Sie unter Authentifizierung die Option Unterstützte Kontotypen aus.
    5. Wählen Sie unter Unterstützte Kontotypen bei Who can use this application or access this API? (Wer kann diese Anwendung verwenden oder auf diese API zugreifen?) die Option Konten in einem beliebigen Organisationsverzeichnis aus.

    Screenshot: unterstützte Kontotypen

    1. Wählen Sie Speichern aus, wenn Sie fertig sind.
  • Altes Benutzertoken, das in Azure DevOps Services zwischengespeichert ist: Wird Ihr Azure-Abonnement beim Erstellen einer ARM-Dienstverbindung (Azure Resource Manager) nicht aufgeführt, liegt dies möglicherweise an einem alten Benutzertoken, das in Azure DevOps Services zwischengespeichert ist. Dieses Szenario ist nicht unmittelbar ersichtlich, da in der Liste der Azure-Abonnements keine Fehler oder Warnmeldungen in Bezug auf ein veraltetes Benutzertoken aufgeführt sind. Um dieses Problem zu beheben, aktualisieren Sie das zwischengespeicherte Benutzertoken in Azure DevOps Services manuell. Gehen Sie hierzu folgendermaßen vor:

    1. Melden Sie sich vom Azure DevOps Services ab und melden Sie sich dann wieder an. Diese Aktion kann das Benutzertoken aktualisieren.
    2. Löschen Sie Ihren Browsercache und Cookies, um sicherzustellen, dass alte Token entfernt werden.
    3. Wechseln Sie im Azure DevOps-Portal zu den Dienstverbindungen und autorisieren Sie die Verbindung mit Azure erneut. Durch diesen Schritt wird Azure DevOps aufgefordert, ein neues Token zu verwenden.

Dienstprinzipaltoken abgelaufen

Ein Problem, das häufig bei automatisch erstellten Dienstprinzipalen auftritt, besteht darin, dass das Token des Dienstprinzipals abläuft und erneuert werden muss. Wenn Sie jedoch ein Problem mit der Aktualisierung des Tokens haben, lesen Sie den Abschnitt Es wurde kein gültiges Aktualisierungstoken gefunden.

Wenn Ihr Token abgelaufen ist, wird möglicherweise eine der Fehlermeldungen angezeigt:

  • AADSTS7000215: Invalid client secret is provided
  • AADSTS7000222: The provided client secret keys for app '***' are expired
  • Invalid client id or client secret

So erneuern Sie das Zugriffstoken für einen automatisch erstellten Dienstprinzipal

  1. Wechseln Sie zu Projekteinstellungen>Dienstverbindungen, und wählen Sie dann die Dienstverbindung aus, die Sie ändern möchten.

  2. Wählen Sie oben rechts die Option Bearbeiten und dann Überprüfen aus.

  3. Wählen Sie Speichern.

Das Token Ihres Dienstprinzipals wird nun um drei weitere Monate verlängert.

Hinweis

Dieser Vorgang ist auch verfügbar, wenn das Token des Dienstprinzipals nicht abgelaufen ist.

Stellen Sie sicher, dass der Benutzer, der den Vorgang ausführt, über die richtigen Berechtigungen für das Abonnement und die Microsoft Entra-ID verfügt, da er den geheimen Schlüssel für die App aktualisiert, die für den Dienstprinzipal registriert ist. Weitere Informationen finden Sie unter Erstellen einer Azure Resource Manager-Dienstverbindung mit automatisierter Sicherheit und was geschieht, wenn Sie eine Resource Manager-Dienstverbindung erstellen?

Fehler beim Abrufen des JWT mithilfe der Client-ID des Dienstprinzipals

Dieses Problem tritt auf, wenn Sie versuchen, eine Dienstverbindung mit einem abgelaufenen Geheimnis zu überprüfen.

So beheben Sie dieses Problem:

  1. Wechseln Sie zu Projekteinstellungen>Dienstverbindungen, und wählen Sie dann die Dienstverbindung aus, die Sie ändern möchten.

  2. Wählen Sie oben rechts Bearbeiten aus, und nehmen Sie dann Änderungen an Ihrer Dienstverbindung vor. Die einfachste und empfohlene Änderung ist das Hinzufügen einer Beschreibung.

  3. Wählen Sie Speichern aus, um die Dienstverbindung zu speichern.

    Hinweis

    Wählen Sie Speichern aus. Versuchen Sie nicht, die Dienstverbindung in diesem Schritt zu überprüfen.

  4. Schließen Sie das Fenster zum Bearbeiten der Dienstverbindung, und aktualisieren Sie dann die Seite „Dienstverbindungen“.

  5. Wählen Sie oben rechts die Option Bearbeiten und jetzt Überprüfen aus.

  6. Wählen Sie Speichern aus, um die Dienstverbindung zu speichern.

Das Azure-Abonnement wird nicht aus der vorherigen Aufgabenausgabe übernommen

Wenn Sie Ihr Azure-Abonnement dynamisch für Ihre Releasepipeline festlegen und die Ausgabevariable aus einer vorherigen Aufgabe nutzen möchten, tritt möglicherweise dieses Problem auf.

Vergewissern Sie sich zur Behebung dieses Problems, dass die Werte im Variablenabschnitt Ihrer Pipeline definiert sind. Sie können diese Variable dann zwischen den Aufgaben Ihrer Pipeline übergeben.

Welche Authentifizierungsmechanismen werden unterstützt? Wie funktionieren verwaltete Identitäten?

Von einer Azure Resource Manager-Dienstverbindung kann mithilfe einer Dienstprinzipalauthentifizierung (Service Principal Authentication, SPA) oder einer Authentifizierung mit verwalteter Identität eine Verbindung mit einem Azure-Abonnement hergestellt werden. Verwaltete Identitäten für Azure-Ressourcen stellen für Azure-Dienste eine automatisch verwaltete Identität in Microsoft Entra ID bereit. Sie können diese Identität für die Authentifizierung bei jedem Dienst verwenden, der die Microsoft Entra-Authentifizierung unterstützt. Hierfür müssen Anmeldeinformationen nicht persistent im Code oder in der Dienstverbindung beibehalten werden.

Informationen zu verwalteten Identitäten für virtuelle Computer finden Sie unter Zuweisen von Rollen.

Hinweis

Verwaltete Identitäten werden in von Microsoft gehosteten Agents nicht unterstützt. In diesem Szenario müssen Sie einen selbstgehosteten Agent auf einer Azure-VM einrichten und eine verwaltete Identität für diesen virtuellen Computer konfigurieren.