<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.6.5 (Ruby 2.7.0) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>


<rfc ipr="trust200902" docName="draft-ma-opsawg-ucl-acl-01" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="A Policy-based NACL">A Policy-based Network Access Control</title>

    <author fullname="Qiufang Ma">
      <organization>Huawei</organization>
      <address>
        <postal>
          <street>101 Software Avenue, Yuhua District</street>
          <city>Jiangsu</city>
          <code>210012</code>
          <country>China</country>
        </postal>
        <email>maqiufang1@huawei.com</email>
      </address>
    </author>
    <author fullname="Qin Wu">
      <organization>Huawei</organization>
      <address>
        <postal>
          <street>101 Software Avenue, Yuhua District</street>
          <city>Jiangsu</city>
          <code>210012</code>
          <country>China</country>
        </postal>
        <email>bill.wu@huawei.com</email>
      </address>
    </author>
    <author fullname="Mohamed Boucadair">
      <organization>Orange</organization>
      <address>
        <postal>
          <city>Rennes</city>
          <code>35000</code>
          <country>France</country>
        </postal>
        <email>mohamed.boucadair@orange.com</email>
      </address>
    </author>
    <author fullname="Daniel King">
      <organization>Old Dog Consulting</organization>
      <address>
        <postal>
          <country>United Kingdom</country>
        </postal>
        <email>daniel@olddog.co.uk</email>
      </address>
    </author>

    <date year="2023" month="February" day="13"/>

    <area>Operations and Management</area>
    <workgroup>OPSAWG</workgroup>
    <keyword>ACL</keyword> <keyword>Policy-based</keyword> <keyword>BYOD</keyword> <keyword>Access control</keyword>

    <abstract>


<t>This document defines a YANG module for policy-based network access
   control, which provides consistent and efficient enforcement of
   network access control policies based on group identity.  In
   addition, this document defines a mechanism to ease the maintenance
   of the mapping between a user-group ID and a set of IP/MAC addresses
   to enforce policy-based network access control.</t>

<t>Also, the document defines a common schedule YANG module which is
   designed to be applicable for policy activation based on date and
   time conditions.</t>

<t>In addition, the document defines a RADIUS attribute that is used to
   communicate the user group identifier as part of identification and
   authorization information.</t>



    </abstract>



  </front>

  <middle>


<section anchor="introduction"><name>Introduction</name>

<t>With the increased adoption of remote access technologies (e.g.,
   Virtual Private Networks (VPNs)) and Bring Your Own Device (BYOD)
   policies, enterprises adopted more flexibility related to how, where,
   and when employees work and collaborate.  However, more flexibility
   comes with increased risks.  Enabling office flexibility (e.g.,
   mobility across many access locations) for large-scale employees
   induces a set of challenges compared to conventional network access
   management approaches.  Examples of such challenges are listed below:</t>

<t><list style="symbols">
  <t>Endpoints do not have a stable IP address.  For example, Wireless
LAN (WLAN) and VPN clients, as well as back-end Virtual Machine
(VM)-based servers, can move; their IP addresses could change as a
result.  This means that relying on IP/transport fields (e.g., the
5-tuple) is inadequate to ensure consistent and efficient security
policy enforcement.  IP address-based policies may not be flexible
enough to accommodate endpoints with volatile IP addresses.</t>
  <t>With the massive adoption of teleworking, there is now a need to
apply different security policies to the same set of users under
different circumstances (e.g., prevent relaying attacks against a
local attachment point to the Enterprise network).  For example,
network access might be granted based upon criteria such as users'
access location, source network reputation, users' role, time-of-
day, type of network device used (e.g., corporate issued device
versus personal device), device's security posture, etc.  This
means the network needs to recognize the users' identity and their
current context, and map the users to their correct access
entitlement to the network.</t>
</list></t>

<t>This document defines a common schedule YANG module which is designed
   to be applicable for policy activation based on date and time
   condition.  This model can be used in other scheduling contexts.</t>

<t>The document also defines a YANG module for policy-based Network
   Access Control (<xref target="NIST-ABAC"/>), which extends the IETF Access Control
   Lists (ACLs) module defined in <xref target="RFC8519"/>.  This module defined in
   <xref target="sec-UCL"/> is meant to ensure consistent enforcement of ACL policies
   based on group identity. In addition, this document defines a
   mechanism to establish a mapping between the user-group ID and common
   IP packet headers and other enclosed packet data (e.g., MAC address)
   to execute the policy-based access control.</t>

<t>Last, the document defines a RADIUS attribute that is used to
   communicate the user group identifier as part of identification and
   authorization information (<xref target="sec-radius"/>).</t>

<t>As the ACL notion has been generalized, not to be device-specific,
   but also be defined at network/administrative domain
   levels <xref target="I-D.dbb-netmod-acl"/>, the YANG module for policy-based network
   access control defined in this document does not limit how it can be
   used.</t>

</section>
<section anchor="conventions-and-definitions"><name>Conventions and Definitions</name>

<t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>

<t>The meanings of the symbols in tree diagrams are defined in
   <xref target="RFC8340"/>.</t>

<t>The document uses the terms defined in <xref target="RFC8519"/>.</t>

<t>In the current version of the draft, the term "endpoint" refers also
   to a host device or end user that actually connect to a network. While
   host device here refers to servers, IoTs and other devices owned by the
   enterprise.</t>

</section>
<section anchor="sample-usage"><name>Sample Usage</name>

<t>Access to some networks (e.g., Enterprise Networks) require to
   recognize the users' identities no matter how, where, and when they
   connect to the network resources.  Then, the network maps the
   (conencting) users to their access authorization rights.  Such rights
   are defined following local policies.  As discussed in the
   introduction, because there is a large number of users and the source
   IP addresses of the same user are in different network segments,
   deploying a network access control policy for each IP address or
   network segment is heavy workload.  An alternative approach is to
   configure endpoint groups to classify users and enterprise devices
   and associate ACLs with endpoint groups so that endpoint in each
   group can share a group of ACL rules.  This approach greatly reduces
   the workload of the administrators and optimizes the ACL resources.
   The Network ACLs (NACLs) can be provisioned on devices using specific
   mechanisms, such as <xref target="RFC8519"/> or <xref target="I-D.dbb-netmod-acl"/>.</t>

<t>Network access control policies may need to vary over time.  For
   example, companies may restrict/grant employees access to specific
   resources (internal and/or external resources) during work hours,
   while another policy is adopted during off-hours and weekends.  A
   network administrator may also require to enforce traffic shaping
   (Section 2.3.3.3 of <xref target="RFC2475"/>) and policing (Section 2.3.3.4 of
   <xref target="RFC2475"/>) during peak hours in order not to affect other data
   services.</t>

</section>
<section anchor="policy-based-network-access-control"><name>Policy-based Network Access Control</name>

<section anchor="overview"><name>Overview</name>

<t>To provide real-time and consistent enforcement of access control
   policies, the following functional entities and interfaces are
   involved:</t>

<t><list style="symbols">
  <t>A Service Orchestrator which coordinates the overall service,
including security policies.  The service may be connectivity or
any other resources that can be hosted and offerd by a newtork.</t>
  <t>The SDN Controller is responsible for maintaining endpoint-group
based ACLs and mapping the endpoint-group to the associated
attributes information (e.g., IP/MAC address).  The SDN Controller
also works as the Policy Decision Point (PDP) <xref target="RFC3198"/> and pushes
the required access control policies to relevant PEPs (Policy
Enforcement Points) that need them.  A PDP is also known as
"policy server" <xref target="RFC2753"/>.  <vspace blankLines='1'/>
The SDN Controller may interact with AAA server or NAS.</t>
  <t>A Network Access Server (NAS) entity which handles authentication
requests.  The NAS interacts with an AAA server to complete user
authentication using Remote Authentication Dial-in User Service
(RADIUS) <xref target="RFC2865"/>.  When access is granted, the AAA server
provides the group identifier (group ID) to which the user belongs
when the user first logs onto the network.  A new attribute is
defined in <xref target="sec-radius"/>.</t>
  <t>The Policy Enforcement Point (PEP) <xref target="RFC3198"/> is the central entity
which is responsible for enforcing appropriate access control
policies.  In some cases, A PEP may map incoming packets to their
associated source or destination endpoint-group IDs, and acts on
the endpoint-group ID based ACL policies, e.g., a NAS as the PEP
or a group identifier could be carried in packet header (see
Section 6.2.3 in <xref target="I-D.ietf-nvo3-encap"/>).  While in other cases,
the SDN controller maps group ID to the related common packet
header and delivers IP/MAC address based ACL policies to the
required PEPs.  <vspace blankLines='1'/>
Multiple PEPs can be involved in a network.  <vspace blankLines='1'/>
A PEP exposes a NETCONF interface to the SDN Controller <xref target="RFC6241"/>.</t>
</list></t>

<t><xref target="arch"/> provides the overall architecture and procedure for policy-
   based access control management.</t>

<figure title="An Architecture for Group-based Policy Management" anchor="arch"><artwork align="center"><![CDATA[
                                         +------------+
                                         |Orchestrator|
                                         +------+-----+
       Service                                  | (Step 1)
      ------------------------------------------+-------------
      ------------------------------------------+-------------
       Network                                  |
                                 (Step 4)       |
       +-------+        +--------+     +--------+-----------+
       |User #1+--+     | AAA    |     |    SDN Controller  |
       +-------+  |     | Server +-----+        (PDP)       |
                  |     +----+---+     +--------+-----------+
                  |          |                  |
                  |          |           +---------------+(Step 5)
        (Step 2)  |          |(Step 3)   |               |
                  |          |           |               |
                  |        +-+-----------+---------------+------------+
                  |        | +----------------------+   +------------+|
       +-------+  +--------+ | Network Access Server|   |firewall,etc||
       |User #2+-----------+ |       (NAS)          |   +------------+|
       +-------+           | +----------------------+                 |
                           |                     (PEP)                |
                           +------------------------------------------+
]]></artwork></figure>

<t>In reference to <xref target="arch"/>, the following typical flow is experienced:</t>

<t>Step 1:  Administrators (or the Orchestrator) configure an SDN
      controller with network-level ACLs using the YANG module defined
      in <xref target="sec-UCL"/>.</t>

<t>Step 2:  When a user first logs onto the network, the user is
      required to be authenticated (e.g., using user name and password)
      at the NAS.</t>

<t>Step 3:  The authentication request is then relayed to the AAA server
      using RADIUS <xref target="RFC2865"/>.  It is assumed that the AAA server has
      been appropriately configured to store user credentials, e.g.,
      user name, password, group information and other user attributes.
      If the authentication request succeeds, the user is placed in a
      user-group which is returned to the network access server as the
      authentication result (see <xref target="sec-radius"/>).
      If the authentication fails, the user is not assigned a user-
      group, which also means that the user has no or limited access
      permissions for the network (as a fucntion of the local policy).
      ACLs are enforced so that flows from that IP address are discarded
      (or rate-limited) by the network.  In some implementations, AAA
      server can be integrated with an SDN controller.</t>

<t>Step 4:  Either the AAA server or the NAS notify the SDN controller
      the mapping between the user-group ID and related common packet
      header attributes (e.g., IP/MAC address).</t>

<t>Step 5:  Either group or IP/MAC address based access control policies
      are maintained on relevant PEPs under the controller's management.</t>

</section>
<section anchor="endpoint-group"><name>Endpoint Group</name>

<section anchor="user-group"><name>User Group</name>

<t>The user-group ID is an identifier that represents the collective
   identity of a group of users.  It is determined by a set of
   predefined policy criteria (e.g., source IP address, geolocation
   data, time of day, or device certificate).  Users may be moved to
   different user-groups if their composite attributes, environment,
   and/or local enterprise policy change.</t>

<t>A user is authenticated, and classified at the AAA server, and
   assigned to a user-group.  A user's group membership may change as
   aspects of the user change.  For example, if the user-group
   membership is determined solely by the source IP address, then a
   given user's user-group ID will change when the user moves to a new
   IP address that falls outside of the range of addresses of the
   previous user-group.</t>

<t>This document does not make any assumption about how user groups are
   defined.  Such considerations are deployment specific and are out of
   scope.  However, and for illustration purposes, <xref target="ug-example"/> shows
   an example of how user-group definitions may be characterized. User-
   groups may share several common criteria.  That is, user-group
   criteria are not mutually exclusive.  For example, the policy
   criteria of user-groups R&amp;D Regular and R&amp;D BYOD may share the same
   set of users that belong to the R&amp;D organization, and differ only in
   the type of clients (firm-issued clients vs. users' personal
   clients).  Likewise, the same user may be assigned to different user-
   groups depending on the time of day or the type of day (e.g.,
   weekdays versus weekends), etc.</t>

<texttable title="User-Group Example" anchor="ug-example">
      <ttcol align='left'>Group Name</ttcol>
      <ttcol align='left'>Group ID</ttcol>
      <ttcol align='left'>Group Role</ttcol>
      <c>R&amp;D</c>
      <c>10</c>
      <c>R&amp;D employees</c>
      <c>R&amp;D BYOD</c>
      <c>11</c>
      <c>Personal devices of R&amp;D employees</c>
      <c>Sales</c>
      <c>20</c>
      <c>Sales employees</c>
      <c>VIP</c>
      <c>30</c>
      <c>VIP employees</c>
</texttable>

</section>
<section anchor="device-group"><name>Device Group</name>

<t>The device-group ID is an identifier that represents the collective
   identity of a group of enterprise end devices.  An enterprise device
   could be an server that hosts applications or software that deliver
   services to enterprise users.  It could also be an enterprise IoT
   device that serve a limited purpose, e.g., a printer that allows
   users to scan, print and send emails. <xref target="dg-example"/> shows an example
   of how device-group definitions may be characterized.</t>

<texttable title="Device-Group Example" anchor="dg-example">
      <ttcol align='left'>Group Name</ttcol>
      <ttcol align='left'>Group ID</ttcol>
      <ttcol align='left'>Group Type</ttcol>
      <c>Workflow</c>
      <c>40</c>
      <c>Workflow  resource servers</c>
      <c>R&amp;D Resource</c>
      <c>50</c>
      <c>R&amp;D resource servers</c>
      <c>Sales Resource</c>
      <c>54</c>
      <c>Sales resource servers</c>
</texttable>

<t>Users accessing to enterprise device should be strictly controlled.
   Matching abstract device group ID instead of specified addresses in
   ACL polices helps shield the consequences of address change (e.g.,
   back-end Virtual Machine (VM)-based server migration).</t>

</section>
</section>
</section>
<section anchor="yang-modules"><name>YANG Modules</name>

<section anchor="the-schedule-yang-module"><name>The Schedule YANG Module</name>

<t>This module defines a common schedule YANG module.  It is inspired
   from the "period of time" and "recurrence rule" format defined in
   <xref target="RFC5545"/>.</t>

<t>This module is defined as a standalone module rather than in the UCL
   module with the intention that the time/date definition can be
   reused.</t>

<section anchor="module-overview"><name>Module Overview</name>

<t><xref target="schedule-tree"/> provides an overview of the tree structure of the "ietf-
   schedule" module.</t>

<figure title="UCL Tree Diagram" anchor="schedule-tree"><artwork align="center"><![CDATA[
module: ietf-schedule

  grouping period
    +-- period-of-time
       +-- (forms)?
          +--:(period-explicit)
          |  +-- explicit-start?   yang:date-and-time
          |  +-- explicit-end?     yang:date-and-time
          +--:(period-start)
             +-- start?            yang:date-and-time
             +-- duration?         yang:time-no-zone
  grouping recurrence
    +-- recurrence
       +-- freq           enumeration
       +-- (until-or-count)?
       |  +--:(until)
       |  |  +-- until?   union
       |  +--:(count)
       |     +-- count?   uint32
       +-- interval?      uint32
       +-- bysecond*      uint32
       +-- byminute*      uint32
       +-- byhour*        uint32
       +-- byday* [weekday]
       |  +-- direction?   int32
       |  +-- weekday?     schedule:weekday
       +-- bymonthday*    int32
       +-- byyearday*     int32
       +-- byyearweek*    int32
       +-- byyearmonth*   uint32
       +-- bysetpos*      int32
       +-- wkst*          schedule:weekday
]]></artwork></figure>

</section>
<section anchor="the-yang-module"><name>The YANG Module</name>

<t>This module imports types defined in <xref target="I-D.ietf-netmod-rfc6991-bis"/>.</t>

<figure><artwork><![CDATA[
<CODE BEGINS>
file="ietf-schedule@2023-01-19.yang"
module ietf-schedule {
  yang-version 1.1;
  namespace "urn:ietf:params:xml:ns:yang:ietf-schedule";
  prefix schedule;

  import ietf-yang-types {
    prefix yang;
    revision-date 2023-01-23;
    reference
      "RFC XXXX: Common YANG Data Types";
  }

  organization
    "IETF OPSAWG Working Group";
  contact
    "WG Web: <https://datatracker.ietf.org/wg/opsawg/>
     WG List: <mailto:opsawg@ietf.org>";
  description
    "This YANG module defines two properties of an iSchedule
     object:period of time and recurrence rule.

     Copyright (c) 2023 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 Revised
     BSD License set forth in Section 4.c of the IETF Trust's
     Legal Provisions Relating to IETF Documents
     (https://trustee.ietf.org/license-info).

     This version of this YANG module is part of RFC XXXX
     (https://www.rfc-editor.org/info/rfcXXXX); see the RFC
     itself for full legal notices.";

  revision 2023-01-19 {
    description
      "Initial revision.";
    reference
      "RFC XXXX: A Policy-based Network Access Control";
  }

  typedef weekday {
    type enumeration {
      enum sunday {
        description
          "Sunday of the week.";
      }
      enum monday {
        description
          "Monday of the week.";
      }
      enum tuesday {
        description
          "Tuesday of the week.";
      }
      enum wednesday {
        description
          "Wednesday of the week.";
      }
      enum thursday {
        description
          "Thursday of the week.";
      }
      enum friday {
        description
          "Friday of the week.";
      }
      enum saturday {
        description
          "Saturday of the week.";
      }
    }
    description
      "Seven days of the week.";
  }

  grouping period {
    description
      "This grouping is defined for period of time property.";
    container period-of-time {
      description
        "This container is defined to identify period values that
         contain a precise period of time.";
      choice forms {
        description
          "Two forms of period of time.";
        case period-explicit {
          description
            "A period of time is identified by its start and its
             end.";
          leaf explicit-start {
            type yang:date-and-time;
            description
              "Period start time.";
          }
          leaf explicit-end {
            type yang:date-and-time;
            description
              "Period end time.";
          }
        }
        case period-start {
          description
            "A period of time is defined by a start and a
             positive duration of time.";
          leaf start {
            type yang:date-and-time;
            description
              "Period start time.";
          }
          leaf duration {
            type yang:time-no-zone;
            description
              "Duration of the time.";
          }
        }
      }
    }
  }

  grouping recurrence {
    description
      "This grouping is defined to identify properties that
       contain a recurrence rule specification";
    container recurrence {
      description
        "Recurrence rule definition.";
      leaf freq {
        type enumeration {
          enum secondly {
            value 1;
            description
              "Repeating events based on an interval of a second
               or more.";
          }
          enum minutely {
            value 2;
            description
              "Repeating events based on an interval of a minute
               or more.";
          }
          enum hourly {
            value 3;
            description
              "Repeating events based on an interval of an hour
               or more.";
          }
          enum daily {
            value 4;
            description
              "Repeating events based on an interval of a day or
               more.";
          }
          enum weekly {
            value 5;
            description
              "Repeating events based on an interval of a week or
               more.";
          }
          enum monthly {
            value 6;
            description
              "Repeating events based on an interval of a month or
               more.";
          }
          enum yearly {
            value 7;
            description
              "Repeating events based on an interval of a year or
               more.";
          }
        }
        mandatory true;
        description
          "This parameter is defined to identify the type of
           recurrence rule.";
      }
      choice until-or-count {
        description
          "Modes to bound the recurrence rule.";
        case until {
          description
            "This case defines a way that bounds the recurrence
             rule in a inclusive manner.";
          leaf until {
            type union {
              type yang:date-no-zone;
              type yang:date-and-time;
            }
            description
              "This parameter specifies a date-no-zone or
               date-time value to bounds the recurrence.";
          }
        }
        case count {
          description
            "This case defines the number of occurrences at which
             to range-bound the recurrence.";
          leaf count {
            type uint32;
            description
              "The positive number of occurrences at which to
               range-bound the recurrence.";
          }
        }
      }
      leaf interval {
        type uint32;
        default "1";
        description
          "A positive integer representing at which intervals the
           recurrence rule repeats.";
      }
      leaf-list bysecond {
        type uint32 {
          range "0..60";
        }
        description
          "A list of seconds within a minute.";
      }
      leaf-list byminute {
        type uint32 {
          range "0..59";
        }
        description
          "A list of minutes within an hour.";
      }
      leaf-list byhour {
        type uint32 {
          range "0..23";
        }
        description
          "Specify a list of hours of the day.";
      }
      list byday {
        key "weekday";
        description
          "Specify a list of days of the week.";
        leaf direction {
          when '(enum-value(../../freq) >= 6) and ' +
            '(enum-value(../../freq) = 7) and not(../../byyearweek)';
          type int32 {
            range "-53..-1|1..53";
          }
          description
            "When specified, it indicates the nth occurrence of a
             specific day within the MONTHLY or YEARLY 'RRULE'.";
        }
        leaf weekday {
          type schedule:weekday;
          description
            "Corresponding to seven days of the week.";
        }
      }
      leaf-list bymonthday {
        type int32 {
          range "-31..-1|1..31";
        }
        description
          "Specifies a list of days of the month.";
      }
      leaf-list byyearday {
        type int32 {
          range "-366..-1|1..366";
        }
        description
          "Specifies a list of days of the year.";
      }
      leaf-list byyearweek {
        when 'enum-value(../freq)=7';
        type int32 {
          range "-53..-1|1..53";
        }
        description
          "Specifies a list of weeks of the year.";
      }
      leaf-list byyearmonth {
        type uint32 {
          range "1..12";
        }
        description
          "Specifies a list of months of the year.";
      }
      leaf-list bysetpos {
        type int32 {
          range "-366..-1|1..366";
        }
        description
          "Specifies a list of values that corresponds to the nth
           occurrence within the set of recurrence instances
           specified by the rule.";
      }
      leaf-list wkst {
        type schedule:weekday;
        default "monday";
        description
          "Specifies the day on which the workweek starts.";
      }
    }
  }
}
<CODE ENDS>
]]></artwork></figure>

</section>
</section>
<section anchor="sec-UCL"><name>The UCL Extension to the ACL Model</name>

<section anchor="module-overview-1"><name>Module Overview</name>

<t><xref target="ucl-tree"/> provides the tree strcuture of the "ietf-ucl-acl" module.</t>

<figure title="UCL Extension" anchor="ucl-tree"><artwork align="center"><![CDATA[
module: ietf-ucl-acl
  augment /acl:acls/acl:acl:
    +--rw endpoint-groups
       +--rw endpoint-group* [endpoint-group-id]
          +--rw endpoint-group-id     uint32
          +--rw (group-type)?
             +--:(user-group)
             |  +--rw user-group
             |     +--rw role?   string
             +--:(device-group)
                +--rw device-group
                   +--rw device-type?   string
  augment /acl:acls/acl:acl/acl:aces/acl:ace/acl:matches:
    +--rw endpoint-group {match-on-endpoint-group}?
       +--rw source-match
       |  +--rw endpoint-group-id?   leafref
       +--rw destination-match
          +--rw endpoint-group-id?   leafref
  augment /acl:acls/acl:acl/acl:aces/acl:ace:
    +--rw time-range {match-on-time}?
       +--rw (time-range-type)?
          +--:(periodic-range)
          |  +--rw recurrence
          |     +--rw freq           enumeration
          |     +--rw (until-or-count)?
          |     |  +--:(until)
          |     |  |  +--rw until?   union
          |     |  +--:(count)
          |     |     +--rw count?   uint32
          |     +--rw interval?      uint32
          |     +--rw bysecond*      uint32
          |     +--rw byminute*      uint32
          |     +--rw byhour*        uint32
          |     +--rw byday* [weekday]
          |     |  +--rw direction?   int32
          |     |  +--rw weekday      schedule:weekday
          |     +--rw bymonthday*    int32
          |     +--rw byyearday*     int32
          |     +--rw byyearweek*    int32
          |     +--rw byyearmonth*   uint32
          |     +--rw bysetpos*      int32
          |     +--rw wkst*          schedule:weekday
          +--:(absolute-range)
             +--rw period-of-time
                +--rw (forms)?
                   +--:(period-explicit)
                   |  +--rw explicit-start?   yang:date-and-time
                   |  +--rw explicit-end?     yang:date-and-time
                   +--:(period-start)
                      +--rw start?            yang:date-and-time
                      +--rw duration?         yang:time-no-zone
]]></artwork></figure>

<t>This module specifies an extension to the IETF ACL model <xref target="RFC8519"/>
   such that the UCL group index can be referenced by augmenting the
   "match" data node.</t>

</section>
<section anchor="the-yang-module-1"><name>The YANG Module</name>

<t>This module imports types defined in <xref target="RFC6991"/>, <xref target="RFC8194"/>, and
   <xref target="RFC8519"/>.</t>

<figure><artwork><![CDATA[
<CODE BEGINS>
file="ietf-ucl-acl@2023-01-19.yang"
module ietf-ucl-acl {
  yang-version 1.1;
  namespace "urn:ietf:params:xml:ns:yang:ietf-ucl-acl";
  prefix uacl;

  import ietf-access-control-list {
    prefix acl;
    reference
      "RFC 8519: YANG Data Model for Network Access
                 Control Lists (ACLs)";
  }
  import ietf-schedule {
    prefix schedule;
    reference
      "RFC XXXX: A Policy-based Network Access Control";
  }

  organization
    "IETF OPSWG Working Group";
  contact
    "WG Web: <https://datatracker.ietf.org/wg/opsawg/>
     WG List: <mailto:opsawg@ietf.org>";
  description
    "This YANG module defines XXX.

     Copyright (c) 2023 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 Revised
     BSD License set forth in Section 4.c of the IETF Trust's
     Legal Provisions Relating to IETF Documents
     (https://trustee.ietf.org/license-info).

     This version of this YANG module is part of RFC XXXX
     (https://www.rfc-editor.org/info/rfcXXXX); see the RFC
     itself for full legal notices.";

  revision 2023-01-19 {
    description
      "Initial revision.";
    reference
      "RFC XXXX: A Policy-based Network Access Control";
  }

  feature match-on-endpoint-group {
    description
      "The device can support matching on endpoint groups.";
  }

  feature match-on-time {
    description
      "The device can support a time-based condition match.";
  }

  augment "/acl:acls/acl:acl" {
    description
      "add a new container to store endpoint group information.";
    container endpoint-groups {
      description
        "Container definition for the endpoint group.";
      list endpoint-group {
        key "endpoint-group-id";
        description
          "Definition of the endpoint group list.";
        leaf endpoint-group-id {
          type uint32 {
            range "0..4294967294";
          }
          description
            "The endpoint group ID that uniquely identifies an
             endpoint group.";
        }
        choice group-type {
          description
            "Choice of each different type of endpoint.";
          case user-group {
            description
              "The employee that actually connects to the network.";
            container user-group {
              description
                "Defines the user-group container.";
              leaf role {
                type string;
                description
                  "The common role of this user-group.";
              }
            }
          }
          case device-group {
            description
              "The static resources in a network, such as a specific
               application.";
            container device-group {
              description
                "Defines the device-group container.";
              leaf device-type {
                type string;
                description
                  "The type of the static resource.";
              }
            }
          }
        }
      }
    }
  }

  augment "/acl:acls/acl:acl/acl:aces/acl:ace/acl:matches" {
    description
      "Add another choice to allow ace match based on endpoint group
       id.";
    container endpoint-group {
      if-feature "match-on-endpoint-group";
      description
        "Add new match types.";
      container source-match {
        description
          "The source matched information.";
        leaf endpoint-group-id {
          type leafref {
            path "../../../../../../endpoint-groups/endpoint-group/"+
                 "endpoint-group-id";
          }
          description
            "The matched source endpoint group ID.";
        }
      }
      container destination-match {
        description
          "The destination matched information.";
        leaf endpoint-group-id {
          type leafref {
            path "../../../../../../endpoint-groups/endpoint-group/"+
                 "endpoint-group-id";
          }
          description
            "The matched destination endpoint group ID.";
        }
      }
    }
  }

  augment "/acl:acls/acl:acl/acl:aces/acl:ace" {
    if-feature "match-on-time";
    description
      "Add a new parameter to the Access Control Entry (ACE).";
    container time-range {
      description
        "This container defines when the access control
         entry rules are in effect.

         If it is not configured, the access control entry
         is immediately and always in effect.";
      choice time-range-type {
        description
          "Choice based on the type of the time range.";
        case periodic-range {
          description
            "A periodic range of time to take effect.";
          uses schedule:recurrence;
        }
        case absolute-range {
          description
            "A single precise period of time to take effect.";
          uses schedule:period;
        }
      }
    }
  }
}
<CODE ENDS>
]]></artwork></figure>

</section>
</section>
</section>
<section anchor="sec-radius"><name>User Access Control Group ID RADIUS Attribute</name>

<t>The User-Access-Group-ID RADIUS attribute and its embedded TLVs are
   defined with globally unique names.  The definition of the attribute
   follows the guidelines in Section 2.7.1 of <xref target="RFC6929"/>.  This attribute
   is used to indicate the user-group ID to be used by the NAS.  When
   the User-Access-Group-ID RADIUS attribute is present in the RADIUS
   Access-Accept, the system applies the related access control to the
   users after it authenticates.</t>

<t>The value fields of the Attribute are encoded in clear and not
   encrypted as, for example, Tunnel- Password Attribute <xref target="RFC2868"/>.</t>

<t>The User-Access-Group-ID Attribute is of type "string" as defined in
   Section 3.5 of <xref target="RFC8044"/>.</t>

<t>The User-Access-Group-ID Attribute <bcp14>MAY</bcp14> appear in a RADIUS Access-
   Accept packet.  It <bcp14>MAY</bcp14> also appear in a RADIUS Access-Request packet
   as a hint to the RADIUS server to indicate a preference.  However,
   the server is not required to honor such a preference.</t>

<t>The User-Access-Group-ID Attribute <bcp14>MAY</bcp14> appear in a RADIUS CoA-Request
   packet.</t>

<t>The User-Access-Group-ID Attribute <bcp14>MAY</bcp14> appear in a RADIUS Accounting-
   Request packet.</t>

<t>The User-Access-Group-ID Attribute <bcp14>MUST NOT</bcp14> appear in any other
   RADIUS packet.</t>

<t>The User-Access-Group-ID Attribute is structured as follows:</t>

<figure><artwork><![CDATA[
   Type

      241

   Length

      This field indicates the total length, in octets, of all fields of
      this attribute, including the Type, Length, Extended-Type, and the
      "Value".

   Extended-Type

      TBA1

   Value

      This field contains the user group ID.
]]></artwork></figure>

<t>The User-Access-Group-ID Attribute is associated with the following
   identifier: 241.TBA1.</t>

</section>
<section anchor="radius-attributes"><name>RADIUS Attributes</name>

<t>The following table provides a guide as what type of RADIUS packets
   that may contain User-Access-Group-ID Attribute, and in what
   quantity.</t>

<figure><artwork><![CDATA[
Access- Access- Access-  Challenge Acct.    #        Attribute
Request Accept  Reject             Request
 0+      0+      0        0         0+      241.TBA1 User-Access-Group-ID

CoA-Request CoA-ACK CoA-NACK #        Attribute
  0+          0       0      241.TBA2 User-Access-Group-ID

   The following table defines the meaning of the above table entries:

   0  This attribute MUST NOT be present in packet.
   0+ Zero or more instances of this attribute MAY be present in packet.
]]></artwork></figure>

</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<section anchor="yang"><name>YANG</name>

<t>The YANG modules specified in this document defines schema for data
   that is designed to be accessed via network management protocols such
   as NETCONF <xref target="RFC6241"/> or RESTCONF <xref target="RFC8040"/>.  The lowest NETCONF layer
   is the secure transport layer, and the mandatory-to-implement secure
   transport is Secure Shell (SSH) <xref target="RFC6242"/>.  The lowest RESTCONF layer
   is HTTPS, and the mandatory-to-implement secure transport is TLS
   <xref target="RFC8446"/>.</t>

<t>The Network Configuration Access Control Model (NACM) <xref target="RFC8341"/>
   provides the means to restrict access for particular NETCONF or
   RESTCONF users to a preconfigured subset of all available NETCONF or
   RESTCONF protocol operations and content.</t>

<t>The "ietf-schedule" module defines a set of types and
   groupings.  These nodes are intended to be reused by other YANG
   modules.  The module by itself does not expose any data nodes that
   are writable, data nodes that contain read-only state, or RPCs.  As
   such, there are no additional security issues related to the "ietf-
   schedule" module that need to be considered.</t>

<t>There are a number of data nodes defined in the "ietf-ucl-acl" YANG module that are
   writable, creatable, and deletable (i.e., config true, which is the
   default).  These data nodes may be considered sensitive or vulnerable
   in some network environments.  Write operations to these data nodes
   could have a negative effect on network and security operations.</t>

<t><list style="symbols">
  <t>TBC</t>
  <t>TBC</t>
</list></t>

<figure><artwork><![CDATA[
Some of the readable data nodes in the "ietf-ucl-acl" YANG module may
be considered sensitive or vulnerable in some network environments. It
is thus important to control read access (e.g., via get, get-config,
or notification) to these data nodes. These are the subtrees and data
nodes and their sensitivity/vulnerability:

*  <list subtrees and data nodes and state why they are sensitive>
*  <list subtrees and data nodes and state why they are sensitive>
]]></artwork></figure>

</section>
<section anchor="radius"><name>RADIUS</name>

<t>RADIUS-related security considerations are discussed in <xref target="RFC2865"/>.</t>

<t>This document targets deployments where a trusted relationship is in
   place between the RADIUS client and server with communication
   optionally secured by IPsec or Transport Layer Security (TLS)
   <xref target="RFC6614"/>.</t>

</section>
</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<section anchor="yang-1"><name>YANG</name>

<t>This document registers the following URIs in the "IETF XML Registry" <xref target="RFC3688"/>.</t>

<figure><artwork><![CDATA[
        URI: urn:ietf:params:xml:ns:yang:ietf-schedule
        Registrant Contact: The IESG.
        XML: N/A, the requested URI is an XML namespace.

        URI: urn:ietf:params:xml:ns:yang:ietf-ucl-acl
        Registrant Contact: The IESG.
        XML: N/A, the requested URI is an XML namespace.
]]></artwork></figure>

<t>This document registers the following YANG modules in the "YANG Module Names"
   registry <xref target="RFC6020"/>.</t>

<figure><artwork><![CDATA[
        name:               ietf-schedule
        namespace:          urn:ietf:params:xml:ns:yang:ietf-schedule
        prefix:             schedule
        maintained by IANA: N
        reference:          RFC XXXX

        name:               ietf-ucl-acl
        namespace:          urn:ietf:params:xml:ns:yang:ietf-ucl-acl
        prefix:             uacl
        maintained by IANA: N
        reference:          RFC XXXX
]]></artwork></figure>

</section>
<section anchor="radius-1"><name>RADIUS</name>

<t>This document requests IANA to assign a new RADIUS attribute types from the IANA
   registry "Radius Attribute Types" <xref target="RADIUS-Types"/>:</t>

<texttable title="RADIUS Attribute" anchor="rad-reg">
      <ttcol align='left'>Value</ttcol>
      <ttcol align='left'>Description</ttcol>
      <ttcol align='left'>Data Type</ttcol>
      <ttcol align='left'>Reference</ttcol>
      <c>241.TBA1</c>
      <c>User-Access-Group-ID</c>
      <c>string</c>
      <c>This-Document</c>
</texttable>

</section>
</section>


  </middle>

  <back>


    <references title='Normative References'>





<reference anchor='RFC8519' target='https://www.rfc-editor.org/info/rfc8519'>
<front>
<title>YANG Data Model for Network Access Control Lists (ACLs)</title>
<author fullname='M. Jethanandani' initials='M.' surname='Jethanandani'><organization/></author>
<author fullname='S. Agarwal' initials='S.' surname='Agarwal'><organization/></author>
<author fullname='L. Huang' initials='L.' surname='Huang'><organization/></author>
<author fullname='D. Blair' initials='D.' surname='Blair'><organization/></author>
<date month='March' year='2019'/>
<abstract><t>This document defines a data model for Access Control Lists (ACLs). An ACL is a user-ordered set of rules used to configure the forwarding behavior in a device.  Each rule is used to find a match on a packet and define actions that will be performed on the packet.</t></abstract>
</front>
<seriesInfo name='RFC' value='8519'/>
<seriesInfo name='DOI' value='10.17487/RFC8519'/>
</reference>



<reference anchor='RFC2119' target='https://www.rfc-editor.org/info/rfc2119'>
<front>
<title>Key words for use in RFCs to Indicate Requirement Levels</title>
<author fullname='S. Bradner' initials='S.' surname='Bradner'><organization/></author>
<date month='March' year='1997'/>
<abstract><t>In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t></abstract>
</front>
<seriesInfo name='BCP' value='14'/>
<seriesInfo name='RFC' value='2119'/>
<seriesInfo name='DOI' value='10.17487/RFC2119'/>
</reference>



<reference anchor='RFC8174' target='https://www.rfc-editor.org/info/rfc8174'>
<front>
<title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
<author fullname='B. Leiba' initials='B.' surname='Leiba'><organization/></author>
<date month='May' year='2017'/>
<abstract><t>RFC 2119 specifies common key words that may be used in protocol  specifications.  This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the  defined special meanings.</t></abstract>
</front>
<seriesInfo name='BCP' value='14'/>
<seriesInfo name='RFC' value='8174'/>
<seriesInfo name='DOI' value='10.17487/RFC8174'/>
</reference>



<reference anchor='RFC2865' target='https://www.rfc-editor.org/info/rfc2865'>
<front>
<title>Remote Authentication Dial In User Service (RADIUS)</title>
<author fullname='C. Rigney' initials='C.' surname='Rigney'><organization/></author>
<author fullname='S. Willens' initials='S.' surname='Willens'><organization/></author>
<author fullname='A. Rubens' initials='A.' surname='Rubens'><organization/></author>
<author fullname='W. Simpson' initials='W.' surname='Simpson'><organization/></author>
<date month='June' year='2000'/>
<abstract><t>This document describes a protocol for carrying authentication, authorization, and configuration information between a Network Access Server which desires to authenticate its links and a shared Authentication Server.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='2865'/>
<seriesInfo name='DOI' value='10.17487/RFC2865'/>
</reference>



<reference anchor='RFC6241' target='https://www.rfc-editor.org/info/rfc6241'>
<front>
<title>Network Configuration Protocol (NETCONF)</title>
<author fullname='R. Enns' initials='R.' role='editor' surname='Enns'><organization/></author>
<author fullname='M. Bjorklund' initials='M.' role='editor' surname='Bjorklund'><organization/></author>
<author fullname='J. Schoenwaelder' initials='J.' role='editor' surname='Schoenwaelder'><organization/></author>
<author fullname='A. Bierman' initials='A.' role='editor' surname='Bierman'><organization/></author>
<date month='June' year='2011'/>
<abstract><t>The Network Configuration Protocol (NETCONF) defined in this document provides mechanisms to install, manipulate, and delete the configuration of network devices.  It uses an Extensible Markup Language (XML)-based data encoding for the configuration data as well as the protocol messages.  The NETCONF protocol operations are realized as remote procedure calls (RPCs).  This document obsoletes RFC 4741.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='6241'/>
<seriesInfo name='DOI' value='10.17487/RFC6241'/>
</reference>


<reference anchor='I-D.ietf-netmod-rfc6991-bis'>
   <front>
      <title>Common YANG Data Types</title>
      <author fullname='Jürgen Schönwälder' initials='J.' surname='Schönwälder'>
         <organization>Constructor University</organization>
      </author>
      <date day='23' month='January' year='2023'/>
      <abstract>
	 <t>   This document defines a collection of common data types to be used
   with the YANG data modeling language.  This version of the document
   adds several new type definitions and obsoletes RFC 6991.

	 </t>
      </abstract>
   </front>
   <seriesInfo name='Internet-Draft' value='draft-ietf-netmod-rfc6991-bis-15'/>
   
</reference>



<reference anchor='RFC6991' target='https://www.rfc-editor.org/info/rfc6991'>
<front>
<title>Common YANG Data Types</title>
<author fullname='J. Schoenwaelder' initials='J.' role='editor' surname='Schoenwaelder'><organization/></author>
<date month='July' year='2013'/>
<abstract><t>This document introduces a collection of common data types to be used with the YANG data modeling language.  This document obsoletes RFC 6021.</t></abstract>
</front>
<seriesInfo name='RFC' value='6991'/>
<seriesInfo name='DOI' value='10.17487/RFC6991'/>
</reference>



<reference anchor='RFC8194' target='https://www.rfc-editor.org/info/rfc8194'>
<front>
<title>A YANG Data Model for LMAP Measurement Agents</title>
<author fullname='J. Schoenwaelder' initials='J.' surname='Schoenwaelder'><organization/></author>
<author fullname='V. Bajpai' initials='V.' surname='Bajpai'><organization/></author>
<date month='August' year='2017'/>
<abstract><t>This document defines a data model for Large-Scale Measurement Platforms (LMAPs).  The data model is defined using the YANG data modeling language.</t></abstract>
</front>
<seriesInfo name='RFC' value='8194'/>
<seriesInfo name='DOI' value='10.17487/RFC8194'/>
</reference>



<reference anchor='RFC6929' target='https://www.rfc-editor.org/info/rfc6929'>
<front>
<title>Remote Authentication Dial In User Service (RADIUS) Protocol Extensions</title>
<author fullname='A. DeKok' initials='A.' surname='DeKok'><organization/></author>
<author fullname='A. Lior' initials='A.' surname='Lior'><organization/></author>
<date month='April' year='2013'/>
<abstract><t>The Remote Authentication Dial-In User Service (RADIUS) protocol is nearing exhaustion of its current 8-bit Attribute Type space.  In addition, experience shows a growing need for complex grouping, along with attributes that can carry more than 253 octets of data.  This document defines changes to RADIUS that address all of the above problems.</t></abstract>
</front>
<seriesInfo name='RFC' value='6929'/>
<seriesInfo name='DOI' value='10.17487/RFC6929'/>
</reference>



<reference anchor='RFC8044' target='https://www.rfc-editor.org/info/rfc8044'>
<front>
<title>Data Types in RADIUS</title>
<author fullname='A. DeKok' initials='A.' surname='DeKok'><organization/></author>
<date month='January' year='2017'/>
<abstract><t>RADIUS specifications have used data types for two decades without defining them as managed entities.  During this time, RADIUS implementations have named the data types and have used them in attribute definitions.  This document updates the specifications to better follow established practice.  We do this by naming the data types defined in RFC 6158, which have been used since at least the publication of RFC 2865.  We provide an IANA registry for the data types and update the &quot;RADIUS Attribute Types&quot; registry to include a Data Type field for each attribute.  Finally, we recommend that authors of RADIUS specifications use these types in preference to existing practice.  This document updates RFCs 2865, 3162, 4072, 6158, 6572, and 7268.</t></abstract>
</front>
<seriesInfo name='RFC' value='8044'/>
<seriesInfo name='DOI' value='10.17487/RFC8044'/>
</reference>



<reference anchor='RFC8040' target='https://www.rfc-editor.org/info/rfc8040'>
<front>
<title>RESTCONF Protocol</title>
<author fullname='A. Bierman' initials='A.' surname='Bierman'><organization/></author>
<author fullname='M. Bjorklund' initials='M.' surname='Bjorklund'><organization/></author>
<author fullname='K. Watsen' initials='K.' surname='Watsen'><organization/></author>
<date month='January' year='2017'/>
<abstract><t>This document describes an HTTP-based protocol that provides a programmatic interface for accessing data defined in YANG, using the datastore concepts defined in the Network Configuration Protocol (NETCONF).</t></abstract>
</front>
<seriesInfo name='RFC' value='8040'/>
<seriesInfo name='DOI' value='10.17487/RFC8040'/>
</reference>



<reference anchor='RFC6242' target='https://www.rfc-editor.org/info/rfc6242'>
<front>
<title>Using the NETCONF Protocol over Secure Shell (SSH)</title>
<author fullname='M. Wasserman' initials='M.' surname='Wasserman'><organization/></author>
<date month='June' year='2011'/>
<abstract><t>This document describes a method for invoking and running the Network Configuration Protocol (NETCONF) within a Secure Shell (SSH) session as an SSH subsystem.  This document obsoletes RFC 4742.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='6242'/>
<seriesInfo name='DOI' value='10.17487/RFC6242'/>
</reference>



<reference anchor='RFC8446' target='https://www.rfc-editor.org/info/rfc8446'>
<front>
<title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
<author fullname='E. Rescorla' initials='E.' surname='Rescorla'><organization/></author>
<date month='August' year='2018'/>
<abstract><t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol.  TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t><t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961.  This document also specifies new requirements for TLS 1.2 implementations.</t></abstract>
</front>
<seriesInfo name='RFC' value='8446'/>
<seriesInfo name='DOI' value='10.17487/RFC8446'/>
</reference>



<reference anchor='RFC8341' target='https://www.rfc-editor.org/info/rfc8341'>
<front>
<title>Network Configuration Access Control Model</title>
<author fullname='A. Bierman' initials='A.' surname='Bierman'><organization/></author>
<author fullname='M. Bjorklund' initials='M.' surname='Bjorklund'><organization/></author>
<date month='March' year='2018'/>
<abstract><t>The standardization of network configuration interfaces for use with the Network Configuration Protocol (NETCONF) or the RESTCONF protocol requires a structured and secure operating environment that promotes human usability and multi-vendor interoperability.  There is a need for standard mechanisms to restrict NETCONF or RESTCONF protocol access for particular users to a preconfigured subset of all available NETCONF or RESTCONF protocol operations and content.  This document defines such an access control model.</t><t>This document obsoletes RFC 6536.</t></abstract>
</front>
<seriesInfo name='STD' value='91'/>
<seriesInfo name='RFC' value='8341'/>
<seriesInfo name='DOI' value='10.17487/RFC8341'/>
</reference>



<reference anchor='RFC3688' target='https://www.rfc-editor.org/info/rfc3688'>
<front>
<title>The IETF XML Registry</title>
<author fullname='M. Mealling' initials='M.' surname='Mealling'><organization/></author>
<date month='January' year='2004'/>
<abstract><t>This document describes an IANA maintained registry for IETF standards which use Extensible Markup Language (XML) related items such as Namespaces, Document Type Declarations (DTDs), Schemas, and Resource Description Framework (RDF) Schemas.</t></abstract>
</front>
<seriesInfo name='BCP' value='81'/>
<seriesInfo name='RFC' value='3688'/>
<seriesInfo name='DOI' value='10.17487/RFC3688'/>
</reference>



<reference anchor='RFC6020' target='https://www.rfc-editor.org/info/rfc6020'>
<front>
<title>YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)</title>
<author fullname='M. Bjorklund' initials='M.' role='editor' surname='Bjorklund'><organization/></author>
<date month='October' year='2010'/>
<abstract><t>YANG is a data modeling language used to model configuration and state data manipulated by the Network Configuration Protocol (NETCONF), NETCONF remote procedure calls, and NETCONF notifications. [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='6020'/>
<seriesInfo name='DOI' value='10.17487/RFC6020'/>
</reference>




    </references>

    <references title='Informative References'>

<reference anchor="NIST-ABAC" target="https://www.iana.org/assignments/media-types">
  <front>
    <title>Guide to Attribute Based Access Control (ABAC) Definition and Considerations</title>
    <author fullname="Vincent C. Hu">
      <organization></organization>
    </author>
    <date year="2014" month="January"/>
  </front>
</reference>
<reference anchor="RADIUS-Types" target="http://www.iana.org/assignments/radius-types">
  <front>
    <title>RADIUS Types</title>
    <author >
      <organization>IANA</organization>
    </author>
    <date />
  </front>
</reference>



<reference anchor='I-D.dbb-netmod-acl'>
   <front>
      <title>Extensions to the Access Control Lists (ACLs) YANG Model</title>
      <author fullname='Oscar Gonzalez de Dios' initials='O. G.' surname='de Dios'>
         <organization>Telefonica</organization>
      </author>
      <author fullname='Samier Barguil' initials='S.' surname='Barguil'>
         <organization>Telefonica</organization>
      </author>
      <author fullname='Mohamed Boucadair' initials='M.' surname='Boucadair'>
         <organization>Orange</organization>
      </author>
      <date day='24' month='October' year='2022'/>
      <abstract>
	 <t>   RFC 8519 defines a YANG data model for Access Control Lists (ACLs).
   This document discusses a set of extensions that fix many of the
   limitations of the ACL model as initially defined in RFC 8519.

Discussion Venues

   This note is to be removed before publishing as an RFC.

   Discussion of this document takes place on the Network Modeling
   Working Group mailing list (netmod@ietf.org), which is archived at
   https://mailarchive.ietf.org/arch/browse/netmod/.

   Source for this draft and an issue tracker can be found at
   https://github.com/oscargdd/draft-dbb-netmod-enhanced-acl.

	 </t>
      </abstract>
   </front>
   <seriesInfo name='Internet-Draft' value='draft-dbb-netmod-acl-03'/>
   
</reference>



<reference anchor='RFC8340' target='https://www.rfc-editor.org/info/rfc8340'>
<front>
<title>YANG Tree Diagrams</title>
<author fullname='M. Bjorklund' initials='M.' surname='Bjorklund'><organization/></author>
<author fullname='L. Berger' initials='L.' role='editor' surname='Berger'><organization/></author>
<date month='March' year='2018'/>
<abstract><t>This document captures the current syntax used in YANG module tree diagrams.  The purpose of this document is to provide a single location for this definition.  This syntax may be updated from time to time based on the evolution of the YANG language.</t></abstract>
</front>
<seriesInfo name='BCP' value='215'/>
<seriesInfo name='RFC' value='8340'/>
<seriesInfo name='DOI' value='10.17487/RFC8340'/>
</reference>



<reference anchor='RFC2475' target='https://www.rfc-editor.org/info/rfc2475'>
<front>
<title>An Architecture for Differentiated Services</title>
<author fullname='S. Blake' initials='S.' surname='Blake'><organization/></author>
<author fullname='D. Black' initials='D.' surname='Black'><organization/></author>
<author fullname='M. Carlson' initials='M.' surname='Carlson'><organization/></author>
<author fullname='E. Davies' initials='E.' surname='Davies'><organization/></author>
<author fullname='Z. Wang' initials='Z.' surname='Wang'><organization/></author>
<author fullname='W. Weiss' initials='W.' surname='Weiss'><organization/></author>
<date month='December' year='1998'/>
<abstract><t>This document defines an architecture for implementing scalable service differentiation in the Internet.  This memo provides information for the Internet community.</t></abstract>
</front>
<seriesInfo name='RFC' value='2475'/>
<seriesInfo name='DOI' value='10.17487/RFC2475'/>
</reference>



<reference anchor='RFC3198' target='https://www.rfc-editor.org/info/rfc3198'>
<front>
<title>Terminology for Policy-Based Management</title>
<author fullname='A. Westerinen' initials='A.' surname='Westerinen'><organization/></author>
<author fullname='J. Schnizlein' initials='J.' surname='Schnizlein'><organization/></author>
<author fullname='J. Strassner' initials='J.' surname='Strassner'><organization/></author>
<author fullname='M. Scherling' initials='M.' surname='Scherling'><organization/></author>
<author fullname='B. Quinn' initials='B.' surname='Quinn'><organization/></author>
<author fullname='S. Herzog' initials='S.' surname='Herzog'><organization/></author>
<author fullname='A. Huynh' initials='A.' surname='Huynh'><organization/></author>
<author fullname='M. Carlson' initials='M.' surname='Carlson'><organization/></author>
<author fullname='J. Perry' initials='J.' surname='Perry'><organization/></author>
<author fullname='S. Waldbusser' initials='S.' surname='Waldbusser'><organization/></author>
<date month='November' year='2001'/>
<abstract><t>This document is a glossary of policy-related terms.  It provides abbreviations, explanations, and recommendations for use of these terms. The intent is to improve the comprehensibility and consistency of writing that deals with network policy, particularly Internet Standards documents (ISDs).  This memo provides information for the Internet community.</t></abstract>
</front>
<seriesInfo name='RFC' value='3198'/>
<seriesInfo name='DOI' value='10.17487/RFC3198'/>
</reference>



<reference anchor='RFC2753' target='https://www.rfc-editor.org/info/rfc2753'>
<front>
<title>A Framework for Policy-based Admission Control</title>
<author fullname='R. Yavatkar' initials='R.' surname='Yavatkar'><organization/></author>
<author fullname='D. Pendarakis' initials='D.' surname='Pendarakis'><organization/></author>
<author fullname='R. Guerin' initials='R.' surname='Guerin'><organization/></author>
<date month='January' year='2000'/>
<abstract><t>This document is concerned with specifying a framework for providing policy-based control over admission control decisions.  This memo provides information for the Internet community.</t></abstract>
</front>
<seriesInfo name='RFC' value='2753'/>
<seriesInfo name='DOI' value='10.17487/RFC2753'/>
</reference>


<reference anchor='I-D.ietf-nvo3-encap'>
   <front>
      <title>Network Virtualization Overlays (NVO3) Encapsulation Considerations</title>
      <author fullname='Sami Boutros' initials='S.' surname='Boutros'>
         <organization>Ciena Corporation</organization>
      </author>
      <author fullname='Donald E. Eastlake 3rd' initials='D. E.' surname='Eastlake'>
         <organization>Futurewei Technologies</organization>
      </author>
      <date day='7' month='October' year='2022'/>
      <abstract>
	 <t>   The IETF Network Virtualization Overlays (NVO3) Working Group Chairs
   and Routing Area Director chartered a design team to take forward the
   encapsulation discussion and see if there was potential to design a
   common encapsulation that addresses the various technical concerns.
   This document provides a record, for the benefit of the IETF
   community, of the considerations arrived at by the NVO3 encapsulation
   design team, which may be helpful with future deliberations by
   working groups over the choice of encapsulation formats.

   There are implications of having different encapsulations in real
   environments consisting of both software and hardware implementations
   and within and spanning multiple data centers.  For example, OAM
   functions such as path MTU discovery become challenging with multiple
   encapsulations along the data path.

   The design team recommended Geneve with a few modifications as the
   common encapsulation. This document provides more details,
   particularly in Section 7.


	 </t>
      </abstract>
   </front>
   <seriesInfo name='Internet-Draft' value='draft-ietf-nvo3-encap-09'/>
   
</reference>



<reference anchor='RFC5545' target='https://www.rfc-editor.org/info/rfc5545'>
<front>
<title>Internet Calendaring and Scheduling Core Object Specification (iCalendar)</title>
<author fullname='B. Desruisseaux' initials='B.' role='editor' surname='Desruisseaux'><organization/></author>
<date month='September' year='2009'/>
<abstract><t>This document defines the iCalendar data format for representing and exchanging calendaring and scheduling information such as events, to-dos, journal entries, and free/busy information, independent of any particular calendar service or protocol. [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='5545'/>
<seriesInfo name='DOI' value='10.17487/RFC5545'/>
</reference>



<reference anchor='RFC2868' target='https://www.rfc-editor.org/info/rfc2868'>
<front>
<title>RADIUS Attributes for Tunnel Protocol Support</title>
<author fullname='G. Zorn' initials='G.' surname='Zorn'><organization/></author>
<author fullname='D. Leifer' initials='D.' surname='Leifer'><organization/></author>
<author fullname='A. Rubens' initials='A.' surname='Rubens'><organization/></author>
<author fullname='J. Shriver' initials='J.' surname='Shriver'><organization/></author>
<author fullname='M. Holdrege' initials='M.' surname='Holdrege'><organization/></author>
<author fullname='I. Goyret' initials='I.' surname='Goyret'><organization/></author>
<date month='June' year='2000'/>
<abstract><t>This document defines a set of RADIUS (Remote Authentication Dial In User Service) attributes designed to support the provision of compulsory tunneling in dial-up networks.  This memo provides information for the Internet community.</t></abstract>
</front>
<seriesInfo name='RFC' value='2868'/>
<seriesInfo name='DOI' value='10.17487/RFC2868'/>
</reference>



<reference anchor='RFC6614' target='https://www.rfc-editor.org/info/rfc6614'>
<front>
<title>Transport Layer Security (TLS) Encryption for RADIUS</title>
<author fullname='S. Winter' initials='S.' surname='Winter'><organization/></author>
<author fullname='M. McCauley' initials='M.' surname='McCauley'><organization/></author>
<author fullname='S. Venaas' initials='S.' surname='Venaas'><organization/></author>
<author fullname='K. Wierenga' initials='K.' surname='Wierenga'><organization/></author>
<date month='May' year='2012'/>
<abstract><t>This document specifies a transport profile for RADIUS using Transport Layer Security (TLS) over TCP as the transport protocol. This enables dynamic trust relationships between RADIUS servers.   [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='6614'/>
<seriesInfo name='DOI' value='10.17487/RFC6614'/>
</reference>


<reference anchor='I-D.you-i2nsf-user-group-based-policy'>
   <front>
      <title>User-group-based Security Policy for Service Layer</title>
      <author fullname='Jianjie You' initials='J.' surname='You'>
         <organization>Huawei</organization>
      </author>
      <author fullname='Myo Zarny' initials='M.' surname='Zarny'>
         <organization>Goldman Sachs</organization>
      </author>
      <author fullname='Christian Jacquenet' initials='C.' surname='Jacquenet'>
         <organization>France Telecom</organization>
      </author>
      <author fullname='Mohamed Boucadair' initials='M.' surname='Boucadair'>
         <organization>France Telecom</organization>
      </author>
      <author fullname='Yizhou Li' initials='Y.' surname='Li'>
         <organization>Huawei</organization>
      </author>
      <author fullname='John Strassner' initials='J.' surname='Strassner'>
         <organization>Huawei</organization>
      </author>
      <author fullname='Sumandra Majee' initials='S.' surname='Majee'>
         <organization>F5 Networks</organization>
      </author>
      <date day='8' month='July' year='2016'/>
      <abstract>
	 <t>   This draft defines the User-group Aware Policy Control (UAPC)
   framework, which facilitates consistent enforcement of security
   policies based on user group identity.  Policies are used to control
   security policy enforcement using a policy server and a security
   controller.  Northbound APIs are also discussed.


	 </t>
      </abstract>
   </front>
   <seriesInfo name='Internet-Draft' value='draft-you-i2nsf-user-group-based-policy-02'/>
   
</reference>


<reference anchor='I-D.yizhou-anima-ip-to-access-control-groups'>
   <front>
      <title>Autonomic IP Address To Access Control Group ID Mapping</title>
      <author fullname='Yizhou Li' initials='Y.' surname='Li'>
         <organization>Huawei Technologies</organization>
      </author>
      <author fullname='Li Shen' initials='L.' surname='Shen'>
         <organization>Huawei Technologies</organization>
      </author>
      <author fullname='Yujing Zhou' initials='Y.' surname='Zhou'>
         <organization>Huawei Technologies</organization>
      </author>
      <date day='15' month='November' year='2021'/>
      <abstract>
	 <t>   This document defines the autonomic technical Objectives for IP
   address/prefix to access control group IDs mapping information.  The
   Objectives defined can be used in Generic Autonomic Signaling
   Protocol (GRASP) to make the policy enforcement point receive IP
   address and its tied access control groups information directly from
   the access authentication points and facilitate the group based
   policy enforcement.

	 </t>
      </abstract>
   </front>
   <seriesInfo name='Internet-Draft' value='draft-yizhou-anima-ip-to-access-control-groups-02'/>
   
</reference>




    </references>


<section anchor="changes-between-revisions"><name>Changes between Revisions</name>

<t>v00 - v01
   *  Define a common schedule yang module and reuse in UCL yang module
      to support time/date-based activation condition.</t>

<t><list style="symbols">
  <t>Either group-based or address-based ACL policies could be enforced
at PEP, and allow group-based ACL policies maintained at the
network controller.</t>
  <t>Optimize the process in section 4.1.</t>
  <t>Extend ACL module to support a generalized endpoint-group to cover
both end users (e.g., enterprise employees) and enterprise hosts
(e.g., IoT devices or servers);</t>
  <t>Simplify the definition of group in UCL model with only the most
necessary group ID retained.</t>
</list></t>

</section>
<section numbered="false" anchor="acknowledgments"><name>Acknowledgments</name>

<t>This work has benefited from the discussions of User-group-based
   Security Policy over the years.  In particular, <xref target="I-D.you-i2nsf-user-group-based-policy"/>
   and <xref target="I-D.yizhou-anima-ip-to-access-control-groups"/> provide mechanisms to
   establish the mapping between the IP address/prefix of user and access
   control group ID.</t>

<t>Jianjie You, Myo Zarny, Christian Jacquenet, Mohamed Boucadair, and
   Yizhou Li contributed to an earlier version of <xref target="I-D.you-i2nsf-user-group-based-policy"/>.
   We would like to thank the authors of that draft on modern network access
   control mechanisms for material that assisted in thinking about this document.</t>

<t>The authors would like to thank Joe Clarke, Bill Fenner, Benoit
   Claise, Rob Wiltion, David Somers-Harris for their valuable comments
   and great input to this work.</t>

</section>


  </back>

<!-- ##markdown-source:
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
AA==

-->

</rfc>

