Generische Richtlinien in DevOps Config
Standardmäßig ist DevOps Config Das Richtlinieninhaltspaket enthält eine Reihe generischer Richtlinien zur Validierung Ihrer Konfigurationsdaten.
Alle Schlüssel-Wert-Komparator (allKeysValuesComparator)
Überprüft, ob alle Schlüssel-Wert-Kombinationen zusätzlicher bereitstellbarer Elemente mit dem Haupt-bereitstellbaren Element identisch sind.
- Wenn ein Schlüssel im Haupt-bereitstellbaren Element 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 Haupt-bereitstellbaren Element.
- Wenn ein Schlüssel sowohl in den Haupt- als auch in den zusätzlichen bereitstellbaren Elementen vorhanden ist, aber mit unterschiedlichen Werten
Anwendungsfall: Erkennen Sie Konfigurationsabweichungen zwischen Bereitstellungs- und Produktionsumgebungen.
- Eingabeargumente
- AdditionalDeployablesInput
- Eine Liste zusätzlicher bereitstellbarer Elemente, die mit dem Haupt-bereitstellbaren Element verglichen werden sollen.
- Typ: Liste
- Obligatorisch: Wahr
- includeNodes
- Ein boolescher Wert, der angibt, ob andere Knoten als die Konfigurationsdatenelemente (CDI) für die Validierung einbezogen werden sollen.
- Standard:
Falsch - Typ: wahr | falsch
- Obligatorisch: Falsch
- exceptionList
- Eine kommagetrennte Liste von Schlüsselnamen, die beim Vergleich ignoriert werden sollen.
- Typ: Zeichenfolge
- Obligatorisch: Falsch
- AdditionalDeployablesInput
Autorisierte E-Mail-Domänen (autorizedEmailDomains)
Ü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 Sie, dass (vertrauliche) Daten eine vertrauenswürdige Unternehmens-E-Mail-Domäne verlassen.
- Eingabeargumente
- Autorisierte Domänen
- Eine kommagetrennte Liste autorisierter E-Mail-Domänen.
- Beispiel:
gmail.com,servicenow.com - Typ: Zeichenfolge
- Obligatorisch: Wahr
- exceptionList
- Eine kommagetrennte Liste von Schlüsselnamen, die von der Richtlinie ignoriert werden.
- Typ: Zeichenfolge
- Obligatorisch: Falsch
- Autorisierte Domänen
Autorisierte Hosts in URLs (AuthorisedHostsInURLS)
Ü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 durch nicht autorisierte URLs.
- Eingabeargumente
- Autorisierte HostsRegex
- Eine kommagetrennte 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
- Eine kommagetrennte Liste von Schlüsselnamen, die von der Richtlinie ignoriert werden.
- Typ: Zeichenfolge
- Obligatorisch: Falsch
- Autorisierte HostsRegex
Autorisierte Schlüssel-Wert-Kombinationen (AuthorisedKVCombinations)
Überprüft, ob die in einem Snapshot gefundenen Eingabeschlüsselwerte autorisiert sind.
Führt zu einem Status ohne Beschwerde, wenn ein Schlüssel einen nicht autorisierten Wert hat.
- Eingabeargumente
- authorisedList
- Eine JSON-Liste von Schlüsseln 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 Schlüsselwerten, die für die Validierung verwendet werden, die Groß-/Kleinschreibung beachtet wird.
- Standardwert:
Falsch - Typ: wahr | falsch
- Obligatorisch: Falsch
- authorisedList
Bereich autorisierter Ports (AuthorisedPortsRange)
Überprüft, ob die in einem Snapshot gefundenen Eingabeportwerte autorisiert sind.
Führt zu einem Status ohne Beschwerde, wenn ein Portwert nicht im zulässigen Bereich liegt.
- Eingabeargumente
- keysRegexWithRange
- Eine JSON-Liste von Portschlüsseln und Portbereichen mit den 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
- Eine kommagetrennte Liste von Schlüsselnamen, die von der Richtlinie ignoriert werden.
- Typ: Zeichenfolge
- Obligatorisch: Falsch
- keysRegexWithRange
Zertifikatvalidierer (CertiatValidator)
Ü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 Ablaufdatum Schlüssel oder Zertifikat Schlüssel mit dem PEM-codierten Formatwert in einem Snapshot ist abgelaufen oder läuft innerhalb des Ablaufzeitraums ab. Der Ablaufzeitraum wird aus dem Datum berechnet, an dem die Richtlinie ausgeführt wird, plus den Ablauftagen.
- Eingabeargumente
- certificatesNode
- Der Name des Knotens, der die Zertifikate enthält.
- Standardwert:
Zertifikate - Typ: Zeichenfolge
- Obligatorisch: Wahr
- expirationDays
- Die Anzahl der Tage zur Berechnung des Ablaufzeitraums für die Zertifikate. Der Ablaufzeitraum wird aus dem Datum berechnet, an dem die Richtlinie ausgeführt wird, plus den Ablauftagen.
- Typ: Ganzzahl
- Obligatorisch: Falsch
- exceptionList
- Eine kommagetrennte Liste von Zertifikatnamen, die von der Richtlinie ignoriert werden.
- Typ: Zeichenfolge
- Obligatorisch: Falsch
- certificatesNode
Konsistenter Knotenvergleich (consistentNodesComparator)
Überprüft, ob alle Schlüssel-Wert-Kombinationen für jeden Knoten der ersten Ebene in einem Snapshot identisch sind.
Führt zu einem Status ohne Beschwerde, 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
- Eine kommagetrennte Liste von Knoten oder Schlüssel-Wert-Kombinationen, die von der Validierung ausgeschlossen werden sollen.
- Typ: Zeichenfolge
- Obligatorisch: Falsch
Regulärer Ausdruck des richtigen Hosts (correctHostRegex)
Überprüft das Format für hostbezogene Schlüssel, um sicherzustellen, dass ein Hostname zur Verwendung berechtigt ist.
Führt zu einem Status ohne Beschwerde, wenn ein Schlüssel mit einem URL-Wert in einem Snapshot nicht mit dem regulären Ausdruck übereinstimmt, der für die autorisierten Hosts bereitgestellt wird.
- Eingabeargumente
- Autorisierter HostRegex
- Ein regulärer Ausdruck, der zum Validieren der Hostkomponente in den URLs verwendet wird.
- Beispiel:
mydomain.com - Typ: Zeichenfolge
- Obligatorisch: Wahr
- exceptionList
- Eine kommagetrennte Liste von Schlüsseln mit den URL-Werten, die vom Vergleich ausgeschlossen werden sollen.
- Typ: Zeichenfolge
- Obligatorisch: Falsch
- Autorisierter HostRegex
Nicht verwendete Variablen erkennen (detectUnusedVariables)
Überprüft, ob vars Der Ordner eines bereitstellbaren Elements oder einer Sammlung enthält Variablen, die nicht in einem Snapshot verwendet werden.
Führt zu einer Warnung, wenn eine Variable deklariert, aber nicht in einem Snapshot verwendet wird.
Verschiedene Schlüsselnamen gleiche Werte (differentKeyNamesSameValues)
Überprüft, ob die Werte für Schlüsselpaare identisch sind.
Führt zu einem nicht konformen Status, wenn die angegebenen Schlüsselpaare nicht denselben Wert haben.
Anwendungsfall: Erhalten Sie eine feinere granulierte Kontrolle über 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 muss verschiedene Schlüssel haben und darf nicht aus einem einzelnen Schlüssel (
[Schlüssel1) Oder mehr als zwei Schlüssel ([Key1=key2=key3]). - 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 muss verschiedene Schlüssel haben und darf nicht aus einem einzelnen Schlüssel (
Knoten-Komparator für verschiedene Werte (differentValuesNodesComparator)
Überprüft, ob sich der Schlüsselwert für alle Komponenten unterscheidet, wenn ein Schlüssel in mehreren Komponenten eines Snapshots vorhanden ist.
- Eingabeargument
- keynameList
- Eine kommagetrennte Liste von Schlüsselnamen, die unterschiedliche Werte für Knoten der ersten Ebene aufweisen müssen.
- Beispiel:
key1,key2 - Typ: Zeichenfolge
- Obligatorisch: Wahr
Docker-Image-Formatvalidierung (DockerImageFormatValidator)
Überprüft, ob das Docker-Image eines Service dem in der Eingabe angegebenen regulären Ausdruck folgt. Geben Sie beispielsweise einen Wert für den regulären Ausdruck an, um sicherzustellen, dass das Tagging und die Versionsverwaltung von Docker-Images Best Practices entsprechen.
Führt zu einem nicht konformen Status, wenn der Bildwert nicht mit dem Eingabewert des regulären Ausdrucks in übereinstimmt ImageExpectedRegex Eingabeargument.
- Eingabeargumente
- imageExpectedRegex
- Ein regulärer Ausdruck für ein Docker-Image. Beispiel für einen Eingabewert, 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 Ausdruck für ein Docker-Image.
- serviceExceptionList
- Eine kommagetrennte Liste von Services, die von der Validierung ausgenommen sind.
- Typ: Zeichenfolge
- Obligatorisch: Falsch
- imageExpectedRegex
Validator für Docker-Image-Registrierung (DockerImageRegistryValidator)
Überprüft, ob die Registrierung eines Docker-Images in der autorisierten Liste der Registrierungen enthalten ist.
Analysiert das Docker-Image für jeden Service, ruft den Wert einer Registrierung in einem Image ab und überprüft dann, ob der abgerufene Registrierungswert in enthalten ist authorizedRegistryListEingabe.
Führt zu einem nicht konformen Status, wenn sich die Bildregistrierung nicht in befindet authorizedRegistryListEingabe.
- Eingabeargument
- authorizedRegistryList
- Eine kommagetrennte Liste von Registrierungen. Beispiel:
k8s.example.io,gke.example.io,docker.example.com:8444 - Typ: Zeichenfolge
- Obligatorisch: Wahr
- Eine kommagetrennte Liste von Registrierungen.
Docker-Netzwerkvalidierung (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 in konfigurierten Service labels/com.docker.lb.networkEigenschaft ist im Abschnitt „Servicelevel“ und im Abschnitt „Netzwerk der obersten Ebene“ nicht definiert.
Doppelte Werte (duplicateValues)
Sucht nach doppelten Werten in einem Snapshot.
Führt zu einem nicht konformen Status, wenn in einem Snapshot doppelte Schlüsselwerte vorhanden sind, mit Ausnahme der in der Ausnahmeliste definierten Werte.
Anwendungsfall: Erhalten Sie eine feinere Kontrolle über Bedingungen, indem Sie überprüfen, ob sich die Snapshot-Werte unterscheiden.
- 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: Falsch
- includePath
Unzulässige Schlüssel-Wert-Kombinationen (forbiddenKVKombinationen)
Überprüft, ob ein Snapshot unzulässige Schlüssel-Wert-Kombinationen enthält.
Führt zu einem Status ohne Beschwerde, wenn ein in einem Snapshot gefundener Schlüssel einen unzulässigen Wert hat, wie in der Eingabeliste angegeben.
- Eingabeargument
- forbiddenKV
- Eine JSON-Liste von Schlüsseln mit einer Liste unzulässiger 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 im Vergleich verwendet.
Beachten Sie die folgenden Punkte für die Richtlinien-Compliance:
- Wenn der Operator ist
IN, Die Richtlinie ist konform, wenn alle Zeichenfolgen im Schlüsselwert in der Eingabeliste enthalten sind. - Wenn der Operator ist
IST GLEICH, Die Richtlinie ist konform, wenn alle Zeichenfolgen im Schlüsselwert mit allen Zeichenfolgen in beliebiger Reihenfolge in der Eingabeliste übereinstimmen. - Wenn der Operator ist
ENTHÄLT, Die Richtlinie ist konform, wenn der Schlüsselwert alle Zeichenfolgen in der Eingabeliste enthält. - Wenn der Operator ist
NICHT ENTHÄLT, Die Richtlinie ist konform, wenn keine der Zeichenfolgen im Schlüsselwert in der Eingabeliste vorhanden ist.
- Eingabeargumente
- keysToValidateObject
- Ein Array von Objekten, bei denen jedes Objekt einen Schlüsselpfad, einen Operator und eine Referenzliste enthält.
- Zulässige Operatoren sind
IN,ENTHÄLT,NICHT ENTHÄLT, UndIST GLEICH. - Beispieleingabewert, um zu erzwingen, dass ein Anwender im System definiert hat /Root/user-Pfad Ist entweder
Anwender1OderAnwender2:[ { 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 beachtet werden soll.
- Standardwert:
Wahr - Typ: wahr | falsch
- Obligatorisch: Falsch
- keysToValidateObject
Generischer Validator (genericValidator)
Überprüft, ob der Wert eines Schlüssels basierend auf dem Operator- und Referenzeingabewert gültig ist.
Beachten Sie die folgenden Punkte für die Richtlinien-Compliance:
- Wenn der Operator ist
=Oder==, Die Richtlinie ist konform, wenn der Schlüsselwert mit dem Referenzeingabewert übereinstimmt. - Wenn der Operator ist
<, Die Richtlinie ist konform, wenn der Schlüsselwert kleiner als der Referenzeingabewert ist. - Wenn der Operator ist
>, Die Richtlinie ist konform, wenn der Schlüsselwert größer als der Referenzeingabewert ist. - Wenn der Operator ist
<=, Die Richtlinie ist konform, wenn der Schlüsselwert kleiner oder gleich dem Referenzeingabewert ist. - Wenn der Operator ist
>=, Die Richtlinie ist konform, wenn der Schlüsselwert größer oder gleich dem Referenzeingabewert ist. - Wenn der Operator ist
!=Oder<>, Die Richtlinie ist konform, wenn der Schlüsselwert nicht mit dem Referenzeingabewert übereinstimmt. - Wenn der Operator ist
IN, Die Richtlinie ist konform, wenn der Schlüsselwert in der Referenzeingabeliste enthalten ist. - Wenn der Operator ist
NICHT IN, Die Richtlinie ist konform, wenn der Schlüsselwert nicht in der Referenzeingabeliste enthalten ist. - Wenn der Operator ist
ENTHÄLT, Die Richtlinie ist konform, wenn der Schlüsselwert den Referenzeingabewert enthält. - Wenn der Operator ist
NICHT ENTHÄLT, Die Richtlinie ist konform, wenn der Schlüsselwert den Referenzeingabewert nicht enthält. - Wenn der Operator ist
REGULÄRER AUSDRUCK, Die Richtlinie ist konform, wenn der Schlüsselwert mit dem regulären Ausdrucksmuster übereinstimmt, wie im Referenzeingabewert angegeben.
- Eingabeargumente
- keysToValidate
- Ein Array von Objekten, bei denen jedes Objekt einen Schlüssel, einen Operator und einen Referenzwert enthält.
- Zulässige Operatoren sind
<,<=,>,>=,=Oder==,<>Oder!=,BEREICH,ENTHÄLT,NICHT ENTHÄLT,IN,NICHT IN, UndREGULÄRER AUSDRUCK. - 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 beachtet werden soll.
- Standardwert:
Wahr - Typ: wahr | falsch
- Obligatorisch: Falsch
- keysToValidate
Vergleich der Schlüsselexistenz (keyExistenceComparator)
Überprüft, ob alle Schlüssel aus einem Haupt-bereitstellbaren Element auch in den zusätzlichen bereitstellbaren Elementen vorhanden sind, die in der Eingabe angegeben werden.
Führt zu einem nicht konformen Status, wenn ein Schlüssel im Haupt-bereitstellbaren Element vorhanden ist, aber nicht in den zusätzlichen bereitstellbaren Elementen.
Anwendungsfall: Vergleichen Sie Ihre Umgebungsvariablen, und überprüfen Sie, ob sie konsistent sind.
- Eingabeargumente
- AdditionalDeployablesInput
- Eine Liste zusätzlicher bereitstellbarer Elemente, die mit dem Haupt-bereitstellbaren Element verglichen werden sollen.
- Typ: Liste
- Obligatorisch: Wahr
- includeNodes
- Ein boolescher Wert, der angibt, ob untergeordnete Knoten von bereitstellbaren Elementen während des Vergleichs einbezogen werden sollen.
- Standardwert:
Falsch - Typ: wahr | falsch
- Obligatorisch: Falsch
- caseSensitive
- Ein boolescher Wert, der angibt, ob beim Schlüsselvergleich Groß-/Kleinschreibung beachtet wird.
- Standardwert:
Falsch - Typ: wahr | falsch
- Obligatorisch: Falsch
- exceptionList
- Eine kommagetrennte Liste von Schlüsselnamen, die beim Vergleich ignoriert werden sollen.
- Typ: Zeichenfolge
- Obligatorisch: Falsch
- AdditionalDeployablesInput
Schlüsselbenennungskonvention (keyNamingConvention)
Überprüft, ob Schlüsselnamen einem bestimmten Benennungsmuster folgen.
Führt zu einem Status ohne Beschwerde, wenn Schlüssel nicht dem in den Eingabeargumenten angegebenen Namensmuster für Präfix-Suffix entsprechen.
- Eingabeargumente
- maxLength
- Ein ganzzahliger Wert, der die maximale Länge für einen Schlüsselnamen angibt.
- Typ: Ganzzahl
- Obligatorisch: Falsch
- approvedPrefixArray
- Ein Array von Zeichenfolgen, die genehmigte Präfixe für einen Schlüsselnamen angeben.
- Typ: Array von Zeichenfolgen
- Obligatorisch: Falsch
- 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
- approvedSuffixArray
- Ein Array von Zeichenfolgen, die genehmigte Suffixe für einen Schlüsselnamen angeben.
- Typ: Array von Zeichenfolgen
- Obligatorisch: Falsch
- exceptionList
- Eine kommagetrennte Liste von Schlüsseln, die von der Validierung ausgeschlossen werden sollen.
- Typ: Zeichenfolge
- Obligatorisch: Falsch
- maxLength
Schlüsselpfadvalidierung (keyPathValidator)
Überprüft, ob ein Schlüssel für den angegebenen Schlüsselpfad in einem Snapshot gefunden wird, und wenn er gefunden wird, ist der Wert des Schlüssels basierend auf dem Operatorwert und dem Referenzeingabewert gültig.
Führt zu einem Status ohne Beschwerde, wenn der Schlüssel für den angegebenen Schlüsselpfad einen ungültigen Wert hat. Zusätzlich, wenn IgnoreIfNichtgefunden Eingabeargument ist Falsch , Führt zu einem Status ohne Beschwerde, wenn der im Eingabeargument angegebene Schlüsselpfad nicht in einem Snapshot gefunden wird.
- 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:
Wahr - Typ: wahr | falsch
- Obligatorisch: Falsch
- pathAndDesiredValues
Prüfung der Schlüsselwert-Teilzeichenfolge (keyValueSubstringCheck)
Sucht nach der angegebenen Teilzeichenfolge in einem Snapshot-Wert für einen angegebenen Schlüsselnamen.
Führt zu einem Status ohne Beschwerde, wenn der Wert eines Schlüsselnamens nicht die im Eingabeargument angegebene Teilzeichenfolge enthält.
- Eingabeargument
- keyNameWithKeyValues
- Ein JSON-Objekt, das einen erforderlichen Teilzeichenfolgesatz enthält, einschließlich Schlüsselnamen-Teilzeichenfolgen und Schlüsselwert-Teilzeichenfolgen-Paaren.
- Beispiel:
{ "live": "2022" "environment": "aws" } - Typ: JSON
- Obligatorisch: Wahr
Listenvergleich (listComparator)
Überprüft, ob zwei Schlüssel dieselben Werte haben, indem die Werteliste zwischen den beiden Schlüsseln verglichen wird. Beim Vergleich wird die Groß-/Kleinschreibung nicht beachtet.
Führt zu einem nicht konformen Status, wenn die Werteliste im ersten Schlüssel mit allen Werten übereinstimmt, die in beliebiger Reihenfolge im zweiten Schlüssel aufgeführt sind.
- 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 (mandatoryKeys)
Überprüft, ob die in der Eingabe angegebene Liste der 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
- Eine kommagetrennte Liste von Schlüsselnamen.
- Typ: Zeichenfolge
- Obligatorisch: Wahr
- caseSensitive
- Ein boolescher Wert, der angibt, ob beim Schlüsselvergleich Groß-/Kleinschreibung beachtet wird.
- Standardwert:
Falsch - Typ: wahr | falsch
- Obligatorisch: Falsch
- mandatoryKeys
Validierung des Speicherlimits (MemoryLimitValidator)
Überprüft, ob die einem Schlüsselwert zugewiesenen Arbeitsspeicherressourcen innerhalb der angegebenen Grenzwerte einer Arbeitsspeichereinheit liegen. Vergleicht Schlüsselwerte ohne Berücksichtigung der Groß-/Kleinschreibung von Metrikeinheiten (einschließlich KB, MB und GB) und Binäreinheiten (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 den Mindest- und Höchstwerten für die Grenzwerte der Speichereinheit als Min. Und Max
- 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 der obligatorischen Tags (mandatoryTagsList)
Überprüft, ob die in einem Snapshot gefundenen Tag-Knoten autorisierte Werte haben.
- Eingabeargumente
- tagsNodeName
- Eine kommagetrennte Liste von Schlüsselnamen.
- Typ: Zeichenfolge
- Obligatorisch: Wahr
- tagsList
- Eine kommagetrennte Liste autorisierter Tag-Werte.
- Typ: Zeichenfolge
- Obligatorisch: Wahr
- caseSensitive
- Ein boolescher Wert, der angibt, ob beim Schlüsselvergleich Groß-/Kleinschreibung beachtet wird.
- Standardwert:
Falsch - Typ: wahr | falsch
- Obligatorisch: Falsch
- tagsNodeName
Pflichtwert (mandatoryValue)
Ü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
- Eine 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:
Wahr - 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:
Wahr - Typ: wahr | falsch
- Obligatorisch: Wahr
- caseSensitive
- Ein boolescher Wert, der angibt, ob beim Schlüsselvergleich Groß-/Kleinschreibung beachtet wird.
- Standardwert:
Falsch - Typ: wahr | falsch
- Obligatorisch: Falsch
Obligatorischer Wert nach Typ (mandatoryValueByType)
Überprüft, ob alle als Eingabe angegebenen Schlüssel einen nicht leeren Wert haben.
- Wenn der Wert eines Schlüssels in angegeben ist
KeyNamesStringEingabeargument ist kein Zeichenfolgenwert oder leer. - Wenn der Wert eines Schlüssels in angegeben ist
KeyNamesIntegerEingabeargument ist kein ganzzahliger Wert oder leer. - Wenn der Wert eines Schlüssels in angegeben ist
KeyNamesBooleschEingabeargument ist kein boolescher Wert oder leer.
- Eingabeargumente
- keyNamesString
- Eine kommagetrennte Liste von Schlüsselnamen, die einen Zeichenfolgenwert haben müssen.
- Typ: Zeichenfolge
- Obligatorisch: Falsch
- keyNamesInteger
- Eine kommagetrennte Liste von Schlüsselnamen, die einen Ganzzahlwert haben müssen.
- Typ: Zeichenfolge
- Obligatorisch: Falsch
- keyNamesBoolean
- Eine kommagetrennte Liste von Schlüsselnamen, die einen booleschen Wert haben müssen.
- Typ: Zeichenfolge
- Obligatorisch: Falsch
- keyNamesString
Keine klaren sensiblen Daten (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 Stichwörter enthält, nicht verschlüsselt ist.
Anwendungsfall: DevOps Config Wird von Organisationen verwendet, um vertrauliche Daten (Passwörter, API-Schlüssel und Token) über ihre berechtigungsbasierten Zugriffssteuerungen zu verwalten und zu steuern.
- Eingabeargumente
- keyWords
- Eine kommagetrennte Liste von Zeichenfolgen, die zum Identifizieren vertraulicher Schlüssel in einem Snapshot verwendet werden. Die Richtlinie verwendet den Vergleich ohne Berücksichtigung der Groß-/Kleinschreibung.
- Standardwert:
Pass,pwd,Secret - Typ: Zeichenfolge
- Obligatorisch: Wahr
- exceptionList
- Eine kommagetrennte Liste von Schlüsseln, die von der Validierung ausgeschlossen werden sollen.
- Typ: Zeichenfolge
- Obligatorisch: Falsch
- 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 mehrere Vorkommen in einem Snapshot aufweist.
Anwendungsfall: Automatisierungstools für die Bereitstellung können mehrere Vorkommen von Einstellungen schlecht verarbeiten, was zu Ausfallzeiten von Services führt.
- Eingabeargument
- keyNames
- Eine kommagetrennte Liste von Schlüsselnamen.
- Standardwert:
DbConnectionString,dbUserName - Typ: Zeichenfolge
- Obligatorisch: Falsch
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:
Wahr - Typ: wahr | falsch
- Obligatorisch: Wahr
- caseSensitive
- Ein boolescher Wert, der angibt, ob beim Schlüsselvergleich Groß-/Kleinschreibung beachtet wird.
- Standardwert:
Falsch - Typ: wahr | falsch
- Obligatorisch: Falsch
- exceptionList
- Eine kommagetrennte Liste von Schlüsseln, die von der Validierung ausgeschlossen werden sollen.
- Typ: Zeichenfolge
- Obligatorisch: Falsch
- trimValue
Keine unzulässigen Werte (noForbiddenValues)
Überprüft, ob in einem Snapshot Schlüsselnamen mit unzulässigen Werten vorhanden sind.
Führt zu einem Status ohne Beschwerde, wenn ein in einem Snapshot gefundener Schlüssel einen unzulässigen Wert hat, wie in der Eingabeliste angegeben.
- Eingabeargumente
- forbiddenValues
- Eine kommagetrennte Liste unzulässiger Werte.
- Standardwert:
Stamm - Typ: Zeichenfolge
- Obligatorisch: Falsch
- excludedKeyNames
- Eine kommagetrennte Liste von Schlüsseln, die von der Validierung ausgeschlossen werden sollen.
- Standardwert:
Name,*desc* - Typ: Zeichenfolge
- Obligatorisch: Falsch
- 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 im Schlüsselwert nicht vorhanden sein darf.
- Standardwert:
FTTP:/ - Typ: Zeichenfolge
- Obligatorisch: Wahr
- caseSensitive
- Ein boolescher Wert, der angibt, ob beim Schlüsselvergleich Groß-/Kleinschreibung beachtet wird.
- Standardwert:
Falsch - Typ: wahr | falsch
- Obligatorisch: Falsch
- exceptionList
- Eine kommagetrennte Liste von Schlüsseln, die von der Validierung ausgeschlossen werden sollen.
- Typ: Zeichenfolge
- Obligatorisch: Falsch
- 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 im Schlüsselwert nicht vorhanden sein darf.
- Standardwert:
HTTP:/ - Typ: Zeichenfolge
- Obligatorisch: Wahr
- caseSensitive
- Ein boolescher Wert, der angibt, ob beim Schlüsselvergleich Groß-/Kleinschreibung beachtet wird.
- Standardwert:
Falsch - Typ: wahr | falsch
- Obligatorisch: Falsch
- exceptionList
- Eine kommagetrennte Liste von Schlüsseln, die von der Validierung ausgeschlossen werden sollen.
- Typ: Zeichenfolge
- Obligatorisch: Falsch
- searchValue
Knotenschlüssel-Komparator (nodeKeysComparator)
Überprüft, ob alle Schlüssel aus dem 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:
Wahr - Typ: wahr | falsch
- Obligatorisch: Falsch
- fromNode
Kein LDAP (noLDAP)
Überprü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 im Schlüsselwert nicht vorhanden sein darf.
- Standardwert:
LDAP:/ - Typ: Zeichenfolge
- Obligatorisch: Wahr
- caseSensitive
- Ein boolescher Wert, der angibt, ob beim Schlüsselvergleich Groß-/Kleinschreibung beachtet wird.
- Standardwert:
Falsch - Typ: wahr | falsch
- Obligatorisch: Falsch
- exceptionList
- Eine kommagetrennte Liste von Schlüsseln, die von der Validierung ausgeschlossen werden sollen.
- Typ: Zeichenfolge
- Obligatorisch: Falsch
- searchValue
Knoten-Wertvergleich (nodesValueComparator)
Vergleicht alle Schlüssel-Wert-Kombinationen zwischen zwei Knoten in einem Snapshot.
- Wenn ein Schlüssel in angegeben ist
SameValueKeysEingabeargument hat einen anderen Wert in zwei Knoten. - Wenn ein Schlüssel in angegeben ist
DiffValueKeysEingabeargument hat denselben Wert in zwei Knoten. - Wenn
AllowMissingKeysEingabeargument ist auf festgelegtFalschUnd wenn 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:
Wahr - Typ: wahr | falsch
- Obligatorisch: Falsch
- sameValueKeys
- Eine kommagetrennte Liste von Schlüsselnamen mit denselben Werten.
- Typ: Zeichenfolge
- Obligatorisch: Falsch
- diffValueKeys
- Eine kommagetrennte Liste von Schlüsselnamen mit verschiedenen Werten.
- Typ: Zeichenfolge
- Obligatorisch: Falsch
- allowMissingKeys
- Ein boolescher Wert, der angibt, ob überprüft werden soll, ob alle Schlüssel aus dem primären Knoten im sekundären Knoten identisch sind.
- Standardwert:
Falsch - Typ: wahr | falsch
- Obligatorisch: Falsch
- fromNode
Keine Leerzeichen zulässig (noWhiteSpaceAllowed)
Überprüft, ob die Schlüsselwerte keine Leerzeichen enthalten, einschließlich vorangestellter und nachfolgender Leerzeichen.
Führt zu einem nicht konformen Status, wenn ein Schlüsselwert ein Leerzeichen enthält.
- Eingabeargument
- excludedKeyNames
- Eine kommagetrennte Liste von Schlüsseln, die von der Validierung ausgeschlossen werden sollen.
- Standardwert:
Beschreibung - Typ: Zeichenfolge
- Obligatorisch: Falsch
Gleicher Schlüsselwert (sameKeyValue)
Überprüft, ob die Werte eines Schlüssels, wenn er 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
- Eine kommagetrennte Liste von Schlüsselnamen
- Obligatorisch: Wahr
- Typ: Zeichenfolge
Vergleich gleicher Werte (sameValuesComparator)
Überprüft, ob alle Schlüssel als bereitgestellt wurden Schlüsselliste Eingabeargumente haben denselben Wert für alle bereitstellbaren Elemente.
Führt zu einem nicht konformen Status, wenn sich der Wert eines Schlüssels in mehreren bereitstellbaren Elementen unterscheidet, oder 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
- AdditionalDeployablesInput
- Eine Liste zusätzlicher bereitstellbarer Elemente, die mit dem Haupt-bereitstellbaren Element verglichen werden sollen.
- Typ: Liste
- Obligatorisch: Wahr
- keysList
- Eine 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:
Wahr - Typ: wahr | falsch
- Obligatorisch: Wahr
- caseSensitive
- Ein boolescher Wert, der angibt, ob beim Schlüsselvergleich Groß-/Kleinschreibung beachtet wird.
- Standardwert:
Wahr - Typ: wahr | falsch
- Obligatorisch: Falsch
- AdditionalDeployablesInput
Eindeutiger Schlüsselwert (uniqueKeyValue)
Überprüft, ob sich der Schlüsselwert für einen Schlüssel unterscheidet, wenn der Schlüssel mehrere Vorkommen in einem Snapshot aufweist.
Führt zu einem nicht konformen Status, wenn ein Schlüssel denselben Wert in mehr als einem Vorkommen hat.
- Eingabeargument
- keyList
- Eine kommagetrennte Liste von Schlüsselnamen.
- Obligatorisch: Wahr
- Typ: Zeichenfolge
Eindeutige Werte für alle bereitstellbaren Elemente (checkUniqueKeyValue_crossDeployables)
Überprüft, ob alle Schlüssel als bereitgestellt wurden Schlüsselname Eingabeargument hat unterschiedliche Werte für die bereitstellbaren Elemente.
Führt zu einem nicht konformen Status, wenn der Wert eines Schlüssels in mehreren bereitstellbaren Elementen identisch ist, oder 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
- AdditionalDeployablesInput
- Eine Liste zusätzlicher bereitstellbarer Elemente, die mit dem Haupt-bereitstellbaren Element verglichen werden sollen.
- Typ: Liste
- Obligatorisch: Wahr
- keyName
- Eine kommagetrennte Liste von Schlüsselnamen.
- Typ: Zeichenfolge
- Obligatorisch: Wahr
- AdditionalDeployablesInput
Ungelöste Variablen (nicht aufgelöste Variablen)
Überprüft, ob ein Snapshot ungelöste Variablen enthält.
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 ungelöste Variablen den Bereitstellungsvorgang beeinträchtigen können.