使用服务主体为持久卷提供静态 Azure 文件

Use Service Principal to provision static Azure Files for Persistent Volume

之前我使用的是在静态 azure 文件上设置 PV 的标准方法,即创建存储帐户和文件共享,使用存储帐户的帐户名和秘密创建秘密,然后创建 PV,如下所示:

apiVersion: v1
kind: PersistentVolume
metadata:
  name: elastic-storage
  labels:
    usage: elastic-storage
spec:
  capacity:
    storage: 5Gi
  accessModes:
    - ReadWriteMany
  mountOptions:
    - dir_mode=0777
    - file_mode=0777
    - uid=1000
    - gid=1000
    - mfsymlinks
    - nobrl
  persistentVolumeReclaimPolicy: Retain
  azureFile:
    secretName: azure-secret
    shareName: elasticsearchfile2
    readOnly: false

我现在想知道是否可以使用服务主体而不是使用存储帐户名称和密钥的 azure secret 来访问 azure 文件。

简单易懂。 Azure 支持 RBAC(基于角色的访问)功能。并且可以在存储账户中使用。就像两个不同的用户可以读取数据库中的相同数据一样,因为他们有足够的读取权限。所以如果服务主体对存储帐户有足够的权限,那么它也可以访问存储帐户。