Azure Key Vault Integration
GGScout supports integration with Azure Key Vault to collect and monitor your secrets. This guide will help you set up and configure the integration.
Supported Features
- Multiple secret versions collection
- DefaultAzureCredential authentication
- Managed Identity authentication
- Service Principal authentication
- Cross-tenant access
Configuration
To configure GGScout to work with Azure Key Vault, add the following configuration to your ggscout.toml
file:
[sources.azure-source-playground]
type = "azurekeyvault"
fetch_all_versions = true
subscription_id = "${AZURE_SUBSCRIPTION_ID}"
mode = "read"
Configuration Parameters
Parameter | Description | Required | Default Value |
---|---|---|---|
type | Must be set to "azurekeyvault" | Yes | |
fetch_all_versions | Whether to collect all versions of secrets | Yes | |
subscription_id | Your Azure subscription ID | Yes | |
mode | Integration mode (one of: "read", "write", "read/write") | No | "read" |
Authentication
GGScout uses the DefaultAzureCredential for authentication, which attempts to authenticate using the following methods in order:
- Environment variables
- Workload Identity
- Managed Identity
- Shared Token Cache
- Visual Studio
- Azure CLI
- Azure PowerShell
- Azure Developer CLI
- Interactive Browser
Authentication methods cannot be directly configured in the TOML file. Instead, you must provide the necessary environment variables for your chosen authentication method.
Environment Variables
For Service Principal authentication, you must set the following environment variables:
AZURE_SUBSCRIPTION_ID
: Your Azure subscription IDAZURE_TENANT_ID
: Your Azure tenant IDAZURE_CLIENT_ID
: Your service principal client IDAZURE_CLIENT_SECRET
: Your service principal client secret
For other authentication methods, refer to the Azure Identity documentation for the required environment variables.