Skip to content

Use ServiceAccount for Workload Identity clientID and tenantId #1316

@dkirrane

Description

@dkirrane

Feature Request
Currently for Workload Identity the SecretProviderClass requires clientID and tenantId.
However this detail is already available from the application's ServiceAccount

apiVersion: v1
kind: ServiceAccount
metadata:
  name: my-app
  namespace: default
  labels:
    azure.workload.identity/use: 'true'
  annotations:
    azure.workload.identity/client-id: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    azure.workload.identity/tenant-id: ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
apiVersion: secrets-store.csi.x-k8s.io/v1
kind: SecretProviderClass
metadata:
  name: my-app
spec:
  provider: azure
  parameters:
    usePodIdentity: "false"
    clientID: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    keyvaultName: my-kv
    tenantId: ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ

Proposal

Instead can the SecretProviderClass just use the ServiceAccount for clientID and tenantId?
for example

apiVersion: secrets-store.csi.x-k8s.io/v1
kind: SecretProviderClass
metadata:
  name: my-app
spec:
  provider: azure
  parameters:
    usePodIdentity: "false"
    serviceAccountName: my-app
    keyvaultName: my-kv

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions