Generische Richtlinien in DevOps Config

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 22 Minuten Lesedauer
  • Standardmäßig enthält das Richtlinien-Inhaltspaket DevOps Config eine Reihe allgemeiner Richtlinien zum Validieren Ihrer Konfigurationsdaten.

    Wichtig:
    Ab Release Washington DC wird DevOps Config auf seine künftige Stilllegung vorbereitet. Es wird ausgeblendet und in neuen Instanzen nicht mehr installiert, aber weiterhin unterstützt. Weitere Informationen finden Sie im Artikel Deprecation Process [KB0867184] (Abkündigungsprozess) in der Now Support Knowledge Base.
    Sie können diese Standardrichtlinien DevOps Config verwenden oder anpassen, um zu validieren, ob der Inhalt Ihrer Konfigurationsdaten konform ist, oder verwalten den gesamten Lebenszyklus von PaCE policies.
    Hinweis:
    Sie können die Standardrichtlinien nicht ändern. Sie können jedoch eine Kopie der Richtlinie erstellen und Ihre Kopie anpassen.
    Tabelle : 1. Navigation des ersten Buchstabens für Richtlinien auf dieser Seite

    A | C | D | F | G | K | L | M | N | S | U

    Alle Schlüssel-Wert-Vergleiche (allKeysValuesCvergleich)

    Überprüft, ob alle Schlüssel-Wert-Kombinationen der zusätzlichen bereitstellbaren Elemente mit denen des Haupt-Bereitstellungselements identisch sind.

    Führt zu einem nicht konformen Status für die folgenden Bedingungen:
    • Wenn ein Schlüssel im bereitstellbaren Hauptelement vorhanden ist, aber nicht in den zusätzlichen bereitstellbaren Elementen.
    • Wenn ein Schlüssel in den zusätzlichen bereitstellbaren Elementen vorhanden ist, aber nicht im bereitstellbaren Hauptelement.
    • Wenn ein Schlüssel sowohl im Haupt- als auch im zusätzlichen bereitstellbaren Element vorhanden ist, jedoch mit unterschiedlichen Werten

    Anwendungsfall: Erkennen Sie Konfigurationsabweichungen zwischen Bereitstellungs- und Produktionsumgebungen.

    Eingabeargumente
    • zusätzlicheBereitstellbareElementeEingabe
      • Eine Liste zusätzlicher bereitstellbarer Elemente für den Vergleich mit dem bereitstellbaren Hauptelement.
      • Typ: Liste
      • Obligatorisch: Wahr
    • includeNodes
      • Ein boolescher Wert, der angibt, ob andere Knoten als die Konfigurationsdatenelemente (Config Data Items, CDI) in die Validierung einbezogen werden sollen.
      • Standard: False
      • Typ: wahr | falsch
      • Obligatorisch: False
    • exceptionList
      • Kommagetrennte Liste von Schlüsselnamen, die beim Vergleich ignoriert werden sollten.
      • Typ: Zeichenfolge
      • Obligatorisch: False

    Autorisierte E-Mail-Domänen (authorizedEmailDomains)

    Überprüft, ob ein E-Mail-Domänenwert, der basierend auf einem regulären Ausdruck identifiziert wird, in der Liste der autorisierten E-Mail-Domänen enthalten ist.

    Führt zu einem nicht konformen Status, wenn eine E-Mail-Domäne keine autorisierte Domäne ist.

    Anwendungsfall: Verhindern, dass (sensible) Daten eine vertrauenswürdige Unternehmens-E-Mail-Domäne verlassen.

    Eingabeargumente
    • autorisierteDomänen
      • Kommagetrennte Liste autorisierter E-Mail-Domänen.
      • Beispiel:
        gmail.com,servicenow.com
      • Typ: Zeichenfolge
      • Obligatorisch: Wahr
    • exceptionList
      • Kommagetrennte Liste mit Schlüsselnamen, die von der Richtlinie ignoriert werden.
      • Typ: Zeichenfolge
      • Obligatorisch: False

    Autorisierte Hosts in URLs (authorizedHostsInURLS)

    Überprüft, ob das Format der Hostkomponente der URL-Werte in einem Snapshot autorisiert ist.

    Führt zu einem nicht konformen Status, wenn die URL-Werte in einem Snapshot nicht dem für die Hostkomponente angegebenen Format entsprechen.

    Anwendungsfall: Verhindern Sie die Offenlegung von (sensiblen) Daten über nicht autorisierte URLs.

    Eingabeargumente
    • autorisierteHostsRegulärer Ausdruck
      • Eine durch Kommas getrennte Liste regulärer Ausdrücke, die zum Validieren der Hostkomponente in URLs verwendet werden.
      • Beispiel:
        notpresent$,code.devsnc+,mydomain.com
      • Typ: Zeichenfolge
      • Obligatorisch: Wahr
    • exceptionList
      • Kommagetrennte Liste mit Schlüsselnamen, die von der Richtlinie ignoriert werden.
      • Typ: Zeichenfolge
      • Obligatorisch: False

    Autorisierte Schlüssel-Wert-Kombinationen (authorizedKVCombinations)

    Überprüft, ob die in einem Snapshot gefundenen Eingabeschlüsselwerte autorisiert sind.

    Führt zu einem Nicht-Beschwerdestatus, wenn ein Schlüssel einen nicht autorisierten Wert hat.

    Eingabeargumente
    • authorisedList
      • Eine JSON-Liste der Schlüssel mit einer Liste autorisierter Zeichenfolgenwerte für jeden Schlüssel.
      • Beispiel:
        {
          "image":"k8s.example.io,gke.example.io,docker.example.com:8444", 
          "domain":"example.service-now.com"
        }
      • Typ: JSON
      • Obligatorisch: Wahr
    • caseSensitive
      • Ein boolescher Wert, der angibt, ob bei den autorisierten Schlüsseln und ihren für die Validierung verwendeten Schlüsselwerten Groß-/Kleinschreibung beachtet werden.
      • Standardwert: False
      • Typ: wahr | falsch
      • Obligatorisch: False

    Autorisierter Portbereich (authorizedPortsRange)

    Überprüft, ob die in einem Snapshot gefundenen Eingabeportwerte autorisiert sind.

    Führt zu einem Nicht-Beschwerdestatus, wenn ein Portwert nicht im zulässigen Bereich liegt.

    Anwendungsfall: Überprüfen Sie, ob Portnamen innerhalb des zulässigen Bereichs für die Umgebung liegen, in der sie verwendet werden. Die Richtlinie kann für jede Bereichswertprüfung verwendet werden, nicht nur für Portnummern. Beispielsweise um zu überprüfen, ob alle Parameter, die eine Heap-Größe definieren, innerhalb des entsprechenden Bereichs liegen.
    Eingabeargumente
    • keysRegexWithRange
      • Eine JSON-Liste von Portschlüsseln und Portbereich mit Mindest- und Höchstwerten. Ein Schlüssel wird als Port identifiziert, wenn der Schlüssel mit den in der Eingabe angegebenen regulären Ausdrücken übereinstimmt.
      • Beispiel:
        { 
          "^web_port$": "5000-5003",
          "env.db.port": "10000-65535"
        }
      • Typ: JSON
      • Obligatorisch: Wahr
    • exceptionList
      • Kommagetrennte Liste mit Schlüsselnamen, die von der Richtlinie ignoriert werden.
      • Typ: Zeichenfolge
      • Obligatorisch: False

    Zertifikatvalidierer (certificateValidator)

    Überprüft, ob Zertifikate in einem Snapshot vorhanden sind und ob die Zertifikate abgelaufen sind oder innerhalb des Ablaufzeitraums ablaufen werden.

    Führt zu einem nicht konformen Status, wenn der Ablaufdatumsschlüssel oder der Zertifikatschlüssel mit dem Wert im PEM-codierten Format in einem Snapshot abgelaufen ist oder innerhalb des Ablaufzeitraums abläuft. Der Ablaufzeitraum wird aus dem Datum, an dem die Richtlinie ausgeführt wird, plus den Ablauftagen berechnet.

    Eingabeargumente
    • certificatesNode
      • Der Name des Knotens, der die Zertifikate enthält.
      • Standardwert: -Zertifikate
      • Typ: Zeichenfolge
      • Obligatorisch: Wahr
    • expirationDays
      • Anzahl der Tage für die Berechnung des Ablaufzeitraums für Zertifikate. Der Ablaufzeitraum wird aus dem Datum, an dem die Richtlinie ausgeführt wird, plus den Ablauftagen berechnet.
      • Typ: Ganzzahl
      • Obligatorisch: False
    • exceptionList
      • Eine durch Kommas getrennte Liste von Zertifikatnamen, die von der Richtlinie ignoriert werden.
      • Typ: Zeichenfolge
      • Obligatorisch: False

    Vergleich für konsistente Knoten (consistentNodesCvergleich)

    Überprüft, ob alle Schlüssel-Wert-Kombinationen für jeden Knoten der ersten Ebene in einem Snapshot identisch sind.

    Führt zu einem Nicht-Beschwerdestatus, wenn zwei Knoten der ersten Ebene in einem Snapshot unterschiedliche Schlüssel-Wert-Kombinationen aufweisen.

    Anwendungsfall: Wenn alle Knoten in einem Snapshot eine Gruppe von Geräten oder virtuellen Computern (VMs) sind, haben sie dieselbe Konfiguration.

    Eingabeargument
    exceptionList
    • Kommagetrennte Liste von Knoten oder Schlüssel-Wert-Kombinationen, die von der Validierung ausgeschlossen werden sollen.
    • Typ: Zeichenfolge
    • Obligatorisch: False

    Richtiger regulärer Ausdruck für Host (correctHostRegex)

    Überprüft das Format für hostbezogene Schlüssel, um sicherzustellen, dass ein Hostname zur Verwendung berechtigt ist.

    Führt zu einem Nicht-Beschwerdestatus, wenn ein Schlüssel mit einem URL-Wert in einem Snapshot nicht mit dem regulären Ausdruck übereinstimmt, der für die autorisierten Hosts angegeben wurde.

    Eingabeargumente
    • autorisierterHostRegex
      • Ein regulärer Ausdruck, der zum Validieren der Hostkomponente in den URLs verwendet wird.
      • Beispiel:
        mydomain.com
      • Typ: Zeichenfolge
      • Obligatorisch: Wahr
    • exceptionList
      • Kommagetrennte Liste von Schlüsseln mit den URL-Werten, die vom Vergleich ausgeschlossen werden sollen.
      • Typ: Zeichenfolge
      • Obligatorisch: False

    Nicht verwendete Variablen erkennen (detectUnusedVariables)

    Überprüft, ob der Ordner „vars“ eines bereitstellbaren Elements oder einer Sammlung Variablen enthält, die nicht in einem Snapshot verwendet werden.

    Führt zu einer Warnung, wenn eine Variable deklariert, aber nicht in einem Snapshot verwendet wird.

    Andere Schlüsselnamen, gleiche Werte (verschiedeneSchlüsselnamenSameValues)

    Überprüft, ob die Werte für Schlüsselpaare identisch sind.

    Führt zu einem nicht konformen Status, wenn die angegebenen Schlüsselpaare nicht den gleichen Wert haben.

    Anwendungsfall: Verschaffen Sie sich eine differenziertere Kontrolle der Bedingungen, indem Sie überprüfen, ob die Werte für verschiedene Schlüssel identisch sind.

    Eingabeargument
    keyPairs
    • Ein Array von Schlüsselpaaren, die dieselben Werte haben müssen Ein Schlüsselpaar darf verschiedene Schlüssel haben und darf nicht aus einem einzelnen Schlüssel ([key1) oder mehr als zwei Schlüsseln ([key1=key2=key3]) bestehen.
    • Beispiel:
      ["key1=key3","key2=key4"]
    • Typ: Array von Zeichenfolgen
    • Obligatorisch: Wahr

    Knotenvergleich für unterschiedliche Werte (differenzialValuesNodesCvergleich)

    Überprüft, ob der Schlüsselwert für alle Komponenten unterschiedlich ist, wenn ein Schlüssel in mehreren Komponenten eines Snapshots vorhanden ist.

    Führt zu einem nicht konformen Status, wenn ein Schlüssel in mehreren Komponenten denselben Wert hat.
    Hinweis:
    Wenn ein Schlüssel mehrere Vorkommen innerhalb derselben Komponente aufweist, verwenden Sie die Richtlinie „Eindeutiger Schlüsselwert“ (uniqueKeyValue).
    Eingabeargument
    keynameList
    • Kommagetrennte Liste von Schlüsselnamen, die unterschiedliche Werte für Knoten der ersten Ebene haben sollen.
    • Beispiel:
      key1,key2
    • Typ: Zeichenfolge
    • Obligatorisch: Wahr

    Formatvalidierung für Docker-Bildformat (dockerImageFormatValidator)

    Überprüft, ob das Docker-Image eines Service dem in der Eingabe angegebenen regulären Ausdruck folgt. Geben Sie beispielsweise einen regulären Ausdruckswert an, um sicherzustellen, dass die Kennzeichnung und Versionsverwaltung von Docker-Images den Best Practices entsprechen.

    Führt zu einem nicht konformen Status, wenn der Bildwert nicht mit dem Eingabewert des regulären Ausdrucks im Eingabeargument „imageExpectedRegex“ übereinstimmt.

    Eingabeargumente
    • imageExpectedRegex
      • Ein regulärer Ausdruckswert für ein Docker-Image.
        Beispieleingabewert, um sicherzustellen, dass das Tag eines Bildes ein alphanumerischer Wert ist:
         ^.*:([0-9]+.?)+([-_]{1}[A-Za-z0-9.]+)?$
      • Typ: Zeichenfolge
      • Obligatorisch: Wahr
    • serviceExceptionList
      • Kommagetrennte Liste von Services, die von der Validierung befreit sind.
      • Typ: Zeichenfolge
      • Obligatorisch: False

    Validierer für Docker-Image-Registrierung (dockerImageRegistryValidator)

    Überprüft, ob die Registrierung eines Docker-Images in der autorisierten Liste von Registrierungen enthalten ist.

    Analysiert das Docker-Image für jeden Service, ruft den Wert einer Registrierung in einem Image ab und prüft dann, ob der abgerufene Registrierungswert in der Eingabe authorizedRegistryList enthalten ist.

    Führt zu einem nicht konformen Status, wenn sich die Image-Registrierung nicht in der Eingabe authorizedRegistryList befindet.

    Eingabeargument
    authorizedRegistryList
    • Eine durch Kommas getrennte Liste von Registrierungen.
      Beispiel:
      k8s.example.io,gke.example.io,docker.example.com:8444
    • Typ: Zeichenfolge
    • Obligatorisch: Wahr

    Docker-Netzwerkvalidierer (dockerNetworkValidator)

    Überprüft, ob das Netzwerk für einen Docker-Service in den Netzwerkabschnitten definiert ist.

    Führt zu einem nicht konformen Status, wenn das Netzwerk für einen Service nicht im Netzwerkabschnitt der obersten Ebene definiert ist oder das Netzwerk für einen Service, das in der Eigenschaft labels/com.docker.lb.network konfiguriert ist, nicht im Abschnitt auf Serviceebene und im Netzwerk der obersten Ebene definiert ist Abschnitt.

    Doppelte Werte (duplicateValues)

    Prüft auf doppelte Werte in einem Snapshot.

    Führt zu einem nicht konformen Status, wenn in einem Snapshot doppelte Schlüsselwerte mit Ausnahme der in der Ausnahmeliste definierten Werte vorhanden sind.

    Anwendungsfall: Verschaffen Sie sich eine differenziertere Kontrolle der Bedingungen, indem Sie überprüfen, ob Snapshot-Werte unterschiedlich sind.

    Eingabeargumente
    • includePath
      • Ein boolescher Wert, der angibt, ob der vollständige Pfad des Knotens in die Ausgabe aufgenommen werden soll.
      • Standardwert: Wahr
      • Typ: wahr | falsch
      • Obligatorisch: Wahr
    • pathSeparator
      • Eine Zeichenfolge, die das Pfadtrennzeichen für Knoten angibt.
      • Standardwert: /
      • Typ: Zeichenfolge
      • Obligatorisch: Wahr
    • exceptionList
      • Ein Array von Zeichenfolgen, die von der Validierung ausgeschlossen werden sollen.
      • Standardwert: ["wahr", "falsch", "Ja", "Nein", "Aktiviert", "Deaktiviert"]
      • Typ: Array von Zeichenfolgen
      • Obligatorisch: False

    Unzulässige Schlüssel-Wert-Kombinationen (forbotdenKVcombinations)

    Überprüft, ob in einem Snapshot verbotene Schlüssel-Wert-Kombinationen vorhanden sind.

    Führt zu einem Nicht-Beschwerdestatus, wenn ein in einem Snapshot gefundener Schlüssel einen verbotenen Wert hat, wie in der Eingabeliste angegeben.

    Eingabeargument
    forbiddenKV
    • Eine JSON-Liste von Schlüsseln mit einer Liste verbotener Werte für jeden Schlüssel.
    • Beispiel:
      {
        "username":"root,admin",
         "password":"qwerty123"
      }
    • Typ: JSON
    • Obligatorisch: Wahr

    Generische Listenvalidierung (genericListValidator)

    Vergleicht die Schlüsselwerte eines Snapshots mit der Liste der in der Eingabe angegebenen Werte. Der Schlüsselwert kann eine Zeichenfolge, eine Liste kommagetrennter Zeichenfolgen, ein Array von Zeichenfolgen oder ein Objekt sein. Wenn der Schlüsselwert ein Objekt ist, werden die Schlüssel des Objekts für den Vergleich verwendet.

    Beachten Sie die folgenden Punkte für die Richtlinien-Compliance:

    • Wenn der -Operator INist, ist die Richtlinie konform, wenn alle Zeichenfolgen im Schlüsselwert in der Eingabeliste enthalten sind.
    • Wenn der -Operator EQUALSist, ist die Richtlinie konform, wenn alle Zeichenfolgen im Schlüsselwert mit allen Zeichenfolgen in der Eingabeliste in beliebiger Reihenfolge übereinstimmen.
    • Wenn der Operator den Wert CONTAINSangibt, ist die Richtlinie konform, wenn der Schlüsselwert alle Zeichenfolgen in der Eingabeliste enthält.
    • Wenn der Operator NOT CONTAINSlautet, ist die Richtlinie konform, wenn keine der Zeichenfolgen im Schlüsselwert in der Eingabeliste vorhanden ist.
    Eingabeargumente
    • keysToValidateObject
      • Ein Array von Objekten, wobei jedes Objekt einen Schlüsselpfad, einen Operator und eine Referenzliste enthält.
      • Zulässige Operatoren sind IN, CONTAINS, NOT CONTAINSund EQUALS.
      • Beispieleingabewert, um zu erzwingen, dass ein im Systempfad /root/user-Pfad definierter Anwender entweder Anwender1 oder Anwender2ist:
        [ 
            { 
              keyPath: ["system", “root”, "user"]  
        
              operator: "IN" 
        
              referenceList: [user1, user2] 
        
             } 
        ]
      • Standardwert: []
      • Typ: Array von Objekten
      • Obligatorisch: Wahr
    • caseSensitive
      • Ein boolescher Wert, der angibt, ob beim Listenvergleich Groß-/Kleinschreibung berücksichtigt werden soll.
      • Standardwert: Wahr
      • Typ: wahr | falsch
      • Obligatorisch: False

    Generische Validierung (genericValidator)

    Überprüft, ob der Wert eines Schlüssels basierend auf dem Operator und dem Referenzeingabewert gültig ist.

    Beachten Sie die folgenden Punkte für die Richtlinien-Compliance:

    • Wenn der Operator = oder ==ist, ist die Richtlinie konform, wenn der Schlüsselwert mit dem Referenzeingabewert übereinstimmt.
    • Wenn der Operator <ist, ist die Richtlinie konform, wenn der Schlüsselwert kleiner als der Referenzeingabewert ist.
    • Wenn der Operator >ist, ist die Richtlinie konform, wenn der Schlüsselwert größer als der Referenzeingabewert ist.
    • Wenn der -Operator <=ist, ist die Richtlinie konform, wenn der Schlüsselwert kleiner als oder gleich dem Referenzeingabewert ist.
    • Wenn der Operator >=ist, ist die Richtlinie konform, wenn der Schlüsselwert größer als oder gleich dem Referenzeingabewert ist.
    • Wenn der Operator != oder <>ist, ist die Richtlinie konform, wenn der Schlüsselwert nicht mit dem Referenzeingabewert übereinstimmt.
    • Wenn der -Operator INlautet, ist die Richtlinie konform, wenn der Schlüsselwert in der Referenzeingabeliste enthalten ist.
    • Wenn der Operator NOT INlautet, ist die Richtlinie konform, wenn der Schlüsselwert nicht in der Referenzeingabeliste enthalten ist.
    • Wenn der -Operator CONTAINSlautet, ist die Richtlinie konform, wenn der Schlüsselwert den Referenzeingabewert enthält.
    • Wenn der Operator NOT CONTAINSlautet, ist die Richtlinie konform, wenn der Schlüsselwert den Referenzeingabewert nicht enthält.
    • Wenn der Operator REGEXist, ist die Richtlinie konform, wenn der Schlüsselwert mit dem Muster des regulären Ausdrucks übereinstimmt, das im Referenzeingabewert angegeben ist.
    Eingabeargumente
    • keysToValidate
      • Ein Array von Objekten, wobei jedes Objekt einen Schlüssel, einen Operator und einen Referenzwert enthält.
      • Zulässige Operatoren sind <, <=, >, >=, = oder ==, <> oder !=, RANGE, CONTAINS, NOT CONTAINS, IN, NOT INund REGEX.
      • Beispiel:
        [
              {
                "key": "webport-KO",
                "operator": "RANGE",
                "refValue": "8000-9000"
              },
              {
                "key": "webport-OK",
                "operator": ">=",
                "refValue": 8000
              },
              {
                "key": "fqdn-OK",
                "operator": "REGEX",
                "refValue": ".francecentral.cloudapp.azure.com$"
              },
              {
                "key": "trace_level-KO",
                "operator": "IN",
                "refValue": "INFO,ERROR,FATAL"
              },
              {
                "key": "trace_level-KO",
                "operator": "NOT IN",
                "refValue": "DEBUG,VERBOSE"
              },
              {
                "key": "trace-KO-ifcasesensitive",
                "operator": "CONTAINS",
                "refValue": "ERROR"
              }
            ]
      • Typ: Zeichenfolge
      • Obligatorisch: Wahr
    • caseSensitive
      • Ein boolescher Wert, der angibt, ob beim Listenvergleich Groß-/Kleinschreibung berücksichtigt werden soll.
      • Standardwert: Wahr
      • Typ: wahr | falsch
      • Obligatorisch: False

    Schlüsselexistenzvergleich (keyExistenceCvergleich)

    Überprüft, ob alle Schlüssel eines bereitstellbaren Hauptelements auch in den zusätzlichen bereitstellbaren Elementen vorhanden sind, die in der Eingabe angegeben sind.

    Führt zu einem nicht konformen Status, wenn ein Schlüssel im bereitstellbaren Hauptelement vorhanden ist, aber nicht in den zusätzlichen bereitstellbaren Elementen.

    Anwendungsfall: Vergleichen Sie Ihre Umgebungsvariablen, und stellen Sie sicher, dass sie konsistent sind.

    Eingabeargumente
    • zusätzlicheBereitstellbareElementeEingabe
      • Eine Liste zusätzlicher bereitstellbarer Elemente für den Vergleich mit dem bereitstellbaren Hauptelement.
      • Typ: Liste
      • Obligatorisch: Wahr
    • includeNodes
      • Ein boolescher Wert, der angibt, ob untergeordnete Knoten von bereitstellbaren Elementen beim Vergleich einbezogen werden sollen.
      • Standardwert: False
      • Typ: wahr | falsch
      • Obligatorisch: False
    • caseSensitive
      • Ein boolescher Wert, der angibt, ob beim Schlüsselvergleich Groß-/Kleinschreibung berücksichtigt wird.
      • Standardwert: False
      • Typ: wahr | falsch
      • Obligatorisch: False
    • exceptionList
      • Kommagetrennte Liste von Schlüsselnamen, die beim Vergleich ignoriert werden sollten.
      • Typ: Zeichenfolge
      • Obligatorisch: False

    Schlüsselbenennungskonvention (keyNamingConvention)

    Überprüft, ob Schlüsselnamen einem bestimmten Benennungsmuster entsprechen.

    Führt zu einem Status ohne Beschwerde, wenn Schlüssel nicht dem in den Eingabeargumenten angegebenen Präfix-Suffix-Benennungsmuster entsprechen.

    Eingabeargumente
    • maxLength
      • Ein ganzzahliger Wert, der die maximale Länge für einen Schlüsselnamen angibt.
      • Typ: Ganzzahl
      • Obligatorisch: False
    • approvedPrefixArray
      • Ein Array von Zeichenfolgen, die genehmigte Präfixe für einen Schlüsselnamen angeben.
      • Typ: Array von Zeichenfolgen
      • Obligatorisch: False
    • includePath
      • Ein boolescher Wert, der angibt, ob der vollständige Pfad des Knotens in die Ausgabe aufgenommen werden soll.
      • Standardwert: true
      • Typ: wahr | falsch
      • Obligatorisch: Wahr
    • approvedSuffixArray
      • Ein Array von Zeichenfolgen, die genehmigte Suffixe für einen Schlüsselnamen angeben.
      • Typ: Array von Zeichenfolgen
      • Obligatorisch: False
    • exceptionList
      • Kommagetrennte Liste von Schlüsseln, die von der Validierung ausgeschlossen werden sollen.
      • Typ: Zeichenfolge
      • Obligatorisch: False

    Schlüsselpfadvalidierer (keyPathValidator)

    Überprüft, ob ein Schlüssel für den angegebenen Schlüsselpfad in einem Snapshot gefunden wurde. Wenn er gefunden wird, ist der Wert des Schlüssels basierend auf dem Operatorwert und dem Referenzeingabewert gültig.

    Führt zu einem Nicht-Beschwerdestatus, wenn der Schlüssel für den angegebenen Schlüsselpfad einen ungültigen Wert hat. Wenn das Eingabeargument „ignoreIfNotFound “ außerdem Falseist, führt dies zu einem Nicht-Beschwerdestatus, wenn der im Eingabeargument angegebene Schlüsselpfad nicht in einem Snapshot gefunden wurde.

    Eingabeargumente
    • pathAndDesiredValues
      • Ein JSON-Objekt, das einen Satz von Schlüsseln und eine Zuordnung von Bedingung und Wert enthält, die die Schlüssel haben müssen.
      • Beispiel:
        {
            "release-1.0/paymentService-V1.0/integerValues": ["<","3"],
            "release-1.0/paymentService-V1.0/database/dbPort": [">","8000"]
        }
      • Typ: JSON
      • Obligatorisch: Wahr
    • pathSeparator
      • Eine Zeichenfolge, die das Pfadtrennzeichen für Knoten angibt.
      • Standardwert: /
      • Typ: Zeichenfolge
      • Obligatorisch: Wahr
    • ignoreIfNotFound
      • Ein boolescher Wert, der angibt, ob der Schlüssel für den angegebenen Schlüsselpfad in einem Snapshot vorhanden sein soll.
      • Standardwert: true
      • Typ: wahr | falsch
      • Obligatorisch: False

    Prüfung der Teilzeichenfolge des Schlüsselwerts (keyValueSubstringCheck)

    Sucht nach der angegebenen Teilzeichenfolge in einem Snapshot-Wert für einen angegebenen Schlüsselnamen.

    Führt zu einem Nicht-Beschwerdestatus, wenn der Wert eines Schlüsselnamens nicht die im Eingabeargument angegebene Teilzeichenfolge enthält.

    Eingabeargument
    keyNameWithKeyValues
    • Ein JSON-Objekt, das eine erforderliche Teilzeichenfolge enthält, einschließlich der Teilzeichenfolge des Schlüsselnamens und Teilzeichenfolgenpaare des Schlüsselwerts.
    • Beispiel:
      {
        "live": "2022"
        "environment": "aws"
      }
    • Typ: JSON
    • Obligatorisch: Wahr

    Listenvergleich (listCvergleich)

    Überprüft, ob zwei Schlüssel dieselben Werte enthalten, indem die Liste der Werte zwischen den beiden Schlüsseln verglichen wird. Beim Vergleich wird zwischen Groß- und Kleinschreibung unterschieden.

    Führt zu einem nicht konformen Status, wenn alle Werte im ersten Schlüssel mit allen Werten im zweiten Schlüssel (in beliebiger Reihenfolge) übereinstimmen.

    Eingabeargumente
    • list1Node
      • Der Schlüsselname des primären Knotens.
      • Typ: Zeichenfolge
      • Obligatorisch: Wahr
    • list2Node
      • Ein Schlüsselname des Knotens, der mit dem primären Knoten verglichen werden soll.
      • Typ: Zeichenfolge
      • Obligatorisch: Wahr

    Obligatorische Schlüssel (mandtoryKeys)

    Überprüft, ob die Liste der in der Eingabe angegebenen Schlüsselnamen in einem Snapshot vorhanden ist.

    Führt zu einem nicht konformen Status, wenn der angegebene Schlüsselname nicht in einem Snapshot vorhanden ist.

    Eingabeargumente
    • mandatoryKeys
      • Kommagetrennte Liste von Schlüsselnamen.
      • Typ: Zeichenfolge
      • Obligatorisch: Wahr
    • caseSensitive
      • Ein boolescher Wert, der angibt, ob beim Schlüsselvergleich Groß-/Kleinschreibung berücksichtigt wird.
      • Standardwert: False
      • Typ: wahr | falsch
      • Obligatorisch: False

    Validierer für Arbeitsspeicherlimit (memoryLimitValidator)

    Überprüft, ob die einem Schlüsselwert zugewiesenen Arbeitsspeicherressourcen innerhalb der angegebenen Grenzen einer Arbeitsspeichereinheit liegen. Vergleicht ohne Berücksichtigung von Groß-/Kleinschreibung Schlüsselwerte von metrischen Einheiten (einschließlich KB, MB und GB) und binären Einheiten (einschließlich KIB, MiB und GiB). Konvertiert einen Schlüsselwert und seine Eingabewerte vor dem Vergleich in Byte.

    Führt zu einem nicht konformen Status, wenn ein Schlüsselwert nicht innerhalb der angegebenen Grenzwerte liegt oder keine Speichereinheit ist.

    Eingabeargument
    pathAndLimitsArray
    • Ein Array von Schlüsselpfaden und die Mindest- und Höchstwerte für Grenzwerte für Arbeitsspeichereinheiten als Mindest- und Höchstwerte.
    • Typ: Array von Objekten
    • Obligatorisch: Wahr
    Beispiel:
    [ 
        { 
        keyPath: ["deploy", "resources", "limits", "cpu"], 
        min: "250m", 
        max: "500m" 
        }, 
        { 
        keyPath: ["deploy", "resources", "limits", "cpu"], 
        min: "1GB", 
        max: "8GB" 
        } 
    ]

    Liste obligatorischer Tags (mandtoryTagsList)

    Überprüft, ob die in einem Snapshot gefundenen Tag-Knoten autorisierte Werte aufweisen.

    Führt zu einer Nicht-Beschwerde-Status, wenn ein Tag-Knoten einen Wert hat, der nicht in der Liste der autorisierten Tags enthalten ist.
    Eingabeargumente
    • tagsNodeName
      • Kommagetrennte Liste von Schlüsselnamen.
      • Typ: Zeichenfolge
      • Obligatorisch: Wahr
    • tagsList
      • Eine durch Kommas getrennte Liste autorisierter Tag-Werte.
      • Typ: Zeichenfolge
      • Obligatorisch: Wahr
    • caseSensitive
      • Ein boolescher Wert, der angibt, ob beim Schlüsselvergleich Groß-/Kleinschreibung berücksichtigt wird.
      • Standardwert: False
      • Typ: wahr | falsch
      • Obligatorisch: False

    Obligatorischer Wert (mandtoryValue)

    Überprüft, ob alle als Eingabe angegebenen Schlüssel einen nicht leeren Wert haben.

    Führt zu einem nicht konformen Status, wenn der Wert eines Schlüssels NULL oder leer ist, oder führt zu einer Warnung, wenn der in der Eingabe angegebene Schlüsselname nicht in einem Snapshot gefunden wird.

    Eingabeargumente
    • keysList
      • Kommagetrennte Liste von Schlüsselnamen.
      • Typ: Zeichenfolge
      • Obligatorisch: Wahr
    • stopAtFirstFound
      • Ein boolescher Wert, der angibt, ob nur das erste Vorkommen des Schlüsselwerts in einem Snapshot überprüft werden soll.
      • Standardwert: true
      • Typ: wahr | falsch
      • Obligatorisch: Wahr
    • trimValue
      • Ein boolescher Wert, der angibt, ob führende oder nachfolgende Leerzeichen vor dem Vergleich aus dem Schlüsselwert entfernt werden sollen.
      • Standardwert: true
      • Typ: wahr | falsch
      • Obligatorisch: Wahr
    • caseSensitive
      • Ein boolescher Wert, der angibt, ob beim Schlüsselvergleich Groß-/Kleinschreibung berücksichtigt wird.
      • Standardwert: False
      • Typ: wahr | falsch
      • Obligatorisch: False

    Obligatorischer Wert nach Typ (mandtoryValueByType)

    Überprüft, ob alle als Eingabe angegebenen Schlüssel einen nicht leeren Wert haben.

    Führt zu einem nicht konformen Status für die folgenden Bedingungen:
    • Wenn der Wert eines im Eingabeargument „keyNamesString“ angegebenen Schlüssel kein Zeichenfolgenwert ist oder leer ist.
    • Wenn der Wert eines im Eingabeargument „keyNamesInteger“ angegebenen Schlüssel kein ganzzahliger Wert ist oder leer ist.
    • Wenn der Wert eines im Eingabeargument „keyNamesBoolean“ angegebenen Schlüssel kein boolescher Wert oder leer ist.
    Eingabeargumente
    • keyNamesString
      • Kommagetrennte Liste von Schlüsselnamen, die einen Zeichenfolgenwert aufweisen müssen.
      • Typ: Zeichenfolge
      • Obligatorisch: False
    • keyNamesInteger
      • Kommagetrennte Liste von Schlüsselnamen, die einen ganzzahligen Wert haben müssen.
      • Typ: Zeichenfolge
      • Obligatorisch: False
    • keyNamesBoolean
      • Kommagetrennte Liste von Schlüsselnamen, die einen booleschen Wert aufweisen müssen.
      • Typ: Zeichenfolge
      • Obligatorisch: False

    Sensible Daten nicht gelöscht (noClearSensitiveData)

    Überprüft, ob die Werte für die Schlüsselnamen verschlüsselt sind, die die angegebenen Stichwörter enthalten.

    Führt zu einem nicht konformen Status, wenn der Schlüsselname, der die angegebenen Schlüsselwörter enthält, unverschlüsselt ist.

    Anwendungsfall: DevOps Config wird von Organisationen verwendet, um vertrauliche Daten (Passwörter, API-Schlüssel und Token) über die berechtigungsbasierten Zugriffssteuerungen zu verwalten und zu steuern.

    Eingabeargumente
    • keyWords
      • Kommagetrennte Liste von Zeichenfolgen, die zum Identifizieren vertraulicher Schlüssel in einem Snapshot verwendet werden. Die Richtlinie verwendet den Vergleich ohne Berücksichtigung von Groß-/Kleinschreibung.
      • Standardwert: pass,pwd,secret
      • Typ: Zeichenfolge
      • Obligatorisch: Wahr
    • exceptionList
      • Kommagetrennte Liste von Schlüsseln, die von der Validierung ausgeschlossen werden sollen.
      • Typ: Zeichenfolge
      • Obligatorisch: False

    Keine doppelten Schlüssel (noDuplicateKeys)

    Überprüft, ob in einem Snapshot keine doppelten Schlüsselnamen vorhanden sind

    Führt zu einem nicht konformen Status, wenn ein Schlüsselname in einem Snapshot mehrmals vorkommt.

    Anwendungsfall: Bereitstellungsautomatisierungstools können das mehrfache Vorkommen von Einstellungen verarbeiten, was zu Ausfallzeiten von Services führt.

    Eingabeargument
    keyNames
    • Kommagetrennte Liste von Schlüsselnamen.
    • Standardwert: dbConnectionString,dbUserName
    • Typ: Zeichenfolge
    • Obligatorisch: False

    Keine leeren Werte (noEmptyValues)

    Überprüft, ob alle Schlüssel einen nicht leeren Wert haben.

    Führt zu einem nicht konformen Status, wenn der Wert eines Schlüssels, der nicht in der Ausnahmeliste enthalten ist, null oder leer ist.

    Eingabeargumente
    • trimValue
      • Ein boolescher Wert, der angibt, ob führende oder nachfolgende Leerzeichen vor dem Vergleich aus dem Schlüsselwert entfernt werden sollen.
      • Standardwert: true
      • Typ: wahr | falsch
      • Obligatorisch: Wahr
    • caseSensitive
      • Ein boolescher Wert, der angibt, ob beim Schlüsselvergleich Groß-/Kleinschreibung berücksichtigt wird.
      • Standardwert: False
      • Typ: wahr | falsch
      • Obligatorisch: False
    • exceptionList
      • Kommagetrennte Liste von Schlüsseln, die von der Validierung ausgeschlossen werden sollen.
      • Typ: Zeichenfolge
      • Obligatorisch: False

    Keine verbotenen Werte (noForciddenValues)

    Überprüft, ob in einem Snapshot Schlüsselnamen mit verbotenen Werten vorhanden sind.

    Führt zu einem Nicht-Beschwerdestatus, wenn ein in einem Snapshot gefundener Schlüssel einen verbotenen Wert hat, wie in der Eingabeliste angegeben.

    Eingabeargumente
    • forbiddenValues
      • Kommagetrennte Liste verbotener Werte.
      • Standardwert: root
      • Typ: Zeichenfolge
      • Obligatorisch: False
    • excludedKeyNames
      • Kommagetrennte Liste von Schlüsseln, die von der Validierung ausgeschlossen werden sollen.
      • Standardwert: name,*desc*
      • Typ: Zeichenfolge
      • Obligatorisch: False

    Kein FTP (noFTP)

    Überprüft, ob alle URLs in einem Snapshot das FTPS-Protokoll verwenden.

    Führt zu einem nicht konformen Status, wenn eine URL FTP in einem Snapshot enthält.

    Eingabeargumente
    • searchValue
      • Ein Suchbegriff, der nicht im Schlüsselwert vorhanden sein darf.
      • Standardwert: FTTP:/
      • Typ: Zeichenfolge
      • Obligatorisch: Wahr
    • caseSensitive
      • Ein boolescher Wert, der angibt, ob beim Schlüsselvergleich Groß-/Kleinschreibung berücksichtigt wird.
      • Standardwert: False
      • Typ: wahr | falsch
      • Obligatorisch: False
    • exceptionList
      • Kommagetrennte Liste von Schlüsseln, die von der Validierung ausgeschlossen werden sollen.
      • Typ: Zeichenfolge
      • Obligatorisch: False

    Kein HTTP (noHTTP)

    Überprüft, ob alle URLs in einem Snapshot das HTTPS-Protokoll verwenden.

    Führt zu einem nicht konformen Status, wenn eine URL HTTP in einem Snapshot enthält.

    Eingabeargumente
    • searchValue
      • Ein Suchbegriff, der nicht im Schlüsselwert vorhanden sein darf.
      • Standardwert: HTTP:/
      • Typ: Zeichenfolge
      • Obligatorisch: Wahr
    • caseSensitive
      • Ein boolescher Wert, der angibt, ob beim Schlüsselvergleich Groß-/Kleinschreibung berücksichtigt wird.
      • Standardwert: False
      • Typ: wahr | falsch
      • Obligatorisch: False
    • exceptionList
      • Kommagetrennte Liste von Schlüsseln, die von der Validierung ausgeschlossen werden sollen.
      • Typ: Zeichenfolge
      • Obligatorisch: False

    Knotenschlüssel-Vergleich (nodeKeysCvergleich)

    Überprüft, ob alle Schlüssel vom primären Knoten im sekundären Knoten identisch sind.

    Führt zu einem nicht konformen Status, wenn ein Schlüssel im primären Knoten vorhanden ist, aber nicht im sekundären Knoten, oder umgekehrt.

    Eingabeargumente
    • fromNode
      • Ein Array von Zeichenfolgen, die den Pfad des primären Knotens in einem Snapshot angeben.
      • Standardwert: []
      • Typ: Array von Zeichenfolgen
      • Obligatorisch: Wahr
    • toNode
      • Ein Array von Zeichenfolgen, die den Pfad des sekundären Knotens in einem Snapshot angeben.
      • Standardwert: []
      • Typ: Array von Zeichenfolgen
      • Obligatorisch: Wahr
    • includePath
      • Ein boolescher Wert, der angibt, ob der vollständige Pfad des Knotens in die Ausgabe aufgenommen werden soll.
      • Standardwert: true
      • Typ: wahr | falsch
      • Obligatorisch: False

    Kein LDAP (noLDAP)

    Prüft, ob alle URLs in einem Snapshot das LDAPS-Protokoll verwenden.

    Führt zu einem nicht konformen Status, wenn eine URL LDAP in einem Snapshot enthält.

    Eingabeargumente
    • searchValue
      • Ein Suchbegriff, der nicht im Schlüsselwert vorhanden sein darf.
      • Standardwert: LDAP:/
      • Typ: Zeichenfolge
      • Obligatorisch: Wahr
    • caseSensitive
      • Ein boolescher Wert, der angibt, ob beim Schlüsselvergleich Groß-/Kleinschreibung berücksichtigt wird.
      • Standardwert: False
      • Typ: wahr | falsch
      • Obligatorisch: False
    • exceptionList
      • Kommagetrennte Liste von Schlüsseln, die von der Validierung ausgeschlossen werden sollen.
      • Typ: Zeichenfolge
      • Obligatorisch: False

    Knotenwertvergleich (nodesValueCvergleich)

    Vergleicht alle Schlüssel-Wert-Kombinationen zwischen zwei Knoten in einem Snapshot.

    Führt zu einem nicht konformen Status für die folgenden Bedingungen:
    • Wenn ein im Eingabeargument „sameValueKeys“ angegebener Schlüssel in zwei Knoten einen unterschiedlichen Wert hat.
    • Wenn ein im Eingabeargument „diffValueKeys“ angegebener Schlüssel in zwei Knoten denselben Wert hat.
    • Wenn das Eingabeargument „allowMissingKeys“ auf „falsch“ festgelegt ist und ein Schlüssel im primären Knoten vorhanden ist, aber nicht im sekundären Knoten, oder umgekehrt.

    Anwendungsfall: Stellen Sie die Konsistenz zwischen Knoten sicher, indem Sie die Werte für Schlüssel zwischen zwei Knoten vergleichen.

    Eingabeargumente
    • fromNode
      • Ein Array von Zeichenfolgen, die den Pfad des primären Knotens in einem Snapshot angeben.
      • Standardwert: []
      • Typ: Array von Zeichenfolgen
      • Obligatorisch: Wahr
    • toNode
      • Ein Array von Zeichenfolgen, die den Pfad des sekundären Knotens in einem Snapshot angeben.
      • Standardwert: []
      • Typ: Array von Zeichenfolgen
      • Obligatorisch: Wahr
    • includePath
      • Ein boolescher Wert, der angibt, ob der vollständige Pfad des Knotens in die Ausgabe aufgenommen werden soll.
      • Standardwert: true
      • Typ: wahr | falsch
      • Obligatorisch: False
    • sameValueKeys
      • Kommagetrennte Liste von Schlüsselnamen mit denselben Werten.
      • Typ: Zeichenfolge
      • Obligatorisch: False
    • diffValueKeys
      • Eine durch Kommas getrennte Liste von Schlüsselnamen mit verschiedenen Werten.
      • Typ: Zeichenfolge
      • Obligatorisch: False
    • allowMissingKeys
      • Ein boolescher Wert, der angibt, ob überprüft werden soll, ob alle Schlüssel vom primären Knoten im sekundären Knoten identisch sind.
      • Standardwert: False
      • Typ: wahr | falsch
      • Obligatorisch: False

    Keine Leerzeichen zulässig (noWhiteSpaceAllow)

    Überprüft, ob die Schlüsselwerte keine Leerzeichen einschließlich führender und nachfolgender Leerzeichen enthalten.

    Führt zu einem nicht konformen Status, wenn ein Schlüsselwert ein Leerzeichen enthält.

    Anwendungsfall: Verhindern, dass Leerzeichen Probleme bei Tools oder Anwendungen verursachen, wenn Einstellungen angewendet werden.
    Eingabeargument
    excludedKeyNames
    • Kommagetrennte Liste von Schlüsseln, die von der Validierung ausgeschlossen werden sollen.
    • Standardwert: Beschreibung
    • Typ: Zeichenfolge
    • Obligatorisch: False

    Gleicher Schlüsselwert (sameKeyValue)

    Überprüft, ob die Werte eines Schlüssels, der in mehreren Komponenten eines Snapshots enthalten ist, für alle Komponenten identisch sind.

    Führt zu einem nicht konformen Status, wenn ein Schlüssel in mehreren Komponenten unterschiedliche Werte aufweist.

    Eingabeargument
    keyList
    • Kommagetrennte Liste von Schlüsselnamen
    • Obligatorisch: Wahr
    • Typ: Zeichenfolge

    Vergleich für gleiche Werte (sameValuesCvergleich)

    Überprüft, ob alle als Eingabeargument „keyList“ angegebenen Schlüssel für alle bereitstellbaren Elemente denselben Wert haben.

    Führt zu einem nicht konformen Status, wenn der Wert eines Schlüssels bei mehreren bereitstellbaren Elementen unterschiedlich ist, oder führt zu einer Warnung, wenn der in der Eingabe angegebene Schlüsselname in keinem der bereitstellbaren Elemente gefunden wird.

    Anwendungsfall: Erkennen Sie Konfigurationsabweichungen zwischen Bereitstellungs- und Produktionsumgebungen.

    Eingabeargumente
    • zusätzlicheBereitstellbareElementeEingabe
      • Eine Liste zusätzlicher bereitstellbarer Elemente für den Vergleich mit dem bereitstellbaren Hauptelement.
      • Typ: Liste
      • Obligatorisch: Wahr
    • keysList
      • Kommagetrennte Liste von Schlüsselnamen.
      • Typ: Zeichenfolge
      • Obligatorisch: Wahr
    • stopAtFirstFound
      • Ein boolescher Wert, der angibt, ob nur das erste Vorkommen des Schlüsselwerts in einem Snapshot überprüft werden soll.
      • Standardwert: true
      • Typ: wahr | falsch
      • Obligatorisch: Wahr
    • caseSensitive
      • Ein boolescher Wert, der angibt, ob beim Schlüsselvergleich Groß-/Kleinschreibung berücksichtigt wird.
      • Standardwert: true
      • Typ: wahr | falsch
      • Obligatorisch: False

    Eindeutiger Schlüsselwert (uniqueKeyValue)

    Überprüft, ob der Schlüsselwert für einen Schlüssel unterschiedlich ist, wenn der Schlüssel in einem Snapshot mehrmals vorkommt.

    Führt zu einem nicht konformen Status, wenn ein Schlüssel bei mehr als einem Vorkommen denselben Wert aufweist.

    Eingabeargument
    keyList
    • Kommagetrennte Liste von Schlüsselnamen.
    • Obligatorisch: Wahr
    • Typ: Zeichenfolge

    Eindeutige Werte für bereitstellbare Elemente (checkUniqueKeyValue_crossDeployables)

    Überprüft, ob alle Schlüssel, die als Eingabeargument „keyName“ angegeben werden, unterschiedliche Werte für die bereitstellbaren Elemente haben.

    Führt zu einem nicht konformen Status, wenn der Wert eines Schlüssels in mehreren bereitstellbaren Elementen identisch ist, oder führt zu einer Warnung, wenn der in der Eingabe angegebene Schlüsselname in keinem der bereitstellbaren Elemente gefunden wird.

    Anwendungsfall: Erkennen Sie Konfigurationsabweichungen zwischen Bereitstellungs- und Produktionsumgebungen.

    Eingabeargumente
    • zusätzlicheBereitstellbareElementeEingabe
      • Eine Liste zusätzlicher bereitstellbarer Elemente für den Vergleich mit dem bereitstellbaren Hauptelement.
      • Typ: Liste
      • Obligatorisch: Wahr
    • keyName
      • Kommagetrennte Liste von Schlüsselnamen.
      • Typ: Zeichenfolge
      • Obligatorisch: Wahr

    Ungelöste Variablen (unresolvedVariables)

    Prüft, ob in einem Snapshot ungelöste Variablen vorhanden sind

    Führt zu einem nicht konformen Status, wenn eine in einem Schlüsselwert verwendete Variable nicht aufgelöst werden kann.

    Anwendungsfall: Stellen Sie sicher, dass alle in den Konfigurationsdateneinstellungen verwendeten Variablen durch einen Wert ersetzt werden, da alle ungelösten Variablen den Bereitstellungsvorgang unterbrechen können.