hashicorp / hashicorp/nomad

Allow "safe" operations of CSI plugins

Open
#9,258 7 comments 3 reactions 0 assignees View on GitHub
stage/needs-discussion theme/auth theme/driver type/enhancement
Dominant language
Go
Stars
17k
Forks
2.1k
Avg merge
1d 9h
Merged PRs (30d)
105

Description

Currently CSI plugins are usually required to run as privileged to be able to mount stuff on the host. This (sadly) also requires one to allow "privileged" for all other containers on the node.

If it were possible that CSI plugins would implicitly add `privileged=true` (I think this should be possible; after all it also adds a bindmount to /csi which also would be denied by the default docker plugin configuration), then one would not have to allow `privileged=true` for all other jobs.

Now to prevent submission of all jobs as csi plugins one can use the namespace capability from https://learn.hashicorp.com/tutorials/nomad/access-control-policies?in=nomad/access-control#csi-register-plugin to limit this to certain users.

What do you think? All in all I think this would greatly improve the security of nomad when CSI plugins are in use.

Contributor guide

No contributing guide indexed for this repository

Research direction

No files, tests, or implementation entry points are named. Start by clarifying how CSI plugin registration should grant privileged access without affecting other jobs, then define tests showing that only authorized CSI plugins receive the capability and ordinary jobs remain restricted.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, go
Domain
infrastructure, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.