-
Notifications
You must be signed in to change notification settings - Fork 404
Enforcing naming conventions for AWS Secrets Manager (and HashiCorp Vault) entries #178
Comments
I have the same problem. AWS Secrets Manager names get quickly a mess. Good idea! +1 |
Having a way to limit access absolutely makes sense to me. Two points from my perspective: (1) Enforcing naming conventions (IMHO) should be done using the validation webhook. (2) That brings me to the next point: We desperately need a |
Good points! I have the feeling, that the naming convention is the responsibility of externalsecret controller, because
The AWS config should not need to be aware of godaddy externalsecrets. In future we could even continue to create an generic externalsecret resource, that I was already trying to use validation webhook for "usecase 1" and the new AssumeRole functionality #143 to achieve "usecase 2". I really like the new AssumeRole functionality - good work! The problem I had is the complexity on AWS side. My AssumeRole configuration was too complex and error-prone. Adding validation hooks will add even more complexity. Yes the status on the externalsecrets resource would help to debug and to reduce error log - I appreciate if you create an issue here :) Let me know if you have further ideas to simplify the configuration. |
1. "As cluster operations, I want to force developers to follow namespace based naming conventions on AWS Secrets Manager,
because secrets are just presented as a single list in the AWS console without any grouping possibilty. There is no other way than naming convention to tidy up and to prevent naming clashes."
2. "As an IT security manager, I want to enforce in a simple way, that Team A cannot access secrets of Team B, because AssumeRole is for some setups far too complicated."
The proposed solution is an enforced naming convention defined as annotation within the namespaces in addition to #143.
Given:
As an example AWS Secrets Manager naming convention could look like folder names starting with
deployment stage, followed by a namespace and ending with a secret name:
When
Checking naming convention in the poller module
Then
Team A should be able to retrieve the first secret. Team B should be rejected, because
it does not follow the naming convention of the namespace.
A possible implementation
... could be the following (file poller.js):
What is your opinion? If this proposal is fine, I will work on a pull request including some tests.
The text was updated successfully, but these errors were encountered: