Zusammenfassung

  • Die Gültigkeit einer Konfiguration kann von ausgewählten Daten des übergeordneten Modells abhängen, obwohl das eingehängte YANG-Modul unverändert bleibt.
  • parent-reference erweitert den Kontext für XPath-Auswertungen, gewährt aber nicht automatisch Lese- oder Schreibzugriff auf diese Elterndaten über den eingehängten Protokollbaum.
  • Gemeinsames Schema, identische Daten und wirksame Zugriffstrennung sind unterschiedliche Eigenschaften. Eine Abnahme muss benennen, welche davon tatsächlich nachgewiesen wurde.

Was bedeutet die Freigabe eines unveränderten Moduls? Zunächst eine eng begrenzte Aussage: Die geprüften Definitionen sind weiterhin dieselben. Daraus folgt nicht, dass jede neue Einbettung dieselben Beziehungen zu ihrer Umgebung herstellt. Bei einem Modell, dessen Regeln auf ausgewählte Daten außerhalb seiner eigenen Struktur angewiesen sind, kann diese Differenz betrieblich entscheidend sein.

YANG Schema Mount erlaubt es, vollständige Modelle unter einem anderen Modell einzuhängen. Ein Modul muss dadurch nicht für jede mögliche übergeordnete Gerätestruktur neu geschrieben werden. Wiederverwendung wird einfacher, weil die Beziehung zwischen den Modellen außerhalb des wiederverwendeten Moduls festgelegt werden kann.

Gerade deshalb braucht die Beziehung einen eigenen Gegenstand in der Abnahme. Das Modul kann korrekt sein, der übergeordnete Datenbestand ebenfalls, während die konkrete Kombination noch nicht die Voraussetzungen erfüllt, die ein Automatisierungswerkzeug erwartet. Dieser Beitrag beschreibt keinen beobachteten Ausfall. Er untersucht eine im Standard angelegte Abhängigkeit und die Frage, wer sie im Betrieb verantwortet.

Drei Prüfungen, die nicht zusammenfallen

Für eine belastbare Freigabe sind zunächst drei Fragen auseinanderzuhalten. Welche Daten darf eine Regel bei ihrer Auswertung berücksichtigen? Welche Knoten sind überhaupt als Konfigurationsdaten veränderbar? Welche Operationen darf ein bestimmter Benutzer ausführen? Diese Fragen können denselben Datenbaum betreffen, verlangen aber unterschiedliche Nachweise.

Der RFC 8528 macht die erste Unterscheidung ausdrücklich. Im Shared-Schema-Modus können parent-reference-Ausdrücke ausgewählte Knoten des Elternmodells in den für XPath zugänglichen Auswertungsbaum des eingehängten Modells aufnehmen. Die Auswahl und ihre Vorfahren ergänzen diesen Kontext.

Damit werden die betreffenden Elterndaten nicht zugleich über NETCONF- oder RESTCONF-Operationen auf dem eingehängten Baum lesbar oder schreibbar. Eine Regel kann von einer Zuordnung abhängen, ohne dass deren Verwaltung an den Benutzer des eingehängten Modells übergeht. Wer beides als Zugriff bezeichnet, muss deshalb erklären, welche Bedeutung gemeint ist.

Auch ein schreibgeschützter Knoten beantwortet noch nicht die Benutzerfrage. Daten im eingehängten Schema werden unter den entsprechenden Bedingungen des Mount-Punkts oder seiner beschreibenden Informationen zu nicht konfigurierbaren Daten. Daraus ergibt sich aber keine vollständige Liste der Personen, die diese Daten lesen dürfen. Eine korrekte Aussage über das Schema kann eine fehlende Aussage über Berechtigungen nicht ersetzen.

Die Schnittstelle ist vorhanden, aber wo gehört sie hin?

Das Beispiel für Netzwerkinstanzen in Anhang A.3 des RFC zeigt die Abhängigkeit anschaulich. Es wählt Schnittstellen aus dem Elternmodell anhand ihrer Zuordnung zur aktuellen Instanz aus. Dadurch können Referenzen, etwa auf die ausgehende Schnittstelle einer statischen Route, gültig sein, obwohl das Schnittstellenmodul nicht zum eingehängten Schema der Netzwerkinstanz gehört.

Die Existenz einer Schnittstelle irgendwo auf dem Gerät reicht zur Erklärung also nicht aus. Entscheidend ist, ob sie in die betreffende Auswahl fällt. Derselbe Ausdruck kann von unterschiedlichen Instanzen aus unterschiedliche Knoten auswählen. Gemeinsame Regeln bedeuten hier nicht, dass jede Instanz dieselben Schnittstellen verwendet.

Das Beispiel ist nicht normativ und kein Konformitätsnachweis für ein Produkt. Es belegt weder eine aktuelle Installation noch einen gemessenen Effekt auf den Datenverkehr. Seine Bedeutung liegt in der beschriebenen Beziehung: Ein Modell kann sich auf Objekte stützen, deren Definition und Zuordnung außerhalb seiner eigenen Struktur liegen.

Für die Abnahme ergibt sich daraus eine zusätzliche Frage. Ist nur bestätigt worden, dass das Modul vorhanden ist, oder auch, dass die für diese Instanz ausgewählte Umgebung zu seinen vorgesehenen Referenzen passt? Die zweite Frage bleibt offen, wenn lediglich das erste Ergebnis dokumentiert wurde.

Gültigkeit bezieht sich auf bestimmte Daten

YANG definiert mit must Bedingungen, die für die betreffenden Daten wahr sein müssen. Bei Blattreferenzen kommt die Eigenschaft require-instance hinzu. Bei true muss die entsprechende Instanz nach den geltenden Sprachregeln vorhanden sein; bei false kann ihr Fehlen zulässig sein. Regeln für Standardwerte und für Referenzen zwischen Konfigurationsdaten sind ebenfalls zu beachten. Die Einzelheiten legt RFC 7950 fest.

Ein unverändertes Modul garantiert daher nicht, dass ein unveränderter Konfigurationskandidat in jeder Umgebung gültig ist. Die Definition legt Bedingungen fest, die sich auf einen bestimmten Datenzusammenhang beziehen. Wird ein für die Auswahl relevantes Merkmal des Elternmodells geändert, können sich die Eingaben einer davon abhängigen Bedingung ändern.

Diese Aussage ist bewusst bedingt. Nicht jede Änderung im Elternmodell beeinflusst jede Regel. Ein bearbeiteter Knoten kann für die Auswahl bedeutungslos sein, oder die Auswahl kann trotz Änderung gleich bleiben. Eine Untersuchung muss die konkrete Referenz verfolgen. Der pauschale Hinweis auf eine geänderte Umgebung ist noch keine Ursachenanalyse.

Ebenso wenig folgt aus einer anderen Validierung unmittelbar ein anderer Paketfluss. Ob eine bestimmte Implementierung eine Operation zulässt und was sie anschließend tatsächlich bewirkt, sind weitere Beobachtungen. Das Architekturargument reicht nur so weit wie die nachgewiesene Abhängigkeit. Es darf nicht zu einem erfundenen Bericht über ein Gerät erweitert werden.

Sorgfalt ist auch bei Beispielen nötig. Das verifizierte redaktionelle Erratum 5797 berichtigt in einem anderen Anhangsbeispiel den Wert einer Zuordnung: Ein Schnittstellenfeld für die Bindung an ein logisches Netzwerkelement muss dessen Namen enthalten, nicht den Namen der Schnittstelle. Die Korrektur ändert nicht den Mechanismus der Elternreferenz. Sie zeigt im kleinen Maßstab, warum ein plausibel aussehender Bezeichner noch nicht die richtige Beziehung ausdrückt.

Was der Einhängepunkt begrenzt

Mount-Punkte werden im Elternmodell an Containern oder Listen definiert. Pfade innerhalb des eingehängten Modells werden grundsätzlich vom Einhängepunkt als Wurzel aus verstanden, nicht automatisch von der Wurzel des gesamten Geräts. Die ausdrücklich ausgewählten Elterndaten ergänzen diesen Auswertungskontext.

Der dafür verwendete Begriff mount jail darf nicht als Zusicherung vollständiger Mandantentrennung gelesen werden. Er beschreibt zunächst die Interpretation von Modellpfaden. Prozessisolation, getrennte Ressourcen oder die Sicherheitswirkung einer Benutzersitzung lassen sich daraus allein nicht ableiten.

Die Betriebsdaten unter schema-mounts beschreiben außerdem die vom Server bereitgestellte Einbettung. Sie sind kein universeller, frei beschreibbarer Schalter für jede Änderung der Modellzusammensetzung. Der Standard legt weder sämtliche Quellen der zugrunde liegenden Instrumentierung noch jeden Schritt des Instanzlebenszyklus fest. Eine erkennbare Struktur ist nicht gleichbedeutend mit einem vollständig bekannten Änderungsverfahren.

Das ist für die Verantwortungsverteilung wichtig. Ein Team kann die Einbettung beobachten, ohne alle Möglichkeiten zu ihrer Veränderung zu kontrollieren. Eine Übergabe sollte daher nicht nur zeigen, wo die Information steht, sondern auch erläutern, durch welche unterstützten Verfahren relevante Zuordnungen entstehen und wer sie verantwortet. Die konkrete Antwort hängt von der Implementierung ab.

Ein gemeinsames Schema ist kein Zustandsabbild

Im Shared-Schema-Modus müssen die Instanzen desselben Mount-Punkts ein gemeinsames Schema verwenden. Inline erlaubt unterschiedliche Schemata. Jede operative Instanz stellt YANG-Library-Informationen bereit. Übereinstimmende Inhaltskennungen zweier Inline-Instanzen beweisen nach RFC 8528 jedoch nicht, dass deren Bibliotheken denselben Inhalt haben.

Selbst bei tatsächlich gemeinsamem Schema bleiben die gewöhnlichen Elterndaten instanzabhängig. Eine Bibliothekskennung ist kein vollständiges Abbild aller Schnittstellenzuordnungen, die eine Regel auswerten könnte. Eine relevante Änderung dieser Zuordnungen muss daher nicht als Änderung der Modulliste sichtbar werden.

Die sinnvolle Folgerung lautet nicht, jede Wiederverwendung zu verbieten. Ein Werkzeug muss vielmehr wissen, welche Gleichheit es voraussetzen darf und welche instanzspezifischen Belege es weiter benötigt. Informationen über Definitionen können geteilt werden, ohne die Unterschiede im konkreten Referenzkontext zu leugnen.

Die Berechtigungsprüfung bleibt eigenständig

Wenn NACM implementiert ist, erfasst die Zugriffskontrolle eingehängte Knoten anhand ihrer Position im zusammengesetzten Baum. Durch das Einhängen entsteht nicht automatisch eine unabhängige private Berechtigungswelt. Gemeinsame oder aufgeteilte Verwaltung beschreibt Sitzungsarrangements, nicht bereits jede sicherheitsrelevante Trennung.

RFC 8341 zu NACM weist zudem auf Datenabhängigkeiten, Referenzen und implizite Wirkungen von Modellen hin. Ein verweigerter direkter Lesezugriff erklärt nicht vollständig, was ein Benutzer über erlaubte Operationen oder verwandte Daten erschließen kann. Das sind allgemeine Sicherheitsüberlegungen und kein Nachweis einer konkreten Schema-Mount-Schwachstelle.

Zwei vorschnelle Schlussfolgerungen scheiden deshalb aus. Eine Elternreferenz beweist keine gescheiterte Isolation. Eine fehlende direkte Lesemöglichkeit beweist aber auch keine vollständige Isolation. Benötigt werden das tatsächliche Modell, die Sitzungen, die Rechte und die beobachtbaren Wirkungen.

Eine Abnahme ist dann präzise, wenn sie ihre Reichweite nennt. Unveränderte Moduldefinitionen sind ein nützlicher Befund. Ob ihre neue Einbettung passt und ob die Rechte stimmen, muss daneben beantwortet werden. Das ist kein Misstrauen gegen Wiederverwendung, sondern die Voraussetzung dafür, ihren Nutzen verlässlich zu betreiben.