Verbinden Sie sich mit Azure über eine Azure Resource Manager-Dienstverbindung
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019
Sie können eine Azure Resource Manager-Dienstverbindung verwenden, um eine Verbindung zu Azure-Ressourcen über eine Dienstprinzipal-Authentifizierung oder über eine Azure-Managed-Service-Identität herzustellen. Wenn Sie eine Ressourcenmanager-Dienstverbindung verwenden, können Sie eine Pipeline verwenden, um eine Azure-Ressource wie eine Azure-App-Service-App bereitzustellen, ohne sich jedes Mal zu authentifizieren.
Sie haben mehrere Möglichkeiten, sich mit Azure zu verbinden, indem Sie Azure Resource Manager-Dienstverbindungen verwenden:
- Dienstprinzipal oder verwaltete Identität mit Workload-Identitätsverbund
- Dienstprinzipal mit Geheimnis
- Vom Agenten zugewiesene verwaltete Identität
Weitere Arten von Verbindungen und allgemeine Informationen zum Erstellen und Verwenden von Verbindungen finden Sie unter Serviceverbindungen für Builds und Releases.
Erstellen Sie eine Azure Resource Manager-Dienstverbindung, die Workload-Identitätsverbund verwendet
Workload Identity Federation verwendet OpenID Connect (OIDC) zur Authentifizierung mit Microsoft Entra geschützten Ressourcen ohne Verwendung von Geheimnissen.
Wir empfehlen Ihnen, diesen Ansatz zu verwenden, wenn alle folgenden Punkte auf Ihr Szenario zutreffen:
- Sie die Rolle „Besitzer“ für Ihr Azure-Abonnement haben.
- Sie stellen keine Verbindung zu Azure Stack oder zu einer Azure Government Cloud her.
- Alle Marketplace-Erweiterungsaufgaben, die Sie verwenden, werden aktualisiert, um den Workload-Identitätsverbund zu unterstützen.
Erstellen einer neuen Workloadidentitätsverbund-Dienstverbindung
Gehen Sie im Azure DevOps-Projekt auf Projekteinstellungen>Dienstverbindungen.
Weitere Informationen finden Sie unter Projekteinstellungen öffnen.
Wählen Sie Neue Dienstverbindung, und wählen Sie dann Azure Resource Manager.
Wählen Sie Workloadidentitätsverbund (automatisch) aus.
Geben Sie die folgenden Parameter an:
Parameter BESCHREIBUNG Subscription Wählen Sie ein Azure-Abonnement aus. Wenn keine Azure-Abonnements oder -Instanzen angezeigt werden, siehe Fehlerbehebung für Azure Resource Manager-Dienstverbindungen. Ressourcengruppe Lassen Sie diese Option leer, damit die Benutzer auf alle Ressourcen zugreifen können, die im Rahmen des Abonnements definiert sind. Um den Benutzerzugriff auf Ressourcen zu beschränken, geben Sie den Namen einer Ressourcengruppe ein. Die Benutzer können dann nur auf die Ressourcen zugreifen, die für diese Ressourcengruppe definiert sind. Name der Dienstverbindung Erforderlich. Der Name, mit dem Sie in den Aufgabeneigenschaften auf diese Dienstverbindung verweisen. Nicht der Name Ihres Azure-Abonnements. Nachdem die neue Dienstverbindung erstellt wurde, kopieren Sie den Verbindungsnamen und fügen ihn in Ihren Code als Wert für
azureSubscription
ein.Für die Bereitstellung auf einer bestimmten Azure-Ressource benötigt die Aufgabe weitere Daten über diese Ressource. Wechseln Sie im Azure-Portal zur Ressource, und kopieren Sie die Daten dann in Ihren Code. Um beispielsweise eine Webanwendung bereitzustellen, kopieren Sie den Namen der Azure App Service-Anwendung und fügen ihn als Wert für
WebAppName
in Ihren Code ein.
Konvertieren einer bestehenden Azure Resource Manager-Dienstverbindung zur Verwendung von Workload-Identitätsverbünden
Sie können eine bestehende Azure Resource Manager-Dienstverbindung schnell konvertieren, um einen Workload-Identitätsverbund für die Authentifizierung anstelle eines Dienstprinzipals zu verwenden. Sie können das Dienstverbindungskonvertierungstool in Azure DevOps verwenden, wenn Ihre Dienstverbindung diese Anforderungen erfüllt:
- Azure DevOps hat ursprünglich die Dienstverbindung erstellt. Wenn Sie Ihre Dienstverbindung manuell erstellen, können Sie die Dienstverbindung nicht mit dem Dienstverbindungskonvertierungstool konvertieren, da Azure DevOps keine Berechtigung hat, seine eigenen Anmeldeinformationen zu ändern.
- Nur ein Projekt verwendet die Dienstverbindung. Sie können Projekt-Service-übergreifende Verbindungen nicht konvertieren.
So konvertieren Sie eine Dienstverbindung:
Gehen Sie im Azure DevOps-Projekt auf Projekteinstellungen>Dienstverbindungen.
Weitere Informationen finden Sie unter Projekteinstellungen öffnen.
Wählen Sie die Dienstverbindung aus, die Sie in eine Workload-Identität umwandeln möchten.
Wählen Sie Konvertieren aus.
Wenn Sie bereits über Dienstprinzipal-Anmeldeinformationen verfügen, deren Geheimnis abgelaufen ist, wird eine andere Option zum Konvertieren angezeigt.
Wählen Sie erneut Konvertieren aus, um zu bestätigen, dass Sie eine neue Dienstverbindung erstellen möchten.
Die Umwandlung kann einige Minuten dauern. Wenn Sie die Verbindung rückgängig machen wollen, müssen Sie sie innerhalb von sieben Tagen rückgängig machen.
Konvertierung mehrerer Azure Resource Manager-Dienstverbindungen mit einem Skript
Verwenden Sie ein Skript, um mehrere Dienstverbindungen auf einmal zu aktualisieren, damit sie nun den Workload-Identitätsverbund für die Authentifizierung verwenden.
Dieses PowerShell-Beispielskript erfordert zwei Parameter: Azure DevOps Organisation (Beispiel: https://dev.azure.com/fabrikam-tailspin
) und Azure DevOps-Projekt (Beispiel: Space game web agent
). Das Skript ruft dann die zugehörigen Dienstverbindungen für Ihr Azure DevOps-Projekt und Ihre Organisation ab. Sie werden aufgefordert, zu bestätigen, dass Sie jede verknüpfte Dienstverbindung konvertieren möchten, die keinen Workload-Identitätsverbund verwendet. Wenn Sie dies bestätigen, verwendet das Skript die Azure DevOps REST-API, um jede Dienstverbindung zu aktualisieren, sodass nun der Workload-Identitätsverbund verwendet wird.
Das Skript benötigt PowerShell 7.3 oder neuer und Azure CLI zum Ausführen. Speichern Sie das Skript in einer PS1-Datei, und führen Sie es mit Powershell 7 aus.
#!/usr/bin/env pwsh
<#
.SYNOPSIS
Convert multiple Azure Resource Manager service connection(s) to use Workload identity federation
.LINK
https://aka.ms/azdo-rm-workload-identity-conversion
.EXAMPLE
./convert_azurerm_service_connection_to_oidc_simple.ps1 -Project <project> -OrganizationUrl https://dev.azure.com/<organization>
#>
#Requires -Version 7.3
param (
[parameter(Mandatory=$true,HelpMessage="Name of the Azure DevOps Project")]
[string]
[ValidateNotNullOrEmpty()]
$Project,
[parameter(Mandatory=$true,HelpMessage="Url of the Azure DevOps Organization")]
[uri]
[ValidateNotNullOrEmpty()]
$OrganizationUrl
)
$apiVersion = "7.1"
$PSNativeCommandArgumentPassing = "Standard"
#-----------------------------------------------------------
# Log in to Azure
$azdoResource = "499b84ac-1321-427f-aa17-267ca6975798" # application id of Azure DevOps
az login --allow-no-subscriptions --scope ${azdoResource}/.default
$OrganizationUrl = $OrganizationUrl.ToString().Trim('/')
#-----------------------------------------------------------
# Retrieve the service connection
$getApiUrl = "${OrganizationUrl}/${Project}/_apis/serviceendpoint/endpoints?authSchemes=ServicePrincipal&type=azurerm&includeFailed=false&includeDetails=true&api-version=${apiVersion}"
az rest --resource $azdoResource -u "${getApiUrl} " -m GET --query "sort_by(value[?authorization.scheme=='ServicePrincipal' && data.creationMode=='Automatic' && !(isShared && serviceEndpointProjectReferences[0].projectReference.name!='${Project}')],&name)" -o json `
| Tee-Object -Variable rawResponse | ConvertFrom-Json | Tee-Object -Variable serviceEndpoints | Format-List | Out-String | Write-Debug
if (!$serviceEndpoints -or ($serviceEndpoints.count-eq 0)) {
Write-Warning "No convertible service connections found"
exit 1
}
foreach ($serviceEndpoint in $serviceEndpoints) {
# Prompt user to confirm conversion
$choices = @(
[System.Management.Automation.Host.ChoiceDescription]::new("&Convert", "Converting service connection '$($serviceEndpoint.name)'...")
[System.Management.Automation.Host.ChoiceDescription]::new("&Skip", "Skipping service connection '$($serviceEndpoint.name)'...")
[System.Management.Automation.Host.ChoiceDescription]::new("&Exit", "Exit script")
)
$prompt = $serviceEndpoint.isShared ? "Convert shared service connection '$($serviceEndpoint.name)'?" : "Convert service connection '$($serviceEndpoint.name)'?"
$decision = $Host.UI.PromptForChoice([string]::Empty, $prompt, $choices, $serviceEndpoint.isShared ? 1 : 0)
if ($decision -eq 0) {
Write-Host "$($choices[$decision].HelpMessage)"
} elseif ($decision -eq 1) {
Write-Host "$($PSStyle.Formatting.Warning)$($choices[$decision].HelpMessage)$($PSStyle.Reset)"
continue
} elseif ($decision -ge 2) {
Write-Host "$($PSStyle.Formatting.Warning)$($choices[$decision].HelpMessage)$($PSStyle.Reset)"
exit
}
# Prepare request body
$serviceEndpoint.authorization.scheme = "WorkloadIdentityFederation"
$serviceEndpoint.data.PSObject.Properties.Remove('revertSchemeDeadline')
$serviceEndpoint | ConvertTo-Json -Depth 4 | Write-Debug
$serviceEndpoint | ConvertTo-Json -Depth 4 -Compress | Set-Variable serviceEndpointRequest
$putApiUrl = "${OrganizationUrl}/${Project}/_apis/serviceendpoint/endpoints/$($serviceEndpoint.id)?operation=ConvertAuthenticationScheme&api-version=${apiVersion}"
# Convert service connection
az rest -u "${putApiUrl} " -m PUT -b $serviceEndpointRequest --headers content-type=application/json --resource $azdoResource -o json `
| ConvertFrom-Json | Set-Variable updatedServiceEndpoint
$updatedServiceEndpoint | ConvertTo-Json -Depth 4 | Write-Debug
if (!$updatedServiceEndpoint) {
Write-Debug "Empty response"
Write-Error "Failed to convert service connection '$($serviceEndpoint.name)'"
exit 1
}
Write-Host "Successfully converted service connection '$($serviceEndpoint.name)'"
}
Wiederherstellen einer bestehenden Azure Resource Manager Service-Verbindung, die ein Dienstprinzipalgeheimnis verwendet
Sie können eine konvertierte automatische Dienstverbindung mit ihrem geheimen Schlüssel sieben Tage lang wiederherstellen. Erstellen Sie nach sieben Tagen manuell ein neues Geheimnis.
Wenn Sie Ihre Dienstverbindung manuell erstellen und konvertieren, können Sie die Dienstverbindung nicht mit dem Dienstverbindungskonvertierungstool rückgängig machen, da Azure DevOps keine Berechtigung hat, seine eigenen Anmeldeinformationen zu ändern.
Um eine Dienstverbindung rückgängig zu machen:
Gehen Sie im Azure DevOps-Projekt zu Pipelines>Service connections.
Wählen Sie eine bestehende Dienstverbindung aus, die Sie wiederherstellen möchten.
Wählen Sie Konvertierung in das ursprüngliche Schema zurückversetzen aus.
Wählen Sie Wiederherstellen erneut aus, um Ihre Auswahl zu bestätigen.
Erstellen Sie eine Azure Resource Manager-Dienstverbindung, die ein Dienstprinzipalgeheimnis verwendet
Wir empfehlen Ihnen, diesen Ansatz zu verwenden, wenn alle folgenden Punkte auf Ihr Szenario zutreffen:
- Sie sind als Besitzer*in der Azure Pipelines-Organisation und des Azure-Abonnements angemeldet.
- Sie müssen die Berechtigungen für Azure-Ressourcen, auf die Benutzer über die Dienstverbindung zugreifen, nicht weiter einschränken.
- Sie stellen keine Verbindung zu Azure Stack oder zu einer Azure Government Cloud her.
- Sie stellen keine Verbindung von Azure DevOps Server 2019 oder früheren Versionen von Team Foundation Server her.
So erstellen Sie die Dienstverbindung:
Gehen Sie im Azure DevOps-Projekt auf Projekteinstellungen>Dienstverbindungen.
Wählen Sie in Team Foundation Server das Symbol Einstellungen in der oberen Menüleiste, um die Seite Dienste aufzurufen.
Weitere Informationen finden Sie unter Projekteinstellungen öffnen.
Wählen Sie Neue Dienstverbindung, und wählen Sie dann Azure Resource Manager.
Geben Sie die folgenden Parameter ein oder wählen Sie sie aus:
Parameter BESCHREIBUNG Verbindungsname Erforderlich. Der Name, mit dem Sie in den Aufgabeneigenschaften auf diese Dienstverbindung verweisen. Nicht der Name Ihres Azure-Abonnements. Bereichsebene Wählen Sie Abonnement oder Verwaltungsgruppe. Bei Verwaltungsgruppen handelt es sich um Container, mit denen Sie Zugriff, Richtlinien und Konformität abonnementübergreifend verwalten können. Abonnement Wenn Sie Abonnement für den Bereich auswählen, wählen Sie ein bestehendes Azure-Abonnement. Wenn keine Azure-Abonnements oder -Instanzen angezeigt werden, siehe Fehlerbehebung für Azure Resource Manager-Dienstverbindungen. Verwaltungsgruppe Wenn Sie Management Group für den Bereich auswählen, wählen Sie eine bestehende Azure Management Group. Weitere Informationen finden Sie unter Verwaltungsgruppen erstellen. Ressourcengruppe Lassen Sie diese Option leer, damit die Benutzer auf alle Ressourcen zugreifen können, die im Rahmen des Abonnements definiert sind. Um den Benutzerzugriff auf Ressourcen zu beschränken, geben Sie den Namen einer Ressourcengruppe ein. Die Benutzer können dann nur auf die Ressourcen zugreifen, die für diese Ressourcengruppe definiert sind. Nach dem Erstellen der neuen Dienstverbindung:
- Wenn Sie den klassischen Editor verwenden, wählen Sie den Verbindungsnamen, den Sie in der Einstellung Azure-Abonnement Ihrer Pipeline zugewiesen haben.
- Wenn Sie eine YAML-Datei verwenden, kopieren Sie den Verbindungsnamen als Wert für
azureSubscription
in Ihren Code.
Um eine bestimmte Azure-Ressource bereitzustellen, fügen Sie der Aufgabe weitere Informationen über die Ressource hinzu:
- Wenn Sie den klassischen Editor verwenden, wählen Sie die Daten aus, die der Aufgabe hinzugefügt werden sollen. Wählen Sie zum Beispiel den Namen des App-Dienstes.
- Wenn Sie eine YAML-Datei verwenden, rufen Sie die Ressource im Azure-Portal auf. Kopieren Sie die benötigten Daten und fügen Sie sie in Ihren Aufgabencode ein. Wenn Sie beispielsweise eine Web-App bereitstellen möchten, kopieren Sie den Namen der App Service-App und fügen ihn als Wert für
WebAppName
in die YAML der Aufgabe ein.
Hinweis
Wenn Sie diesen Ansatz befolgen, stellt Azure DevOps eine Verbindung mit Microsoft Entra ID her und erstellt eine App-Registrierung mit einem Geheimnis, das drei Monate gültig ist. Wenn sich die Dienstverbindung dem Ablaufen annähert, zeigt Microsoft Entra ID die folgende Aufforderung an: Ein Zertifikat oder Geheimnis läuft bald ab. Erstellen Sie das Element neu. In diesem Szenario müssen Sie die Dienstverbindung aktualisieren.
Um eine Dienstverbindung zu aktualisieren, bearbeiten Sie im Azure DevOps-Portal die Verbindung und wählen dann Verify. Nachdem Sie die Bearbeitung gespeichert haben, ist die Dienstverbindung noch drei Monate lang gültig.
Wir empfehlen, dass Sie den Workload-Identitätsverbund verwenden, anstatt ein Geheimnis zu erstellen. Wenn Sie den Workload-Identitätsverbund verwenden, brauchen Sie die Geheimnisse nicht zu wechseln, und die Anwendungsregistrierung behält ihren Zweck bei. Um mit der Verwendung des Workload-Identitätsverbunds zu beginnen, wechseln Sie zur Seite „Dienstverbindungsdetails“, und wählen Sie „Konvertieren“ aus. Die Dienstverbindung wird so umgewandelt, dass sie anstelle eines Geheimnisses einen Workload-Identitätsverbund verwendet. Weitere Informationen finden Sie unter Konvertieren Sie eine vorhandene Azure Resource Manager-Dienstverbindung zur Verwendung von Workload-Identitätsverbünden.
Weitere Informationen finden Sie unter Fehlerbehebung bei einer Azure Resource Manager-Dienstverbindung.
Wenn Sie mit diesem Ansatz Probleme haben (z. B. werden keine Abonnements in der Dropdown-Liste angezeigt) oder wenn Sie die Benutzerberechtigungen weiter einschränken möchten, können Sie stattdessen einen Dienstprinzipal oder eine virtuelle Maschine mit einer verwalteten Dienstidentität verwenden.
Erstellen Sie eine Azure Resource Manager-Dienstverbindung, die einen vorhandenen Dienstprinzipal verwendet
Wenn Sie einen vordefinierten Satz von Zugriffsberechtigungen verwenden möchten und noch keinen Dienstprinzipal für diesen Zweck definiert haben, folgen Sie einem dieser Tutorials, um einen neuen Dienstprinzipal zu erstellen:
Gehen Sie im Azure DevOps-Projekt auf Projekteinstellungen>Dienstverbindungen.
Wählen Sie in Team Foundation Server das Symbol Einstellungen in der oberen Menüleiste, um die Seite Dienste aufzurufen.
Weitere Informationen finden Sie unter Projekteinstellungen öffnen.
Wählen Sie Neue Dienstverbindung, und wählen Sie dann Azure Resource Manager.
Wählen Sie die Option Service Principal (manual) und geben Sie dann die Details des Service Principal ein.
Geben Sie unter Verbindungsname einen Anzeigenamen ein, der für diese Dienstverbindung verwendet werden soll.
Wählen Sie unter Environment den Namen der Umgebung aus (Azure Cloud, Azure Stack oder Azure Government Cloud).
Wenn Sie nichtAzure Cloud auswählen, geben Sie die Umgebungs-URL ein. Für Azure Stack lautet die Umgebungs-URL etwa
https://management.local.azurestack.external
.Wählen Sie unter Bereichsebene den Bereich für die Verbindung aus:
- Wenn Sie Abonnement wählen, wählen Sie ein bestehendes Azure-Abonnement. Wenn keine Azure-Abonnements oder -Instanzen angezeigt werden, siehe Fehlerbehebung für Azure Resource Manager-Dienstverbindungen.
- Wenn Sie Management Group wählen, wählen Sie eine bestehende Azure Management Group. Weitere Informationen finden Sie unter Verwaltungsgruppen erstellen.
Geben Sie im Dialogfeld Azure-Abonnement die folgenden Informationen zu Ihrem Dienstprinzipal ein:
- Abonnement-ID
- Abonnementname
- Dienstprinzipal-ID
- Entweder den Client-Schlüssel des Dienstes oder, wenn Sie Zertifikat gewählt haben, geben Sie den Inhalt der Abschnitte für das Zertifikat und den privaten Schlüssel in der Datei *.pem ein.
- Mandanten-ID
Sie können diese Informationen abrufen, indem Sie ein Azure PowerShell-Skript herunterladen und ausführen. Wenn Sie dazu aufgefordert werden, geben Sie Ihren Abonnementnamen, Ihr Passwort, Ihre Rolle (optional) und den Cloud-Typ ein, z. B. Azure Cloud (Standard), Azure Stack oder eine Azure Government Cloud.
Wählen Sie Verbindung überprüfen, um die eingegebenen Einstellungen zu bestätigen.
Nach dem Erstellen der neuen Dienstverbindung:
- Wenn Sie die Dienstverbindung in der Benutzeroberfläche verwenden, wählen Sie den Verbindungsnamen, den Sie in der Einstellung Azure-Abonnement Ihrer Pipeline zugewiesen haben.
- Wenn Sie die Serviceverbindung in einer YAML-Datei verwenden, kopieren Sie den Verbindungsnamen und fügen ihn als Wert für
azureSubscription
in Ihren Code ein.
Ändern Sie bei Bedarf den Dienstprinzipal, um die entsprechenden Berechtigungen freizugeben.
Weitere Informationen über die Authentifizierung mit einem Dienstprinzipal finden Sie unter Verwenden Sie rollenbasierte Zugriffskontrolle, um den Zugriff auf Ihre Azure-Abonnementressourcen zu verwalten oder im Blogbeitrag Automatisieren Sie die Bereitstellung einer Azure-Ressourcengruppe mit einem Dienstprinzipal in Visual Studio.
Weitere Informationen finden Sie unter Fehlerbehebung für Azure Resource Manager-Dienstverbindungen.
Erstellen einer Azure Resource Manager-Dienstverbindung zu einer VM, die eine verwaltete Dienstidentität verwendet
Hinweis
Um eine verwaltete Dienstidentität zur Authentifizierung zu verwenden, müssen Sie einen selbst gehosteten Agenten auf einer virtuellen Azure-Maschine (VM) verwenden.
Sie können Azure VM-basierte Agenten so konfigurieren, dass sie eine Azure Managed Service Identity in Microsoft Entra ID verwenden. In diesem Szenario verwenden Sie die vom System zugewiesene Identität (Dienstprinzipal), um den Azure-VM-basierten Agenten Zugriff auf eine beliebige Azure-Ressource zu gewähren, die Microsoft Entra ID unterstützt, z. B. eine Instanz von Azure Key Vault, anstatt die Anmeldeinformationen in Azure DevOps für die Verbindung zu speichern.
Gehen Sie im Azure DevOps-Projekt auf Projekteinstellungen>Dienstverbindungen.
Wählen Sie in Team Foundation Server das Symbol Einstellungen in der oberen Menüleiste, um die Seite Dienste aufzurufen.
Weitere Informationen finden Sie unter Projekteinstellungen öffnen.
Wählen Sie Neue Dienstverbindung, und wählen Sie dann Azure Resource Manager.
Wählen Sie die Option Authentifizierung mithilfe verwalteter Identitäten aus.
Geben Sie unter Verbindungsname einen Anzeigenamen ein, der verwendet werden soll, wenn Sie sich auf diese Dienstverbindung beziehen.
Wählen Sie unter Environment den Namen der Umgebung aus (Azure Cloud, Azure Stack oder Azure Government Cloud).
Geben Sie im Dialogfeld Verbindungen die folgenden Werte aus Ihrem Abonnement ein:
- Abonnement-ID
- Abonnementname
- Mandanten-ID
Nach dem Erstellen der neuen Dienstverbindung:
- Wenn Sie die Dienstverbindung in der Benutzeroberfläche verwenden, wählen Sie den Verbindungsnamen, den Sie in der Einstellung Azure-Abonnement Ihrer Pipeline zugewiesen haben.
- Wenn Sie die Serviceverbindung in einer YAML-Datei verwenden, kopieren Sie den Verbindungsnamen als Wert für
azureSubscription
in Ihren Code.
Stellen Sie sicher, dass die VM (Agent) über die erforderlichen Berechtigungen verfügt.
Wenn Ihr Code beispielsweise den Azure Resource Manager aufrufen muss, weisen Sie der VM die entsprechende Rolle zu, indem Sie die rollenbasierte Zugriffskontrolle (RBAC) in Microsoft Entra ID verwenden.
Weitere Informationen finden Sie unter Wie kann ich verwaltete Identitäten für Azure-Ressourcen verwenden? und Verwenden Sie rollenbasierte Zugriffskontrolle, um den Zugriff auf Ihre Azure-Abonnementressourcen zu verwalten.
Weitere Informationen über den Prozess finden Sie unter Fehlerbehebung bei Azure Resource Manager-Dienstverbindungen.
Herstellen einer Verbindung mit einer Azure Government-Cloud
Informationen zur Verbindung mit einer Azure Government Cloud finden Sie unter Connect von Azure Pipelines (Azure Government Cloud).
Herstellen einer Verbindung mit Azure Stack
Informationen zur Verbindung mit Azure Stack finden Sie in diesen Artikeln:
- Herstellen einer Verbindung mit Azure Stack
- Verbinden Sie Azure Stack mit Azure über ein VPN
- Verbinden Sie Azure Stack mit Azure mit Hilfe von Azure ExpressRoute
Hilfe und Support
- Erkunden Sie Tipps zur Fehlerbehebung.
- Holen Sie sich Rat auf Stack Overflow.
- Stellen Sie Ihre Fragen, suchen Sie nach Antworten, oder schlagen Sie eine Funktion in der Azure DevOps Developer Community vor.
- Erhalten Sie Unterstützung für Azure DevOps.
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Tickets als Feedbackmechanismus für Inhalte auslaufen lassen und es durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unter:Einreichen und Feedback anzeigen für