Cómo comprobar si una configuración policy detecta correctamente los RQL recursos
Objective
Hay algunas circunstancias que RQL son muy largas, por lo que es difícil entender todos los significados de un vistazo.
Este artículo explica para comprobar un RQL paso a paso para en tal caso.
Environment
Prisma Cloud Enterprise Edition
Procedure
EjemploPolicy: tema no configurado con transporte seguro policy
RQLde datos: AWS SNS
config from cloud.resource where cloud.type = 'aws' AND api.name = 'aws-sns-get-topic-attributes' AND json.rule = Policy.Statement[*].Condition.Bool.aws:SecureTransport does not exist or Policy.Statement[?any((Effect equals Allow and Action contains Publish and (Principal.AWS equals * or Principal equals *) and (Condition.Bool.aws:SecureTransport contains false or Condition.Bool.aws:SecureTransport contains FALSE)) or (Effect equals Deny and Action contains Publish and (Principal.AWS equals * or Principal equals *) and (Condition.Bool.aws:SecureTransport contains true or Condition.Bool.aws:SecureTransport contains TRUE)))] exists
Ejemplo de recurso de destino:
[STEPS]
1. Descomponer el RQL en unidades lógicas por operadores como AND, , paréntesis, ORetc.
2. Compare el desmontado y el RQL recurso para cada unidad.
Comparando lo anterior con lo siguiente. No hay ninguna condición en la declaración.
Por lo tanto, el RQL de esta parte se convierte en verdad.
NOTE: En el ejemplo siguiente, el resultado será false porque existe la clave de destino.
3. Combine las unidades y compruebe si el recurso de destino coincide con el policy.
Conclusión: Lo anterior RQL devuelve verdadero
4. Ahora confirmamos que coinciden correctamente con RQL el recurso de destino.
Additional Information
Los operadores utilizados en las RQL se describen en los siguientes documentos.
- RQL Operadores
https://docs.paloaltonetworks.com/prisma/prisma-cloud/prisma-cloud-rql-reference/rql-reference/operators.html