Skip to content

user_credentials problems #140

Closed
Closed
@saad-ali

Description

@saad-ali

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:

  1. If a SP requires user_credentials on Publish calls, and the volume is dynamically provisioned with a CreateVolumeRequest, 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.
  2. 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 to volume_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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions