Verbindingen beheren in Azure Automation

Een Azure Automation-verbindingsasset bevat de onderstaande informatie. Deze informatie is vereist voor verbinding met een externe service of toepassing vanuit een runbook- of DSC-configuratie.

  • Informatie die nodig is voor verificatie, zoals gebruikersnaam en wachtwoord
  • Verbinding maken ion-informatie, zoals URL of poort

De verbindingsasset bewaart alle eigenschappen voor het maken van verbinding met een bepaalde toepassing, waardoor het niet nodig is om meerdere variabelen te maken. U kunt de waarden voor een verbinding op één plaats bewerken en u kunt de naam van een verbinding doorgeven aan een runbook- of DSC-configuratie in één parameter. Het runbook of de configuratie opent de eigenschappen voor een verbinding met behulp van de interne Get-AutomationConnection cmdlet.

Wanneer u een verbinding maakt, moet u een verbindingstype opgeven. Het verbindingstype is een sjabloon waarmee een set eigenschappen wordt gedefinieerd. U kunt een verbindingstype toevoegen aan Azure Automation met behulp van een integratiemodule met een metagegevensbestand. Het is ook mogelijk om een verbindingstype te maken met behulp van de Azure Automation-API als de integratiemodule een verbindingstype bevat en wordt geïmporteerd in uw Automation-account.

Notitie

Beveilig assets in Azure Automation zoals referenties, certificaten, verbindingen en versleutelde variabelen. Deze assets worden versleuteld en opgeslagen in Azure Automation met behulp van een unieke sleutel die wordt gegenereerd voor elk Automation-account. Azure Automation slaat de sleutel op in de door het systeem beheerde Sleutelkluis. Voordat u een beveiligde asset opslaat, laadt Automation de sleutel uit Key Vault en gebruikt deze vervolgens om de asset te versleutelen.

Verbindingstypen

Azure Automation maakt de volgende ingebouwde verbindingstypen beschikbaar:

  • Azure - Vertegenwoordigt een verbinding die wordt gebruikt voor het beheren van klassieke resources.
  • AzureServicePrincipal - Vertegenwoordigt een verbinding die wordt gebruikt voor het beheren van resources in Azure met behulp van een service-principal.
  • AzureClassicCertificate - Dit verbindingstype wordt gebruikt voor het beheren van resources in Azure die zijn gemaakt met het klassieke implementatiemodel dat geen ondersteuning biedt voor service-principal-verificatie.

PowerShell-cmdlets voor toegang tot verbindingen

De cmdlets in de volgende tabel maken en beheren Automation-verbindingen met PowerShell. Ze worden verzonden als onderdeel van de Az-modules.

Cmdlet Omschrijving
Get-AzAutomationConnection Haalt informatie over een verbinding op.
New-AzAutomation Verbinding maken ion Hiermee maakt u een nieuwe verbinding.
Remove-AzAutomation Verbinding maken ion Hiermee verwijdert u een bestaande verbinding.
Set-AzAutomation Verbinding maken ionFieldValue Hiermee stelt u de waarde van een bepaald veld voor een bestaande verbinding in.

Interne cmdlets voor toegang tot verbindingen

De interne cmdlet in de volgende tabel wordt gebruikt voor toegang tot verbindingen in uw runbooks en DSC-configuraties. Deze cmdlet wordt geleverd met de globale module Orchestrator.AssetManagement.Cmdlets. Zie Interne cmdlets voor meer informatie.

Interne cmdlet Omschrijving
Get-AutomationConnection Haalt de waarden van de verschillende velden in de verbinding op en retourneert deze als een hashtabel. U kunt deze hashtabel vervolgens gebruiken met de juiste opdrachten in het runbook of DSC-configuratie.

Notitie

Vermijd het gebruik van variabelen met de Name parameter van Get-AutomationConnection. Het gebruik van variabelen in dit geval kan het detecteren van afhankelijkheden tussen runbooks of DSC-configuraties en verbindingsassets tijdens het ontwerp bemoeilijken.

Python-functies voor toegang tot verbindingen

De functie in de volgende tabel wordt gebruikt voor toegang tot verbindingen in een Python 2- en 3-runbook. Python 3-runbooks zijn momenteel in preview.

Functie Omschrijving
automationassets.get_automation_connection Hiermee haalt u een verbinding op. Retourneert een woordenlijst met de eigenschappen van de verbinding.

Notitie

U moet de automationassets module boven aan uw Python-runbook importeren om toegang te krijgen tot de assetfuncties.

Een nieuwe verbinding maken

Een nieuwe verbinding maken met Azure Portal

Ga als volgt te werk om een nieuwe verbinding te maken in Azure Portal:

  1. Klik in uw Automation-account op Verbinding maken ions onder Gedeelde resources.
  2. Klik op + Een verbinding toevoegen op de pagina Verbinding maken ions.
  3. Selecteer in het veld Type in het deelvenster Nieuwe Verbinding maken ion het type verbinding dat u wilt maken. Uw keuzes zijn Azure, AzureServicePrincipalen AzureClassicCertificate.
  4. Het formulier bevat eigenschappen voor het verbindingstype dat u hebt gekozen. Vul het formulier in en klik op Maken om de nieuwe verbinding op te slaan.

Een nieuwe verbinding maken met Windows PowerShell

Maak een nieuwe verbinding met Windows PowerShell met behulp van de New-AzAutomationConnection cmdlet. Deze cmdlet heeft een ConnectionFieldValues parameter die een hashtabel definieert waarden voor elk van de eigenschappen die zijn gedefinieerd door het verbindingstype.

U kunt de volgende voorbeeldopdrachten gebruiken om een verbinding te maken die kan worden gebruikt voor verificatie met behulp van Azure Service Principal.

$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

Als u een nieuwe verbindingsasset probeert te maken om verbinding te maken met een service of toepassing met een andere verificatiemethode, mislukt de bewerking omdat het verbindingstype nog niet is gedefinieerd in uw Automation-account. Zie Een verbindingstype toevoegen voor meer informatie over het maken van uw eigen verbindingstype voor een aangepaste module.

Een verbindingstype toevoegen

Als uw runbook- of DSC-configuratie verbinding maakt met een externe service, moet u een verbindingstype definiëren in een aangepaste module die een integratiemodule wordt genoemd. Deze module bevat een metagegevensbestand met eigenschappen van het verbindingstype en heet <ModuleName-Automation.json>, die zich in de modulemap van het gecomprimeerde ZIP-bestand bevindt. Dit bestand bevat de velden van een verbinding die nodig is om verbinding te maken met het systeem of de service die de module vertegenwoordigt. Met dit bestand kunt u de veldnamen, gegevenstypen, versleutelingsstatus en optionele status voor het verbindingstype instellen. Meerdere verbindingstypen worden niet ondersteund in dit bestand.

Het volgende voorbeeld is een sjabloon in de bestandsindeling .json waarmee de eigenschappen van de gebruikersnaam en het wachtwoord worden gedefinieerd voor een aangepast verbindingstype met de naam MyModuleConnection:

{
   "ConnectionFields": [
   {
      "IsEncrypted":  false,
      "IsOptional":  true,
      "Name":  "Username",
      "TypeName":  "System.String"
   },
   {
      "IsEncrypted":  true,
      "IsOptional":  false,
      "Name":  "Password",
      "TypeName":  "System.String"
   }
   ],
   "ConnectionTypeName":  "MyModuleConnection",
   "IntegrationModuleName":  "MyModule"
}

Een verbinding ophalen in een runbook- of DSC-configuratie

Haal een verbinding op in een runbook- of DSC-configuratie met de interne Get-AutomationConnection cmdlet. Deze cmdlet heeft de voorkeur boven de Get-AzAutomationConnection cmdlet, omdat deze de verbindingswaarden ophaalt in plaats van informatie over de verbinding.

In het volgende voorbeeld ziet u hoe u een verbinding gebruikt om te verifiëren met Azure Resource Manager-resources in uw runbook. Er wordt een verbindingsasset gebruikt, die verwijst naar de service-principal op basis van certificaten.

$Conn = Get-AutomationConnection -Name AzureConnection
Connect-AzAccount -ServicePrincipal -Tenant $Conn.TenantID -ApplicationId $Conn.ApplicationID -CertificateThumbprint $Conn.CertificateThumbprint

Voorbeelden van grafisch runbook

U kunt een activiteit voor de interne Get-AutomationConnection cmdlet toevoegen aan een grafisch runbook. Klik met de rechtermuisknop op de verbinding in het deelvenster Bibliotheek van de grafische editor en selecteer Toevoegen aan canvas.

add to canvas

In de volgende afbeelding ziet u een voorbeeld van het gebruik van een verbindingsobject in een grafisch runbook.

get connections

Volgende stappen