Gestire le connessioni in Automazione di Azure

Un asset di connessione di Automazione di Azure contiene le informazioni elencate di seguito. Queste informazioni sono necessarie per la connessione a un servizio esterno o a un'applicazione da un runbook o una configurazione DSC.

  • Informazioni necessarie per l'autenticazione, come nome utente e password
  • Informazioni di connessione, come URL o porta

L'asset di connessione raggruppa tutte le proprietà per la connessione a una particolare applicazione, rendendo superflua la creazione di più variabili. L'utente può modificare i valori per una connessione in un'unica posizione e può passare il nome di una connessione a un runbook o a una configurazione DSC in un singolo parametro. Il runbook o la configurazione accede alle proprietà per una connessione usando il cmdlet Get-AutomationConnection interno.

Quando si crea una connessione è necessario specificarne il tipo. Il tipo di connessione è un modello che definisce un set di proprietà. È possibile aggiungere un tipo di connessione ad Automazione di Azure usando un modulo di integrazione con un file di metadati. È possibile anche creare un tipo di connessione con l'API di Automazione di Azure se il modulo di integrazione include un tipo di connessione e viene importato nell'account di Automazione.

Nota

Gli asset sicuri in Automazione di Azure includono credenziali, certificati, connessioni e variabili crittografate. Tali asset vengono crittografati e archiviati in Automazione di Azure usando una chiave univoca generata per ogni account di Automazione. Automazione di Azure memorizza la chiave nel Key Vault gestito dal sistema. Prima di archiviare un asset sicuro, Automazione carica la chiave da Key Vault e quindi la usa per crittografare l'asset.

Tipi di connessioni

In Automazione di Azure sono disponibili i tipi seguenti di connessione:

  • Azure: rappresenta una connessione usata per gestire le risorse classiche.
  • AzureServicePrincipal - Rappresenta una connessione usata per gestire le risorse in Azure usando un'entità servizio.
  • AzureClassicCertificate - Questo tipo di connessione viene usato per gestire le risorse in Azure create usando il modello di distribuzione classica che non supporta l'autenticazione dell'entità servizio.

Cmdlet di PowerShell per accedere alle connessioni

I cmdlet nella tabella seguente vengono usati per creare e gestire le connessioni di Automazione con PowerShell. Sono inclusi nei moduli Az.

Cmdlet Descrizione
Get-AzAutomationConnection Recupera informazioni su una connessione.
New-AzAutomationConnection Crea una nuova connessione.
Remove-AzAutomationConnection Rimuove una connessione esistente.
Set-AzAutomationConnectionFieldValue Imposta il valore di un campo specifico per una connessione esistente.

Cmdlet interni per accedere alle connessioni

Il cmdlet interno nella tabella seguente viene usato per accedere alle connessioni nei runbook e nelle configurazioni DSC. Questo cmdlet include il modulo globale Orchestrator.AssetManagement.Cmdlets. Per altre informazioni, vedere Cmdlet interni.

Cmdlet interno Descrizione
Get-AutomationConnection Recupera i valori dei diversi campi nella connessione e li restituisce come una tabella hash. È quindi possibile usare tale tabella hash con i comandi appropriati nel runbook o nella configurazione DSC.

Nota

Evitare di usare variabili con il parametro Name di Get-AutomationConnection. In questo caso l'uso delle variabili può complicare l'individuazione delle dipendenze tra runbook o configurazioni DSC e asset di connessione in fase di progettazione.

Funzioni Python per accedere alle connessioni

La funzione nella tabella seguente viene usata per accedere alle connessioni in un runbook Python 2 e 3. I runbook Python 3 sono attualmente in anteprima.

Funzione Descrizione
automationassets.get_automation_connection Recupera una connessione. Restituisce un dizionario con le proprietà della connessione.

Nota

È necessario importare il modulo automationassets nella parte superiore del runbook Python per accedere alle funzioni dell'asset.

Creare una nuova connessione

Creare una nuova connessione con il portale di Azure

Per creare una nuova connessione nel portale di Azure:

  1. Dall'account di Automazione, fare clic su Connessioni in Risorse condivise.
  2. Nella pagina Connessioni, fare clic su + Aggiungi connessione.
  3. Nel campo Tipo nel riquadro Nuova connessione, selezionare il tipo di connessione da creare. Le opzioni disponibili sono Azure, AzureServicePrincipal e AzureClassicCertificate.
  4. Il modulo presenta le proprietà per il tipo di connessione selezionato. Completare il modulo e fare clic su Crea per salvare la nuova connessione.

Creare una nuova connessione con Windows PowerShell

Creare una nuova connessione con Windows PowerShell usando il cmdlet New-AzAutomationConnection. Questo cmdlet presenta un parametro ConnectionFieldValues che prevede una tabella hash che definisce i valori per ciascuna proprietà definita dal tipo di connessione.

È possibile usare i comandi di esempio seguenti per creare una connessione che può essere usata per l'autenticazione usando l'entità servizio di Azure.

$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

Se si tenta di creare un nuovo asset di connessione a un servizio o a un'applicazione con un metodo di autenticazione diverso, la creazione avrà esito negativo in quanto il tipo di connessione non è già definito nell'account di Automazione. Per altre informazioni sulla creazione di un tipo di connessione personale per un modulo personalizzato, vedere Aggiungere un tipo di connessione.

Aggiungere un tipo di connessione

Se il runbook o la configurazione DSC si connette a un servizio esterno, è necessario definire un tipo di connessione in un modulo personalizzato denominato modulo di integrazione. Questo modulo include un file di metadati che specifica le proprietà del tipo di connessione denominato <NomeModulo>-Automation.json, situato nella cartella dei moduli del file ZIP. Questo file contiene i campi di una connessione necessari per connettersi al sistema o al servizio che il modulo rappresenta. Usando questo file è possibile impostare i nomi dei campi, i tipi di dati, lo stato della crittografia e uno stato opzionale per il tipo di connessione. In questo file non sono supportati più tipi di connessione.

L'esempio seguente rappresenta un modello nel formato di file .json che definisce le proprietà nome utente e password per un tipo di connessione personalizzato denominato MyModuleConnection:

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

Stabilire una connessione in un runbook o in una configurazione DSC

Recuperare una connessione in un runbook o in una configurazione DSC con il cmdlet Get-AutomationConnection interno. Questo cmdlet è preferibile rispetto al cmdlet Get-AzAutomationConnection in quanto recupera i valori di connessione anziché le informazioni sulla connessione.

L'esempio seguente illustra come usare una connessione per l'autenticazione con le risorse di Azure Resource Manager nel runbook. Usa un asset di connessione che fa riferimento all'entità servizio basata su certificato.

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

Esempi di runbook grafici

È possibile aggiungere un'attività per il cmdlet Get-AutomationConnection interno a un runbook grafico. Fare clic con il pulsante destro del mouse sulla connessione nel riquadro Libreria dell'editor grafico e selezionare Aggiungi ad area di disegno.

add to canvas

L'immagine seguente mostra un esempio dell'uso di un oggetto di connessione in un runbook grafico.

get connections

Passaggi successivi