Re: [Netconf] LC on subscribed-notifications-10

Rohit R Ranade <> Sun, 18 March 2018 04:58 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 00A4B126D0C; Sat, 17 Mar 2018 21:58:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -3.662
X-Spam-Status: No, score=-3.662 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, INVALID_MSGID=0.568, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=ham autolearn_force=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id DkH19PkVjHkT; Sat, 17 Mar 2018 21:58:53 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 932D3126CF6; Sat, 17 Mar 2018 21:58:52 -0700 (PDT)
Received: from (unknown []) by Forcepoint Email with ESMTP id 7D3F37A873427; Sun, 18 Mar 2018 04:58:48 +0000 (GMT)
Received: from ( by ( with Microsoft SMTP Server (TLS) id 14.3.382.0; Sun, 18 Mar 2018 04:58:49 +0000
Received: from ([]) by ([]) with mapi id 14.03.0361.001; Sun, 18 Mar 2018 12:58:39 +0800
From: Rohit R Ranade <>
To: Andy Bierman <>, "Eric Voit (evoit)" <>
CC: "" <>, "" <>, "" <>
Thread-Topic: [Netconf] LC on subscribed-notifications-10
Date: Sun, 18 Mar 2018 04:58:39 +0000
Message-ID: 6ADBF186-A27B-4180-9F31-6E83A709D685
References: <> <> <> <> <>, <>
In-Reply-To: <>
Accept-Language: en-US
Content-Language: en-US
Content-Type: multipart/alternative; boundary="_000_6ADBF186A27B41809F316E83A709D685_"
MIME-Version: 1.0
X-CFilter-Loop: Reflected
Archived-At: <>
Subject: Re: [Netconf] LC on subscribed-notifications-10
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Sun, 18 Mar 2018 04:58:55 -0000

hi all,

If user has permission to read on parent but not child, and if user has subscription filter on parent, the user should be able to get changes on parent ONLY even if both parent and child were modified..
So I feel nacm rules need to be applied at the time of generating push updates..user should not get any updates if only child is updated.. this will be my expectation as an user..

From:Andy Bierman
To:Eric Voit (evoit),,,,
Date:2018-03-14 22:23:10
Subject:Re: [Netconf] LC on subscribed-notifications-10

On Wed, Mar 14, 2018 at 8:35 AM, Eric Voit (evoit) <<>> wrote:
(reducing to the single open item, and adding Andy + Alex to the "to")

> From: Martin Bjorklund, March 14, 2018 9:59 AM
> Hi,
> "Eric Voit (evoit)" <<>> wrote:
> > Hi Martin,
> >
> > But for
> > subscription to event streams, it is assumed that any event records
> > placed on a stream permitted for that receiver is authorized content
> > (just like RFC-5277).
> Hmm.  This is not how it is defined in RFC 5277:

Agree.   I should not have said "just like 5277".   More below.

>    After generation of the <notification> element, access control is
>    applied by the server.  If a session does not have permission to
>    receive the <notification>, then it is discarded for that session,
>    and processing of the internal event is completed for that session.
> Also, NACM is designed to drop notifications that the client doesn't have
> access to.

A few years ago during early discussions, Alex and I remember Andy asking that per receiver access control not be applied to traffic coming out of a stream.    We took that to mean that a receiver should get all the event records on a stream, without any per-notification filtering.  This is what drove the current text.

Per RFC-6536, section 3.4.6., the outgoing <notification> authorization is able to look at the notification event type, and if a receiver is authorized to receive the notification event type, then it is also authorized to receive any data it contains.

Reconsidering this, perhaps Alex and I interpreted Andy's intent wrong.  And Andy actually requested the current event type behavior which NACM can currently perform on the RFC-5277 NETCONF event stream, but no other filtering of event records beyond that.

I think the notification event type filtering is still applicable.

I remember some discussions about applying NACM to YANG Push subscriptions.
Of course the client needs permission to receive <push-update> events.
The issue for YP is that this is the only access control provided.

In order to support NACM for the contents of <push-update> events, the client
MUST have permission to read every data node specified in the filters for
a subscription. This is checked when the subscription is configured or activated.
If a filter-ref filter is changed so this is no longer true, then the server MUST
suspend or terminate the subscription.

IMO even this is quite an implementation burden, but less than having the
server check NACM rules for every descendant node of every edited node for every

If that is the case, and this capability is desired by the WG, Alex and I would be happy to replicate the relevant text from RFC-5277 section 3.2 to draft-ietf-netconf-subscribed-notifications to cover this.



> > Effects like this are why the two drafts, as well as the YANG model
> > targets and filters for datastores and to streams have been separated.
> >
> > > Your statement:
> > >
> > >   Access control is to the stream rather than the content.
> > >
> > > seems to imply that in order to subscribe to changes to the
> > > datastore, you need full access to all nodes covered by the filter.
> >
> > As a stream and a datastore are different, hopefully my comment above
> > clears this up.
> >
> > Eric
> > > /martin
> /martin