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 dar, die vom ausführenden Azure-Konto verwendet wird.
  • AzureClassicCertificate: Stellt eine Verbindung dar, die vom klassischen ausführenden Azure-Konto verwendet wird.

In den meisten Fällen müssen Sie keine Verbindungsressource erstellen, da sie bei der Erstellung eines ausführenden Kontos erstellt wird.

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.

Erstellen einer neuen Verbindung

Herstellen einer neuen Verbindung mit dem Azure-Portal

So erstellen Sie eine neue Verbindung im Azure-Portal

  1. Klicken Sie in Ihrem Automation-Konto unter Freigegebene Ressourcen auf Verbindungen.
  2. Klicken Sie auf der Seite „Verbindungen“ auf + Verbindung hinzufügen.
  3. Wählen Sie im Feld Typ im Bereich „Neue Verbindung“ den zu erstellenden Verbindungstyp aus. Zur Auswahl stehen Azure, AzureServicePrincipal und AzureClassicCertificate.
  4. 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.

Sie können die folgenden Beispielbefehle als Alternative zum Erstellen des ausführenden Kontos im Portal verwenden, um eine neue Verbindungsressource zu erstellen.

$ConnectionAssetName = "AzureRunAsConnection"
$ConnectionFieldValues = @{"ApplicationId" = $Application.ApplicationId; "TenantId" = $TenantID.TenantId; "CertificateThumbprint" = $Cert.Thumbprint; "SubscriptionId" = $SubscriptionId}
New-AzAutomationConnection -ResourceGroupName $ResourceGroup -AutomationAccountName $AutomationAccountName -Name $ConnectionAssetName -ConnectionTypeName AzureServicePrincipal -ConnectionFieldValues $ConnectionFieldValues

Beim Erstellen Ihres Automation-Kontos sind mehrere globale Standardmodule sowie der Verbindungstyp AzureServicePrincipal zum Erstellen der Verbindungsressource AzureRunAsConnection enthalten. 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.

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 das ausführende Konto für die Authentifizierung bei Azure Resource Manager-Ressourcen in Ihrem Runbook verwendet wird. Dabei wird ein Verbindungsobjekt verwendet, das für das ausführende Konto steht und auf den zertifikatbasierten Dienstprinzipal verweist.

$Conn = Get-AutomationConnection -Name AzureRunAsConnection
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.

add to canvas

Die folgende Abbildung zeigt ein Beispiel für die Verwendung eines Verbindungsobjekts in einem grafischen Runbook. Dieses Beispiel verwendet das Constant value-Dataset für die Aktivität Get RunAs Connection, die ein Verbindungsobjekt für die Authentifizierung nutzt. Es wird eine Pipelineverknüpfung verwendet, da der Parameter ServicePrincipalCertificate so festgelegt wurde, dass er ein einzelnes Objekt erwartet.

get connections

Nächste Schritte