Gérer les informations d’identification dans Azure Automation

Une ressource d’informations d’identification Automation détient un objet constitué d’informations d’identification de sécurité, comme un nom d’utilisateur et un mot de passe. Les runbooks et les configurations DSC utilisent des applets de commande qui acceptent un objet PSCredential pour l’authentification. Ils peuvent aussi extraire le nom d’utilisateur et le mot de passe de l’objet PSCredential à fournir à une application ou à un service nécessitant une authentification.

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.

Remarque

Pour plus d’informations sur l’affichage ou la suppression des données personnelles, consultez Requêtes DSR (droits de la personne concernée) Azure pour le RGPD. Pour plus d’informations sur le Règlement général sur la protection des données (RGPD), consultez la section relative au RGPD du Centre de gestion de la confidentialité de Microsoft et la section relative au RGPD du Portail d’approbation de services.

Cmdlets PowerShell utilisées pour accéder aux informations d’identification

Les cmdlets du tableau suivant créent et gèrent les informations d’identification Automation avec PowerShell. Elles sont fournies avec les Modules Az.

Applet de commande Description
Get-AzAutomationCredential Récupère un objet CredentialInfo contenant les métadonnées relatives aux informations d’identification. La cmdlet ne récupère pas l’objet PSCredential proprement dit.
New-AzAutomationCredential Crée de nouvelles informations d’identification Automation.
Remove-AzAutomationCredential Supprime des informations d’identification Automation.
Set-AzAutomationCredential Définit les propriétés d’informations d’identification Automation existantes.

Autres cmdlets utilisées pour accéder aux informations d’identification

Les cmdlets du tableau suivant permettent d’accéder aux informations d’identification enregistrées dans vos runbooks et vos configurations DSC.

Applet de commande Description
Get-AutomationPSCredential Récupère un objet PSCredential à utiliser dans un runbook ou une configuration DSC. Dans la plupart des cas, il est préférable d’utiliser cette cmdlet interne plutôt que la cmdlet Get-AzAutomationCredential, car cette dernière ne récupère que les informations d’identification, qu’il n’est généralement pas utile de passer à une autre cmdlet.
Get-Credential Obtient des informations d’identification avec une invite pour le nom d’utilisateur et le mot de passe. Cette cmdlet fait partie du module Microsoft.PowerShell.Security par défaut. Voir Modules par défaut.
New-AzureAutomationCredential Crée des informations d’identification. Cette cmdlet fait partie du module Azure par défaut. Voir Modules par défaut.

Pour récupérer des objets PSCredential dans votre code, vous devez importer le module Orchestrator.AssetManagement.Cmdlets. Pour plus d’informations, consultez Gestion des modules dans Azure Automation.

Import-Module Orchestrator.AssetManagement.Cmdlets -ErrorAction SilentlyContinue

Remarque

Il est déconseillé d’utiliser des variables dans le paramètre Name de Get-AutomationPSCredential. Leur utilisation peut contrarier la découverte des dépendances entre les runbooks ou les configurations DSC et les informations d’identification au moment de la conception.

Fonctions Python qui accèdent aux informations d’identification

La fonction figurant dans le tableau suivant est utilisée pour accéder aux informations d’identification dans un runbook Python 2 et 3. Les runbooks Python 3 sont actuellement en préversion.

Fonction Description
automationassets.get_automation_credential Récupère des informations sur une ressource d’informations d’identification.

Remarque

Importez le module automationassets en haut de votre runbook Python pour accéder aux fonctions des ressources.

Créer une ressource d’informations d’identification

Vous pouvez créer une ressource d’informations d’identification à partir du portail Azure ou de Windows PowerShell.

Créer une ressource d’informations d’identification avec le portail Azure

  1. À partir de votre compte Automation, dans le volet gauche, sélectionnez Informations d’identification sous Ressources partagées.

  2. Dans la page Informations d’identification, sélectionnez Ajouter des informations d’identification.

  3. Dans le volet Nouvelles informations d’identification, entrez un nom d’informations d’identification approprié en suivant votre convention de nommage.

  4. Tapez votre ID d’accès dans le champ Nom d’utilisateur.

  5. Pour les deux champs de mot de passe, entrez votre clé d’accès secrète.

    Create new credential

  6. Si la case Authentification multifacteur est cochée, décochez-la.

  7. Cliquez sur Créer pour enregistrer la nouvelle ressource d’informations d’identification.

Remarque

Azure Automation ne prend pas en charge les comptes d’utilisateurs qui utilisent l’authentification multifacteur.

Créer une ressource d’informations d’identification avec Windows PowerShell

Les exemples suivants montrent comment créer une ressource d’informations d’identification Automation. Un objet PSCredential est d’abord créé à partir du nom et du mot de passe, et est ensuite utilisé pour créer la ressource d’informations d’identification. Au lieu de cela, vous pouvez utiliser l’applet de commande Get-Credential pour inviter l’utilisateur à taper un nom et un mot de passe.

$user = "MyDomain\MyUser"
$pw = ConvertTo-SecureString "PassWord!" -AsPlainText -Force
$cred = New-Object –TypeName System.Management.Automation.PSCredential –ArgumentList $user, $pw
New-AzureAutomationCredential -AutomationAccountName "MyAutomationAccount" -Name "MyCredential" -Value $cred

Obtenir une ressource d’informations d’identification

Un runbook ou une configuration DSC récupère une ressource d’informations d’identification à l’aide de la cmdlet Get-AutomationPSCredential interne. Cette cmdlet récupère un objet PSCredential que vous pouvez utiliser avec une cmdlet qui nécessite des informations d’identification. Vous pouvez également récupérer les propriétés de l’objet d’informations d’identification pour les utiliser individuellement. L’objet a des propriétés pour le nom d’utilisateur et le mot de passe sécurisé.

Remarque

La cmdlet Get-AzAutomationCredential ne récupère pas d’objet PSCredential pouvant être utilisé pour l’authentification. Elle fournit uniquement des informations sur les informations d’identification. Si vous devez utiliser des informations d’identification dans un runbook, vous devez les récupérer sous la forme d’un objet PSCredential à l’aide de Get-AutomationPSCredential.

Vous pouvez aussi utiliser la méthode GetNetworkCredential pour récupérer un objet NetworkCredential qui représente une version non sécurisée du mot de passe.

Exemple de runbook textuel

L’exemple suivant montre comment utiliser des informations d’identification PowerShell dans un runbook. Il récupère les informations d’identification et affecte le nom d’utilisateur et mot de passe associés à des variables.

$myCredential = Get-AutomationPSCredential -Name 'MyCredential'
$userName = $myCredential.UserName
$securePassword = $myCredential.Password
$password = $myCredential.GetNetworkCredential().Password

Vous pouvez également utiliser des informations d’identification pour vous authentifier auprès d’Azure avec Connect-AzAccount après vous être d’abord connecté avec une identité managée. Cet exemple utilise une identité managée affectée par le système.

# Ensures you do not inherit an AzContext in your runbook
Disable-AzContextAutosave -Scope Process

# Connect to Azure with system-assigned managed identity
$AzureContext = (Connect-AzAccount -Identity).context

# set and store context
$AzureContext = Set-AzContext -SubscriptionName $AzureContext.Subscription -DefaultProfile $AzureContext

# Get credential
$myCred = Get-AutomationPSCredential -Name "MyCredential"
$userName = $myCred.UserName
$securePassword = $myCred.Password
$password = $myCred.GetNetworkCredential().Password

$myPsCred = New-Object System.Management.Automation.PSCredential ($userName,$securePassword)

# Connect to Azure with credential
$AzureContext = (Connect-AzAccount -Credential $myPsCred -TenantId $AzureContext.Subscription.TenantId).context

# set and store context
$AzureContext = Set-AzContext -SubscriptionName $AzureContext.Subscription `
    -TenantId $AzureContext.Subscription.TenantId `
    -DefaultProfile $AzureContext

Exemple de runbook graphique

Vous pouvez ajouter une activité pour la cmdlet Get-AutomationPSCredential interne à un runbook graphique en cliquant avec le bouton droit sur les informations d’identification dans le volet Bibliothèque de l’éditeur graphique et en sélectionnant Ajouter au canevas.

Add credential cmdlet to canvas

L’image suivante montre un exemple d’utilisation d’informations d’identification dans un Runbook graphique. Dans ce cas, les informations d'identification fournissent l'authentification d'un runbook auprès des ressources Azure, comme décrit dans Utiliser Microsoft Entra ID dans Azure Automation pour s'authentifier auprès d'Azure. La première activité récupère les informations d’identification ayant accès à l’abonnement Azure. L’activité de connexion de compte utilise ensuite ces informations d’identification pour assurer l’authentification pour les activités qui suivent. Un lien de pipeline est utilisé ici, car le paramètre Get-AutomationPSCredential attend un seul objet.

Credential workflow with pipeline link example

Utiliser des informations d’identification dans une configuration DSC

Même si les configurations DSC dans Azure Automation peuvent utiliser des ressources d’informations d’identification au moyen de Get-AutomationPSCredential, elles peuvent aussi transmettre des ressources d’informations d’identification via des paramètres. Pour plus d’informations, consultez Compilation de configurations dans Azure Automation DSC.

Étapes suivantes