Add Global Rules
Global rules allow you to enforce and track block rules that have a global scope over all protected computers in your network. Currently, this feature is only available for block rules. Generally, use the following steps to create global rules:
- Create and configure an
ApplicationControlGlobalRule
object. - Use an
ApplicationControlGlobalRuleApi
object to create the global rule on Deep Security Manager.
See the Create and add new global rules operation in the API Reference. For more information about global rules, see the Deep Security Help Center.
Example: Add software to the Global Rules
The following example code adds software to the Global Rules.
Python
def add_global_rules(sha256_list, api, configuration, api_version, api_exception): """ Adds new Global Rules :param sha256_list: The list of SHA-256 hashes of the executables to create new rules for. :param api: The Deep Security API modules. :param configuration: Configuration object to pass to the api client. :param api_version: The version of the API to use. :param api_exception: The Deep Security API exception module. :return: The list of new rules added. """ # Create the rules new_rules = [] for sha256 in sha256_list: new_rule = api.ApplicationControlGlobalRule() new_rule.sha256 = sha256 new_rules.append(new_rule) # Add the rules global_rules_api = api.GlobalRulesApi(api.ApiClient(configuration)) rules_list = api.ApplicationControlGlobalRules() rules_list.application_control_global_rules = new_rules return global_rules_api.add_global_rules(rules_list, api_version)
JavaScript
/* * Adds new Global Rules * @param {Array} sha256List The list of SHA-256 hashes of the executables to create new rules for. * @param {ApiClient} api The Deep Security API exports. * @param {String} apiVersion The api version to use. * @returns {Promise} A promise object that resolves to an Array of ApplicationControlGlobalRule objects. */ exports.addGlobalRules = function (sha256List, api, apiVersion) { return new Promise((resolve, reject) => { // Create the rules const globalRules = new api.ApplicationControlGlobalRules(); globalRules.applicationControlGlobalRules = sha256List.map(sha256 => { const newRule = new api.ApplicationControlGlobalRule(); newRule.sha256 = sha256; return newRule; }); // Add the rules const globalRuleApi = new api.GlobalRulesApi(); globalRuleApi.addGlobalRules(globalRules, apiVersion) .then(rules => { resolve(rules); }) .catch(error => { reject(error); }); }); };
Java
/* * Add new global rules. * @param sha256List The list of SHA-256 hashes to create rules for. * @param apiVersion The api version. * @return A list of ApplicationControlGlobalRule objects. */ public static ApplicationControlGlobalRules addGlobalRules(List sha256List, String apiVersion) { // Create global rules ApplicationControlGlobalRules globalRules = new ApplicationControlGlobalRules(); for (String sha256 : sha256List) { ApplicationControlGlobalRule globalRule = new ApplicationControlGlobalRule(); globalRule.setSha256(sha256); globalRules.addApplicationControlGlobalRulesItem(globalRule); } // Add the global rules GlobalRulesApi globalRulesApi = new GlobalRulesApi(); try { return globalRulesApi.addGlobalRules(globalRules, apiVersion); } catch (ApiException e) { e.printStackTrace(); } return null; }