Skip to content
This repository has been archived by the owner on Jan 30, 2020. It is now read-only.

feature - metadata authorization #1437

Open
rbucker opened this issue Feb 24, 2016 · 4 comments
Open

feature - metadata authorization #1437

rbucker opened this issue Feb 24, 2016 · 4 comments

Comments

@rbucker
Copy link

rbucker commented Feb 24, 2016

if I have a farm of workers call them 'A' and another farm of workers 'B'....(both sharing the same etcd cluster) if a user logged into one of the 'A' nodes the user should not be able to create a fleet target for node of type 'B'.

@mischief
Copy link
Contributor

there's not really any concept of identity, so how would that work?

an alternative might be to use different etcd key prefixes.

@rbucker
Copy link
Author

rbucker commented Feb 24, 2016

I thought the metadata was baked in with the cloud-config? If the metadata in the cloud-config does not match the metadata in the fleet unit file then do not let the fleet command complete.

@mischief
Copy link
Contributor

someone could still sidestep fleet and poke a systemd unit directly into etcd, easily bypassing this check of the metadata of the caller.

what would this metadata check even look like? how would normal metadata be differentiated from this 'authorization metadata'?

@rbucker
Copy link
Author

rbucker commented Feb 24, 2016

the only way someone should be able to sidestep the cloud-config metadata setting would be to have root or equivalent permissions. To be clear I'm trying to prevent fleet from launching a service on a machine who's metadata does not match the origin? Systemctl launches services on the local machine not across the net to a remote system.

if on the etcd cluster then send any fleet command to any nodes in the worker domain.
if in worker domain A then only launch fleet commands in domain A.
if in worker domain B then only launch fleet commands in domain B.
Never in domain A and launching in B.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants