-
Notifications
You must be signed in to change notification settings - Fork 349
feat(query): implements "Beta - Activity Log Alert For Delete Policy Assignment" #7806
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
feat(query): implements "Beta - Activity Log Alert For Delete Policy Assignment" #7806
Conversation
…alert_for_delete_policy_assignment
…ete_policy_assignment' of https://github.com/Checkmarx/kics into AST-116644_31_6.1.2.2_ensure_activity_log_alert_for_delete_policy_assignment
…16644_31_6.1.2.2_ensure_activity_log_alert_for_delete_policy_assignment
|
| GitGuardian id | GitGuardian status | Secret | Commit | Filename | |
|---|---|---|---|---|---|
| 21271469 | Triggered | Generic Password | 14493e5 | assets/queries/terraform/azure/unrestricted_sql_server_access/test/negative5.tf | View secret |
🛠 Guidelines to remediate hardcoded secrets
- Understand the implications of revoking this secret by investigating where it is used in your code.
- Replace and store your secret safely. Learn here the best practices.
- Revoke and rotate this secret.
- If possible, rewrite git history. Rewriting git history is not a trivial act. You might completely break other contributing developers' workflow and you risk accidentally deleting legitimate data.
To avoid such incidents in the future consider
- following these best practices for managing and storing secrets including API keys and other credentials
- install secret detection on pre-commit to catch secret before it leaves your machine and ease remediation.
🦉 GitGuardian detects secrets in your source code to help developers and security teams secure the modern development process. You are seeing this because you or someone else with access to this repository has authorized GitGuardian to scan your pull request.








Reason for Proposed Changes
Currently there is no query to ensure that there is a "azurerm_monitor_activity_log_alert" resource configured to capture delete policy assignment events.
Quoting CIS_Microsoft_Azure_Foundations_Benchmark_v5.0.0 page 231: "
Monitoring for delete policy assignment events gives insight into changes done in "azure policy - assignments" and can reduce the time it takes to detect unsolicited changes."Through the CIS benchmark we can also determine that detecting the target configuration boils down to checking 2 fields in the
criteriablock:categoryshould be set to "Administrative"operation_nameshould be set to "Microsoft.Authorization/policyAssignments/delete"Additionally we must ensure the log alert resource does not set any "filters" that act "on Level, Status or
Caller" these can be set on the "azurerm_monitor_activity_log_alert" resource through the following fields : "caller", "level", "levels", "status", "statuses", "sub_status" or "sub_statuses". Since these could suppress or cause the log alert to miss relevant events they must not be set.
Finally it must be ensured that the "action_group_id" field is set (inside an "action" block).
Proposed Changes
Implemented the missing query.
The query will trigger if:
In a given document if there are multiple "azurerm_monitor_activity_log_alert" and none of them fully align with the required requisites the query will prioritize flagging all the ones only missing the "action_group_id" first, then all the ones that flag due to a filter being set and, if none of the resources set the two mandatory fields to the expected values, it will flag all log alert resources. These priorities are demonstrated through the positive4.tf and positive5.tf tests and their results.
I submit this contribution under the Apache-2.0 license.