bedrock icon indicating copy to clipboard operation
bedrock copied to clipboard

Implement a managed service identity (via AAD Pod Identity) based secret handling strategy

Open WilliamMortlMicrosoft opened this issue 6 years ago • 3 comments

As a:

Developer

I want:

Bedrock to create a managed service identity (MSI), install aad pod identity, create a keyvault w/ the correct policy allowing the MSI to read secrets. Then configure the AKS cluster to mount the secrets as text files within the filesystem.

So that:

any application installed into the default namespace can read secrets from the pre-configured keyvault.

Describe the solution you'd like:

See above.

Describe alternatives you've considered:

Kubernetes secrets, clear text secrets in private Github repos.

Additional context:

Secret management is not addressed well by Bedrock.

Does this require updates to documentation?:

Yes, as well as examples of YAML files for GitOps that map to the correct MSI identity for applications.

WilliamMortlMicrosoft avatar Jul 14 '19 17:07 WilliamMortlMicrosoft

I have instructions for how to setup an AKS cluster and Managed Service Identity (MSI) - and correspondingly how I got Helium to retrieve secrets fromt he KeyVault using the identity in this file: https://github.com/microsoft/helium/blob/AKS/docs/deploying-helium-aks-msi.md

The above may be helpful as it outlines how Bedrock should be enhanced @andrebriggs

Hope that helps! :-)

WilliamMortlMicrosoft avatar Jul 17 '19 04:07 WilliamMortlMicrosoft

@WilliamMortlMicrosoft - this particular item really consists of about three components:

  • installation and configuration of KeyVault using MSI / podidentity
  • examples on how to add secrets via TF to KV
  • and, as you mentioned, example yaml files for gitops / msi mapping for apps

jmspring avatar Jul 18 '19 23:07 jmspring

@jmspring agreed

WilliamMortlMicrosoft avatar Jul 19 '19 15:07 WilliamMortlMicrosoft