In this blog post, we will see how to send logs and metrics for the Azure Key Vault which can be used for auditing.
Azure Key Vault Overview
Azure Key Vault provides a way to store securely keys, secrets, and certificates in a centralized location. Key Vault greatly reduces the chances of secrets being accidentally leaked, by simplified administration of application secrets. Azure Key Vault solution is not just for Cloud Solutions it can be integrated with on-premise as well. Integration with other Azure services is simplified with a managed identity. Azure Key Vault is not just only for Application secrets (Development) it goes well with Infrastructure team like DevOps where Passwords, Certificate, etc can be managed related to Infrastructure additionally Integration with Azure DevOps makes it more powerful.
Things that can go in your vaults are:
- Application secrets
- Connection strings
- API keys
- Tokens
- Passwords etc
- Certificates
- Encryption Keys
Audit Enabling on Key Vault
Azure Key Vault can be secured by using several built-in mechanisms/concepts using any of the approaches mentioned like Access policies, Firewall (using VPN, etc), Access Restrictions, Managed Identity. In spite of all security features, you will be interested to know who and when they accessed your Key Vault. In this post, we will explore how as shown below.
After you create key vaults, you'll likely want to monitor how and when your key vaults are accessed, and by whom. You can do this by enabling logging for Azure Key Vault, which saves information in an Azure storage account that you provide. With logging, we can set up alerts in Azure Monitor for any changes to your vaults.
In the Overview tab, we will be able to see some basic monitoring stats as shown below but it doesn't give details like from where and which service accessed, etc.
Diagnostic settings for Azure Key Vault
- To enable auditing to navigate to Diagnostic setting blade from key vault in the Azure Portal:
- From the above blade, you can either edit or configure a new diagnostic setting. As part of configuring ensure you select Audit Event and Destination details to LogAnalytics workspace which provides the capability to configure alerts like sending email and other integration etc.
- To view the audit information navigate to Logs and run the Log Analytics query like query based on Caller IP address, Operation name, etc. You have options to switch between Simple Logs and Query Editor based on your preference. Below are some sample queries
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.KEYVAULT"
| summarize count() by OperationName
AzureDiagnostics
| where httpStatusCode_d >= 200
| summarize count() by requestUri_s, ResultSignature, httpStatusCode_d
AzureDiagnostics
| summarize count() by CallerIPAddress
Note: Log Analytics workspace must be in the same region as your Azure Key Vault.
References
Comments
Post a Comment