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.
Inhalt
Logische Operatoren
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]" |
![]() |
TippVerwenden 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
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
- Finden Sie alle Ressourcen, die mit „sg-“ beginnen und mit beliebigen Zeichen enden:
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 matchenRessourcenreguläre Ausdrücke
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
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
Prozedur
- Klicken Sie auf Browse all checks und wählen Sie die Filtermethode CQL aus.
- 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.
- Sie können hier stoppen oder weitere Bedingungen mit OR oder AND hinzufügen. Verwenden Sie Klammern, um die Vorrangigkeit der Bedingungen sicherzustellen.
- 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

Abfragebeispiele
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)