<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.29 (Ruby 3.4.4) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-cabanillas-nmop-authz-policy-sharing-model-00" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.30.2 -->
  <front>
    <title abbrev="authz-policy-sharing-model">Model for distributed authorization policy sharing</title>
    <seriesInfo name="Internet-Draft" value="draft-cabanillas-nmop-authz-policy-sharing-model-00"/>
    <author initials="L. C." surname="Rodríguez" fullname="Lucía Cabanillas Rodríguez">
      <organization>Telefonica</organization>
      <address>
        <email>lucia.cabanillasrodriguez@telefonica.com</email>
      </address>
    </author>
    <author initials="D." surname="Lopez" fullname="Diego Lopez">
      <organization>Telefonica</organization>
      <address>
        <email>diego.r.lopez@telefonica.com</email>
      </address>
    </author>
    <author initials="A." surname="Mendez" fullname="Ana Mendez">
      <organization>Telefonica</organization>
      <address>
        <email>ana.mendezperez@telefonica.com</email>
      </address>
    </author>
    <date year="2025" month="October" day="17"/>
    <area>Operations and Management</area>
    <workgroup>Network Management Operations</workgroup>
    <keyword>policy</keyword>
    <keyword>authorization</keyword>
    <keyword>granularity</keyword>
    <abstract>
      <?line 45?>

<t>This document defines mechanisms and conventions for the representation and sharing of authorization policies in distributed and automated environments. It specifies the foundational elements required to express policies in a consistent, machine-readable, and interoperable manner, enabling fine-grained control and context-aware evaluation.</t>
      <t>The framework supports the complete policy lifecycle, including creation, validation, versioning, distribution, and decommissioning, with YANG serving as the canonical representation format. It also establishes the relationship between policy representation and the structure of tokens used in enforcement and authorization exchanges, ensuring coherent and dynamic policy evaluation across heterogeneous systems.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://LuciaCabanillasRodriguez.github.io/authz-policy-sharing-model/draft-cabanillas-nmop-authz-policy-sharing-model.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-cabanillas-nmop-authz-policy-sharing-model/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Network Management Operations Working Group mailing list (<eref target="mailto:nmop@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/nmop/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/nmop/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/LuciaCabanillasRodriguez/authz-policy-sharing-model"/>.</t>
    </note>
  </front>
  <middle>
    <?line 51?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The increasing complexity and automation of distributed systems, particularly in areas such as network operations, multi-cloud orchestration, and service automation, demand more precise, interoperable, and dynamic management of authorization policies.</t>
      <t>Mechanisms based on static configurations or manual administration interfaces no longer provide the scalability, consistency, or adaptability required in current operational environments.</t>
      <t>Infrastructures, such as programmable networks, multi-cloud platforms, and intent-based systems, require that policy enforcement components be capable of evaluating policies automatically and contextually, using structured representations that can be validated, exchanged, and updated programmatically. In such environments, policies may be distributed and enforced through various control elements — for example, domain-specific controllers, service orchestrators, or autonomous agents operating at the edge.</t>
      <t>Policies are no longer limited to simple access control or configuration parameters; they now define operational behavior, compliance, and governance across multiple administrative and technological domains. These policies may be expressed and applied at any level — from low-level configuration directives and resource constraints to high-level intents that describe desired operational outcomes in declarative form.</t>
      <t>However, the absence of a standardized representation model introduces several persistent challenges:</t>
      <ul spacing="normal">
        <li>
          <t>Fragmentation: Different systems implement incompatible policy formats and semantics, hindering interoperability and auditability.</t>
        </li>
        <li>
          <t>Limited granularity: Many policy models lack the expressiveness needed to capture contextual or fine-grained conditions.</t>
        </li>
        <li>
          <t>Lifecycle gaps: The lack of versioning, validation, and decommissioning mechanisms increases operational and compliance risks.</t>
        </li>
      </ul>
      <t>To address these issues, this document defines a set of mechanisms and requirements for consistent policy representation, sharing, and evaluation, enabling interoperability among systems that rely on policies for authorization and  decision-making.</t>
      <t>Within this framework, YANG serves as the canonical representation format for policies. By defining the policy’s metadata, structure, language, and logic in YANG, the Policy Administration Point (PAP) can validate and manage the policy lifecycle, then transform the YANG description into executable policy modules for one or more  Policy Decision Points (PDPs).</t>
      <t>It enables:</t>
      <ul spacing="normal">
        <li>
          <t>Provenance verification , through cryptographic signatures that bind policy content to its origin and authority.</t>
        </li>
        <li>
          <t>Schema-based validation , ensuring that policy attributes and logical structures comply with agreed models.</t>
        </li>
        <li>
          <t>Lifecycle consistency , allowing creation, update, and retirement to be managed under uniform semantics.</t>
        </li>
      </ul>
      <t>In this framework, YANG acts as the source of truth for policy metadata and content, while Policy-as-Code (PaC) approaches provide the executable layer that translates these definitions into enforceable logic.</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>
      <?line -18?>

<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="RFC8174">RFC2119</xref> when, and only when, they appear in all capitals, as shown here.</t>
      <ul spacing="normal">
        <li>
          <t>Policy: A rule or set of rules that define behavior, access, or operational constraints within a system.</t>
        </li>
        <li>
          <t>Authorization policy: A policy that governs access or permissions based on user/agent, resource, or environmental attributes.</t>
        </li>
        <li>
          <t>Policy evaluation: The process of determining whether a request complies with a defined policy.</t>
        </li>
        <li>
          <t>Context-aware policy: A policy that adapts its evaluation outcome based on runtime context, such as environmental or identity-specific data.</t>
        </li>
        <li>
          <t>Policy-as-Code (PaC): A paradigm in which policies are represented as declarative code artifacts, allowing automation, versioning, and testing.</t>
        </li>
      </ul>
    </section>
    <section anchor="requirements-for-policy-management">
      <name>Requirements for Policy Management</name>
      <t>Policy systems operating across multiple domains <bcp14>MUST</bcp14> satisfy the following requirements:</t>
      <ul spacing="normal">
        <li>
          <t>Granularity: Ability to express fine-grained authorization rules over users, resources, and contextual conditions.</t>
        </li>
        <li>
          <t>Context-awareness: Support for evaluation based on attributes such as device state, network condition, or environment.</t>
        </li>
        <li>
          <t>Token alignment: Tokens used for enforcement (e.g., WIMSE tokens) <bcp14>MUST</bcp14> include the contextual fields and claims required for correct evaluation.</t>
        </li>
        <li>
          <t>Lifecycle control: Policies <bcp14>MUST</bcp14> support creation, versioning, validation, and retirement.</t>
        </li>
        <li>
          <t>Interoperability: Policy representations <bcp14>SHOULD</bcp14> be portable and interpretable across different administrative domains.</t>
        </li>
      </ul>
    </section>
    <section anchor="policy-as-code-and-declarative-policy-languages">
      <name>Policy-as-Code and Declarative Policy Languages</name>
      <t>The Policy-as-Code model represents policies in a declarative format, allowing them to be defined, validated, and deployed programmatically. Declarative languages such as Rego are well suited for expressing logical authorization conditions in executable form. However, a key interoperability challenge lies in defining what a policy can evaluate — and consequently, what contextual information must be available at runtime. Without a clear, standardized understanding of the  minimum evaluable elements, tokens (such as  WIMSE tokens ) may omit essential claims, leading to inconsistent authorization outcomes.</t>
      <t>Therefore, the YANG representation described in this framework:</t>
      <ul spacing="normal">
        <li>
          <t>Specifies the language (e.g., Rego, ALFA, Cedar) and its  expected evaluation scope.</t>
        </li>
        <li>
          <t>Defines, via schema constraints, which attributes or contextual fields a PDP must expect to receive.</t>
        </li>
      </ul>
      <t>Example in Rego syntax:</t>
      <artwork><![CDATA[
package example
# Allow read access if the user has the "read" role
default allow = false
allow {
    input.user.role == "read"
}
]]></artwork>
      <t>This example illustrates a minimal policy that depends on a single contextual attribute (<tt>user.role</tt>). The associated YANG model would specify that this attribute is required for correct evaluation, and thus the corresponding WIMSE token <bcp14>MUST</bcp14> include this claim.</t>
    </section>
    <section anchor="policy-representation-in-yang">
      <name>Policy representation in YANG</name>
      <t>YANG provides a structured, schema-driven representation that defines:</t>
      <ul spacing="normal">
        <li>
          <t>The policy metadata (identifier, description, version).</t>
        </li>
        <li>
          <t>The declarative language used to express the policy (e.g., Rego).</t>
        </li>
        <li>
          <t>The logical rule content.</t>
        </li>
        <li>
          <t>Optionally, validation and provenance extensions.</t>
        </li>
      </ul>
      <t>This canonical form ensures policies can be validated, versioned, and translated programmatically.</t>
      <t>The example below illustrates a minimal model that links declarative logic with its structural:</t>
      <artwork><![CDATA[
module authz-policy {
    namespace "urn:ietf:params:xml:ns:yang:authz-policy";
    prefix pex;
    organization
        "IETF NMOP";
    contact
        "WG Web:   <https://datatracker.ietf.org/wg/nmop/>
        WG List:  <mailto:nmop@ietf.org>
    Authors:
        Lucia Cabanillas <mailto:lucia.cabanillasrodriguez@telefonica.com>
        Diego Lopez <mailto:diego.r.lopez@telefonica.com>
        Ana Méndez Pérez <mailto:ana.mendezperez@telefonica.com>";
    description
        "A simple illustrative model for representing a declarative policy, including its language and rule content.";
    revision 2025-10-15 {
        description
            "First revision";
        reference
            "RFC XXXX: Model for distributed authorization policy sharing";
     }
    container policy {
        leaf id {
            type string;
            description
                "Unique identifier for the policy instance.";
            }
        leaf description {
            type string;
            description
                "Optional human-readable description of the policy.";
            }
        leaf language {
            type enumeration {
                enum rego {
                description "The policy is written in Rego syntax.";
                }
                enum cedar {
                description "The policy is written in Cedar syntax.";
                }
                enum alfa {
                description "The policy is defined in ALFA format.";
                }
            }
            description
                "Specifies the language used to express the policy.";
        }
        leaf rule {
            type string;
            description
                "Example:    package example
                # Allow read access if the user has the 'read' role
                default allow = false
                allow {
                    input.user.role ==\"read\"
                }";
        }
    }
}
]]></artwork>
      <t>This YANG snippet demonstrates how policy content can be represented as structured data while keeping the logic in a declarative format. By explicitly indicating the language, management systems can validate and process policies appropriately, enabling interoperability between tools and engines.</t>
    </section>
    <section anchor="architecture-overview">
      <name>Architecture Overview</name>
      <t>Policy management relies on a set of functional components that cooperate to define, validate, distribute, and enforce authorization policies across systems and administrative domains. In this framework, YANG serves as the canonical container for policy definitions, providing a structured and verifiable representation that includes both metadata and the declarative policy logic ( Policy-as-Code , PaC).</t>
      <t>The Policy Administration Point (PAP) is the central manager: it extracts the PaC from the YANG, validates it, and distributes it to one or more Policy Decision Points (PDPs).</t>
      <section anchor="functional-roles">
        <name>Functional Roles</name>
        <t>Policy Author: The entity (human or automated system/agent) responsible for creating the policy definition. The author produces a YANG-encoded policy document that includes metadata (identifier, version, language) and the actual declarative rule (PaC).</t>
        <t>Policy Administration Point (PAP): The PAP manages the full lifecycle of policies. It receives the YANG policy, validates its schema and provenance (e.g., using COSE signatures as described in <xref target="I-D.ietf-opsawg-yang-provenance"/>), and extracts the embedded PaC rule. The PAP can also transform or adapt the PaC for the target PDPs if needed, but the original logic remains intact. Finally, the PAP distributes the validated and executable PaC to the relevant PDPs.</t>
        <t>Policy Decision Point (PDP): The PDP receives the executable PaC from the PAP and performs runtime evaluation. Decisions are made based on contextual attributes, claims, and tokens (e.g., WIMSE tokens), producing authorization outcomes such as Permit, Deny, or Obligations.</t>
        <t>Policy Enforcement Point (PEP): The PEP enforces the decisions issued by the PDP. Enforcement may include granting or denying access, applying configurations, or triggering operational actions.</t>
      </section>
      <section anchor="functional-interaction">
        <name>Functional Interaction</name>
        <t>The following describes the operational flow of policies across the functional components, highlighting how YANG-based policy definitions and PaC are handled.</t>
        <t>```</t>
        <artwork><![CDATA[
                                   Policy Author
                                         |
                                         |
                                         |YANG policy
                                         |
                       +-----------------v-----------------+
                       |    Policy Administration Point    |
                       -------------------------------------
                       | - Validates provenance and schema |
                       | - YANG-based policy               |
                       | - Adapts/distributes PaC to PDPs  |
                       +-----------------|-----------------+
                                         |
                                         |Policy distribution
                                         |
                    +-----------------------------------------+
                    |          Policy Decision Point          |
                    -------------------------------------------
                    |- PaC (fine-grained contextual policies) |
                    |                                         |
                    |                                         |
                    +--------------------|--------------------+
                                         |
                                         |Enforcement info
                                         |
                       +-----------------v-----------------+
                       |      Policy Enforcement Point     |
                       -------------------------------------
                       | - Enforces runtime decisions      |
                       |                                   |
                       |                                   |
                       +-----------------------------------+
]]></artwork>
        <t>```</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>Ensuring the integrity, authenticity, and provenance of policy data is critical to prevent unauthorized modification or injection of malicious logic. Policies <bcp14>SHOULD</bcp14> include cryptographic protection mechanisms that allow their origin and validity to be verified.</t>
      <t>The mechanisms defined in <xref target="I-D.ietf-opsawg-yang-provenance"/> — Applying COSE Signatures for YANG Data Provenance — provide a suitable foundation for these protections. That document specifies how COSE signatures <xref target="RFC9052"/> are used to bind signatures to YANG elements, enabling verifiable provenance and ensuring policy integrity.</t>
      <t>When such provenance mechanisms are applied to policy definitions, each policy instance can include a verifiable signature or evidence chain linking it to its authoritative source.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-normative-references">
      <name>Normative References</name>
      <reference anchor="RFC9052">
        <front>
          <title>CBOR Object Signing and Encryption (COSE): Structures and Process</title>
          <author fullname="J. Schaad" initials="J." surname="Schaad"/>
          <date month="August" year="2022"/>
          <abstract>
            <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. There is a need to be able to define basic security services for this data format. This document defines the CBOR Object Signing and Encryption (COSE) protocol. This specification describes how to create and process signatures, message authentication codes, and encryption using CBOR for serialization. This specification additionally describes how to represent cryptographic keys using CBOR.</t>
            <t>This document, along with RFC 9053, obsoletes RFC 8152.</t>
          </abstract>
        </front>
        <seriesInfo name="STD" value="96"/>
        <seriesInfo name="RFC" value="9052"/>
        <seriesInfo name="DOI" value="10.17487/RFC9052"/>
      </reference>
      <reference anchor="I-D.ietf-opsawg-yang-provenance">
        <front>
          <title>Applying COSE Signatures for YANG Data Provenance</title>
          <author fullname="Diego Lopez" initials="D." surname="Lopez">
            <organization>Telefonica</organization>
          </author>
          <author fullname="Antonio Pastor" initials="A." surname="Pastor">
            <organization>Telefonica</organization>
          </author>
          <author fullname="Alex Huang Feng" initials="A. H." surname="Feng">
            <organization>INSA-Lyon</organization>
          </author>
          <author fullname="Ana Méndez Pérez" initials="A. M." surname="Pérez">
            <organization>Telefonica</organization>
          </author>
          <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
            <organization>Fraunhofer SIT</organization>
          </author>
          <date day="7" month="July" year="2025"/>
          <abstract>
            <t>   This document defines a mechanism based on COSE signatures to provide
   and verify the provenance of YANG data, so it is possible to verify
   the origin and integrity of a dataset, even when those data are going
   to be processed and/or applied in workflows where a crypto-enabled
   data transport directly from the original data stream is not
   available.  As the application of evidence-based OAM automation and
   the use of tools such as AI/ML grow, provenance validation becomes
   more relevant in all scenarios, in support of the assuring the origin
   and integritu of datasets and/or data streams.  The use of compact
   signatures facilitates the inclusion of provenance strings in any
   YANG schema requiring them.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-opsawg-yang-provenance-01"/>
      </reference>
      <reference anchor="RFC2119">
        <front>
          <title>Key words for use in RFCs to Indicate Requirement Levels</title>
          <author fullname="S. Bradner" initials="S." surname="Bradner"/>
          <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">
        <front>
          <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
          <author fullname="B. Leiba" initials="B." surname="Leiba"/>
          <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>
    </references>
    <?line 292?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>This document is based on work partially funded by the iTrust6G project (Grant agreement N 101097083) and the ROBUST-6G project (Grant agreement N 101139068).</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA7Vb3XYbx5G+n6fohS4ixgAkOnZiwz8JTFI2z5FErkSv1yfx
ORrMNIAJ5wc7PUMKluSTh9ibvdvbXOQl1m+SJ9mvqrp7egYgRcUyLkhgMNNd
Xf1V1VfVhclkEjVZk+uZGj2pUp2rZVWrNDNNnS3aRqcqbpt1VWc/xk1WlWpT
5VmyVWYd11m5GkXxYlHrKzxMt/04ka8n9utJQSOOoiRu9KqqtzOVlcsqitIq
KeMCU6Z1vGwmSbyIyyzPYzMpi2ozuXmoycOHkWkXRWYMhGm2G4xxenLxSKl7
Ks5NBTmyMtUbjT9lMxqrkU6zBtLHOX04nX+Ff1jf6PTZxaNRVLbFQtezKIV8
syipSqNL05qZaupWR1gVpotrHWPYs42uWQNGxWWqnsRlvNIFTRJdV/Xlqq7a
DW57qhv6GHyvuidH0aXe4ut0FqmJ1SS962mYLqzquGxzrLvZRle6bCGcUnec
QilRy+g73ATFqa/pObpexFmO66TiP2W6WU6rekXX4zpZ4/q6aTZm9uAB3UaX
sis9dbc9oAsPFnV1bfQDGuABPbjKmnW7wKOP2ySLj/wuPqvSOlu1+scHt4FC
qRxqN00w9U3jTGWmaVbdMuKDdwXTdN0UkCMS9fOeCCohxs//iFUniCJJfv4H
iQKxAaAVvpDtmqkLnetlVWZJTN9pq+WcljLthKndWv7U+PunSVWMummPMxiJ
elxt7j5LSo9M62lOD9088ryM1ROyiTsPDGxNC34C0NozdFRWdYERrgiazx4d
ffrw4w/x7nRyzJiZVBsTX68m2xjK3tQVQByXCRnr7TdEETkIP3I0nU6jaDKB
iSzgkOKkiaKLdWYUHEjLyE/1Miu1UYVO1liUKcQ8YcoYUcyV/Fmz1qrWm1rD
wBtxZHSbhYOqlvu8XIZxs7LvC0v2hxUExCddXmV1VZIgZqpOG2U2OsmW9BxN
uKzaMuXx4lxBf3wfxPivNqvxdFMp/ZJEMr3pYhLeYE7cPYbNwhBLPYETSuNF
rscsQlY2uq7I6HEJ95SlrscQBx9pOaSSCXwI/rEqmrrKnVoa/bKZxNfwakpf
xXnL8k1JrRC4BlrYt5h2s6nqRtaBDd/kutHO9+fZUifbhITJyiRvU5ozgYQ0
1Fhh1Cx173VNjho3jDs98jckTqoxtPXlfMs1zFx9P3/6tTK6vqJhYytCXDL4
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

-->

</rfc>
