Skip to content
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

[FEATURE REQUEST] Vault: Issue identities to minions #62823

Closed
lkubb opened this issue Oct 6, 2022 · 0 comments · Fixed by #62684
Closed

[FEATURE REQUEST] Vault: Issue identities to minions #62823

lkubb opened this issue Oct 6, 2022 · 0 comments · Fixed by #62684
Labels
Feature new functionality including changes to functionality and code refactors, etc. needs-triage Vault

Comments

@lkubb
Copy link
Contributor

lkubb commented Oct 6, 2022

Is your feature request related to a problem? Please describe.
Managing Vault token policies and secrets for minions is insecure or cumbersome. To securely assign ACL policies to issued tokens, respecting the principle of least privilege, one needs to create a separate policy for each minion. This can also lead to secret duplication once several minions need access to the same data (~ minion roles).

Describe the solution you'd like
Salt should issue AppRoles to minions, which are bound to an identity. It should write metadata to the associated entity, which can then be used to template ACL policies on the Vault side, reducing the need for boilerplate policies (and data duplication) a lot:

# salt-minion.hcl
path "salt/data/minions/{{identity.entity.metadata.minion-id}}" {
    capabilities = ["read", "create", "update", "delete", "patch"]
}

path "salt/data/roles/{{identity.entity.metadata.role}}" {
    capabilities = ["read"]
}

Note that Vault does not allow arrays for metadata, hence minions can only have a single role in this scenario.

Describe alternatives you've considered

Additional context
https://discuss.hashicorp.com/t/saltstack-vault-and-host-role-policies/19214

@lkubb lkubb added Feature new functionality including changes to functionality and code refactors, etc. needs-triage labels Oct 6, 2022
@OrangeDog OrangeDog added the Vault label Oct 6, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature new functionality including changes to functionality and code refactors, etc. needs-triage Vault
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants