Skip to content

Store and manage secrets / password in Azure KeyVault, enabling full cycle password expiration and key rotation against various resource types (Storage Account, CosmosDb, etc)

License

Notifications You must be signed in to change notification settings

mthoger/harpocrates

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

harpocrates

Harpocrates is a solution designed to automate the lifecycle of various service and application secrets, their scheduled rotations, as well as updates to dependent secrets that are build based on the value of the managed system secret, like connection strings that may need access key or password to be inserted into a more complex string expression. For example, an application may be designed to utilize a connection string that looks like this: Server=DbServerName;User=MyUser1;Password=P@ssword@1. In this case, the values of the password and user name may need to be changed periodically. When that change happens and the system updates those credentials, it is imperative that it update the application connection string as well.

Harpocrates relies on Azure Key Vault eventing mechanism to set expirations date and trigger processes based on the events raised by KV. It follows a high level process flow depicted below

High level process flow

Harpocrates can be deployed to a number of compute services in Azure, such as AKS, App Service, etc as well as an app that can be deployed to an IaaS VM. Depicted below are high level deployment diagrams for AKS & App Service

Azure Kubernetes Services Deployment AKS Deployment

Azure AppService Deployment AppService Deployment

About

Store and manage secrets / password in Azure KeyVault, enabling full cycle password expiration and key rotation against various resource types (Storage Account, CosmosDb, etc)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 58.1%
  • C# 32.7%
  • HTML 8.9%
  • CSS 0.3%