-
Notifications
You must be signed in to change notification settings - Fork 86
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
System vs User file/directory precedence #203
System vs User file/directory precedence #203
Comments
@gokarnm thinks we can start directory spec implementation while working in parallel to close this. This is not a blocker to start. |
Here is a proposal for how to address this.
Thoughts? @shizhMSFT @SteveLasker @priteshbandi @rgnote |
As per @gokarnm , this is not a blocker to start implementation. |
I will add a comment to the related code to mention that the implementation may be changed later. |
Thanks for capturing this @gokarnm What I'd suggest is we default |
Who owns the action item to update the Directory Structure Specification? Is this assigned to @shizhMSFT? Thinking @dtzar, @FeynmanZhou, @iamsamirzon might be able to clarify the security/usability a bit first? |
@SteveLasker This is a discussion. We don't have a consensus yet. My opinion is that user file / directory should take over the system ones. |
I'm assuming that the system-level directory is a security mechanism for certain things (like the trust store). Therefore, if the user directory overrides the system, wouldn't that be a security concern? I can see a case for non-security implication changes it making sense to have the user directory override the system (i.e. configuration settings). Maybe we could create a setting so someone concerned about security implications and wants to lock down to ignore user directory could do? |
Thanks @shizhMSFT, @dtzar For non-security related preferences, user overrides makes sense. |
Having different defaults for different configurations will be confusing and cumbersome for customers/users. I think a setting like Other option is to not allow user to have a config for at both system and user level. Basically, fail the operation(sign/verify) if user has defined config at both system and user level. |
According to our meeting discussion, we can provide a system level /etc/notation/config.json file which contains an attribute |
A secure by default scenario would suggest system is the default and the user must have admin privileges to enable the less secure user config. |
Key decisions here as I see it:
If no to 1, then we don't need to discuss 2 and 3. |
We have identified at least three parties involved in the E2E scenarios:
To cover all above scenarios with maximum compatibility, one approach is to introduce a |
Thanks @shizhMSFT, @dtzar |
It is not possible check if the notation cli is installed in the root since you can install multiple instances of |
The goal is to avoid a bad actor to override a system configuration. |
From security perspective From usability perspective |
As per discussion in Notary v2 meeting on 10/17 for RC1 we will only support user level config and punt system level config for RC2. |
The directory structure spec defines system and user level directory paths. When both paths are present, it may be required to give precedence to system or user level based on specific scenarios.
config.json
andsigningkeys.json
may take precedence over system level settings in development scenarios, or an environment shared by multiple users.trustpolicy.json
and trust store, even if an user level (application or service role) trust store and policy exists, to allow administrator roles to enforce usage of trust policy and store.We should come up with an approach that is flexible to support both scenarios.
The text was updated successfully, but these errors were encountered: