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.