Skip to main content

App Override Rule

App override rules force the firewall to identify specific traffic as a particular application, bypassing the App-ID engine. The scm CLI provides commands to create, update, delete, move, and load app override rules.

Overview​

The app-override-rule commands allow you to:

  • Create app override rules with protocol, port, and application mappings
  • Update existing rule configurations
  • Delete rules that are no longer needed
  • Move rules to control processing order
  • Bulk import rules from YAML files
  • Export rules for backup or migration

Set App Override Rule​

Create or update an app override rule.

Syntax​

scm set security app-override-rule NAME [OPTIONS]

Arguments​

ArgumentDescriptionRequired
NAMERule nameYes

Options​

OptionDescriptionRequired
--folder TEXTFolder locationNo*
--snippet TEXTSnippet locationNo*
--device TEXTDevice locationNo*
--application TEXTApplication to overrideYes
--port TEXTPort(s) for the ruleYes
--protocol TEXTProtocol (tcp or udp)Yes
--rulebase TEXTRulebase (pre, post, default)No
--description TEXTDescriptionNo
--source-zones TEXTSource zonesNo
--destination-zones TEXTDestination zonesNo
--disabledDisable the ruleNo
--tags TEXTTagsNo

* One of --folder, --snippet, or --device is required.

Examples​

Create Basic Override Rule​

$ scm set security app-override-rule override-https \
--folder Texas \
--application ssl \
--port 8443 \
--protocol tcp
---> 100%
Created app override rule: override-https in folder Texas

Create Override with Zones​

$ scm set security app-override-rule custom-app-override \
--folder Texas \
--application web-browsing \
--port 9090 \
--protocol tcp \
--source-zones trust \
--destination-zones untrust \
--description "Override custom web app on port 9090"
---> 100%
Created app override rule: custom-app-override in folder Texas

Move App Override Rule​

Change the position of an app override rule. Rules are processed in order from top to bottom.

Syntax​

scm move security app-override-rule NAME [OPTIONS]

Arguments​

ArgumentDescriptionRequired
NAMEName of the rule to moveYes

Options​

OptionDescriptionRequired
--folder TEXTFolder containing the ruleNo*
--snippet TEXTSnippet containing the ruleNo*
--device TEXTDevice containing the ruleNo*
--destination TEXTWhere to move (top, bottom, before, after)Yes
--destination-rule TEXTUUID of the reference rule (required with before/after)No**
--rulebase TEXTRulebase (pre or post; default: pre)No

* One of --folder, --snippet, or --device is required.

** Required when --destination is before or after.

Examples​

Move Rule to Top​

$ scm move security app-override-rule override-https \
--folder Texas \
--destination top
---> 100%
Moved app override rule: override-https to top in folder Texas

Move Rule After Another Rule​

$ scm move security app-override-rule custom-app-override \
--folder Texas \
--destination after \
--destination-rule 123e4567-e89b-12d3-a456-426614174000
---> 100%
Moved app override rule: custom-app-override after rule 123e4567-e89b-12d3-a456-426614174000 in folder Texas

Delete App Override Rule​

Delete an app override rule from SCM.

Syntax​

scm delete security app-override-rule NAME [OPTIONS]

Arguments​

ArgumentDescriptionRequired
NAMERule name to deleteYes

Options​

OptionDescriptionRequired
--folder TEXTFolder locationNo*
--snippet TEXTSnippet locationNo*
--device TEXTDevice locationNo*
--rulebase TEXTRulebase to use (pre, post, or default; default: pre)No
--forceSkip confirmation promptNo

* One of --folder, --snippet, or --device is required.

Example​

$ scm delete security app-override-rule override-https \
--folder Texas \
--force
---> 100%
Deleted app override rule: override-https from folder Texas

Load App Override Rule​

Load multiple app override rules from a YAML file.

Syntax​

scm load security app-override-rule [OPTIONS]

Options​

OptionDescriptionRequired
--file TEXTPath to YAML file containing rule definitionsYes
--folder TEXTOverride folder location for all rulesNo
--snippet TEXTOverride snippet location for all rulesNo
--device TEXTOverride device location for all rulesNo
--dry-runPreview changes without applying themNo

YAML File Format​

---
app_override_rules:
- name: override-https
folder: Texas
application: ssl
port: "8443"
protocol: tcp

- name: custom-app-override
folder: Texas
application: web-browsing
port: "9090"
protocol: tcp
source_zones:
- trust
destination_zones:
- untrust
description: "Override custom web app on port 9090"

Examples​

Load with Original Locations​

$ scm load security app-override-rule \
--file app-overrides.yaml
---> 100%
✓ Loaded app override rule: override-https
✓ Loaded app override rule: custom-app-override

Successfully loaded 2 out of 2 app override rules from 'app-overrides.yaml'

Load with Folder Override​

$ scm load security app-override-rule \
--file app-overrides.yaml \
--folder Austin
---> 100%
✓ Loaded app override rule: override-https
✓ Loaded app override rule: custom-app-override

Successfully loaded 2 out of 2 app override rules from 'app-overrides.yaml'
note

When using container override options (--folder, --snippet, --device), all rules will be loaded into the specified container, ignoring the container specified in the YAML file.

Show App Override Rule​

Display app override rule objects.

Syntax​

scm show security app-override-rule [NAME] [OPTIONS]

Arguments​

ArgumentDescriptionRequired
NAMERule name to display; omit to list allNo

Options​

OptionDescriptionRequired
--folder TEXTFolder locationNo*
--snippet TEXTSnippet locationNo*
--device TEXTDevice locationNo*
--rulebase TEXTRulebase to use (pre, post, or default; default: pre)No
--output, -o [table|json|yaml]Output format (default: table)No
--max-results INTEGERMaximum number of results to displayNo

* One of --folder, --snippet, or --device is required.

note

When no NAME is specified, all items are listed by default.

Examples​

Show Specific Rule​

$ scm show security app-override-rule override-https \
--folder Texas
---> 100%
App Override Rule: override-https
Location: Folder 'Texas'
Application: ssl
Port: 8443
Protocol: tcp

List All Rules (Default Behavior)​

$ scm show security app-override-rule --folder Texas
---> 100%
App Override Rules in folder 'Texas':
------------------------------------------------------------
Name: override-https
Application: ssl
Port: 8443
Protocol: tcp
------------------------------------------------------------
Name: custom-app-override
Application: web-browsing
Port: 9090
Protocol: tcp
------------------------------------------------------------

Backup App Override Rules​

Backup all app override rule objects from a specified location to a YAML file.

Syntax​

scm backup security app-override-rule [OPTIONS]

Options​

OptionDescriptionRequired
--folder TEXTFolder to backup rules fromNo*
--snippet TEXTSnippet to backup rules fromNo*
--device TEXTDevice to backup rules fromNo*
--file TEXTOutput filename (defaults to auto-generated)No

* One of --folder, --snippet, or --device is required.

Examples​

Backup from Folder​

$ scm backup security app-override-rule --folder Texas
---> 100%
Successfully backed up 8 app override rules to app_override_rule_folder_texas_20240115_120530.yaml

Backup with Custom Filename​

$ scm backup security app-override-rule \
--folder Texas \
--file texas-app-overrides.yaml
---> 100%
Successfully backed up 8 app override rules to texas-app-overrides.yaml

Best Practices​

  1. Use Sparingly: Only create app override rules when App-ID cannot correctly identify an application; prefer proper App-ID identification when possible.
  2. Be Specific with Ports: Define exact ports rather than broad ranges to minimize the scope of the override.
  3. Specify Zones: Include source and destination zones to limit the override to specific traffic paths.
  4. Order Rules Carefully: Place more specific override rules above general ones since rules are processed top to bottom.
  5. Backup Before Changes: Always backup existing rules before making bulk modifications via load commands.