spin
spin copied to clipboard
Add support for workload identity in the Azure CosmosDB Key/Value impl
This PR adds the ability for the Azure CosmosDB KV store implementation to use ambient authentication (managed identity, workflow identity, azure cli). The PR should not break existing users of the key authentication mechanism; it should only be additive. For more information about the Azure Rust SDK identity flows, check out: https://github.com/Azure/azure-sdk-for-rust/blob/main/sdk/identity/README.md.
Here is the associated infrastructure and sample application to demo this identity flow: https://github.com/devigned/spin-workload-id.
I'm opening this now to start getting feedback. I (or the identity SDK) also likely have a bug related to the authentication scope being passed to Entra (previously Azure Active Directory). I will sort that issue out and notify via the PR.
This work is related to https://github.com/spinkube/spin-operator/issues/252.