Integrity Monitoring Example
The following examples (Python, JavaScript, Java) turn on Integrity Monitoring and set the rule IDs for an
IntegrityMonitoringPolicyExtension object. The object is added to a
Policy object which is used to update a policy on Deep Security Manager.
Also see the Modify a Policy operation in the API Reference.
If you only need to add, remove, or list Integrity Monitoring rules for a policy, use the
PolicyIntegrityMonitoringRuleAssignmentsApi class. The examples use the
IntegrityMonitoringPolicyExtension, Policy, and
PoliciesApi classes to set rules, but this can also be done using only the
PolicyIntegrityMonitoringRuleAssignmentsApi class. For more information, see
Policy Integrity Monitoring Rule Assignments and
Recommendations in the Policies section of the API Reference.
For information about authenticating API calls, see Authenticate with Deep Security Manager.
Python
# Turn on Integrity Monitoring
policy_config_integrity_monitoring = api.IntegrityMonitoringPolicyExtension()
policy_config_integrity_monitoring.state = "on"
# Add the rule IDs
policy_config_integrity_monitoring.rule_ids = im_rule_ids
# Add to a policy
policy = api.Policy()
policy.integrity_monitoring = policy_config_integrity_monitoring
# Modify the policy on Deep Security Manager
policies_api = api.PoliciesApi(api.ApiClient(configuration))
modified_policy = policies_api.modify_policy(policy_id, policy, api_version)
return modified_policy.id
JavaScript
// Turn on Integrity Monitoring
const integrityMonitoringPolicyExtension = new api.IntegrityMonitoringPolicyExtension();
integrityMonitoringPolicyExtension.state = api.IntegrityMonitoringPolicyExtension.StateEnum.on;
// Add rule IDs
integrityMonitoringPolicyExtension.ruleIDs = imRules;
// Add to a policy
const policy = new api.Policy();
policy.integrityMonitoring = integrityMonitoringPolicyExtension;
// Modifies the policy on Deep Security Manager
const modify = () => {
const policiesApi = new api.PoliciesApi();
return policiesApi.modifyPolicy(policyID, policy, apiVersion, { overrides: false });
};
return modify()
.then(modifiedPolicy => {
resolve(modifiedPolicy.ID);
})
.catch(error => {
reject(error);
});
Java
// Set the state
IntegrityMonitoringPolicyExtension integrityMonitoringPolicyExtension = new IntegrityMonitoringPolicyExtension();
integrityMonitoringPolicyExtension.setState(StateEnum.ON);
// Add the rule IDs
integrityMonitoringPolicyExtension.setRuleIDs(ruleIds);
// Add to a policy
Policy policy = new Policy();
policy.setIntegrityMonitoring(integrityMonitoringPolicyExtension);
// Update the policy on Deep Security Manager
PoliciesApi policiesApi = new PoliciesApi();
return policiesApi.modifyPolicy(policyId, policy, Boolean.FALSE, apiVersion).getID();
