自訂規則被觸發後,Function Compute中的函數對資源進行評估,並調用配置審計的PutEvaluations介面,將評估結果返回給配置審計。當您執行自訂規則後,評估結果仍然顯示為“無資料”的排查方法如下:
-
通過Action Trail排查
通過Action Trail控制台的事件查询功能,查看PutEvaluations介面的呼叫事件。
當您執行自訂規則後,如果存在PutEvaluations介面的調用記錄,則說明規則執行成功,該規則無匹配資源;反之,說明規則執行失敗。
說明地區選擇新加坡。
-
通過Function Compute排查
如果您已啟用函數的日誌功能,則可以查看PutEvaluations介面的調用記錄。關於如何啟用函數的日誌功能,請參見配置日誌。
當您執行自訂規則後,請先在函數代碼頁簽中列印日誌,再在調用日誌頁簽中查看PutEvaluations介面的調用記錄。如果存在PutEvaluations介面的調用記錄,則說明規則執行成功,該規則無匹配資源;反之,說明規則執行失敗。
-
排查條件規則的featurePath配置
如果您使用的是條件規則(即建立規則時選擇基於條件自定義),規則的
featurePath通過JSONPath運算式從目標資源的配置資訊中提取特定欄位值,再與預期值進行比較。當featurePath指定的JSONPath在目標資源的配置中不存在對應節點或返回空時,評估結果顯示為無資料。例如,您建立了一條條件規則檢查安全性群組是否存在
SourceCidrIp為0.0.0.0/0的入方向規則,featurePath配置為$.Permissions.Permission[?(@.SourceCidrIp=='0.0.0.0/0')].SourceCidrIp。如果某個安全性群組的入方向規則中不存在SourceCidrIp為0.0.0.0/0的條目,JSONPath過濾運算式返回空,該安全性群組的評估結果即為無資料;而存在該條目的安全性群組則顯示為不合規。無資料不代表資源不合規,而是表示規則無法從該資源的配置資訊中提取到用於比較的值。建立條件規則前,通過資源詳情頁或API確認目標資源的配置結構中包含
featurePath所引用的欄位。