hyperswitch-card-vault icon indicating copy to clipboard operation
hyperswitch-card-vault copied to clipboard

[FEATURE] Add support for Azure as secret manager

Open mlodhia10 opened this issue 6 months ago • 0 comments

Looking for support and guidance to utilize Azure Key Vault as secret manager to encrypting sensitive configurations.

Proposed Solution

  1. Enable Key Vault Integration with Docker: Use Azure Key Vault Provider for Secrets Store CSI Driver: Azure offers a way to mount secrets directly from Key Vault into your container as files. You can use the Azure Key Vault Provider for Secrets Store CSI Driver to achieve this. This method works well if you are deploying your containers in an Azure Kubernetes Service (AKS) environment. For Azure Container Apps, similar functionality is offered through the secrets configuration option in the container's settings.

  2. Mount Secrets as Environment Variables: Mount Key Vault Secrets: In your container app configuration, you can reference secrets stored in Azure Key Vault and map them as environment variables. This is done by configuring the container app to use the secretRef to Key Vault secrets, making them accessible as environment variables in your application.

  3. Configure Tartarus to Use Environment Variables: Environment Variable Access: Modify Tartarus to read sensitive configuration like encryption keys, database passwords, etc., from environment variables. Since the secrets are now mounted as environment variables, Tartarus can access them directly, simplifying the secret management process.

  4. Set Up Managed Identity for Secure Access: Assign Managed Identity: Ensure your Azure Container App has a managed identity assigned, and this identity has the necessary access to the Azure Key Vault. Key Vault Access Policies: Update your Key Vault’s access policies to grant the managed identity Get and List permissions for secrets.

mlodhia10 avatar Aug 23 '24 02:08 mlodhia10