On Mon, Aug 22, 2016 at 01:14:03PM -0400, Russell Bryant wrote: > On Mon, Aug 22, 2016 at 12:30 PM, Ben Pfaff <b...@ovn.org> wrote: > > > On Tue, Aug 16, 2016 at 09:30:21AM -0400, Lance Richardson wrote: > > > As described in ovn/TODO, these are the two main approaches that could be > > > used to minimize the impact of a compromised chassis on the rest of an > > > OVN OVN network: > > > > > > 1) Implement a role- or identity-based access control mechanism for > > > ovsdb-server and use it to limit ovn-controller write access to > > > tables in the southbound database. > > > > > > or > > > > > > 2) Disallow all write access to the southbound database by > > ovn-controller > > > (as an optional mode or unconditionally) and provide alternative > > > mechanisms for updating the southbound database for entries that are > > > currently updated by ovn-controller. > > > > > > It is believed that option (1) would require somewhat more effort than > > (2), > > > and, because it would involve significant modifications to ovsdb-server, > > > would also be more likely to add risk and burden to non-OVN users. > > > Additionally, option (2) will likely place fewer requirements on > > alternative > > > databases (such as etcd), so the following implementation discussion only > > > considers option (2). > > > > I've always pushed back against adding granular access control > > mechanisms to OVSDB because I didn't believe it was likely that anything > > that was simple enough to be in the "spirit of OVSDB" (heh) was also > > going to be sufficient to fit a real use case. However, if we do now > > have specific requirements for OVN, then I'd invite descriptions of what > > access control mechanism would be sufficient. If it's simple and > > general enough, then implementing it in OVSDB might totally make sense. > > > > I don't think that the "risk and burden" of a simple and general > > mechanism is a real issue. > > > I think that push back makes sense. > > The proposal here was to take route #2. The only OVSDB feature required in > that case is to accept read-only connections, which could be on a > per-socket basis. This seems much simpler all around, as long as we can > all get on board with ovn-controller as a read-only client.
I'm not actually saying we should choose #1. I'm saying a couple of things. First, changing OVSDB is not a huge deal; we do it when it makes sense. Second, that it is possible that our specific application here is a better place to start for OVSDB access control than a blanket "we need access control for OVSDB" that I've heard a couple of times. > Are you interested in looking closer at what #1 would look like, with > details of what the access control policy would look like? It'll probably be obvious, or close to obvious, what would be needed for #1 once we talk through what #2 needs. _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev