将 OpenShift 机密装载到具有受限访问权限的卷/文件中

Mouting OpenShift secrets into volumes / files with restricted access rights

我正在将 OpenShift 3.11 秘密安装到容器中,因为容器元素中的这个新部分位于`dc.spec.template.spec.containers:

volumeMounts:
- name: my-secret
  mountPath: /mnt/my-secret
  readOnly: true

并将新部分放入 dc.spec.template.spec.containers

volumes:
- name: my-secret
  secret:
    secretName: my-secret

我的 my-secret 是从私钥创建的,如下所示:

oc create secret generic my-secret \
  --type=kubernetes.io/ssh-auth \
  --from-file=ssh-privatekey=my-private-key

在容器运行时,我在文件 /mnt/my-secret/ssh-privatekey 中找到了装甲私钥。我如何确保只有运行容器的 UID(OpenShift 规则下的随机 UID)才能从该文件中读取,即强制执行类似于 0400?

的文件模式

dc.spec.template.spec.volumes.secret.defaultMode(如评论中所建议的)设置为 0644 似乎对从 /mnt/my-secret/ssh-privatekey.

符号链接的文件中的私钥产生了预期的效果