NSX-T Data Center Global Manager REST API

SecurityPolicy (schema)

Distributed Firewall Security Policy

Distributed Firewall (DFW) Security Policy containing an ordered list of Rules for east-west traffic control between workloads.

Name Description Type Notes
_create_time Timestamp of resource creation EpochMsTimestamp Readonly
Sortable
_create_user ID of the user who created this resource string Readonly
_last_modified_time Timestamp of last modification EpochMsTimestamp Readonly
Sortable
_last_modified_user ID of the user who last modified this resource string Readonly
_links References related to this resource

The server will populate this field when returing the resource. Ignored on PUT and POST.
array of ResourceLink Readonly
_protection Indicates protection status of this resource

Protection status is one of the following:
PROTECTED - the client who retrieved the entity is not allowed
to modify it.
NOT_PROTECTED - the client who retrieved the entity is allowed
to modify it
REQUIRE_OVERRIDE - the client who retrieved the entity is a super
user and can modify it, but only when providing
the request header X-Allow-Overwrite=true.
UNKNOWN - the _protection field could not be determined for this
entity.
string Readonly
_revision Generation of this resource config

The _revision property describes the current revision of the resource. To prevent clients from overwriting each other's changes, PUT operations must include the current _revision of the resource, which clients should obtain by issuing a GET operation. If the _revision provided in a PUT request is missing or stale, the operation will be rejected.
int
_schema Schema for this resource string Readonly
_self Link to this resource SelfResourceLink Readonly
_system_owned Indicates system owned resource boolean Readonly
application_connectivity_strategy List of Application Connectivity strategy for this SecurityPolicy

This field indicates the application connectivity policy for the security
policy.
array of ApplicationConnectivityStrategy Maximum items: 3
category Security policy category

Classifies this security policy into an evaluation-priority category. Categories are
evaluated in a fixed priority order.

Distributed Firewall (DFW) categories, in priority order (highest first):
Ethernet - Layer 2 firewall rules only.
Emergency - Highest priority L3 rules (common to both DFW and Edge FW).
Infrastructure - Second priority L3 rules.
Environment - Third priority L3 rules.
Application - Lowest explicit L3 rules.
ThreatRules - IDPS-only. Threat-based rules applied after Application.
EmergencyThreatRules - IDPS-only. Highest priority threat-based rules.

Edge (Gateway) Firewall categories, in priority order (highest first):
Emergency, SystemRules, SharedPreRules, SharedExternalRules,
LocalGatewayRules, AutoServiceRules, Default.
For user-created domains, only SharedPreRules and LocalGatewayRules are allowed.
If not specified, defaults to LocalGatewayRules.

Bridge Firewall category:
LocalBridgeRules - Rules for bridge firewall policies.

Distributed IDS/IPS (E-W IDPS) categories:
ThreatRules - Threat-based IDS/IPS rules applied after Application.
EmergencyThreatRules - Highest priority threat-based IDS/IPS rules.

Gateway IDS/IPS (N-S IDPS) category:
LocalGatewayRules - IDS/IPS rules applied on the gateway.
string
children Subtree for this type within policy tree

Subtree for this type within policy tree containing nested elements. Note that
this type is applicable to be used in Hierarchical API only.
array of ChildPolicyConfigResource
(Abstract type: pass one of the following concrete types)
ChildRule
comments SecurityPolicy lock/unlock comments

Comments for security policy lock/unlock.
string
connectivity_preference Connectivity preference applicable for this SecurityPolicy

This field indicates the default connectivity policy for the security
policy. Based on the connectivity preference, a default rule for this
security policy will be created. An appropriate action will be set on
the rule based on the value of the connectivity preference. If NONE is
selected or no connectivity preference is specified, then no default
rule for the security policy gets created. The default rule that gets
created will be a any-any rule and applied to entities specified in the
scope of the security policy. Specifying the connectivity_preference
without specifying the scope is not allowed. The scope has to be a
Group and one cannot specify IPAddress directly in the group that is
used as scope. This default rule is only applicable for the Layer3
security policies.
ALLOWLIST - Adds a default drop rule. Administrator can then use "allow"
rules to allow traffic between groups
DENYLIST - Adds a default allow rule. Admin can then use "drop" rules
to block traffic between groups
ALLOWLIST_ENABLE_LOGGING - Allowlisting with logging enabled
DENYLIST_ENABLE_LOGGING - Denylisting with logging enabled
NONE - No default rule is created.
string Enum: ALLOWLIST, DENYLIST, ALLOWLIST_ENABLE_LOGGING, DENYLIST_ENABLE_LOGGING, NONE
connectivity_strategy Connectivity strategy applicable for this SecurityPolicy

This field indicates the default connectivity policy for the security
policy. Based on the connectivity strategy, a default rule for this
security policy will be created. An appropriate action will be set on
the rule based on the value of the connectivity strategy. If NONE is
selected or no connectivity strategy is specified, then no default
rule for the security policy gets created. The default rule that gets
created will be a any-any rule and applied to entities specified in the
scope of the security policy. Specifying the connectivity_strategy
without specifying the scope is not allowed. The scope has to be a
Group and one cannot specify IPAddress directly in the group that is
used as scope. This default rule is only applicable for the Layer3
security policies.
This property is deprecated. Use the type connectivity_preference instead.
WHITELIST - Adds a default drop rule. Administrator can then use "allow"
rules (aka whitelist) to allow traffic between groups
BLACKLIST - Adds a default allow rule. Admin can then use "drop" rules
(aka blacklist) to block traffic between groups
WHITELIST_ENABLE_LOGGING - Whitelising with logging enabled
BLACKLIST_ENABLE_LOGGING - Blacklisting with logging enabled
NONE - No default rule is created.
string Deprecated
Enum: WHITELIST, BLACKLIST, WHITELIST_ENABLE_LOGGING, BLACKLIST_ENABLE_LOGGING, NONE
default_rule_id Default rule ID associated with the connectivity_preference

Based on the value of the connectivity_preference, a default rule is
created for the security policy. The rule id is internally assigned
by the system for this default rule.
integer Readonly
description Description of this resource string Maximum length: 1024
Sortable
display_name Identifier to use when displaying entity in logs or GUI

Defaults to ID if not set
string Maximum length: 255
Sortable
id Unique identifier of this resource string Sortable
internal_sequence_number Internal sequence number

This field is to indicate the internal sequence number of a policy
with respect to the policies across categories.
int Readonly
is_default Default policy flag

A flag to indicate whether policy is a default policy.
boolean Readonly
lock_modified_by User who locked the security policy

ID of the user who last modified the lock for the security policy.
string Readonly
lock_modified_time SecurityPolicy locked/unlocked time

SecurityPolicy locked/unlocked time in epoch milliseconds.
EpochMsTimestamp Readonly
locked Lock a security policy

Indicates whether a security policy should be locked. If the
security policy is locked by a user, then no other user would
be able to modify this security policy. Once the user releases
the lock, other users can update this security policy.
boolean Default: "False"
logging_enabled Enable logging flag (deprecated)

Deprecated. Flag to enable logging for all rules in this security policy.
If true, logging is enabled for all rules in the policy. If false, the individual
rule-level logging flag is honored. Use per-rule logging instead.
boolean Deprecated
Default: "False"
marked_for_delete Indicates whether the intent object is marked for deletion

Intent objects are not directly deleted from the system when a delete
is invoked on them. They are marked for deletion and only when all the
realized entities for that intent object gets deleted, the intent object
is deleted. Objects that are marked for deletion are not returned in
GET call. One can use the search API to get these objects.
boolean Readonly
Default: "False"
origin_site_id A unique identifier assigned by the system for knowing which site owns an object

This is a UUID generated by the system for knowing which site owns an object.
This is used in NSX+.
string Readonly
overridden Indicates whether this object is the overridden intent object

Global intent objects cannot be modified by the user.
However, certain global intent objects can be overridden locally by use
of this property. In such cases, the overridden local values take
precedence over the globally defined values for the properties.
boolean Readonly
Default: "False"
owner_id A unique identifier assigned by the system for the ownership of an object

This is a UUID generated by the system for knowing who owns this object.
This is used in NSX+.
string Readonly
parent_path Path of its parent

Path of its parent
string Readonly
path Absolute path of this object

Absolute path of this object
string Readonly
realization_id A unique identifier assigned by the system for realizing intent

This is a UUID generated by the system for realizing the entity object.
In most cases this should be same as 'unique_id' of the entity. However,
in some cases this can be different because of entities have migrated their
unique identifier to NSX Policy intent objects later in the timeline and did
not use unique_id for realization. Realization id is helpful for users to
debug data path to correlate the configuration with corresponding intent.
string Readonly
relative_path Relative path of this object

Path relative from its parent
string Readonly
remote_path Path of the object on the remote end.

This path is populated only in case of multi-site scenario. Currently it is supported only for LM objects.
When LM is onboarded to multi-site platform like NAPP or GM, remote_path will be set to
the globally unique path across multi-site topology . It is generated based on local site-name and uses /org tree namespace.
Note: It is populated only for LM objects. Not supported on the GM.
string Readonly
resource_type Must be set to the value SecurityPolicy string
rule_count Rule count

The count of rules in the policy.
int Readonly
rules Rules that are a part of this SecurityPolicy array of Rule
scheduler_path Path to the scheduler for time based scheduling

Provides a mechanism to apply the rules in this policy for a specified
time duration.
string
scope The list of group paths where the rules in this policy will get
applied. Each path references a Group object that defines a collection
of workloads (VMs, containers, etc.). This scope determines which
workloads the security policy's rules are enforced on.
This scope will take precedence over rule level scope.
Supported only for security and redirection policies. In case of
RedirectionPolicy, it is expected only when the policy is NS and
redirecting to service chain.
array of string Maximum items: 128
sequence_number Sequence number to resolve conflicts across Domains

This field is used to resolve conflicts between security policies
across domains. In order to change the sequence number of a policy
one can fire a POST request on the policy entity with
a query parameter action=revise
The sequence number field will reflect the value of the computed
sequence number upon execution of the above mentioned POST request.
For scenarios where the administrator is using a template to update
several security policies, the only way to set the sequence number is
to explicitly specify the sequence number for each security policy.
If no sequence number is specified in the payload, a value of 0 is
assigned by default. If there are multiple policies with the same
sequence number then their order is not deterministic. If a specific
order of policies is desired, then one has to specify unique sequence
numbers or use the POST request on the policy entity with
a query parameter action=revise to let the framework assign a
sequence number.
The value of sequence number must be between 0 and 999,999.
int Minimum: 0
stateful Stateful nature of this security policy

Whether this security policy enforces stateful or stateless packet inspection.
When stateful (true), network connection state is tracked and stateful packet
inspection is performed. Layer-3 security policies default to stateful.
Layer-2 (Ethernet category) security policies must be stateless.
Note: when stateful is true, the tcp_strict field also defaults to true unless
explicitly set to false. See the tcp_strict field for details.
boolean
tags Opaque identifiers meaningful to the API user array of Tag Maximum items: 30
tcp_strict Enforce strict TCP handshake before allowing data

Enforces a 3-way TCP handshake before allowing data packets. Only applicable when
the security policy is stateful. If not specified, the server automatically sets
tcp_strict to true for stateful policies and false for stateless policies.
See also: stateful field.
boolean
unique_id A unique identifier assigned by the system

This is a UUID generated by the GM/LM to uniquely identify
entities in a federated environment. For entities that are
stretched across multiple sites, the same ID will be used
on all the stretched sites.
string Readonly