Ansichten:
Cloud Risk Management Abfragesprache ist eine Freitextsyntax, die erweiterte Funktionen zum Filtern von Prüfungen bietet und komplexere Abfragen ermöglicht, die leistungsfähiger sind als das, was mit einfachen Filtern möglich ist.
CQL ermöglicht die Suche nach Feld/Wert-Paaren. Die Syntax erlaubt es, die Beziehung und Reihenfolge, in der die Kriterien mit logischen Operatoren, Klammern und Anführungszeichen berücksichtigt werden, festzulegen.

Logische Operatoren Übergeordnetes Thema

Die grundlegende Syntax für ein Feld/Wert-Suchkriterium ist [field]:[value], wobei das Doppelpunktzeichen (:) angibt, dass das angegebene Feld dem angegebenen Wert entsprechen muss, damit ein Treffer in den Suchergebnissen zurückgegeben wird.
Logische Operatoren ermöglichen es Ihnen, mehr als ein Kriterium anzugeben und die Beziehung zwischen ihnen zu kennzeichnen. CQL wird die folgenden expliziten logischen Operatoren unterstützen:
Operator name
Operator
Beschreibung
Beispiel
GLEICH
:
Übereinstimmt, wenn die rechte Seite der linken Seite entspricht, d. h. Feld entspricht Wert
service : EC2
UNGLEICH
:-
Entspricht, wenn die rechte Seite nicht der linken Seite entspricht, d.h. das Feld entspricht nicht dem Wert
service :- IAM
AND
AND
Übereinstimmungen, wenn die Überprüfung beide Kriterien enthält
status : SUCCESS AND riskLevel : HIGH
OR
OR
Übereinstimmungen, wenn die Überprüfung eines der Kriterien enthält
compliance : MAS OR compliance : HITRUST
Klammern
()
Klammern werden verwendet, um Änderungen an der normalen Reihenfolge der Operationen (Vorrangregeln) anzuzeigen. In einem Ausdruck wie (compliance : MAS OR compliance : HITRUST) AND status: SUCCESS wird der Teil des Ausdrucks innerhalb der Klammern zuerst ausgewertet, und das Ergebnis wird dann im restlichen Ausdruck verwendet.
(compliance : MAS OR compliance : HITRUST) AND status : SUCCESS
Anführungszeichen
"
Wird verwendet, um Zeichenfolgen einzuschließen, wenn sie Sonderzeichen und/oder Leerzeichen enthalten.
message : "Continuous Backups are not enabled for [ddb-users-dev]"
Tipp
Tipp
Verwenden Sie Klammern großzügig, um Begriffe in der Suchanfrage klar zu gruppieren. * Wenn Zeichenfolgen Zeichen enthalten, die keine Buchstaben, Zahlen oder Leerzeichen sind und nicht als Regex interpretiert werden sollen, sollten sie in " eingeschlossen werden. Dies ist beispielsweise der Fall bei Freitextfeldern wie „resource“ und „message“. * Bei der Verwendung von regulären Ausdrücken müssen reservierte Zeichen . . ? + * [ ] ( ) " \ mit einem \ maskiert werden. * Im Gegensatz zu den anderen Feldern, die nach einer exakten Übereinstimmung suchen, verwenden die Felder 'message' und 'ruleTitle' eine Volltextsuche, bei der die Suche alle relevanten Ergebnisse zurückgibt, anstatt nur exakte Übereinstimmungen. Wenn Sie nach Quick fox jumps suchen, möchten Sie wahrscheinlich das Dokument, das A quick brown fox jumps over the lazy dog enthält, und Sie möchten möglicherweise auch Dokumente, die verwandte Wörter wie fast fox oder foxes leap enthalten.

Ressourcen-Platzhalter Übergeordnetes Thema

Das resource-Feld unterstützt Platzhaltersuchen. Diese Syntax unterstützt zwei Operatoren:
  • ?, das mit jedem einzelnen Zeichen übereinstimmt
  • _*, das null oder mehr Zeichen, einschließlich eines leeren, entsprechen kann _Beispiel:
    • Finden Sie alle Ressourcen, die mit „sg-“ beginnen und mit beliebigen Zeichen enden: resource : sg-*
    • Finden Sie alle Ressourcen, die mit „sg-“ beginnen und mit einem beliebigen Zeichen + dem Buchstaben „s“ enden resource : sg-?s
Seien Sie sich bewusst, dass Platzhalterabfragen eine enorme Menge an Speicher verbrauchen und sehr schlecht abschneiden können – denken Sie nur daran, wie viele Begriffe abgefragt werden müssen, um die Abfragezeichenfolge a* b* c* zu matchen

Ressourcenreguläre Ausdrücke Übergeordnetes Thema

Das resource-Feld unterstützt reguläre Ausdrucksmuster. Diese können in die Abfragezeichenfolge eingebettet werden, indem sie in Schrägstriche ("/") eingeschlossen werden:
resource : /arn:aws:iam::[0-9]{12}:policy\/.*Part1/
Die unterstützte Syntax für reguläre Ausdrücke wird in Filter und Suche erläutert

Feldliste Übergeordnetes Thema

Field Name
Data type
Beschreibung
Beispiel
ruleTitle
Zeichenkette
Wird übereinstimmen, wenn der Titel der Regel relevante Ergebnisse enthält, die mit dem Wert übereinstimmen. Bitte beachten Sie die obige Erklärung zur Volltextsuche.
ruleTitle : "Unrestricted SSH Access"
ruleId
Zeichenkette
Wird übereinstimmen, wenn die Regel-ID genau übereinstimmt. Wählen Sie aus dem Autovervollständigungs-Dropdown.
ruleId : EC2-081 OR ruleId : EC2-088
Nachricht
Zeichenkette
Wird übereinstimmen, wenn die Nachricht relevante Ergebnisse enthält, die dem Wert entsprechen. Bitte beachten Sie die Erklärung zur Volltextsuche oben.
message : "access keys"
Ressource
Zeichenfolgen-Regex
Wird übereinstimmen, wenn die Ressourcen-ID mit dem Wert übereinstimmt. Kann auch durch Platzhalter oder Regex übereinstimmen, siehe obige Beschreibung.
resource : "aws-glue-an-data"resource : /arn:aws:iam::[0-9]{12}:policy\/.*Part1/resource : "aws-*-an-??-data"
neuerAlsTage
Nummer
'olderThanDays' und 'newerThanDays' beziehen sich auf die Anzahl der Tage, die von heute zurückgerechnet werden. Es wandelt die eingegebene Anzahl von Tagen in das Datum um, an dem die Überprüfung erstellt und ein Status zugewiesen wurde oder an dem sich der Status von "Erfolg" zu "Fehler" oder von "Fehler" zu "Erfolg" geändert hat. Sie können diesen Filter verwenden, indem Sie Werte für die Anzahl der Tage eingeben, die Sie vor 'olderThanDays' und nach 'newerThanDays' anzeigen möchten. Sie müssen mindestens 2 Tage bis zu 1 Tag übergehen, um Überprüfungen für einen bestimmten Zeitraum zu sehen. Um Überprüfungen von einem bestimmten Tag bis heute anzuzeigen, übergehen Sie die Anzahl der Tage in 'newerThanDays' und setzen Sie 'olderThanDays' nicht.
newerThanDays : 20
älterAlsTage
Nummer
Um alle Überprüfungen bis zu einem bestimmten Tag anzuzeigen, geben Sie eine Anzahl von Tagen an, die von heute zurückgehen, in 'olderThanDays' ein und setzen Sie 'newerThanDays' nicht.
olderThanDays : 20
FilterTag
Zeichenkette
Übereinstimmung, wenn die zugewiesenen Metadaten-Tags Ihrer Ressourcen mindestens ein Tag mit diesem Wert als Schlüssel oder Wert des Tags haben. Um sowohl Schlüssel als auch Wert abzugleichen, geben Sie sie in Schlüssel::Wert-Paaren an
filterTag : "env::dev"filterTag : "env"filterTag : "dev"
service
Zeichenkette
Wird übereinstimmen, wenn der Anbieterdienst eine genaue Übereinstimmung ist. Für weitere Informationen zu Diensten, siehe bitte Cloud Risk Management Dienste-Endpunkt.
service : IAM
Kategorie
Zeichenkette
Wird übereinstimmen, wenn die Kategorie eine genaue Übereinstimmung ist. Mögliche Werte sind: Sicherheit oder Kostenoptimierung oder operative Exzellenz oder Zuverlässigkeit oder Leistungseffizienz
category : security
Region
Zeichenkette
Wird übereinstimmen, wenn die Region eine genaue Übereinstimmung ist. Für weitere Informationen über Regionen, siehe bitte Cloud Risk Management Region Endpunkt.
region : eu-west-2
Risikostufe
Zeichenkette
Wird übereinstimmen, wenn die Risikostufe genau übereinstimmt. Mögliche Werte sind: NIEDRIG oder MITTEL oder HOCH oder SEHR_HOCH oder EXTREM
riskLevel : HIGH
resourceType
Zeichenkette
Wird übereinstimmen, wenn der Ressourcentyp eine genaue Übereinstimmung ist. Für weitere Informationen zu Diensten, siehe bitte Cloud Risk Management Ressourcentypen-Endpunkt.
resourceType : ec2-securitygroup OR resourceType : ec2-instance
Anbieter
Zeichenkette
Wird übereinstimmen, wenn der Cloud-Anbieter eine genaue Übereinstimmung ist.
provider : aws
Einhaltung
Zeichenkette
Wird übereinstimmen, wenn der Compliance-Standard eine genaue Übereinstimmung ist. Für weitere Informationen zu Compliance-Standards lesen Sie bitte unsere API-Dokumentation zum Feld 'compliances'.
compliance : AWAF
status
Zeichenkette
Wird übereinstimmen, wenn der Status der Überprüfung genau übereinstimmt. Mögliche Werte sind ERFOLG oder FEHLER
status : SUCCESS
unterdrückt
Zeichenkette
Ob alle unterdrückten Prüfungen einbezogen werden sollen oder nicht. Der Standardwert ist "true" für "v1" und wird für "v2" weggelassen. Mögliche Werte sind true oder false
suppressed : true

Verwenden von CQL zum Filtern Ihrer Prüfungen Übergeordnetes Thema

Prozedur

  1. Klicken Sie auf Browse all checks und wählen Sie die Filtermethode CQL aus.
  2. Beginnen Sie mit der Eingabe, um ein Feld zur Suche auszuwählen. Wählen Sie den equal :- oder not equal :--Operator und wählen Sie einen Wert aus der Liste der verfügbaren Werte aus.
  3. Sie können hier stoppen oder weitere Bedingungen mit OR oder AND hinzufügen. Verwenden Sie Klammern, um die Vorrangigkeit der Bedingungen sicherzustellen.
  4. Wenn Ihr Feld kein Dropdown-Menü hat, geben Sie einen Suchtext in Anführungszeichen ein und klicken Sie auf die Schaltfläche Apply filter, sobald Sie fertig sind.

Nächste Schritte

step-4-cql=fe97e6d0-718f-4fab-81a9-62e13cf0e308.png

Abfragebeispiele Übergeordnetes Thema

  • service : EC2 OR category : security OR riskLevel : HIGH OR status : SUCCESS
  • service : EC2 AND category :- security
  • (service : ELB OR category : security) AND riskLevel :- MEDIUM
  • service : EC2 AND ( category : security OR riskLevel : HIGH) AND status : SUCCESS
  • ((service : ELB OR service : CloudFront) AND status : FAILURE) OR (message : SSL OR ruleTitle : SSL)
  • (service : VPC AND status : FAILURE) OR region : ca-central-1
  • service : EC2 AND (( category : security OR riskLevel : HIGH) OR status :- SUCCESS)