kuma icon indicating copy to clipboard operation
kuma copied to clipboard

Vault plugin for Kuma dataplane tokens

Open p0pr0ck5 opened this issue 4 years ago • 4 comments

Summary

Since universal mode dataplane tokens are generated via HTTP API, it would be very beneficial to provide a Vault plugin to manage generating, auditing, and managing TTL and access for dataplanes joining the mesh. This would allow a tight integration of data plane authorization into an existing security control framework.

To the end user that would make generating a dataplane token something like:

vault read kuma/dataplane/generate -mesh=default -dataplane=web01

Or, bridging the proposal in #554:

vault read kuma/dataplane/generate -mesh=default -role=web

This further bridges the gap for dataplanes to run via assuming a service, as access to the Vault endpoint to generate the dataplane token would be managed by Vaults access policies, which have integrations with a number of identity and authentication systems (eg IAM).

I would be happy to put in legwork to do development for this, if the Kuma team thinks this would be valuable (it would substantially ease our integration with Nomad, where we are already using Vault to manage task access to static and dynamic secrets).

p0pr0ck5 avatar Jan 22 '20 03:01 p0pr0ck5

This issue was inactive for 30 days it will be reviewed in the next triage meeting and might be closed. If you think this issue is still relevant please comment on it promptly or attend the next triage meeting.

github-actions[bot] avatar Dec 27 '21 08:12 github-actions[bot]

This issue was inactive for 30 days it will be reviewed in the next triage meeting and might be closed. If you think this issue is still relevant please comment on it promptly or attend the next triage meeting.

github-actions[bot] avatar May 15 '22 08:05 github-actions[bot]

This issue was inactive for 30 days it will be reviewed in the next triage meeting and might be closed. If you think this issue is still relevant please comment on it promptly or attend the next triage meeting.

github-actions[bot] avatar Jun 17 '22 08:06 github-actions[bot]

This issue was inactive for 30 days it will be reviewed in the next triage meeting and might be closed. If you think this issue is still relevant please comment on it promptly or attend the next triage meeting.

github-actions[bot] avatar Jul 29 '22 08:07 github-actions[bot]

@p0pr0ck5 This is something myself and @nicholasjackson are actively working on. You can check out the current version here https://github.com/gregoryhunt/vault-plugin-kuma and a demo implementation here https://github.com/gregoryhunt/demo-kuma-vault

gregoryhunt avatar Oct 07 '22 12:10 gregoryhunt

This issue was inactive for 90 days. It will be reviewed in the next triage meeting and might be closed. If you think this issue is still relevant, please comment on it or attend the next triage meeting.

github-actions[bot] avatar Jan 06 '23 08:01 github-actions[bot]

With https://github.com/kumahq/kuma/issues/4031 would this be still required?

lahabana avatar Jan 24 '23 10:01 lahabana

Triage: yes, we may be able to implement this when we have offline signing tokens without any extra work on Vault side.

jakubdyszkiewicz avatar Jan 30 '23 15:01 jakubdyszkiewicz

This issue was inactive for 90 days. It will be reviewed in the next triage meeting and might be closed. If you think this issue is still relevant, please comment on it or attend the next triage meeting.

github-actions[bot] avatar May 02 '23 07:05 github-actions[bot]

For Triage: is this still meaningful now that we support externally signed tokens?

lahabana avatar May 02 '23 07:05 lahabana

No. Offline token issuing should solve this

jakubdyszkiewicz avatar May 15 '23 14:05 jakubdyszkiewicz