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
- Verbindingsgegevens, 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 | Beschrijving |
---|---|
Get-AzAutomationConnection | Haalt informatie over een verbinding op. |
New-AzAutomationConnection | Hiermee maakt u een nieuwe verbinding. |
Remove-AzAutomationConnection | Hiermee verwijdert u een bestaande verbinding. |
Set-AzAutomationConnectionFieldValue | 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 | Beschrijving |
---|---|
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 | Beschrijving |
---|---|
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:
- Klik in uw Automation-account op Verbindingen onder Gedeelde resources.
- Klik op + Een verbinding toevoegen op de pagina Verbindingen.
- Selecteer in het veld Type in het deelvenster Nieuwe verbinding het type verbinding dat u wilt maken. Uw keuzes zijn
Azure
,AzureServicePrincipal
enAzureClassicCertificate
. - 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 dat eigenschappen van het verbindingstype opgeeft en modulenaam<>-Automation.json heet, 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 naamMyModuleConnection
:
{
"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.
In de volgende afbeelding ziet u een voorbeeld van het gebruik van een verbindingsobject in een grafisch runbook.
Volgende stappen
- Zie Modules beheren in Azure Automation voor meer informatie over de cmdlets die worden gebruikt voor toegang tot verbindingen.
- Zie Runbook-uitvoering in Azure Automation voor algemene informatie over runbooks.
- Zie het overzicht van State Configuration voor meer informatie over DSC-configuraties.