Workload identity does not work with KeyVault JCA #41863
Open
Description
I tested the Keyvault JCA and noted that it uses the Azure IMDS endpoint to retrieve an access token. I tested the endpoint directly using a workload identity on the pod and noted that workload identities do not work with the IMDS endpoint. Pod identities on the other hand do. The open source Microsoft Entra pod-managed identity (preview) in Azure Kubernetes Service has been deprecated as of 10/24/2022. Release 2024-08-27 of AKS introduces a breaking change with the removal of pod identities. Hence its imperitive for Keyvault JCA to add support for workload identities.
Steps to replicate:
- Create a pod with a workload identity
- Attempt to use the Keyvault JCA and observe the error Failed to load keystore type [DKS] with path [] due to [DKS not found]. This occurs due to the JCA not being able to retrieve an access token from the IMDS endpoint
Caused by: java.lang.NullPointerException
at com.azure.security.keyvault.jca.implementation.KeyVaultClient.getAccessToken(KeyVaultClient.java:196)
Metadata
Assignees
Labels
This issue points to a problem in the data-plane of the library.All azure-spring related issuesIssues that are reported by GitHub users external to the Azure organization.Workflow: This issue needs attention from Azure service team or SDK teamThe issue doesn't require a change to the product in order to be resolved. Most issues start as that
Type
Projects
Status
Todo
Status
Not Started