Verwalten von Verbindungen in Azure Automation
Ein Azure Automation-Verbindungsobjekt enthält die unten aufgeführten Informationen. Diese Informationen sind für die Verbindungsherstellung mit einem externen Dienst oder einer externen Anwendung aus einem Runbook oder einer DSC-Konfiguration erforderlich.
- Für die Authentifizierung benötigte Informationen, z. B. Benutzername und Kennwort
- Verbindungsinformationen wie URL oder Port
Das Verbindungsobjekt enthält alle Eigenschaften für die Verbindungsherstellung mit einer bestimmten Anwendung, was das Erstellen mehrerer Variablen überflüssig macht. Sie können die Werte für eine Verbindung an einem Ort bearbeiten, und Sie können den Namen einer Verbindung in einem einzelnen Parameter an ein Runbook oder eine DSC-Konfiguration übergeben. Das Runbook oder die Konfiguration greift mithilfe des internen Cmdlets Get-AutomationConnection
auf die Eigenschaften für eine Verbindung zu.
Wenn Sie eine Verbindung erstellen, müssen Sie einen Verbindungstyp angeben. Der Verbindungstyp ist eine Vorlage, die einen Satz von Eigenschaften definiert. Sie können Azure Automation mithilfe eines Integrationsmoduls mit einer Metadatendatei einen Verbindungstyp hinzufügen. Es ist außerdem möglich, einen Verbindungstyp mithilfe der Azure Automation-API zu erstellen, wenn das Integrationsmodul einen Verbindungstyp enthält und in Ihr Automation-Konto importiert wird.
Hinweis
Zu den sicheren Objekten in Azure Automation gehören Anmeldeinformationen, Zertifikate, Verbindungen und verschlüsselte Variablen. Diese Objekte werden mithilfe eines eindeutigen Schlüssels verschlüsselt und in Azure Automation gespeichert, der für jedes Automation-Konto generiert wird. Azure Automation speichert den Schlüssel im vom System verwalteten Schlüsseltresor. Vor dem Speichern einer sicheren Ressource lädt Azure Automation den Schlüssel aus dem Schlüsseltresor und verwendet ihn dann zum Verschlüsseln der Ressource.
Verbindungstypen
Azure Automation stellt die folgenden integrierten Verbindungstypen zur Verfügung:
Azure
: Stellt eine Verbindung dar, die zum Verwalten von klassischen Ressourcen verwendet wird.AzureServicePrincipal
: stellt eine Verbindung zum Verwalten von Ressourcen in Azure mithilfe eines Dienstprinzipals dar.AzureClassicCertificate
: Dieser Verbindungstyp dient zum Verwalten von Ressourcen in Azure, die mit dem klassischen Bereitstellungsmodell erstellt wurden, das die Dienstprinzipalauthentifizierung nicht unterstützt.
PowerShell-Cmdlets für den Zugriff auf Verbindungen
Mit den Cmdlets in der folgenden Tabelle können Sie Automation-Verbindungen mit PowerShell erstellen und verwalten. Diese sind im Lieferumfang der Az-Module enthalten.
Cmdlet | Beschreibung |
---|---|
Get-AzAutomationConnection | Ruft Informationen zu einer Verbindung ab. |
New-AzAutomationConnection | Erstellt eine neue Verbindung. |
Remove-AzAutomationConnection | Entfernt eine vorhandene Verbindung. |
Set-AzAutomationConnectionFieldValue | Legt den Wert für ein bestimmtes Feld einer vorhandenen Verbindung fest. |
Interne Cmdlets für den Zugriff auf Verbindungen
Das internen Cmdlet in der folgenden Tabelle wird für den Zugriff auf Verbindungen in Ihren Runbooks und DSC-Konfigurationen verwendet. Dieses Cmdlet ist im globalen Modul Orchestrator.AssetManagement.Cmdlets
enthalten. Weitere Informationen finden Sie unter Interne Cmdlets.
Internes Cmdlet | Beschreibung |
---|---|
Get-AutomationConnection |
Ruft die Werte der verschiedenen Felder in der Verbindung ab und gibt sie als Hashtabelle zurück. Sie können diese Hashtabelle mit den entsprechenden Befehlen im Runbook oder in der DSC-Konfiguration verwenden. |
Hinweis
Vermeiden Sie die Verwendung von Variablen im Parameter Name
von Get-AutomationConnection
. Durch die Verwendung von Variablen in diesem Fall kann die Ermittlung von Abhängigkeiten zwischen Runbooks oder DSC-Konfigurationen und Verbindungsressourcen zur Entwurfszeit erschwert werden.
Python-Funktionen für den Zugriff auf Verbindungen
Mit der Funktion in der folgenden Tabelle wird auf Verbindungen in einem Python 2- und Python 3-Runbook zugegriffen. Python 3-Runbooks sind derzeit als Vorschau verfügbar.
Funktion | Beschreibung |
---|---|
automationassets.get_automation_connection |
Ruft eine Verbindung ab. Gibt ein Wörterbuch mit den Eigenschaften der Verbindung zurück. |
Hinweis
Sie müssen das Modul automationassets
oben im Python-Runbook importieren, um auf die Ressourcenfunktionen zugreifen zu können.
Eine neue Verbindung erstellen
Herstellen einer neuen Verbindung mit dem Azure-Portal
So erstellen Sie eine neue Verbindung im Azure-Portal
- Klicken Sie in Ihrem Automation-Konto unter Freigegebene Ressourcen auf Verbindungen.
- Klicken Sie auf der Seite „Verbindungen“ auf + Verbindung hinzufügen.
- Wählen Sie im Feld Typ im Bereich „Neue Verbindung“ den zu erstellenden Verbindungstyp aus. Zur Auswahl stehen
Azure
,AzureServicePrincipal
undAzureClassicCertificate
. - Das Formular stellt Eigenschaften für den Verbindungstyp bereit, den Sie ausgewählt haben. Geben Sie die erforderlichen Daten ein, und klicken Sie auf Erstellen , um die neue Verbindung zu speichern.
Herstellen einer neuen Verbindung mit Windows-PowerShell
Erstellen Sie eine neue Verbindung mit Windows PowerShell und dem Cmdlet New-AzAutomationConnection
. Dieses Cmdlet verfügt über einen Parameter ConnectionFieldValues
, der eine Hashtabelle erwartet, mit deren Hilfe die Werte für jede der im Verbindungstyp definierten Eigenschaften festgelegt werden.
Mit den folgenden Beispielbefehlen können Sie eine Verbindung erstellen, die mit dem Azure-Dienstprinzipal für die Authentifizierung verwendet werden kann.
$ConnectionAssetName = "AzureConnection"
$ConnectionFieldValues = @{"ApplicationId" = $Application.ApplicationId; "TenantId" = $TenantID.TenantId; "CertificateThumbprint" = $Cert.Thumbprint; "SubscriptionId" = $SubscriptionId}
New-AzAutomationConnection -ResourceGroupName $ResourceGroup -AutomationAccountName $AutomationAccountName -Name $ConnectionAssetName -ConnectionTypeName AzureServicePrincipal -ConnectionFieldValues $ConnectionFieldValues
Wenn Sie versuchen, eine neue Verbindungsressource zum Herstellen einer Verbindung mit einem Dienst oder einer Anwendung zu erstellen, schlägt der Vorgang fehl, weil der Verbindungstyp noch nicht in Ihrem Automation-Konto definiert ist. Weitere Informationen zum Erstellen Ihres eigenen Verbindungstyps für ein benutzerdefiniertes Modul finden Sie unter Hinzufügen eines Verbindungstyps.
Hinzufügen eines Verbindungstyps
Wenn Ihr Runbook oder Ihre DSC-Verbindung eine Verbindung mit einem externen Dienst herstellt, müssen Sie einen Verbindungstyp in einem benutzerdefinierten Modul, das als „Integrationsmodul“ bezeichnet wird, definieren. Dieses Modul enthält eine Metadatendatei, die Verbindungstypeigenschaften angibt, <Modulname>-Automation.json heißt und sich im Modulordner Ihrer komprimierten ZIP-Datei befindet. Die Datei enthält die Felder einer Verbindung, die zum Herstellen einer Verbindung mit dem entsprechenden System oder Dienst, das/den das Modul darstellt, erforderlich sind. Mit dieser Datei können Sie die Feldnamen, die Datentypen, den Verschlüsselungsstatus sowie den optionalen Status für den Verbindungstyp festlegen. Mehrere Verbindungstypen werden in dieser Datei nicht unterstützt.
Das folgende Beispiel ist eine Vorlage im JSON-Dateiformat, die Eigenschaften für Benutzername und Kennwort für einen benutzerdefinierten Verbindungstyp namens MyModuleConnection
definiert:
{
"ConnectionFields": [
{
"IsEncrypted": false,
"IsOptional": true,
"Name": "Username",
"TypeName": "System.String"
},
{
"IsEncrypted": true,
"IsOptional": false,
"Name": "Password",
"TypeName": "System.String"
}
],
"ConnectionTypeName": "MyModuleConnection",
"IntegrationModuleName": "MyModule"
}
Abrufen einer Verbindung in einem Runbook oder einer DSC-Konfiguration
Sie rufen eine Verbindung in einem Runbook oder einer DSC-Konfiguration mit dem internen Cmdlet Get-AutomationConnection
ab. Dieses Cmdlet wird gegenüber dem Cmdlet Get-AzAutomationConnection
bevorzugt, da es die Verbindungswerte anstelle von Informationen über die Verbindung abruft.
Das folgende Beispiel zeigt, wie eine Verbindung für die Authentifizierung bei Azure Resource Manager-Ressourcen in Ihrem Runbook verwendet wird. Dabei wird ein Verbindungsobjekt verwendet, das auf den zertifikatbasierten Dienstprinzipal verweist.
$Conn = Get-AutomationConnection -Name AzureConnection
Connect-AzAccount -ServicePrincipal -Tenant $Conn.TenantID -ApplicationId $Conn.ApplicationID -CertificateThumbprint $Conn.CertificateThumbprint
Beispiele für grafische Runbooks
Sie können einem grafischen Runbook eine Aktivität für das interne Cmdlet Get-AutomationConnection
hinzufügen. Klicken Sie einfach mit der rechten Maustaste in den Bibliotheksbereich des grafischen Editors, und wählen Sie Zum Zeichenbereich hinzufügen aus.
Die folgende Abbildung zeigt ein Beispiel für die Verwendung eines Verbindungsobjekts in einem grafischen Runbook.
Nächste Schritte
- Weitere Informationen zu den Cmdlets, die für den Zugriff auf Verbindungen verwendet werden, finden Sie unter Verwalten von Modulen in Azure Automation.
- Allgemeine Informationen zu Runbooks finden Sie unter Ausführen von Runbooks in Azure Automation.
- Ausführliche Informationen zu DSC-Konfigurationen finden Sie in der Übersicht über State Configuration.