Hantera anslutningar i Azure Automation

En Azure Automation-anslutningstillgång innehåller informationen nedan. Den här informationen krävs för anslutning till en extern tjänst eller ett program från en runbook eller DSC-konfiguration.

  • Information som behövs för autentisering, till exempel användarnamn och lösenord
  • Anslutningsinformation, till exempel URL eller port

Anslutningstillgången håller ihop alla egenskaper för att ansluta till ett visst program, vilket gör det onödigt att skapa flera variabler. Du kan redigera värdena för en anslutning på ett ställe och du kan skicka namnet på en anslutning till en runbook eller DSC-konfiguration i en enda parameter. Runbooken eller konfigurationen kommer åt egenskaperna för en anslutning med hjälp av den interna Get-AutomationConnection cmdleten.

När du skapar en anslutning måste du ange en anslutningstyp. Anslutningstypen är en mall som definierar en uppsättning egenskaper. Du kan lägga till en anslutningstyp för Azure Automation med hjälp av en integreringsmodul med en metadatafil. Du kan också skapa en anslutningstyp med hjälp av Azure Automation-API:et om integreringsmodulen innehåller en anslutningstyp och importeras till ditt Automation-konto.

Anteckning

Säkra tillgångar i Azure Automation omfattar autentiseringsuppgifter, certifikat, anslutningar och krypterade variabler. Dessa tillgångar krypteras och lagras i Azure Automation med en unik nyckel som genereras för varje Automation-konto. Azure Automation nyckeln i den system-hanterade Key Vault. Innan du lagrar en säker tillgång läser Automation in nyckeln från Key Vault och använder den sedan för att kryptera tillgången.

Anslutningstyper

Azure Automation gör följande inbyggda anslutningstyper tillgängliga:

  • Azure – Representerar en anslutning som används för att hantera klassiska resurser.
  • AzureServicePrincipal – Representerar en anslutning som används av Kör som-kontot i Azure.
  • AzureClassicCertificate – Representerar en anslutning som används av det klassiska Kör som-kontot i Azure.

I de flesta fall behöver du inte skapa en anslutningsresurs eftersom den skapas när du skapar ett Kör som-konto.

PowerShell-cmdlets för att komma åt anslutningar

Cmdletarna i följande tabell skapar och hanterar Automation-anslutningar med PowerShell. De levereras som en del av Az-modulerna.

Cmdlet Beskrivning
Get-AzAutomationConnection Hämtar information om en anslutning.
New-AzAutomationConnection Skapar en ny anslutning.
Remove-AzAutomationConnection Tar bort en befintlig anslutning.
Set-AzAutomationConnectionFieldValue Ställer in värdet för ett visst fält för en befintlig anslutning.

Interna cmdlets för att få åtkomst till anslutningar

Den interna cmdleten i följande tabell används för att komma åt anslutningar i dina runbooks och DSC-konfigurationer. Den här cmdleten levereras med den globala modulen Orchestrator.AssetManagement.Cmdlets . Mer information finns i Interna cmdlets.

Intern cmdlet Description
Get-AutomationConnection Hämtar värdena för de olika fälten i anslutningen och returnerar dem som en hash-tabell. Du kan sedan använda den här hash-tabellen med lämpliga kommandon i runbook- eller DSC-konfigurationen.

Anteckning

Undvik att använda variabler med Name parametern . Get-AutomationConnection Användning av variabler i det här fallet kan göra det komplicerat att identifiera beroenden mellan runbooks eller DSC-konfigurationer och anslutningstillgångar vid designtiden.

Python-funktioner för att få åtkomst till anslutningar

Funktionen i följande tabell används för att komma åt anslutningar i en Python 2- och 3-runbook. Python 3-runbooks är för närvarande i förhandsversion.

Funktion Beskrivning
automationassets.get_automation_connection Hämtar en anslutning. Returnerar en ordlista med egenskaperna för anslutningen.

Anteckning

Du måste importera modulen automationassets överst i din Python-runbook för att få åtkomst till tillgångsfunktionerna.

Skapa en ny anslutning

Skapa en ny anslutning med Azure Portal

Så här skapar du en ny anslutning i Azure Portal:

  1. Från ditt Automation-konto klickar du på Anslutningar under Delade resurser.
  2. Klicka på + Lägg till en anslutning på sidan Anslutningar.
  3. I fältet Typ i fönstret Ny anslutning väljer du vilken typ av anslutning du vill skapa. Dina val är Azure , AzureServicePrincipal och AzureClassicCertificate .
  4. Formuläret visar egenskaper för den anslutningstyp som du har valt. Fyll i formuläret och klicka på Skapa för att spara den nya anslutningen.

Skapa en ny anslutning med Windows PowerShell

Skapa en ny anslutning med Windows PowerShell med New-AzAutomationConnection hjälp av cmdleten . Denna cmdlet har en parameter som förväntar sig en hash-tabell som definierar värden för var och en ConnectionFieldValues av de egenskaper som definieras av anslutningstypen.

Du kan använda följande exempelkommandon som ett alternativ till att skapa Kör som-kontot från portalen för att skapa en ny anslutningstillgång.

$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

När du skapar ditt Automation-konto innehåller det flera globala moduler som standard, tillsammans med anslutningstypen AzureServicePrincipal för att skapa AzureRunAsConnection anslutningstillgången. Om du försöker skapa en ny anslutningstillgång för att ansluta till en tjänst eller ett program med en annan autentiseringsmetod misslyckas åtgärden eftersom anslutningstypen inte redan har definierats i ditt Automation-konto. Mer information om hur du skapar en egen anslutningstyp för en anpassad modul finns i Lägga till en anslutningstyp.

Lägga till en anslutningstyp

Om din runbook eller DSC-konfiguration ansluter till en extern tjänst måste du definiera en anslutningstyp i en anpassad modul som kallas integreringsmodul. Den här modulen innehåller en metadatafil som anger egenskaperna för anslutningstypen och heter < ModuleName >-Automation.jspå, som finns i modulmappen i den komprimerade ZIP-filen. Den här filen innehåller fälten för en anslutning som krävs för att ansluta till systemet eller tjänsten som modulen representerar. Med den här filen kan du ange fältnamn, datatyper, krypteringsstatus och valfri status för anslutningstypen.

Följande exempel är en mall i .json-filformatet som definierar egenskaper för användarnamn och lösenord för en anpassad anslutningstyp med namnet MyModuleConnection :

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

Hämta en anslutning i en runbook eller DSC-konfiguration

Hämta en anslutning i en runbook eller DSC-konfiguration med den interna Get-AutomationConnection cmdleten. Den här cmdleten rekommenderas framför Get-AzAutomationConnection cmdleten eftersom den hämtar anslutningsvärdena i stället för information om anslutningen.

I följande exempel visas hur du använder Kör som-kontot för att autentisera med Azure Resource Manager i din runbook. Den använder en anslutningstillgång som representerar Kör som-kontot, som refererar till det certifikatbaserade tjänsthuvudkontot.

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

Grafiska runbook-exempel

Du kan lägga till en aktivitet för den interna Get-AutomationConnection cmdleten i en grafisk runbook. Högerklicka på anslutningen i fönstret Bibliotek i den grafiska redigeraren och välj Lägg till på arbetsytan.

lägga till på arbetsytan

Följande bild visar ett exempel på hur du använder ett anslutningsobjekt i en grafisk runbook. I det här exemplet Constant value används datauppsättningen Get RunAs Connection för aktiviteten, som använder ett anslutningsobjekt för autentisering. En pipelinelänk används här eftersom ServicePrincipalCertificate parameteruppsättningen förväntar sig ett enda objekt.

hämta anslutningar

Nästa steg