From b25659a1b3fc93c9d510a3146272cba3ff6be715 Mon Sep 17 00:00:00 2001 From: Anish Ramasekar Date: Wed, 21 Jan 2026 16:05:24 -0600 Subject: [PATCH 1/9] feat: support reading service account tokens from CSI secrets field for Kubernetes 1.35+ Signed-off-by: Anish Ramasekar --- pkg/blob/nodeserver.go | 22 ++++++++++++-- pkg/blob/nodeserver_test.go | 57 +++++++++++++++++++++++++++++++++++++ 2 files changed, 77 insertions(+), 2 deletions(-) diff --git a/pkg/blob/nodeserver.go b/pkg/blob/nodeserver.go index 285ff7914..fa55cfbd0 100644 --- a/pkg/blob/nodeserver.go +++ b/pkg/blob/nodeserver.go @@ -77,17 +77,21 @@ func (d *Driver) NodePublishVolume(ctx context.Context, req *csi.NodePublishVolu return nil, status.Error(codes.InvalidArgument, "Target path not provided") } + secrets := req.GetSecrets() + mountPermissions := d.mountPermissions context := req.GetVolumeContext() + serviceAccountTokens := getServiceAccountTokens(secrets, context) if context != nil { // token request - if context[serviceAccountTokenField] != "" && useWorkloadIdentity(context) { + if serviceAccountTokens != "" && useWorkloadIdentity(context) { klog.V(2).Infof("NodePublishVolume: volume(%s) mount on %s with service account token, clientID: %s", volumeID, target, getValueInMap(context, clientIDField)) _, err := d.NodeStageVolume(ctx, &csi.NodeStageVolumeRequest{ StagingTargetPath: target, VolumeContext: context, VolumeCapability: volCap, VolumeId: volumeID, + Secrets: secrets, }) return &csi.NodePublishVolumeResponse{}, err } @@ -292,8 +296,9 @@ func (d *Driver) NodeStageVolume(ctx context.Context, req *csi.NodeStageVolumeRe volumeMountGroup := req.GetVolumeCapability().GetMount().GetVolumeMountGroup() attrib := req.GetVolumeContext() secrets := req.GetSecrets() + serviceAccountTokens := getServiceAccountTokens(secrets, attrib) - if useWorkloadIdentity(attrib) && attrib[serviceAccountTokenField] == "" { + if useWorkloadIdentity(attrib) && serviceAccountTokens == "" { klog.V(2).Infof("Skip NodeStageVolume for volume(%s) since clientID %s is provided but service account token is empty", volumeID, getValueInMap(attrib, clientIDField)) return &csi.NodeStageVolumeResponse{}, nil } @@ -791,3 +796,16 @@ func useWorkloadIdentity(attrib map[string]string) bool { } return false } + +// getServiceAccountTokens retrieves service account tokens from the CSI request. +// It first checks the secrets map (new behavior when driver opts in to +// serviceAccountTokenInSecrets in Kubernetes 1.35+), then falls back to checking +// volumeContext for backward compatibility. +func getServiceAccountTokens(secrets, volumeContext map[string]string) string { + // Check secrets field first (new behavior when driver opts in) + if tokens, ok := secrets[serviceAccountTokenField]; ok { + return tokens + } + // Fallback to volume context for backward compatibility + return getValueInMap(volumeContext, serviceAccountTokenField) +} diff --git a/pkg/blob/nodeserver_test.go b/pkg/blob/nodeserver_test.go index 0538e64e4..6e25394c8 100644 --- a/pkg/blob/nodeserver_test.go +++ b/pkg/blob/nodeserver_test.go @@ -1370,3 +1370,60 @@ func TestUseWorkloadIdentity(t *testing.T) { }) } } + +func TestGetServiceAccountTokens(t *testing.T) { + tests := []struct { + name string + secrets map[string]string + volumeContext map[string]string + expected string + }{ + { + name: "token from secrets field (new behavior)", + secrets: map[string]string{ + serviceAccountTokenField: "token-from-secrets", + }, + volumeContext: map[string]string{ + serviceAccountTokenField: "token-from-context", + }, + expected: "token-from-secrets", + }, + { + name: "token from volume context (backward compatible)", + secrets: map[string]string{}, + volumeContext: map[string]string{ + serviceAccountTokenField: "token-from-context", + }, + expected: "token-from-context", + }, + { + name: "no token available", + secrets: map[string]string{}, + volumeContext: map[string]string{}, + expected: "", + }, + { + name: "nil secrets falls back to volume context", + secrets: nil, + volumeContext: map[string]string{ + serviceAccountTokenField: "token-from-context", + }, + expected: "token-from-context", + }, + { + name: "nil volume context with secrets", + secrets: map[string]string{ + serviceAccountTokenField: "token-from-secrets", + }, + volumeContext: nil, + expected: "token-from-secrets", + }, + } + + for _, test := range tests { + t.Run(test.name, func(t *testing.T) { + result := getServiceAccountTokens(test.secrets, test.volumeContext) + assert.Equal(t, test.expected, result) + }) + } +} From 91a40f2b84c6a20961c20600b27f6e526d2d492b Mon Sep 17 00:00:00 2001 From: Anish Ramasekar Date: Tue, 19 May 2026 12:02:23 -0700 Subject: [PATCH 2/9] fix: propagate service account token from secrets to GetAuthEnv GetAuthEnv reads serviceAccountTokenField from attrib only, so the token delivered via Secrets (k8s 1.35+ serviceAccountTokenInSecrets) never reached the workload identity auth path. Copy attrib and inject the resolved token before calling GetAuthEnv in NodeStageVolume. --- pkg/blob/nodeserver.go | 13 ++++++++ pkg/blob/nodeserver_test.go | 63 +++++++++++++++++++++++++++++++++++++ 2 files changed, 76 insertions(+) diff --git a/pkg/blob/nodeserver.go b/pkg/blob/nodeserver.go index fa55cfbd0..7e68cf222 100644 --- a/pkg/blob/nodeserver.go +++ b/pkg/blob/nodeserver.go @@ -303,6 +303,19 @@ func (d *Driver) NodeStageVolume(ctx context.Context, req *csi.NodeStageVolumeRe return &csi.NodeStageVolumeResponse{}, nil } + // Kubernetes 1.35+ may deliver the service account token via Secrets + // (CSIDriver.spec.serviceAccountTokenInSecrets) instead of VolumeContext. + // GetAuthEnv reads serviceAccountTokenField from attrib only, so propagate + // the resolved token into a copy of attrib without mutating the request map. + if serviceAccountTokens != "" && getValueInMap(attrib, serviceAccountTokenField) == "" { + attribWithServiceAccountToken := make(map[string]string, len(attrib)+1) + for k, v := range attrib { + attribWithServiceAccountToken[k] = v + } + attribWithServiceAccountToken[serviceAccountTokenField] = serviceAccountTokens + attrib = attribWithServiceAccountToken + } + var serverAddress, storageEndpointSuffix, protocol, ephemeralVolMountOptions, blobStorageAccountType string var ephemeralVol, isHnsEnabled bool diff --git a/pkg/blob/nodeserver_test.go b/pkg/blob/nodeserver_test.go index 6e25394c8..289b9c3d3 100644 --- a/pkg/blob/nodeserver_test.go +++ b/pkg/blob/nodeserver_test.go @@ -265,6 +265,33 @@ func TestNodePublishVolume(t *testing.T) { }, expectedErr: nil, }, + { + desc: "Valid request with service account token from secrets and clientID", + setup: func(d *Driver) { + d.cloud.ResourceGroup = "rg" + d.enableBlobMockMount = true + defaultAzureOAuthTokenDir = "./blob.csi.azure.com/" + _ = makeDir(defaultAzureOAuthTokenDir) + }, + cleanup: func(_ *Driver) { + _ = os.RemoveAll(defaultAzureOAuthTokenDir) + }, + req: &csi.NodePublishVolumeRequest{ + VolumeCapability: &csi.VolumeCapability{AccessMode: &volumeCap}, + VolumeId: "vol_1", + TargetPath: targetTest, + StagingTargetPath: sourceTest, + VolumeContext: map[string]string{ + mountWithWITokenField: "true", + clientIDField: "client-id-value", + storageAccountNameField: "test-account", + }, + Secrets: map[string]string{ + serviceAccountTokenField: `{"api://AzureADTokenExchange":{"token":"test-token","expirationTimestamp":"2023-01-01T00:00:00Z"}}`, + }, + }, + expectedErr: nil, + }, { desc: "Valid request with ephemeral volume", setup: func(d *Driver) { @@ -827,6 +854,42 @@ func TestNodeStageVolume(t *testing.T) { } }, }, + { + name: "service account token from secrets is propagated to attrib", + testFunc: func(t *testing.T) { + defaultAzureOAuthTokenDir = "./blob.csi.azure.com/" + _ = makeDir(defaultAzureOAuthTokenDir) + defer func() { _ = os.RemoveAll(defaultAzureOAuthTokenDir) }() + + req := &csi.NodeStageVolumeRequest{ + VolumeId: "rg#acc#cont#ns", + StagingTargetPath: targetTest, + VolumeCapability: &csi.VolumeCapability{AccessMode: &volumeCap}, + VolumeContext: map[string]string{ + mountWithWITokenField: "true", + clientIDField: "client-id-value", + storageAccountNameField: "test-account", + }, + Secrets: map[string]string{ + serviceAccountTokenField: `{"api://AzureADTokenExchange":{"token":"test-token","expirationTimestamp":"2023-01-01T00:00:00Z"}}`, + }, + } + d := NewFakeDriver() + d.cloud.ResourceGroup = "rg" + d.enableBlobMockMount = true + fakeMounter := &fakeMounter{} + fakeExec := &testingexec.FakeExec{} + d.mounter = &mount.SafeFormatAndMount{ + Interface: fakeMounter, + Exec: fakeExec, + } + + _, err := d.NodeStageVolume(context.TODO(), req) + if !reflect.DeepEqual(err, nil) { + t.Errorf("actualErr: (%v), expectedErr: (%v)", err, nil) + } + }, + }, } for _, tc := range testCases { t.Run(tc.name, tc.testFunc) From 3388484ec88a1ffee7f84573077bd0edb45d5972 Mon Sep 17 00:00:00 2001 From: Anish Ramasekar Date: Tue, 19 May 2026 12:02:39 -0700 Subject: [PATCH 3/9] chore: enable serviceAccountTokenInSecrets in CSIDriver Gate on requiresRepublish in the helm template since the kube API server rejects serviceAccountTokenInSecrets when requiresRepublish is false. --- charts/latest/blob-csi-driver/templates/csi-blob-driver.yaml | 3 +++ deploy/csi-blob-driver.yaml | 1 + 2 files changed, 4 insertions(+) diff --git a/charts/latest/blob-csi-driver/templates/csi-blob-driver.yaml b/charts/latest/blob-csi-driver/templates/csi-blob-driver.yaml index edb89dc8f..8438dbfa0 100644 --- a/charts/latest/blob-csi-driver/templates/csi-blob-driver.yaml +++ b/charts/latest/blob-csi-driver/templates/csi-blob-driver.yaml @@ -13,6 +13,9 @@ spec: - Persistent - Ephemeral requiresRepublish: {{ .Values.feature.requiresRepublish }} + {{- if .Values.feature.requiresRepublish }} + serviceAccountTokenInSecrets: true + {{- end }} tokenRequests: - audience: api://AzureADTokenExchange expirationSeconds: 3600 diff --git a/deploy/csi-blob-driver.yaml b/deploy/csi-blob-driver.yaml index f8aa0ec90..8ace166b7 100644 --- a/deploy/csi-blob-driver.yaml +++ b/deploy/csi-blob-driver.yaml @@ -11,6 +11,7 @@ spec: - Persistent - Ephemeral requiresRepublish: true + serviceAccountTokenInSecrets: true tokenRequests: - audience: api://AzureADTokenExchange expirationSeconds: 3600 From 526616ea2fbef56883c7b7fe835ddb1a38ad14c6 Mon Sep 17 00:00:00 2001 From: Anish Ramasekar Date: Tue, 19 May 2026 12:25:08 -0700 Subject: [PATCH 4/9] chore: repackage latest helm chart tgz --- charts/latest/blob-csi-driver-v0.0.0.tgz | Bin 6951 -> 6992 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/charts/latest/blob-csi-driver-v0.0.0.tgz b/charts/latest/blob-csi-driver-v0.0.0.tgz index 20a8eaba9525f77619ec2a12ee48588a3d93370f..25b36ad969fd21294953aa5c483c62e0e948410b 100644 GIT binary patch literal 6992 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 literal 6951 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 From 64c95583e241a53bb3f59e921eb0f129314801eb Mon Sep 17 00:00:00 2001 From: andyzhangx Date: Wed, 20 May 2026 05:29:16 +0000 Subject: [PATCH 5/9] feat: add dedicated serviceAccountTokenInSecrets helm feature flag - Add feature.serviceAccountTokenInSecrets (default: false) in values.yaml - Gate serviceAccountTokenInSecrets in CSIDriver template on its own flag instead of piggy-backing on requiresRepublish - Enable by default in E2E_HELM_OPTIONS for pull-blob-csi-driver-e2e tests - pull-blob-csi-driver-e2e-proxy tests use default (disabled) since they don't set EXTRA_HELM_OPTIONS to override Signed-off-by: Andy Zhang --- Makefile | 2 +- charts/latest/blob-csi-driver/templates/csi-blob-driver.yaml | 2 +- charts/latest/blob-csi-driver/values.yaml | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 85dd65d5b..807c5ee33 100644 --- a/Makefile +++ b/Makefile @@ -29,7 +29,7 @@ CSI_IMAGE_TAG ?= $(REGISTRY)/$(IMAGE_NAME):$(IMAGE_VERSION) CSI_IMAGE_TAG_LATEST = $(REGISTRY)/$(IMAGE_NAME):latest BUILD_DATE ?= $(shell date -u +"%Y-%m-%dT%H:%M:%SZ") LDFLAGS ?= "-X ${PKG}/pkg/blob.driverVersion=${IMAGE_VERSION} -X ${PKG}/pkg/blob.gitCommit=${GIT_COMMIT} -X ${PKG}/pkg/blob.buildDate=${BUILD_DATE} -s -w -extldflags '-static'" -E2E_HELM_OPTIONS ?= --set image.blob.pullPolicy=Always --set image.blob.repository=$(REGISTRY)/$(IMAGE_NAME) --set image.blob.tag=$(IMAGE_VERSION) --set driver.userAgentSuffix="e2e-test" --set controller.runOnControlPlane=true +E2E_HELM_OPTIONS ?= --set image.blob.pullPolicy=Always --set image.blob.repository=$(REGISTRY)/$(IMAGE_NAME) --set image.blob.tag=$(IMAGE_VERSION) --set driver.userAgentSuffix="e2e-test" --set controller.runOnControlPlane=true --set feature.serviceAccountTokenInSecrets=true ifdef ENABLE_BLOBFUSE_PROXY E2E_HELM_OPTIONS += --set node.enableBlobfuseProxy=true --set image.blob.pullPolicy=Always --set controller.logLevel=6 --set node.logLevel=6 endif diff --git a/charts/latest/blob-csi-driver/templates/csi-blob-driver.yaml b/charts/latest/blob-csi-driver/templates/csi-blob-driver.yaml index 8438dbfa0..f515b6ce2 100644 --- a/charts/latest/blob-csi-driver/templates/csi-blob-driver.yaml +++ b/charts/latest/blob-csi-driver/templates/csi-blob-driver.yaml @@ -13,7 +13,7 @@ spec: - Persistent - Ephemeral requiresRepublish: {{ .Values.feature.requiresRepublish }} - {{- if .Values.feature.requiresRepublish }} + {{- if .Values.feature.serviceAccountTokenInSecrets }} serviceAccountTokenInSecrets: true {{- end }} tokenRequests: diff --git a/charts/latest/blob-csi-driver/values.yaml b/charts/latest/blob-csi-driver/values.yaml index 7ae0b6b03..df6272760 100644 --- a/charts/latest/blob-csi-driver/values.yaml +++ b/charts/latest/blob-csi-driver/values.yaml @@ -197,6 +197,7 @@ feature: fsGroupPolicy: ReadWriteOnceWithFSType requiresRepublish: true enableGetVolumeStats: false + serviceAccountTokenInSecrets: false driver: name: blob.csi.azure.com From 1930ce1775544bc74ceac089dd0e3302a0d87aa0 Mon Sep 17 00:00:00 2001 From: andyzhangx Date: Wed, 20 May 2026 05:33:02 +0000 Subject: [PATCH 6/9] chore: repackage latest helm chart tgz Signed-off-by: Andy Zhang --- charts/latest/blob-csi-driver-v0.0.0.tgz | Bin 6992 -> 6984 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/charts/latest/blob-csi-driver-v0.0.0.tgz b/charts/latest/blob-csi-driver-v0.0.0.tgz index 25b36ad969fd21294953aa5c483c62e0e948410b..2678e24589edd165acf1d251e6ecd3c0fac8e702 100644 GIT binary patch delta 5418 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 UbN;e(lPDV?2wpZ7FaW*)0I+j(<^TWy delta 5477 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 Date: Wed, 20 May 2026 06:52:19 +0000 Subject: [PATCH 7/9] fix: correct chart version to 0.0.0 and repackage tgz Chart.yaml used 'v0.0.0' which is not a valid semver for helm package. Fix to '0.0.0' and regenerate the tgz with the correct filename. Signed-off-by: Andy Zhang --- charts/latest/blob-csi-driver-0.0.0.tgz | Bin 0 -> 6985 bytes charts/latest/blob-csi-driver-v0.0.0.tgz | Bin 6984 -> 0 bytes charts/latest/blob-csi-driver/Chart.yaml | 2 +- 3 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 charts/latest/blob-csi-driver-0.0.0.tgz delete mode 100644 charts/latest/blob-csi-driver-v0.0.0.tgz diff --git a/charts/latest/blob-csi-driver-0.0.0.tgz b/charts/latest/blob-csi-driver-0.0.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..bafabaac2f8d947e2f686526da17251fea983b53 GIT binary patch literal 6985 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 b>v$cn<8{2A`TG9>00960nH-BF0KNbKyDF6G literal 0 HcmV?d00001 diff --git a/charts/latest/blob-csi-driver-v0.0.0.tgz b/charts/latest/blob-csi-driver-v0.0.0.tgz deleted file mode 100644 index 2678e24589edd165acf1d251e6ecd3c0fac8e702..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6984 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 ax=z>WI$ckE{r>;}0RR79HWe@cz5oCy&z;Bs diff --git a/charts/latest/blob-csi-driver/Chart.yaml b/charts/latest/blob-csi-driver/Chart.yaml index 70bc7226c..819e2305f 100644 --- a/charts/latest/blob-csi-driver/Chart.yaml +++ b/charts/latest/blob-csi-driver/Chart.yaml @@ -2,4 +2,4 @@ apiVersion: v1 appVersion: latest description: Azure Blob Storage CSI driver name: blob-csi-driver -version: v0.0.0 +version: 0.0.0 From 2a246a41a0528c7e87c226dfd20a1dee2d018cbf Mon Sep 17 00:00:00 2001 From: andyzhangx Date: Wed, 20 May 2026 08:45:18 +0000 Subject: [PATCH 8/9] revert: restore Chart.yaml version to v0.0.0 and repackage tgz Signed-off-by: Andy Zhang --- charts/latest/blob-csi-driver-0.0.0.tgz | Bin 6985 -> 0 bytes charts/latest/blob-csi-driver-v0.0.0.tgz | Bin 0 -> 6983 bytes charts/latest/blob-csi-driver/Chart.yaml | 2 +- 3 files changed, 1 insertion(+), 1 deletion(-) delete mode 100644 charts/latest/blob-csi-driver-0.0.0.tgz create mode 100644 charts/latest/blob-csi-driver-v0.0.0.tgz diff --git a/charts/latest/blob-csi-driver-0.0.0.tgz b/charts/latest/blob-csi-driver-0.0.0.tgz deleted file mode 100644 index bafabaac2f8d947e2f686526da17251fea983b53..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6985 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 b>v$cn<8{2A`TG9>00960nH-BF0KNbKyDF6G diff --git a/charts/latest/blob-csi-driver-v0.0.0.tgz b/charts/latest/blob-csi-driver-v0.0.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..678d995099da556e5fb4d1cf9806f5c8f4a9c423 GIT binary patch literal 6983 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 Z>vWy2)AhvH{|^8F|Nl12an=C7000VxwVnU~ literal 0 HcmV?d00001 diff --git a/charts/latest/blob-csi-driver/Chart.yaml b/charts/latest/blob-csi-driver/Chart.yaml index 819e2305f..70bc7226c 100644 --- a/charts/latest/blob-csi-driver/Chart.yaml +++ b/charts/latest/blob-csi-driver/Chart.yaml @@ -2,4 +2,4 @@ apiVersion: v1 appVersion: latest description: Azure Blob Storage CSI driver name: blob-csi-driver -version: 0.0.0 +version: v0.0.0 From 81d591b1aaac4a3cee317a03b1840d6f588e6a95 Mon Sep 17 00:00:00 2001 From: andyzhangx Date: Wed, 20 May 2026 08:54:15 +0000 Subject: [PATCH 9/9] fix: remove serviceAccountTokenInSecrets from static deploy manifest The deploy/csi-blob-driver.yaml must remain compatible with older Kubernetes versions that don't recognize this field. Users on 1.35+ can enable it via the Helm chart feature flag instead. Signed-off-by: Andy Zhang --- deploy/csi-blob-driver.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/deploy/csi-blob-driver.yaml b/deploy/csi-blob-driver.yaml index 8ace166b7..f8aa0ec90 100644 --- a/deploy/csi-blob-driver.yaml +++ b/deploy/csi-blob-driver.yaml @@ -11,7 +11,6 @@ spec: - Persistent - Ephemeral requiresRepublish: true - serviceAccountTokenInSecrets: true tokenRequests: - audience: api://AzureADTokenExchange expirationSeconds: 3600