Freigeben über


Fehlerbehebung bei einer Azure Resource Manager Workload-Identitätsdienstverbindung

Hier erhalten Sie Hilfe bei der Behebung häufiger Probleme mit Workload-Identitätsdienstverbindungen. Sie erfahren auch, wie Sie bei Bedarf manuell eine Dienstverbindung herstellen können.

Checkliste zur Problembehandlung

Verwenden Sie die folgende Checkliste zur Fehlerbehebung bei Problemen mit Workload-Identitätsdienstverbindungen:

  • Überprüfen Sie Pipeline-Aufgaben, um sicherzustellen, dass sie die Workload-Identität unterstützen.
  • Überprüfen Sie, ob der Workload-Identitätsverbund für den Mandanten aktiv ist.
  • Überprüfen Sie die Aussteller-URL und den Bezeichner des Verbundantragstellers auf Richtigkeit.

In den folgenden Abschnitten werden die Probleme und ihre Behebung beschrieben.

Pipelineaufgaben überprüfen

Fast alle Pipelineaufgaben, die sich bei Microsoft Entra authentifizieren, unterstützen die Workloadidentität. In der folgenden Tabelle ist die Unterstützung des Workloadidentitätsverbunds für in Azure DevOps enthaltene Aufgaben aufgeführt. Um Unterstützung bei Aufgaben zu erhalten, die über den Marketplace installiert wurden, wenden Sie sich an den Erweiterungsherausgeber.

Aufgabe Unterstützung des Workloadidentitätsverbunds
AutomatedAnalysis@0 Ja
AzureAppServiceManage@0 Ja
AzureAppServiceSettings@1 Ja
AzureCLI@1 Ja
AzureCLI@2 Ja
AzureCloudPowerShellDeployment@1 Verwenden Sie AzureCloudPowerShellDeployment@2
AzureCloudPowerShellDeployment@2 Ja
AzureContainerApps@0 Ja
AzureContainerApps@1 Ja
AzureFileCopy@1 Verwenden Sie AzureFileCopy@6
AzureFileCopy@2 Verwenden Sie AzureFileCopy@6
AzureFileCopy@3 Verwenden Sie AzureFileCopy@6
AzureFileCopy@4 Verwenden Sie AzureFileCopy@6
AzureFileCopy@5 Verwenden Sie AzureFileCopy@6
AzureFileCopy@6 Ja
AzureFunctionApp@1 Ja
AzureFunctionApp@2 Ja
AzureFunctionAppContainer@1 Ja
AzureFunctionOnKubernetes@0 Verwenden Sie AzureFunctionOnKubernetes@1
AzureFunctionOnKubernetes@1 Ja
AzureIoTEdge@2 Ja
AzureKeyVault@1 Ja
AzureKeyVault@2 Ja
AzureMonitor@0 Verwenden Sie AzureMonitor@1
AzureMonitor@1 Ja
AzureMysqlDeployment@1 Ja
AzureNLBManagement@1 N
AzurePolicyCheckGate@0 Ja
AzurePowerShell@2 Ja
AzurePowerShell@3 Ja
AzurePowerShell@4 Ja
AzurePowerShell@5 Ja
AzureResourceGroupDeployment@2 Ja
AzureResourceManagerTemplateDeployment@3 Ja
AzureRmWebAppDeployment@3 Ja
AzureRmWebAppDeployment@4 Ja
AzureSpringCloud@0 Ja
AzureVmssDeployment@0 Ja
AzureWebApp@1 Ja
AzureWebAppContainer@1 Ja
ContainerBuild@0 Ja
ContainerStructureTest@0 Ja
Docker@0 Ja
Docker@1 Azure-Dienstverbindung: Y
Dienstverbindung für Docker-Registrierung: N
Docker@2 Ja
DockerCompose@0 Ja
DockerCompose@1 Ja
DotNetCoreCLI@2 Ja
HelmDeploy@0 Azure-Dienstverbindung: Y
HelmDeploy@1 Azure-Dienstverbindung: Y
InvokeRESTAPI@1 Ja
JavaToolInstaller@0 Ja
JenkinsDownloadArtifacts@1 Ja
Kubernetes@0 Verwenden Sie Kubernetes@1
Kubernetes@1 Ja
KubernetesManifest@0 Verwenden Sie KubernetesManifest@1
KubernetesManifest@1 Ja
Maven@4 Ja
Notation@0 Ja
PackerBuild@0 Verwenden von PackerBuild@1
PackerBuild@1 Ja
PublishToAzureServiceBus@1 Verwenden von PublishToAzureServiceBus@2 mit Azure-Dienstverbindung
PublishToAzureServiceBus@2 Ja
ServiceFabricComposeDeploy@0 N
ServiceFabricDeploy@1 N
SqlAzureDacpacDeployment@1 Ja
VSTest@3 Ja

Überprüfen Sie, ob der Identitätsverbund für die Workload aktiv ist

Wenn Sie die Fehlermeldungen AADSTS700223 oder AADSTS700238 sehen, wurde der Identitätsverbund in Ihrem Microsoft Entra-Tenant deaktiviert.

Stellen Sie sicher, dass keine Microsoft Entra-Richtlinien vorhanden sind, die Partneranmeldedaten blockieren.

Überprüfen der Aussteller-URL auf Genauigkeit

Wenn Sie die Meldung no matching federated identity record found sehen, stimmt entweder die Aussteller-URL oder der Verbundgegenstand nicht überein. Bei neuen Dienstverbindungen beginnt die richtige Aussteller-URL mit https://login.microsoftonline.com:

  Azure DevOps-Aussteller Microsoft Entra-Aussteller (neue Dienstverbindungen)
Emittent https://vstoken.dev.azure.com/<organization id> https://login.microsoftonline.com/<microsoft entra tenant id>/v2.0
Betreff sc://<organization name>/<project name>/<service connection name> <microsoft entra prefix>/sc/<organization id>/<service connection id>

Sie können die Aussteller-URL korrigieren, indem Sie die Dienstverbindung bearbeiten und speichern, um die Aussteller-URL zu aktualisieren. Wenn Azure DevOps die Identität nicht erstellt hat, muss die Ausstellungs-URL manuell aktualisiert werden. Für Azure-Identitäten wird die Aussteller-URL automatisch aktualisiert.

Häufige Probleme

In den folgenden Abschnitten werden häufige Probleme aufgezeigt sowie Ursachen und Lösungen beschrieben.

Ich habe keine Berechtigung, einen Dienstprinzipal im Microsoft Entra-Tenant zu erstellen

Sie können das Azure DevOps-Dienstverbindungskonfigurationstool nicht verwenden, wenn Sie nicht über die richtigen Berechtigungen verfügen. Ihre Berechtigungsstufe reicht nicht aus, um das Tool zu verwenden, wenn Sie entweder keine Berechtigung zum Erstellen von Service Principals haben oder wenn Sie einen anderen Microsoft Entra-Tenant als Ihr Azure DevOps-Benutzer verwenden.

Sie müssen entweder über die Berechtigung in Microsoft Entra ID verfügen, App-Registrierungen zu erstellen, oder eine entsprechende Rolle haben (z. B. Anwendungsentwickler).

Sie haben zwei Möglichkeiten, das Problem zu lösen:

Wie erstelle ich eine Workload Identity Federation Service-Verbindung in der Automatisierung?

Der Workload-Identitätsverbund definiert eine bidirektionale Beziehung zwischen Identität und Dienstverbindung. Daher müssen Objekte in einer bestimmten Reihenfolge erstellt werden, und die Verbundanmeldeinformationen können nur erstellt werden, nachdem die Dienstverbindung erstellt wurde. Wenn Sie erfahren möchten, wie Sie das Erstellen von Workload-Identitätsdienstverbindungen automatisieren, wechseln Sie zu Skripts zum Automatisieren von Azure Resource Manager mit Workload Identity Service-Verbindungen.

Fehlermeldungen

In der folgenden Tabelle sind häufige Fehlermeldungen und die Probleme aufgeführt, die sie verursachen können:

`Message` Mögliches Problem
Token kann nicht angefordert werden: ?audience=api://AzureADTokenExchange: unsupported protocol scheme abrufen Die Aufgabe unterstützt nicht den Workload-Identitätsverbund.
Identität nicht gefunden Die Aufgabe unterstützt nicht den Workload-Identitätsverbund.
Zugriffstoken für Azure konnte nicht abgerufen werden Die Aufgabe unterstützt nicht den Workload-Identitätsverbund.
AADSTS700016: Die Anwendung mit der Kennung '****' wurde nicht gefunden Die Identität, die für die Dienstverbindung verwendet wird, existiert nicht mehr oder sie wurde möglicherweise aus der Dienstverbindung entfernt oder ist falsch konfiguriert. Wenn Sie die Dienstverbindung manuell mit einer vordefinierten Identität konfigurieren, stellen Sie sicher, dass die appID/clientId ordnungsgemäß konfiguriert ist.
AADSTS7000215: Ungültiger geheimer Clientschlüssel angegeben. Sie verwenden eine Dienstverbindung, deren Geheimnis abgelaufen ist. Konvertieren Sie die Dienstverbindung in Workload-Identitätsverbund und ersetzen Sie das abgelaufene Geheimnis durch Verbundanmeldeinformationen.
AADSTS700024: Die Clientassertion liegt nicht innerhalb des gültigen Zeitbereichs Wenn der Fehler nach etwa 1 Stunde auftritt, verwenden Sie stattdessen eine Dienstverbindung mit einem Workload-Identitätsverbund und einer verwalteten Identität. Verwaltete Identitätstoken haben eine Lebensdauer von ca. 24 Stunden.
Wenn der Fehler nach 10 Minuten aber eher als nach 1 Stunde auftritt, verschieben Sie Befehle, die z. B. für den Zugriff auf Azure Storage (implizit) ein Zugriffstoken erfordern, an den Anfang Ihres Skripts. Das Zugriffstoken wird für nachfolgende Befehle zwischengespeichert.
AADSTS70021: Für die dargestellte Assertion wurde kein übereinstimmender Verbundidentitätsdatensatz gefunden. Assertionaussteller: https://app.vstoken.visualstudio.com. Es wurden keine Verbundanmeldeinformationen erstellt, oder die Aussteller-URL ist nicht korrekt. Die korrekte URL des Ausstellers hat das Format https://login.microsoftonline.com/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX. Sie können die Aussteller-URL korrigieren, indem Sie eine Dienstverbindung bearbeiten und dann speichern. Wenn Azure DevOps Ihre Identität nicht erstellt hat, müssen Sie den Aussteller manuell aktualisieren. Den korrekten Aussteller finden Sie im Bearbeitungsdialog der Service-Verbindung oder in der Antwort, wenn Sie die REST-API verwenden.
AADSTS70021: Für die dargestellte Assertion wurde kein übereinstimmender Verbundidentitätsdatensatz gefunden. Assertionaussteller: https://login.microsoftonline.com/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX. Assertionantragssteller: sc://<org>/<project>/<service-connection>. Entweder stimmt die URL des Ausstellers oder der Betreff der Föderation nicht überein. Die Azure DevOps-Organisation oder das Azure DevOps-Projekt wurde umbenannt oder eine manuell erstellte Dienstverbindung wurde umbenannt, ohne dass das Verbundobjekt der Identität aktualisiert wurde.
AADSTS700211: Für den angezeigten Assertionsaussteller wurde kein übereinstimmender Verbundidentitätsdatensatz gefunden Es wurden keine Verbundanmeldeinformationen erstellt, oder die Aussteller-URL ist nicht korrekt.
AADSTS700213: Für den angezeigten Assertionbetreff wurde kein übereinstimmender Verbundidentitätsdatensatz gefunden Es wurden keine Verbundanmeldeinformationen erstellt, oder der Betreff ist nicht korrekt.
AADSTS700223 Der Workloadidentitätsverbund ist für den Microsoft Entra-Mandanten eingeschränkt oder deaktiviert. In diesem Szenario ist kann es möglich sein, stattdessen eine verwaltete Identität für den Verbund zu verwenden. Weitere Informationen finden Sie unter Workload-Identität mit verwalteter Identität.
AADSTS70025: Für die Clientanwendung sind keine Anmeldeinformationen für Verbundidentitäten konfiguriert Stellen Sie sicher, dass Verbundanmeldeinformationen für die App-Registrierung oder die verwaltete Identität konfiguriert sind.
Microsoft Entra hat das von Azure DevOps ausgestellte Token mit Fehlercode AADSTS700238 abgelehnt Der Workloadidentitätsverbund wurde für den Microsoft Entra-Mandanten eingeschränkt. Der Aussteller für Ihre Organisation (https://login.microsoftonline.com/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX) ist nicht berechtigt, den Workload-Identitätsverbund mit dem von Ihnen verwendeten Workload-Identitätstyp (App-Registrierung und/oder Verwaltete Identität) zu verwenden. Bitten Sie Ihren Microsoft Entra-Tenant-Administrator oder Ihr Administrationsteam, den Workload-Identitätsverbund für Ihre Azure DevOps-Organisation zuzulassen.
AADSTS70052: Die Identität muss eine verwaltete Identität, eine einzelne Mandanten-App oder ein Dienstkonto sein. Mehrinstanzenfähige App-Registrierungen mit signInAudience: AzureADMultipleOrgs werden derzeit vom Herausgeber Microsoft Entra nicht unterstützt. Verwenden Sie signInAudience: AzureADMyOrg und segmentieren Sie den Zugriff auf mehrere Mandanten, um unterschiedliche Dienstverbindungen für jeden Mandanten zu nutzen. Wenn Sie von ARM-Vorgängen abhängig sind, die in einer einzigen Anforderung ( z. B. mandantenübergreifendes Peering virtueller Netzwerke) auf mehrere Mandanten zugreifen, können Sie sich an den Support wenden , damit Ihre Azure DevOps-Organisation stattdessen den Azure DevOps-Aussteller verwendet.
AADSTS900382: Vertrauliche Clients werden in Cross Cloud nicht unterstützt. Einige Sovereign Clouds blockieren den Workloadidentitätsverbund.
Abrufen des JSON-Web-Tokens (JWT) unter Verwendung der Client-ID des Dienstprinzipals fehlgeschlagen Ihre Federation-Identitätsnachweise sind falsch konfiguriert oder der Microsoft Entra-Tenant blockiert OpenID Connect (OIDC).
Fehler beim Skript: UnrecognizedArgumentError: nicht erkannte Argumente: --federated-token Sie verwenden eine AzureCLI-Aufgabe auf einem Agenten, auf dem eine frühere Version von Azure CLI installiert ist. Für den Workload-Identitätsverbund ist Azure CLI 2.30 oder höher erforderlich.
Fehler beim Erstellen einer App in Microsoft Entra ID. Fehler: Unzureichende Berechtigungen zum Abschließen des Vorgangs in Microsoft Graph. Stellen Sie sicher, dass die Benutzer*innen über Berechtigungen zum Erstellen einer Microsoft Entra-Anwendung verfügen. Die Möglichkeit, App-Registrierungen zu erstellen, wurde im Microsoft Entra-Tenant deaktiviert. Weisen Sie dem Benutzer, der die Dienstverbindung erstellt, die Rolle Application Developer Microsoft Entra zu. Alternativ können Sie die Dienstverbindung auch manuell mit einer verwalteten Identität erstellen. Weitere Informationen finden Sie unter Workload-Identität mit verwalteter Identität.

Wird der AADSTS-Fehler, den Sie sehen, oben nicht aufgeführt? Weitere Informationen finden Sie unter Microsoft Entra Authentifizierungs- und Autorisierungsfehlercodes.