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 demandes sans jeton du porteur, mal formées ou expirées, ou qui ont 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 avez besoin d’un coffre de clés Azure. Vous pouvez créer un coffre de clés à l’aide de l’une des méthodes suivantes :

Vous avez également besoin d’une destination pour vos journaux. La destination peut être un compte de stockage Azure et/ou un espace de travail Log Analytics nouveaux ou existants.

Vous pouvez créer un compte de stockage Azure à l’aide de l’une des méthodes suivantes :

Vous pouvez créer un espace de travail Log Analytics à l’aide de l’une des méthodes suivantes :

Se connecter à l’abonnement Key Vault

La première étape de configuration de la journalisation des clés est la connexion à l’abonnement contenant votre coffre de clés, 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>"

Obtenir des ID de ressource

Pour activer la journalisation sur un coffre de clés, vous avez besoin de l’ID de ressource du coffre de clés et de la destination (compte de stockage Azure ou Log Analytics).

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 le trouver.

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 Get-AzStorageBlob 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/CONTOSOKEYVAULT3
    
  • Si 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.