Closed
Description
The CSI calls CreateVolumeRequest
, DeleteVolumeRequest
, ControllerPublishVolumeRequest
, ControllerUnpublishVolume
, NodePublishVolume
, and NodeUnpublishVolume
all allow user_credentials
to be passed in.
// End user credentials used to authenticate/authorize volume creation
// request.
// This field is OPTIONAL.
Credentials user_credentials = ...
A few problems with this:
- If a SP requires
user_credentials
on Publish calls, and the volume is dynamically provisioned with aCreateVolumeRequest
, how does the user or CO decide what credentials to pass into the Publish calls?- We should consider allowing SP to return ControllerPublish and NodePublish credentials in the
CreateVolumeRequest
.
- We should consider allowing SP to return ControllerPublish and NodePublish credentials in the
- ControllerPublish is a call that is called once per VOLUME per node (not once per workload). Consider the case where two different workloads belonging to two different users both use the same volume. The credentials passed in on ControllerPublish therefore should not (can not) be used to auth a workload or user, but that the volume is allowed to be attached to that node.
- We should consider changing
user_credentials
in ControllerPublish/Unpublish calls tovolume_credentials
and clarify in the comment that it should not (can not) be used to auth a workload or user). We would have to do the same thing for "MountDevice" proposed in Consider a "MountDevice" equivalent step #119.
- We should consider changing
Metadata
Metadata
Assignees
Labels
No labels