かどうかを確認する方法RQL構成のpolicyリソースを正しく検出する
9119
Created On 10/04/21 05:48 AM - Last Modified 01/31/23 00:16 AM
Objective
いくつかの状況がありますRQL非常に長いので、一目ですべての意味を理解するのは困難です。
この記事では、RQLそんな時のために一歩一歩。
Environment
Prisma Cloud エンタープライズ版
Procedure
例Policy:AWS SNSセキュア データ トランスポートが構成されていないトピックpolicy
RQL:
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
ターゲット リソースの例:
[STEPS ]
1. を分解するRQLなどの演算子によって論理ユニットにAND、OR 、括弧など
2.分解して比較RQL各ユニットのリソース。
上と下を比較すると。 ステートメントに条件はありません。
したがって、RQLこの部分の真になります。
NOTE : 次の例では、ターゲット キーが存在するため、結果は false になります。
3. ユニットを結合し、ターゲット リソースが一致するかどうかを確認します。policy .
結論:上記RQLtrue を返します
4. 現在、RQLターゲット リソースを正しく一致させます。
Additional Information
RQL で使用される演算子については、次のドキュメントで説明されています。
-RQLオペレーター
https://docs.paloaltonetworks.com/prisma/prisma-cloud/prisma-cloud-rql-reference/rql-reference/operators.html