Re: [i2rs] topo model use of NACM

Andy Bierman <andy@yumaworks.com> Thu, 16 February 2017 20:49 UTC

Return-Path: <andy@yumaworks.com>
X-Original-To: i2rs@ietfa.amsl.com
Delivered-To: i2rs@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 254CB1296A6 for <i2rs@ietfa.amsl.com>; Thu, 16 Feb 2017 12:49:18 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id O3A6yTD_2Mgp for <i2rs@ietfa.amsl.com>; Thu, 16 Feb 2017 12:49:16 -0800 (PST)
Received: from mail-wr0-x22b.google.com (mail-wr0-x22b.google.com [IPv6:2a00:1450:400c:c0c::22b]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2B4C9129569 for <i2rs@ietf.org>; Thu, 16 Feb 2017 12:49:16 -0800 (PST)
Received: by mail-wr0-x22b.google.com with SMTP id c4so19577544wrd.2 for <i2rs@ietf.org>; Thu, 16 Feb 2017 12:49:15 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=iEwP9LXAfe8I4wmva2s0Nl68ixc31TsjUCzILtqSDyA=; b=OJhO2LD+ketJtB7IS1yMv5caDehdnMBHwU8XPmdw3WDLJzKxfLqVmHbUzkrsdS3ud9 4AARpW2TtBdY8kj3hldhMwn4loJR9gT9EjcGFAHVXPf+fW2diZVVWOzadu2Ib6mzAEH1 AkBnDrU/+Hdq67qxtdmp+7VsuxdpMkkYeY186IxyAloV50nxu/3S7FMvpg0YXCNHBT0y vh3P+9sswhCC1EFRClsIU/qqg7v4LGJIzodgtG2JCy1cnSSODYFTer6+ACyAUT0grKqe PiAAWIXp9AUCCA58I7FW5OZQN7zZkIQQlOCOjPOybZ6fYbRe1h6+b84NA3CeCCg1mAaK VuDw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=iEwP9LXAfe8I4wmva2s0Nl68ixc31TsjUCzILtqSDyA=; b=O5xSTWhRPYvf5dUCKbDF44Rr8/TBu382ggAjc+RVxUJ3KdAvMoWwP3rMlEAiR1ERNE aAn27m+CehK9RDvIHUY3cJ64F5vbOg6Mf1bEkovXj3rtvkYZDpDuV09Iodib74Nfihtw 4fmllgmx7FEHR5YzCPb3E7J+S2MbM5rRe/6bSmvvgJ9xdd/FCgebHa3Z7MB302V1lp3U svB1t0UfUSSKswV87jbbFLrVQwhmKr/TerNi7BNvmFk114fB5+W+m2ryohappI1VU4dC lzpPj5xE5Sha7e9dp5nC2U9m3L+39LCZ7thYzERbQtUqRHPQbdqlrNutELHnAXp045U5 jQHQ==
X-Gm-Message-State: AMke39n+NAgXpcZTN2TlEZUpfSE9GP6sPz2fCLXJVRoTnuSVzBQJ3BymJhTTivREANfzJWBfFCeJEzX1jlPrNQ==
X-Received: by 10.223.165.17 with SMTP id i17mr4431758wrb.62.1487278154490; Thu, 16 Feb 2017 12:49:14 -0800 (PST)
MIME-Version: 1.0
Received: by 10.223.165.154 with HTTP; Thu, 16 Feb 2017 12:49:13 -0800 (PST)
In-Reply-To: <054b01d2888d$7aa8e120$6ffaa360$@ndzh.com>
References: <CABCOCHT6E=_ojQvDp+iSd3roShFn3E1VhAyP0dFcP3Q7SLNWag@mail.gmail.com> <054b01d2888d$7aa8e120$6ffaa360$@ndzh.com>
From: Andy Bierman <andy@yumaworks.com>
Date: Thu, 16 Feb 2017 12:49:13 -0800
Message-ID: <CABCOCHQ9QfZY09tWWhu9RhdrgJb3nPc40gj4Atq1EewK4wPfxQ@mail.gmail.com>
To: Susan Hares <shares@ndzh.com>
Content-Type: multipart/alternative; boundary="f403045f1fb014bb6a0548abee17"
Archived-At: <https://mailarchive.ietf.org/arch/msg/i2rs/ui2uyTd5Si6PGFSrMkc7P3E-1qI>
Cc: "i2rs@ietf.org" <i2rs@ietf.org>
Subject: Re: [i2rs] topo model use of NACM
X-BeenThere: i2rs@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: "Interface to The Internet Routing System \(IRS\)" <i2rs.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/i2rs>, <mailto:i2rs-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/i2rs/>
List-Post: <mailto:i2rs@ietf.org>
List-Help: <mailto:i2rs-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/i2rs>, <mailto:i2rs-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 16 Feb 2017 20:49:18 -0000

Hi,

I am most concerned about getting the architecture right.
We have ignored server-created nodes until now.
I am glad I2RS WG is trying to deal with the problem.
Just make sure we have a reusable solution.

Also concerned about tool automation.
There was some discussion of a 'server-created' extension at some point I
think.
This would help, because the server-created leaf is not really
deterministic.
It is just a convention.

e.g.


  container networks {
     list network {
         i2rs:server-created;
         ...
         leaf server-created { ... }
         ...
     }
  }


Andy


On Thu, Feb 16, 2017 at 11:47 AM, Susan Hares <shares@ndzh.com> wrote:

> Andy:
>
> <chair hat off, individual contributor hat on>
>
>
>
> AFAIK – I believe the revised data store model is right approach.   It is
> an important question to ask whether the ability to have a mixture of
> “server-provided” and “configured” is important for all topology models.  I
> hope Xufeng and other topology models will comment on this point.
>
>
>
>
>
> Does the NETCONF data store in the revised data-store future include the
> control plane data stores? I thought the answer was “no” it does not.
>  Here’s some text from draft-ietf-netconf-rfc6536bis that leads me to
> believe that
>
>
>
> On NACM, draft-ietf-netconf-rfc6536bis it says:
>
>
>
>    It is necessary to control access to specific nodes and subtrees
>
>    within the NETCONF datastore, regardless of which protocol operation,
>
>    standard or proprietary, was used to access the datastore.
>
>
> 3.2
> <https://tools.ietf.org/html/draft-ietf-netconf-rfc6536bis-00#section-3.2>.
> Datastore Access
>
>    The same access control rules apply to all datastores, for example,
>
>    the candidate configuration datastore or the running configuration
>
>    datastore.
>
>
>
>    Only the standard NETCONF datastores (candidate, running, and
>
>    startup) are controlled by NACM.  Local or remote files or datastores
>
>    accessed via the <url> parameter are not controlled by NACM.  A
>
>    standalone RESTCONF server (i.e., not co-located with a NETCONF
>
>    server) applies NACM rules to a conceptual datastore, since
>
>    datastores are not supported in RESTCONF.
>
>
>
>
>
> ===========
>
>
>
> The I2RS security environment actually looks at 3 policies on the server
>
>
>
> Network Access ß-à server ß-à routing-system access
>
>               (aka I2RS agent)
>
>                     |ßà System access
>
>
>
> It also looks at application access to the client
>
>
>
>   Network accessßà client ßà application-access
>
>
>
>
>
> The protocol only needs to consider the NACM Access, but the routing
> infrastructure need to consider the server to/from routing system, and
> server to/from system.  My understanding is that the Routing system access
> control module (RACM) and the system access control module (SACM) functions
> were not in NACM.
>
>
>
> Thanks again for posting,
>
>
>
> Sue
>
>
>
> *From:* i2rs [mailto:i2rs-bounces@ietf.org] *On Behalf Of *Andy Bierman
> *Sent:* Thursday, February 16, 2017 2:00 PM
> *To:* i2rs@ietf.org
> *Subject:* [i2rs] topo model use of NACM
>
>
>
> Hi,
>
>
>
> The use of NACM for server-provided data is under-specified (at best)
>
>
>
>
>
> from sec. 4.1:
>
>
>
>    Finally, there is an object "server-provided".  This object is state
>
>    that indicates how the network came into being.  Network data can
>
>    come into being in one of two ways.  In one way, network data is
>
>    configured by client applications, for example in case of overlay
>
>    networks that are configured by an SDN Controller application.  In
>
>    annother way, it is populated by the server, in case of networks that
>
>    can be discovered.
>
>
>
>    If server-provided is set to false, the network was configured by a
>
>    client application, for example in the case of an overlay network
>
>    that is configured by a controller application.  If server-provided
>
>    is set to true, the network was populated by the server itself,
>
>    respectively an application on the server that is able to discover
>
>    the network.  *Client applications SHOULD NOT modify configurations of*
>
> *   networks for which "server-provided" is true.*  When they do, they
>
>    need to be aware that any modifications they make are subject to be
>
>    reverted by the server.  For servers that support NACM (Netconf
>
>    Access Control Model), *data node rules should ideally prevent* write
>
>    access by other clients to network instances for which server-
>
>    provided is set to true.
>
>
>
> The SHOULD NOT above is really odd, considering is not supported by YANG
>
> or the NC/RC protocols.
>
>
>
> "data node rules should ideally prevent"
>
>
>
> s/should/SHOULD/
>
>
>
> Ideally prevent?
>
> Is that a new engineering term?
>
> Either this new usage of NACM works or it doesn't.
>
>
>
> Also, there is no guidance or examples of the NACM config that the
>
> server is supposed to magically create for server-provided topology data.
>
> There is nothing in NACM at all about server-created data rules.
>
> This is not supported by NACM.
>
>
>
> Does the I2RS text imply that the server-provided property extends
>
> to the NACM sub-trees? They are also subject to replacement by the server?
>
> The client SHOULD NOT change these NACM rules?
>
>
>
> IMO the way this server-provided property is being done is a short-sighted
>
> point solution, but this should be a fundamental part of the revised
> datastores work.
>
> Is there something special about network topology such that
>
> server-provided data for a different module will require a different
>
> solution? If not, is the topo module solution reusable?
>
>
>
>
>
> Andy
>
>
>
>
>
>
>