-
Notifications
You must be signed in to change notification settings - Fork 3.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Introduce support for a new password parameter type with masking #11431
Comments
Seems like #5506 is a generalized version for this. |
Thank you for bringing this up. However, the current solution is not a perfect fit for our needs. As we use Argo Workflow as an internal control application, certain jobs requires users to input passwords through the Argo UI. Due to the plaintext nature of the passwords, we are exploring alternative methods to implement these jobs. |
We have the same(ish) problem: we execute a workflowtemplate via rest-api from an external service, that passes certain parameters, that should better be kept secret. Writing these parameters into a secret and referencing them from the workflow would not really fix the problem (culprit could write his own workflow and reference the same secret and read it). |
We have a different use case: we would like to develop a workflow to allow users to input some password to create/update secrets stored in HCVault. This is not possible to accomplish via k8s secret. |
This comment was marked as spam.
This comment was marked as spam.
I feel like there's a very narrow use-case where this makes sense, which is indeed creating/updating secrets or verifying passwords (e.g. check a password against a bcrypt hash). The narrowest part is that you would usually update a tool's secrets via its own UI/CLI etc, but it can certainly make sense to have centralized WorkflowTemplates that do that for you. For instance, in the above case, you could have a user create a k8s But I'm not entirely convinced Argo should do that for you. For instance, secrets should be cryptographically randomly generated, which requires no secret input. And if you're using a secret store like Vault, it should probably be the main place where you modify secrets and nowhere else -- i.e. a single source-of-truth.
I actually think that if we ever implement #5506, it would use this exact type of parameter to ensure it's not logged anywhere etc. Similarly, I think #5506 may only make sense in very narrow use-cases. In other words, many use-cases for both of these are not best practice, and the narrow ones may not be either. |
Summary
When submitting a workflow template with parameters, all parameter values are currently logged as plain text, which can pose a security issue, especially for sensitive information like passwords. To address this concern, it would be beneficial to introduce a new password parameter type. With this enhancement, when users enter passwords, they will be masked to ensure confidentiality, and the masked value will be logged as '***' in the logs or labels.
The text was updated successfully, but these errors were encountered: