<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:ietf:params:xml:ns:yang:yin:1" xmlns:nacm="urn:ietf:params:xml:ns:yang:ietf-netconf-acm" xmlns:yang="urn:ietf:params:xml:ns:yang:ietf-yang-types" name="ietf-netconf-acm-when">
  <namespace uri="urn:ietf:params:xml:ns:yang:ietf-netconf-acm"/>
  <prefix value="nacm"/>
  <import module="ietf-yang-types">
    <prefix value="yang"/>
  </import>
  <organization>
    <text>IETF NETCONF (Network Configuration) Working Group</text>
  </organization>
  <contact>
    <text>WG Web:   &lt;http://tools.ietf.org/wg/netconf/&gt;
WG List:  &lt;mailto:netconf@ietf.org&gt;

WG Chair: Mehmet Ersue
          &lt;mailto:mehmet.ersue@nsn.com&gt;

WG Chair: Bert Wijnen
          &lt;mailto:bertietf@bwijnen.net&gt;

Editor:   Andy Bierman
          &lt;mailto:andy@yumaworks.com&gt;

Editor:   Martin Bjorklund
          &lt;mailto:mbj@tail-f.com&gt;</text>
  </contact>
  <description>
    <text>NETCONF Access Control Model.

Copyright (c) 2012 IETF Trust and the persons identified as
authors of the code.  All rights reserved.

Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD
License set forth in Section 4.c of the IETF Trust's
Legal Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info).

This version of this YANG module is part of RFC 6536; see
the RFC itself for full legal notices.</text>
  </description>
  <revision date="2012-02-22">
    <description>
      <text>Initial version</text>
    </description>
    <reference>
      <text>RFC 6536: Network Configuration Protocol (NETCONF)
          Access Control Model</text>
    </reference>
  </revision>
  <extension name="default-deny-write">
    <description>
      <text>Used to indicate that the data model node
represents a sensitive security system parameter.

If present, and the NACM module is enabled (i.e.,
/nacm/enable-nacm object equals 'true'), the NETCONF server
will only allow the designated 'recovery session' to have
write access to the node.  An explicit access control rule is
required for all other users.

The 'default-deny-write' extension MAY appear within a data
definition statement.  It is ignored otherwise.</text>
    </description>
  </extension>
  <extension name="default-deny-all">
    <description>
      <text>Used to indicate that the data model node
controls a very sensitive security system parameter.

If present, and the NACM module is enabled (i.e.,
/nacm/enable-nacm object equals 'true'), the NETCONF server
will only allow the designated 'recovery session' to have
read, write, or execute access to the node.  An explicit
access control rule is required for all other users.

The 'default-deny-all' extension MAY appear within a data
definition statement, 'rpc' statement, or 'notification'
statement.  It is ignored otherwise.</text>
    </description>
  </extension>
  <typedef name="user-name-type">
    <type name="string">
      <length value="1..max"/>
    </type>
    <description>
      <text>General Purpose Username string.</text>
    </description>
  </typedef>
  <typedef name="matchall-string-type">
    <type name="string">
      <pattern value="\*"/>
    </type>
    <description>
      <text>The string containing a single asterisk '*' is used
to conceptually represent all possible values
for the particular leaf using this data type.</text>
    </description>
  </typedef>
  <typedef name="access-operations-type">
    <type name="bits">
      <bit name="create">
        <description>
          <text>Any protocol operation that creates a
new data node.</text>
        </description>
      </bit>
      <bit name="read">
        <description>
          <text>Any protocol operation or notification that
returns the value of a data node.</text>
        </description>
      </bit>
      <bit name="update">
        <description>
          <text>Any protocol operation that alters an existing
data node.</text>
        </description>
      </bit>
      <bit name="delete">
        <description>
          <text>Any protocol operation that removes a data node.</text>
        </description>
      </bit>
      <bit name="exec">
        <description>
          <text>Execution access to the specified protocol operation.</text>
        </description>
      </bit>
    </type>
    <description>
      <text>NETCONF Access Operation.</text>
    </description>
  </typedef>
  <typedef name="group-name-type">
    <type name="string">
      <length value="1..max"/>
      <pattern value="[^\*].*"/>
    </type>
    <description>
      <text>Name of administrative group to which
users can be assigned.</text>
    </description>
  </typedef>
  <typedef name="action-type">
    <type name="enumeration">
      <enum name="permit">
        <description>
          <text>Requested action is permitted.</text>
        </description>
      </enum>
      <enum name="deny">
        <description>
          <text>Requested action is denied.</text>
        </description>
      </enum>
    </type>
    <description>
      <text>Action taken by the server when a particular
rule matches.</text>
    </description>
  </typedef>
  <typedef name="node-instance-identifier">
    <type name="yang:xpath1.0"/>
    <description>
      <text>Path expression used to represent a special
data node instance identifier string.

A node-instance-identifier value is an
unrestricted YANG instance-identifier expression.
All the same rules as an instance-identifier apply
except predicates for keys are optional.  If a key
predicate is missing, then the node-instance-identifier
represents all possible server instances for that key.

This XPath expression is evaluated in the following context:

 o  The set of namespace declarations are those in scope on
    the leaf element where this type is used.

 o  The set of variable bindings contains one variable,
    'USER', which contains the name of the user of the current
     session.

 o  The function library is the core function library, but
    note that due to the syntax restrictions of an
    instance-identifier, no functions are allowed.

 o  The context node is the root node in the data tree.</text>
    </description>
  </typedef>
  <container name="nacm">
    <nacm:default-deny-all/>
    <description>
      <text>Parameters for NETCONF Access Control Model.</text>
    </description>
    <leaf name="enable-nacm">
      <type name="boolean"/>
      <default value="true"/>
      <description>
        <text>Enables or disables all NETCONF access control
enforcement.  If 'true', then enforcement
is enabled.  If 'false', then enforcement
is disabled.</text>
      </description>
    </leaf>
    <leaf name="read-default">
      <type name="action-type"/>
      <default value="permit"/>
      <description>
        <text>Controls whether read access is granted if
no appropriate rule is found for a
particular read request.</text>
      </description>
    </leaf>
    <leaf name="write-default">
      <type name="action-type"/>
      <default value="deny"/>
      <description>
        <text>Controls whether create, update, or delete access
is granted if no appropriate rule is found for a
particular write request.</text>
      </description>
    </leaf>
    <leaf name="exec-default">
      <type name="action-type"/>
      <default value="permit"/>
      <description>
        <text>Controls whether exec access is granted if no appropriate
rule is found for a particular protocol operation request.</text>
      </description>
    </leaf>
    <leaf name="enable-external-groups">
      <type name="boolean"/>
      <default value="true"/>
      <description>
        <text>Controls whether the server uses the groups reported by the
NETCONF transport layer when it assigns the user to a set of
NACM groups.  If this leaf has the value 'false', any group
names reported by the transport layer are ignored by the
server.</text>
      </description>
    </leaf>
    <leaf name="denied-operations">
      <type name="yang:zero-based-counter32"/>
      <config value="false"/>
      <mandatory value="true"/>
      <description>
        <text>Number of times since the server last restarted that a
protocol operation request was denied.</text>
      </description>
    </leaf>
    <leaf name="denied-data-writes">
      <type name="yang:zero-based-counter32"/>
      <config value="false"/>
      <mandatory value="true"/>
      <when value="../denied-operations > 0"/>
      <description>
        <text>Number of times since the server last restarted that a
protocol operation request to alter
a configuration datastore was denied.</text>
      </description>
    </leaf>
    <leaf name="denied-notifications">
      <type name="yang:zero-based-counter32"/>
      <config value="false"/>
      <mandatory value="true"/>
      <description>
        <text>Number of times since the server last restarted that
a notification was dropped for a subscription because
access to the event type was denied.</text>
      </description>
    </leaf>
    <container name="groups">
      <description>
        <text>NETCONF Access Control Groups.</text>
      </description>
      <list name="group">
        <key value="name"/>
        <description>
          <text>One NACM Group Entry.  This list will only contain
configured entries, not any entries learned from
any transport protocols.</text>
        </description>
        <leaf name="name">
          <type name="group-name-type"/>
          <description>
            <text>Group name associated with this entry.</text>
          </description>
        </leaf>
        <leaf-list name="user-name">
          <type name="user-name-type"/>
          <description>
            <text>Each entry identifies the username of
a member of the group associated with
this entry.</text>
          </description>
        </leaf-list>
      </list>
    </container>
    <list name="rule-list">
      <key value="name"/>
      <ordered-by value="user"/>
      <description>
        <text>An ordered collection of access control rules.</text>
      </description>
      <leaf name="name">
        <type name="string">
          <length value="1..max"/>
        </type>
        <description>
          <text>Arbitrary name assigned to the rule-list.</text>
        </description>
      </leaf>
      <leaf-list name="group">
        <type name="union">
          <type name="matchall-string-type"/>
          <type name="group-name-type"/>
        </type>
        <description>
          <text>List of administrative groups that will be
assigned the associated access rights
defined by the 'rule' list.

The string '*' indicates that all groups apply to the
entry.</text>
        </description>
      </leaf-list>
      <list name="rule">
        <key value="name"/>
        <ordered-by value="user"/>
        <description>
          <text>One access control rule.

Rules are processed in user-defined order until a match is
found.  A rule matches if 'module-name', 'rule-type', and
'access-operations' match the request.  If a rule
matches, the 'action' leaf determines if access is granted
or not.</text>
        </description>
        <leaf name="name">
          <type name="string">
            <length value="1..max"/>
          </type>
          <description>
            <text>Arbitrary name assigned to the rule.</text>
          </description>
        </leaf>
        <leaf name="module-name">
          <type name="union">
            <type name="matchall-string-type"/>
            <type name="string"/>
          </type>
          <default value="*"/>
          <description>
            <text>Name of the module associated with this rule.

This leaf matches if it has the value '*' or if the
object being accessed is defined in the module with the
specified module name.</text>
          </description>
        </leaf>
        <choice name="rule-type">
          <description>
            <text>This choice matches if all leafs present in the rule
match the request.  If no leafs are present, the
choice matches all requests.</text>
          </description>
          <case name="protocol-operation">
            <leaf name="rpc-name">
              <type name="union">
                <type name="matchall-string-type"/>
                <type name="string"/>
              </type>
              <description>
                <text>This leaf matches if it has the value '*' or if
its value equals the requested protocol operation
name.</text>
              </description>
            </leaf>
          </case>
          <case name="notification">
            <leaf name="notification-name">
              <type name="union">
                <type name="matchall-string-type"/>
                <type name="string"/>
              </type>
              <description>
                <text>This leaf matches if it has the value '*' or if its
value equals the requested notification name.</text>
              </description>
            </leaf>
          </case>
          <case name="data-node">
            <leaf name="path">
              <type name="node-instance-identifier"/>
              <mandatory value="true"/>
              <description>
                <text>Data Node Instance Identifier associated with the
data node controlled by this rule.

Configuration data or state data instance
identifiers start with a top-level data node.  A
complete instance identifier is required for this
type of path value.

The special value '/' refers to all possible
datastore contents.</text>
              </description>
            </leaf>
          </case>
        </choice>
        <leaf name="access-operations">
          <type name="union">
            <type name="matchall-string-type"/>
            <type name="access-operations-type"/>
          </type>
          <default value="*"/>
          <description>
            <text>Access operations associated with this rule.

This leaf matches if it has the value '*' or if the
bit corresponding to the requested operation is set.</text>
          </description>
        </leaf>
        <leaf name="action">
          <type name="action-type"/>
          <mandatory value="true"/>
          <description>
            <text>The access control action associated with the
rule.  If a rule is determined to match a
particular request, then this object is used
to determine whether to permit or deny the
request.</text>
          </description>
        </leaf>
        <leaf name="comment">
          <type name="string"/>
          <description>
            <text>A textual description of the access rule.</text>
          </description>
        </leaf>
      </list>
    </list>
  </container>
</module>
