Activer la journalisation de Key Vault
Une fois que vous avez créé un ou plusieurs coffres de clés, vous voulez probablement contrôler qui accède à ces derniers, par quel moyen et quand. Pour plus d’informations sur la fonctionnalité, consultez Journalisation d’Azure Key Vault.
Éléments journalisés :
- Toutes les requêtes d’API REST authentifiées, ce qui inclut les requêtes ayant échoué suite à des autorisations d’accès, des erreurs système ou des requêtes incorrectes.
- Les opérations sur le coffre de clés proprement dit, notamment la création, la suppression, la définition des stratégies d’accès au coffre de clés et la mise à jour des attributs de coffre de clés (par exemple, les balises).
- Les opérations sur les clés et secrets dans le coffre de clés, à savoir :
- Création, modification ou suppression de ces clés ou secrets.
- Signature, vérification, chiffrement, déchiffrement, inclusion dans un wrapper et retrait d’un wrapper de clés, obtention des secrets, et liste de clés et secrets (et leurs versions).
- les requêtes non authentifiées qui génèrent une réponse 401. Il s’agit notamment des requêtes dépourvues de jeton du porteur, dont le format est incorrect, qui ont expiré ou qui comportent un jeton non valide.
- Les événements de notification Azure Event Grid pour les conditions suivantes : expiré, proche de l’expiration et stratégie d’accès du coffre modifié (l’événement de nouvelle version n’est pas enregistré). Les événements sont journalisés même si un abonnement aux événements est créé sur le coffre de clés. Pour plus d’informations, consultez Azure Key Vault en tant que source Event Grid.
Prérequis
Pour suivre ce tutoriel, vous devez disposer des éléments suivants :
- Un coffre de clés existant que vous utilisez déjà.
- Azure Cloud Shell – Environnement Bash.
- Espace de stockage suffisant sur Azure pour vos journaux d’activité de coffre de clés.
Les commandes de cet article sont mises en forme pour Cloud Shell avec l’environnement Bash.
Se connecter à l’abonnement Key Vault
La première étape de la configuration de la journalisation des clés consiste à se connecter à l’abonnement contenant le coffre de clés. Cette étape est particulièrement importante si plusieurs abonnements sont associés à votre compte.
Avec Azure CLI, vous pouvez afficher tous vos abonnements à l’aide de la commande az account list. Ensuite, vous vous connectez à un abonnement à l’aide de la commande az account set :
az account list
az account set --subscription "<subscriptionID>"
Avec Azure PowerShell, vous pouvez d’abord répertorier vos abonnements à l’aide de l’applet de commande Get-AzSubscription. Ensuite, vous vous connectez à un abonnement à l’aide de l’applet de commande Set-AzContext :
Get-AzSubscription
Set-AzContext -SubscriptionId "<subscriptionID>"
Créer un compte de stockage pour vos journaux
Même si vous pouvez utiliser un compte de stockage existant pour vos journaux, vous en créez un dédié à vos journaux Key Vault.
Pour simplifier davantage la gestion, vous allez utiliser le groupe de ressources qui contient le coffre de clés. Dans le guide de démarrage rapide pour Azure CLI et le guide de démarrage rapide pour Azure PowerShell, ce groupe de ressources est nommé myResourceGroup et la localisation est eastus. Remplacez ces valeurs par les vôtres, comme il convient.
Vous devez également fournir un nom de compte de stockage. Ce nom doit être unique et comprendre entre 3 et 24 caractères, uniquement des lettres en minuscules et des nombres. Enfin, vous créez un compte de stockage de la référence SKU Standard_LRS.
Avec Azure CLI, utilisez la commande az storage account create.
az storage account create --name "<your-unique-storage-account-name>" -g "myResourceGroup" --sku "Standard_LRS"
Avec Azure PowerShell, utilisez l’applet de commande New-AzStorageAccount. Vous devrez fournir la localisation qui correspond au groupe de ressources.
New-AzStorageAccount -ResourceGroupName myResourceGroup -Name "<your-unique-storage-account-name>" -Type "Standard_LRS" -Location "eastus"
Dans les deux cas, notez l’ID du compte de stockage. L’opération Azure CLI retourne l’ID dans la sortie. Pour obtenir l’ID avec Azure PowerShell, utilisez Get-AzStorageAccount et attribuez la sortie à une variable $sa. Vous pouvez alors voir le compte de stockage avec $sa.id. (La propriété $sa.Context est également utilisée plus loin dans cet article.)
$sa = Get-AzStorageAccount -Name "<your-unique-storage-account-name>" -ResourceGroup "myResourceGroup"
$sa.id
L’ID du compte de stockage a le format « /subscriptions/ID de votre abonnement/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/nom unique de votre compte de stockage ».
Notes
Si vous décidez d’utiliser un compte de stockage existant, ce dernier doit utiliser le même abonnement que votre coffre de clés, Il doit utiliser le modèle de déploiement Azure Resource Manager plutôt que le modèle de déploiement Azure Classic.
Obtenir l’ID de ressource du coffre de clés
Dans le guide de démarrage rapide pour CLI et le guide de démarrage rapide pour PowerShell, vous avez créé une clé avec un nom unique. Utilisez ce nom à nouveau dans les étapes suivantes. Si vous ne vous souvenez pas du nom de votre coffre de clés, vous pouvez utiliser la commande Azure CLI az keyvault list ou l’applet de commande Azure PowerShell Get-AzKeyVault pour lister les coffres de clés.
Utilisez le nom de votre coffre de clés pour trouver son ID de ressource. Avec Azure CLI, utilisez la commande az keyvault show.
az keyvault show --name "<your-unique-keyvault-name>"
Avec Azure PowerShell, utilisez l’applet de commande Get-AzKeyVault.
Get-AzKeyVault -VaultName "<your-unique-keyvault-name>"
L’ID de ressource de votre coffre de clés a le format « /subscriptions/ID de votre abonnement/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/nom unique de votre coffre de clés ». Notez-le pour l’étape suivante.
Activation de la journalisation
Vous pouvez activer la journalisation pour Key Vault à l’aide d’Azure CLI, d’Azure PowerShell ou du portail Azure.
Azure CLI
Utilisez la commande Azure CLI az monitor diagnostic-settings create avec l’ l’ID du compte de stockage et l’ID de ressource du coffre de clés, comme suit :
az monitor diagnostic-settings create --storage-account "<storage-account-id>" --resource "<key-vault-resource-id>" --name "Key vault logs" --logs '[{"category": "AuditEvent","enabled": true}]' --metrics '[{"category": "AllMetrics","enabled": true}]'
Si vous le souhaitez, vous pouvez définir une stratégie de conservation pour vos journaux, afin que les anciens journaux soient automatiquement supprimés après un laps de temps spécifié. Par exemple, vous pouvez définir une stratégie de rétention qui supprime automatiquement les journaux datant de plus de 90 jours.
Avec Azure CLI, utilisez la commande az monitor diagnostic-settings update .
az monitor diagnostic-settings update --name "Key vault retention policy" --resource "<key-vault-resource-id>" --set retentionPolicy.days=90
Accéder à vos journaux d’activité
Vos journaux Key Vault sont stockés dans le conteneur insights-logs-auditevent du compte de stockage que vous avez fourni. Pour visualiser les journaux, vous devez télécharger des objets blob.
Tout d’abord, obtenez tous les objets blob du conteneur. Avec Azure CLI, utilisez la commande az storage blob list.
az storage blob list --account-name "<your-unique-storage-account-name>" --container-name "insights-logs-auditevent"
Avec Azure PowerShell, utilisez Get-AzStorageBlob. Pour répertorier tous les objets blob présents dans ce conteneur, entrez la commande suivante :
Get-AzStorageBlob -Container "insights-logs-auditevent" -Context $sa.Context
Dans la sortie de la commande Azure CLI ou de l’applet de commande Azure PowerShell, vous verrez que le nom des objets blob a le format suivant : resourceId=<ARM resource ID>/y=<year>/m=<month>/d=<day of month>/h=<hour>/m=<minute>/filename.json. Les valeurs de date et d’heure utilisent le temps universel coordonné.
Étant donné que vous pouvez utiliser le même compte de stockage pour collecter les journaux de plusieurs ressources, l’ID de ressource complet dans le nom de l’objet blob est utile si vous voulez uniquement accéder aux objets blob dont vous avez besoin ou télécharger ces derniers.
Mais d’abord, téléchargez tous les objets blob. Avec Azure CLI, utilisez la commande az storage blob download, en lui fournissant les noms des objets blob et le chemin du fichier dans lequel vous souhaitez enregistrer les résultats.
az storage blob download --container-name "insights-logs-auditevent" --file <path-to-file> --name "<blob-name>" --account-name "<your-unique-storage-account-name>"
Avec Azure PowerShell, utilisez la cmdlet Gt-AzStorageBlobs pour obtenir une liste de tous les objets blob. Puis dirigez cette liste vers la cmdlet Get-AzStorageBlobContent pour télécharger les journaux vers le chemin choisi.
$blobs = Get-AzStorageBlob -Container "insights-logs-auditevent" -Context $sa.Context | Get-AzStorageBlobContent -Destination "<path-to-file>"
Quand vous exécutez cette seconde applet de commande dans PowerShell, le délimiteur / présent dans les noms d’objet blob crée une structure de dossiers complète sous le dossier de destination. Vous allez utiliser cette structure pour télécharger et stocker les objets blob sous forme de fichiers.
Pour télécharger les objets blob de façon sélective, utilisez des caractères génériques. Par exemple :
Si vous disposez de plusieurs coffres de clés et souhaitez télécharger les journaux d’activité d’un seul d’entre eux nommé CONTOSOKEYVAULT3 :
Get-AzStorageBlob -Container "insights-logs-auditevent" -Context $sa.Context -Blob '*/VAULTS/CONTOSOKEYVAULT3Si vous disposez de plusieurs groupes de ressources et souhaitez télécharger les journaux d’activité d’un seul d’entre eux, utilisez
-Blob '*/RESOURCEGROUPS/<resource group name>/*':Get-AzStorageBlob -Container "insights-logs-auditevent" -Context $sa.Context -Blob '*/RESOURCEGROUPS/CONTOSORESOURCEGROUP3/*'Si vous souhaitez télécharger tous les journaux du mois de janvier 2019, utilisez
-Blob '*/year=2019/m=01/*':Get-AzStorageBlob -Container "insights-logs-auditevent" -Context $sa.Context -Blob '*/year=2016/m=01/*'
Utiliser les journaux d’activité Azure Monitor
Vous pouvez utiliser la solution Key Vault dans les journaux Azure Monitor pour consulter les journaux AuditEvent de Key Vault. Dans les journaux Azure Monitor, vous utilisez des requêtes de journaux pour analyser les données et obtenir les informations dont vous avez besoin. Pour plus d’informations, consultez Supervision de Key Vault.
Étapes suivantes
- Pour obtenir des informations conceptuelles, notamment sur l’interprétation des journaux Key Vault, consultez Journalisation de Key Vault.
- Pour en savoir plus sur l’utilisation d’Azure Monitor sur votre coffre de clés, consultez Supervision de Key Vault.



