----- Original Message -----
> From: "Mickey Spiegel" <[email protected]>
> To: "Lance Richardson" <[email protected]>
> Cc: "Russell Bryant" <[email protected]>, "devovs" <[email protected]>
> Sent: Tuesday, March 14, 2017 2:27:30 PM
> Subject: Re: [ovs-dev] OVN: Compromised Chassis Mitigation
> 
> On Tue, Mar 14, 2017 at 11:14 AM, Lance Richardson <[email protected]>
> wrote:
> 
> > > From: "Russell Bryant" <[email protected]>
> > > To: "Mickey Spiegel" <[email protected]>
> > > Cc: "Lance Richardson" <[email protected]>, "devovs" <
> > [email protected]>
> > > Sent: Tuesday, March 14, 2017 1:48:55 PM
> > > Subject: Re: [ovs-dev] OVN: Compromised Chassis Mitigation
> > >
> > > On Tue, Mar 14, 2017 at 5:08 AM, Mickey Spiegel <[email protected]>
> > > wrote:
> > > >>       - An "authorization" column containing a set of "string" type,
> > where
> > > >>         each string is the name of a column (or column:key) that must
> > > >> contain
> > > >>         the ID of client attempting the transaction (CN field from
> > client
> > > >>         certificate). If this set is empty, all IDs are considered to
> > be
> > > >>         authorized.  If this set contains more than one string, at
> > least
> > > >> one
> > > >>         must contain the client ID in order to be considered
> > authorized.
> > > >
> > > >
> > > > This is the "where" column in the RBAC approach, where the "CN = "
> > > > part of the logical expression is implied, and only the column part is
> > > > specified.
> > > >
> > > > When access is attempted from an ovn-controller, then the
> > > > authorization rule applies. However, there are other things
> > > > accessing OVN SB DB that are allowed to change these things
> > > > even though they do not have a CN, or at least not one that
> > > > looks like a chassis name. For example, ovn-northd.
> > > > How is this controlled?
> > > > This is exactly why the indirection through role is suggested, to
> > > > allow access to various things without hardcoding specific logic
> > > > to determine what is subject to the rules.
> > >
> > >
> > > I had imagined we'd deploy OVN such that ovn-northd would connect to a
> > > different ovsdb remote that didn't have ACLs turned on.
> > >
> >
> > I think we do need a way to specify whether ACLs should be applied to
> > transactions on a given client connection.
> >
> > We could have ACLs implicitly apply only to read-only connections, but
> > I think it would be better to make this an explicit configuration item.
> >
> > One way to do this would be to add a "role" attribute to each remote and
> > have a table to map "role" to a specific ACL table.
> >
> > We could also consider adding an ACL table reference column to the
> > OVN_Southbound "Connection" table and make ACLs part of remote
> > configuration; if an ACL table is configured for a particular remote,
> > ACLs from that table would be used for transactions on that remote.
> >
> 
> I don't follow. What are the definitions of ACL table and the reference?
> 
> I thought there is only one ACL / Permissions table. The reason for
> the indirection through "role" is to identify the rows in the table that
> apply. There may be multiple rows that apply.
> 

I was suggesting a simplification that would eliminate the need for that
indirection by having the remote refer directly to an ACL/Permissions
table. The drawback to this simplification would be having to modify
the db schema in order to add a new role (a new ACL/Permissions table
would be needed for each added role), versus being able to define
new roles and rule sets dynamically.  For OVN_Southbound, this doesn't
seem to be much of a drawback since we're currently only envisioning
one role needing ACLs (ovn-sbctl, ovn-northd, etc. would continue to
use read-write sessions without ACLs.

   lance

> I guess another alternative is to have row just be a column in the
> ACL / Permissions table.
> 
> Mickey
> 
> 
> > I think either approach would provide similar flexibility, the
> > second seems a little more straightforward.
> >
> > Thoughts?
> >
> > Thanks,
> >
> >    Lance
> >
> > > Currently, our OpenStack deployment always co-locates ovn-northd with
> > > the OVN databases, so it just connects over a unix socket.
> > >
> > > --
> > > Russell Bryant
> > >
> >
> >
> 
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to