Policy-Syntax

Eine Zero Trust Packet Routing-(ZPR-)Policy besteht aus einer oder mehreren Policy-Anweisungen. Eine Policy-Anweisung ist ein Ausdruck von Intent, das in einer bestimmten Syntax geschrieben ist.

ZPR-Policy-Anweisungen verwenden die folgende Syntax und Regeln:

<src-location> <command> <endpoint> to <verb> <endpoint>
  • <src-location> ist erforderlich, und es muss das Format in <security attribute> VCN. aufweisen. <security attribute> muss angegeben werden, und es kann nur ein einzelnes Sicherheitsattribut sein.
  • <command> muss zulässig sein.
  • <endpoint> muss security attribute, ip address, all-endpoints oder osn-services-ip-endpoints sein.
  • <verb> muss eine Verbindung herstellen.

Beispiel: Die folgende Policy-Anweisung drückt die Absicht aus, Traffic von oder zu Endpunkten innerhalb desselben VCN zuzulassen, das von einem Quellspeicherort identifiziert wird:

in app:fin-network VCN allow app:web endpoints to connect to app:store endpoints
Hinweis

Beim Ingress- oder Egress-Traffic außerhalb des VCN muss die ZPR-Policy die Clients referenzieren, indem sie IP-Adressen anstelle von Sicherheitsattributen verwendet. Sicherheitsattribute können nur verwendet werden, wenn sie sich auf Endpunkte im selben VCN beziehen.

Der Quellspeicherort identifiziert das VCN anhand seines Sicherheitsattributs und unterliegt der Policy, die es referenziert. Die Allow-Anweisung gilt für jedes VCN mit diesem Sicherheitsattribut.

Das Sicherheitsattribut identifiziert ein Subjekt-VCN und Endpunkte innerhalb des Subjekt-VCN. Das Sicherheitsattribut besteht aus einem Sicherheitsattribut-Namespace und einem Sicherheitsattributschlüssel, der durch einen Punkt getrennt ist, sowie einem durch einen Doppelpunkt getrennten Wert:

Ein Syntaxdiagramm, das die im Text beschriebene Syntax veranschaulicht.

Beispiel: In applications.app:fin-network lauten die Werte wie folgt:
  • applications ist der Namespace für Sicherheitsattribute.
  • app ist der Sicherheitsattributschlüssel
  • fin-network ist der Wert

Sicherheitsattribut-Namespaces, Sicherheitsattributschlüssel und Werte werden durch bestimmte Limits eingeschränkt. Wichtig ist, dass Sicherheitsattribut-Namespaces und Sicherheitsattributschlüssel kein Leerzeichen oder Punktzeichen enthalten. Werte können jedoch Leerzeichen, Punkte und einfache Anführungszeichen enthalten. Wenn ein Sicherheitsattribut referenziert wird, dessen Wert mehr als die zulässigen Zeichen enthält, wird die gesamte Sicherheitsattributklausel in einfache Anführungszeichen gesetzt. Ein einzelnes Anführungszeichen im Wert muss mit einem anderen einfachen Anführungszeichen versehen werden. Beispiel:

app:fin-network

oracle-zpr.app:fe-nodes

my-corp.biz:hr

'my-corp.biz:dev and test db'

Hinweis

Wenn der Namespace eines Sicherheitsattributs ausgelassen wird, entspricht ZPR standardmäßig dem Namespace oracle-zpr.

Die Endpunktklausel identifiziert die Quelle oder das Ziel des Traffics mit dem angegebenen Sicherheitsattributset in einem Subjekt-VCN. Das Schlüsselwort all-endpoints gibt jeden Endpunkt innerhalb oder außerhalb des Subjekt-VCN an, unabhängig davon, ob er Sicherheitsattribute enthält:

app:fe-nodes endpoints

oracle-zpr.app:store endpoints

my-corp.biz:hr-web endpoints

'my-corp.biz:dev and test database' endpoints

Hinweis

Quelle und Ziel dürfen nicht beide all-endpoint sein. Es muss eine identifiziert werden (Endpunktattributliste).
Ein Syntaxdiagramm, das die im Text beschriebene Syntax veranschaulicht.

Der Traffic zu und von Endpunkten kann in einer Policy weiter eingeschränkt werden, indem nach dem Schlüsselwort ip-address und mindestens einem der zulässigen Netzwerkfilterattribute gefiltert wird: protocol, protocol.icmp.type, protocol.icmp.code und connection-state.

Ein Syntaxdiagramm, das die im Text beschriebene Syntax veranschaulicht.

ip-address oder osn-services-ip-addresses können ein Ziel oder eine Quelle sein. Sie können ip-address und osn-services-ip-addresses jedoch nicht sowohl auf dem Quell- als auch auf dem Zielendpunkt verwenden. ip-address und osn-services-ip-addresses müssen entweder die Quelle oder das Ziel sein. Beispiele:

in apps:app1 VCN allow '10.0.0.0/16' to connect to apps:app1 endpoints