-
Notifications
You must be signed in to change notification settings - Fork 160
Description
What happened:
We have an Azure Storage account where the only enabled encryption channel is AES-256-GCM, which we attempted to mount on an AKS node running Ubuntu 24.04. According to the Azure docs, AKS with Ubuntu 22.04 (currently GA, while 24.04 is in preview), supports AES-256-GCM, however it seems that in order to take advantage of AES-256-GCM, the cifs module parameter require_gcm_256 must be set to 1 just after running modprobe, and the underlying node's /etc/modprobe.d/cifs.conf must be updated with options cifs require_gcm_256=1 before Azure Files CSI driver is able to make use of AES-256-GCM. Without doing the above, we found that we would get a mount permission denied with error 13 unless we allowed AES-128-GCM on the storage account itself.
This occurs despite the fact that the CIFS module parameter enable_gcm_256 is set to Y, which in theory should allow the CIFS client to negotiate AES-256-GCM without outright requiring it.
What you expected to happen:
The CIFS client should at least attempt AES-256-GCM and fall back to AES-128-GCM, without requiring the AKS nodes to enforce AES-256-GCM usage by the CIFS client. Perhaps this may be due to an upstream issue, and should instead be reported to the CIFS client developers, however I think that Azure Files CSI driver can still help in the mean time by 1) confirming if that's the case, and 2) providing documentation that makes it clear this is a requirement to connect with a storage account that has only AES-256-GCM enabled.
How to reproduce it:
- Configure storage account channel encryption to only AES-256-GCM and configure an Azure Files share
- Install azure files CSI driver on an AKS cluster
- Attempt to mount the Azure Files share in a pod without enforcing AES-256-GCM on the underlying AKS node nor on the pod level
- Observe failure to mount with error code 13
- Either reconfigure the storage account channel encryption to allow AES-128-GCM, or reconfigure the AKS node to require AES-256-GCM as described above
- Attempt to mount the Azure Files share in a pod again
- Observe a successful mount
Anything else we need to know?:
Environment:
- CSI Driver version: 1.33.5
- Kubernetes version (use
kubectl version): 1.33.3 - OS (e.g. from /etc/os-release): Ubuntu 24.04
- Kernel (e.g.
uname -a): 6.8.0-1034-azure - Install tools:
- Others: