<?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-nmop-cabanillas-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-nmop-cabanillas-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-nmop-cabanillas-authz-policy-sharing-model.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-nmop-cabanillas-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 <em>intents</em> 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><strong>Fragmentation:</strong> Different systems implement incompatible policy formats and semantics, hindering interoperability and auditability.</t>
        </li>
        <li>
          <t><strong>Limited granularity:</strong> Many policy models lack the expressiveness needed to capture contextual or fine-grained conditions.</t>
        </li>
        <li>
          <t><strong>Lifecycle gaps:</strong> 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><strong>Provenance verification</strong> , through cryptographic signatures that bind policy content to its origin and authority.</t>
        </li>
        <li>
          <t><strong>Schema-based validation</strong> , ensuring that policy attributes and logical structures comply with agreed models.</t>
        </li>
        <li>
          <t><strong>Lifecycle consistency</strong> , 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?>

<ul spacing="normal">
        <li>
          <t><strong>Policy:</strong> A rule or set of rules that define behavior, access, or operational constraints within a system.</t>
        </li>
        <li>
          <t><strong>Authorization policy:</strong> A policy that governs access or permissions based on user/agent, resource, or environmental attributes.</t>
        </li>
        <li>
          <t><strong>Policy evaluation:</strong> The process of determining whether a request complies with a defined policy.</t>
        </li>
        <li>
          <t><strong>Context-aware policy:</strong> A policy that adapts its evaluation outcome based on runtime context, such as environmental or identity-specific data.</t>
        </li>
        <li>
          <t><strong>Policy-as-Code (PaC):</strong> 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><strong>Granularity:</strong> Ability to express fine-grained authorization rules over users, resources, and contextual conditions.</t>
        </li>
        <li>
          <t><strong>Context-awareness:</strong> Support for evaluation based on attributes such as device state, network condition, or environment.</t>
        </li>
        <li>
          <t><strong>Token alignment:</strong> 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><strong>Lifecycle control:</strong> Policies <bcp14>MUST</bcp14> support creation, versioning, validation, and retirement.</t>
        </li>
        <li>
          <t><strong>Interoperability:</strong> 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 <em>Policy-as-Code</em> 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>
      <t><tt>
package example
# Allow read access if the user has the "read" role
default allow = false
allow {
    input.user.role == "read"
}
</tt></t>
      <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 <strong>policy metadata</strong> (identifier, description, version).</t>
        </li>
        <li>
          <t>The <strong>declarative language</strong> used to express the policy (e.g., Rego).</t>
        </li>
        <li>
          <t>The <strong>logical rule</strong> content.</t>
        </li>
        <li>
          <t>Optionally, <strong>validation and provenance extensions</strong>.</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>
      <t><tt>
module authz-policy {
    namespace "urn:ietf:params:xml:ns:yang:authz-policy";
    prefix pex;
    organization
        "IETF NMOP";
    contact
        "WG Web:   &lt;https://datatracker.ietf.org/wg/nmop/&gt;
        WG List:  &lt;mailto:nmop@ietf.org&gt;
    Authors:
        Lucia Cabanillas &lt;mailto:lucia.cabanillasrodriguez@telefonica.com&gt;
        Diego Lopez &lt;mailto:diego.r.lopez@telefonica.com&gt;
        Ana Méndez Pérez &lt;mailto:ana.mendezperez@telefonica.com&gt;";
    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\"
                }";
        }
    }
}
</tt></t>
      <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 ( <em>Policy-as-Code</em> , 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><strong>Policy Author</strong>: 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><strong>Policy Administration Point (PAP)</strong>: 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><strong>Policy Decision Point (PDP)</strong>: 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  <em>Permit</em>, <em>Deny</em>, or <em>Obligations</em>.</t>
        <t><strong>Policy Enforcement Point (PEP)</strong>: 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"/> — <em>Applying COSE Signatures for YANG Data Provenance</em> — 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 290?>

<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:
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
4P8ARnFhtGk/AAA=

-->

</rfc>
