Generische Richtlinien in DevOps Config
Standardmäßig enthält das Richtlinien-Inhaltspaket DevOps Config eine Reihe allgemeiner Richtlinien zum Validieren Ihrer Konfigurationsdaten.
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.
- 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
- zusätzlicheBereitstellbareElementeEingabe
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
- autorisierteDomänen
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
- autorisierteHostsRegulärer Ausdruck
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
- authorisedList
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.
- 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
- keysRegexWithRange
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
- certificatesNode
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
- autorisierterHostRegex
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
- 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 (
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.
- 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
- Ein regulärer Ausdruckswert für ein Docker-Image.
- serviceExceptionList
- Kommagetrennte Liste von Services, die von der Validierung befreit sind.
- Typ: Zeichenfolge
- Obligatorisch: False
- imageExpectedRegex
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
- Eine durch Kommas getrennte Liste von Registrierungen.
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
- includePath
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 CONTAINSundEQUALS. - Beispieleingabewert, um zu erzwingen, dass ein im Systempfad /root/user-Pfad definierter Anwender entweder
Anwender1oderAnwender2ist:[ { 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
- keysToValidateObject
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 INundREGEX. - 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
- keysToValidate
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
- zusätzlicheBereitstellbareElementeEingabe
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
- maxLength
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
- pathAndDesiredValues
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
- list1Node
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
- mandatoryKeys
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.
- 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
- tagsNodeName
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.
- 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
- keyNamesString
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
- keyWords
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
- trimValue
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
- forbiddenValues
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
- searchValue
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
- searchValue
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
- fromNode
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
- searchValue
Knotenwertvergleich (nodesValueCvergleich)
Vergleicht alle Schlüssel-Wert-Kombinationen zwischen zwei Knoten in einem Snapshot.
- 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
- fromNode
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.
- 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
- zusätzlicheBereitstellbareElementeEingabe
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
- zusätzlicheBereitstellbareElementeEingabe
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.