Gérer les connexions dans Azure Automation
Une ressource de connexion Azure Automation contient les informations indiquées ci-dessous. Ces informations sont requises pour la connexion à un service ou à une application externes à partir d’un runbook ou d’une configuration DSC.
- Informations nécessaires à l’authentification, telles que le nom d’utilisateur et le mot de passe
- Informations de connexion, telles que l’URL ou le port
La ressource de connexion conserve toutes les propriétés permettant de se connecter à une application particulière, ce qui rend inutile la création de plusieurs variables. Vous pouvez modifier les valeurs pour une connexion à un seul endroit, et vous pouvez transmettre le nom d’une connexion à un runbook ou à une configuration DSC dans un seul paramètre. Le runbook ou la configuration accèdent aux propriétés d’une connexion en utilisant la cmdlet Get-AutomationConnection
interne.
Lorsque vous créez une connexion, vous devez spécifier un type de connexion. Le type de connexion est un modèle qui définit un ensemble de propriétés. Vous pouvez ajouter un type de connexion à Azure Automation en utilisant un module d’intégration avec un fichier de métadonnées. Vous pouvez aussi créer un type de connexion à l’aide de l’API Azure Automation si le module d’intégration comprend un type de connexion et est importé dans votre compte Automation.
Remarque
Les ressources sécurisées dans Azure Automation incluent les informations d'identification, les certificats, les connexions et les variables chiffrées. Ces ressources sont chiffrées et stockées dans Azure Automation en utilisant une clé unique générée pour chaque compte Automation. Azure Automation stocke la clé dans le coffre de clés géré par le système. Avant de stocker une ressource sécurisée, Automation charge la clé à partir de Key Vault, puis l’utilise pour chiffrer la ressource.
Types de connexion
Azure Automation met à disposition les types de connexion intégrés suivants :
Azure
: représente une connexion utilisée pour gérer des ressources classiques.AzureServicePrincipal
: représente une connexion utilisée pour gérer les ressources dans Azure à l’aide d’un principal de service.AzureClassicCertificate
: ce type de connexion est utilisé pour gérer les ressources dans Azure qui ont été créées à l’aide du modèle de déploiement classique qui ne prend pas en charge l’authentification du principal de service.
Cmdlets PowerShell pour accéder aux connexions
Les cmdlets du tableau suivant créent et gèrent les connexions Automation avec PowerShell. Elles sont fournies avec les Modules Az.
Applet de commande | Description |
---|---|
Get-AzAutomationConnection | Récupère des informations sur une connexion. |
New-AzAutomationConnection | Crée une connexion. |
Remove-AzAutomationConnection | Supprime une connexion existante. |
Set-AzAutomationConnectionFieldValue | Définit la valeur d’un champ particulier d’une connexion existante. |
Cmdlets internes pour accéder aux connexions
La cmdlet interne dans le tableau suivant est utilisée pour accéder aux connexions dans vos runbooks et configurations DSC. Cette cmdlet est fournie avec le module global Orchestrator.AssetManagement.Cmdlets
. Pour plus d’informations, consultez Applets de commande interne.
Cmdlet interne | Description |
---|---|
Get-AutomationConnection |
Récupère les valeurs des différents champs de la connexion et les renvoie sous forme de table de hachage. Vous pouvez utiliser cette table de hachage avec les commandes appropriées dans le runbook ou la configuration DSC. |
Remarque
Évitez d'utiliser des variables dans le paramètre Name
de Get-AutomationConnection
. L’utilisation de variables dans ce cas peut compliquer la détection des dépendances entre les runbooks ou les configurations DSC et les ressources de connexion au moment de la conception.
Fonctions Python permettant d’accéder aux connexions
La fonction présentée dans le tableau suivant est utilisée pour accéder aux connexions dans un runbook Python 2 et 3. Les runbooks Python 3 sont actuellement en préversion.
Fonction | Description |
---|---|
automationassets.get_automation_connection |
Récupère une connexion. Renvoie un dictionnaire avec les propriétés de la connexion. |
Remarque
Vous devez importer le module automationassets
en haut de votre runbook Python pour accéder aux fonctions des ressources.
Créer une connexion
Créer une connexion avec le portail Azure
Pour créer une connexion dans le portail Azure :
- Dans votre compte Automation, sous Ressources partagées, cliquez sur Connexions.
- Dans la page Connexions, cliquez sur + Ajouter une connexion.
- Dans le volet Nouvelle connexion, dans le champ Type, sélectionnez le type de connexion à créer. Vos choix sont
Azure
,AzureServicePrincipal
etAzureClassicCertificate
. - Le formulaire présente les propriétés du type de connexion que vous avez choisi. Remplissez le formulaire, puis cliquez sur Créer pour enregistrer la nouvelle connexion.
Créer une connexion avec Windows PowerShell
Pour créer une connexion avec Windows PowerShell, utilisez la cmdlet New-AzAutomationConnection
. Cette cmdlet comporte un paramètre ConnectionFieldValues
qui attend une table de hachage définissant des valeurs pour chacune des propriétés définies par le type de connexion.
Vous pouvez utiliser les exemples de commandes suivants pour créer une connexion qui peut être utilisée pour l’authentification à l’aide du principal de service 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
Si vous tentez de créer une ressource de connexion pour vous connecter à un service ou à une application avec une autre méthode d’authentification, l’opération échoue, car le type de connexion n’est pas encore défini dans votre compte Automation. Pour plus d’informations sur la création de votre propre type de connexion pour un module personnalisé, consultez Ajouter un type de connexion.
Ajouter un type de connexion
Si votre runbook ou configuration DSC se connectent à un service externe, vous devez définir un type de connexion dans un module personnalisé appelé module d’intégration. Ce module comprend un fichier de métadonnées qui spécifie les propriétés du type de connexion et est nommé <ModuleName>-Automation.json, situé dans le dossier de module de votre fichier .zip compressé. Ce fichier contient les champs d’une connexion qui sont requis pour se connecter au système ou au service que le module représente. Ce fichier vous permet de définir les noms de champs, les types de données, l’état du chiffrement et un état facultatif pour le type de connexion. Plusieurs types de connexion ne sont pas pris en charge dans ce fichier.
L’exemple suivant est un modèle au format de fichier .json, qui définit les propriétés de nom d’utilisateur et de mot de passe pour un type de connexion personnalisé nommé MyModuleConnection
:
{
"ConnectionFields": [
{
"IsEncrypted": false,
"IsOptional": true,
"Name": "Username",
"TypeName": "System.String"
},
{
"IsEncrypted": true,
"IsOptional": false,
"Name": "Password",
"TypeName": "System.String"
}
],
"ConnectionTypeName": "MyModuleConnection",
"IntegrationModuleName": "MyModule"
}
Obtenir une connexion dans un runbook ou une configuration DSC
Récupérer une connexion dans un runbook ou une configuration DSC avec la cmdlet Get-AutomationConnection
interne. Cette cmdlet est préférable à la cmdlet Get-AzAutomationConnection
, car elle récupère les valeurs de connexion au lieu d’informations sur la connexion.
L’exemple suivant montre comment utiliser une connexion pour s’authentifier auprès de ressources Azure Resource Manager dans votre runbook. Une ressource de connexion est utilisée et fait référence au principal de service basé sur un certificat.
$Conn = Get-AutomationConnection -Name AzureConnection
Connect-AzAccount -ServicePrincipal -Tenant $Conn.TenantID -ApplicationId $Conn.ApplicationID -CertificateThumbprint $Conn.CertificateThumbprint
Exemples de runbooks graphiques
Vous pouvez ajouter une activité pour la cmdlet Get-AutomationConnection
interne à un runbook graphique. Cliquez avec le bouton droit sur la connexion dans le volet Bibliothèque de l’éditeur graphique, puis sélectionnez Ajouter au canevas.
L’image suivante montre un exemple d’utilisation d’un objet de connexion dans un runbook graphique.
Étapes suivantes
- Pour en savoir plus sur les cmdlets utilisées pour accéder aux connexions, consultez Gérer les modules dans Azure Automation.
- Pour obtenir des informations générales sur les runbooks, consultez Exécution d’un runbook dans Azure Automation.
- Pour obtenir des informations détaillées sur les configurations DSC, consultez Présentation de State Configuration.