fortinet.fortimanager.fmgr_pkg_firewall_policy module – Configure IPv4 policies.

Note

This module is part of the fortinet.fortimanager collection (version 2.1.5).

You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.

To install it, use: ansible-galaxy collection install fortinet.fortimanager.

To use it in a playbook, specify: fortinet.fortimanager.fmgr_pkg_firewall_policy.

New in version 2.10: of fortinet.fortimanager

Synopsis

  • This module is able to configure a FortiManager device.

  • Examples include all parameters and values which need to be adjusted to data sources before usage.

Parameters

Parameter

Comments

adom

string / required

the parameter (adom) in requested url

bypass_validation

boolean

only set to True when module schema diffs with FortiManager API structure, module continues to execute without validating parameters

Choices:

  • no ← (default)

  • yes

enable_log

boolean

Enable/Disable logging for task

Choices:

  • no ← (default)

  • yes

pkg

string / required

the parameter (pkg) in requested url

pkg_firewall_policy

dictionary

the top level parameters set

action

string

Policy action (allow/deny/ipsec).

Choices:

  • deny

  • accept

  • ipsec

  • ssl-vpn

anti-replay

string

Enable/disable anti-replay check.

Choices:

  • disable

  • enable

app-category

string

Application category ID list.

app-group

string

Application group names.

application

integer

Application ID list.

application-list

string

Name of an existing Application list.

auth-cert

string

HTTPS server certificate for policy authentication.

auth-path

string

Enable/disable authentication-based routing.

Choices:

  • disable

  • enable

auth-redirect-addr

string

HTTP-to-HTTPS redirect address for firewall authentication.

auto-asic-offload

string

Enable/disable offloading security profile processing to CP processors.

Choices:

  • disable

  • enable

av-profile

string

Name of an existing Antivirus profile.

best-route

string

Enable/disable the use of best route.

Choices:

  • disable

  • enable

block-notification

string

Enable/disable block notification.

Choices:

  • disable

  • enable

captive-portal-exempt

string

Enable to exempt some users from the captive portal.

Choices:

  • disable

  • enable

capture-packet

string

Enable/disable capture packets.

Choices:

  • disable

  • enable

cifs-profile

string

Name of an existing CIFS profile.

comments

string

no description

custom-log-fields

string

Custom fields to append to log messages for this policy.

decrypted-traffic-mirror

string

Decrypted traffic mirror.

delay-tcp-npu-session

string

Enable TCP NPU session delay to guarantee packet order of 3-way handshake.

Choices:

  • disable

  • enable

devices

string

Names of devices or device groups that can be matched by the policy.

diffserv-forward

string

Enable to change packets DiffServ values to the specified diffservcode-forward value.

Choices:

  • disable

  • enable

diffserv-reverse

string

Enable to change packets reverse (reply) DiffServ values to the specified diffservcode-rev value.

Choices:

  • disable

  • enable

diffservcode-forward

string

Change packets DiffServ to this value.

diffservcode-rev

string

Change packets reverse (reply) DiffServ to this value.

disclaimer

string

Enable/disable user authentication disclaimer.

Choices:

  • disable

  • enable

dlp-sensor

string

Name of an existing DLP sensor.

dnsfilter-profile

string

Name of an existing DNS filter profile.

dscp-match

string

Enable DSCP check.

Choices:

  • disable

  • enable

dscp-negate

string

Enable negated DSCP match.

Choices:

  • disable

  • enable

dscp-value

string

DSCP value.

dsri

string

Enable DSRI to ignore HTTP server responses.

Choices:

  • disable

  • enable

dstaddr

string

Destination address and address group names.

dstaddr-negate

string

When enabled dstaddr specifies what the destination address must NOT be.

Choices:

  • disable

  • enable

dstaddr6

string

Destination IPv6 address name and address group names.

dstintf

string

Outgoing (egress) interface.

dynamic-shaping

string

Enable/disable dynamic RADIUS defined traffic shaping.

Choices:

  • disable

  • enable

email-collect

string

Enable/disable email collection.

Choices:

  • disable

  • enable

emailfilter-profile

string

Name of an existing email filter profile.

file-filter-profile

string

Name of an existing file-filter profile.

firewall-session-dirty

string

How to handle sessions if the configuration of this firewall policy changes.

Choices:

  • check-all

  • check-new

fixedport

string

Enable to prevent source NAT from changing a sessions source port.

Choices:

  • disable

  • enable

fsso

string

Enable/disable Fortinet Single Sign-On.

Choices:

  • disable

  • enable

fsso-agent-for-ntlm

string

FSSO agent to use for NTLM authentication.

fsso-groups

string

Names of FSSO groups.

geoip-anycast

string

Enable/disable recognition of anycast IP addresses using the geography IP database.

Choices:

  • disable

  • enable

geoip-match

string

Match geography address based either on its physical location or registered location.

Choices:

  • physical-location

  • registered-location

global-label

string

Label for the policy that appears when the GUI is in Global View mode.

groups

string

Names of user groups that can authenticate with this policy.

gtp-profile

string

GTP profile.

http-policy-redirect

string

Redirect HTTP(S) traffic to matching transparent web proxy policy.

Choices:

  • disable

  • enable

icap-profile

string

Name of an existing ICAP profile.

identity-based-route

string

Name of identity-based routing rule.

inbound

string

Policy-based IPsec VPN: only traffic from the remote network can initiate a VPN.

Choices:

  • disable

  • enable

inspection-mode

string

Policy inspection mode (Flow/proxy). Default is Flow mode.

Choices:

  • proxy

  • flow

internet-service

string

Enable/disable use of Internet Services for this policy. If enabled, destination address and service are not used.

Choices:

  • disable

  • enable

internet-service-custom

string

Custom Internet Service Name.

internet-service-custom-group

string

Custom Internet Service group name.

internet-service-group

string

Internet Service group name.

internet-service-id

string

Internet Service ID.

internet-service-name

string

Internet Service name.

internet-service-negate

string

When enabled internet-service specifies what the service must NOT be.

Choices:

  • disable

  • enable

internet-service-src

string

Enable/disable use of Internet Services in source for this policy. If enabled, source address is not used.

Choices:

  • disable

  • enable

internet-service-src-custom

string

Custom Internet Service source name.

internet-service-src-custom-group

string

Custom Internet Service source group name.

internet-service-src-group

string

Internet Service source group name.

internet-service-src-id

string

Internet Service source ID.

internet-service-src-name

string

Internet Service source name.

internet-service-src-negate

string

When enabled internet-service-src specifies what the service must NOT be.

Choices:

  • disable

  • enable

ippool

string

Enable to use IP Pools for source NAT.

Choices:

  • disable

  • enable

ips-sensor

string

Name of an existing IPS sensor.

label

string

Label for the policy that appears when the GUI is in Section View mode.

learning-mode

string

Enable to allow everything, but log all of the meaningful data for security information gathering. A learning report will be g…

Choices:

  • disable

  • enable

logtraffic

string

Enable or disable logging. Log all sessions or security profile sessions.

Choices:

  • disable

  • enable

  • all

  • utm

logtraffic-start

string

Record logs when a session starts and ends.

Choices:

  • disable

  • enable

match-vip

string

Enable to match packets that have had their destination addresses changed by a VIP.

Choices:

  • disable

  • enable

match-vip-only

string

Enable/disable matching of only those packets that have had their destination addresses changed by a VIP.

Choices:

  • disable

  • enable

mms-profile

string

Name of an existing MMS profile.

name

string

Policy name.

nat

string

Enable/disable source NAT.

Choices:

  • disable

  • enable

natinbound

string

Policy-based IPsec VPN: apply destination NAT to inbound traffic.

Choices:

  • disable

  • enable

natip

string

Policy-based IPsec VPN: source NAT IP address for outgoing traffic.

natoutbound

string

Policy-based IPsec VPN: apply source NAT to outbound traffic.

Choices:

  • disable

  • enable

np-acceleration

string

Enable/disable UTM Network Processor acceleration.

Choices:

  • disable

  • enable

ntlm

string

Enable/disable NTLM authentication.

Choices:

  • disable

  • enable

ntlm-enabled-browsers

string

HTTP-User-Agent value of supported browsers.

ntlm-guest

string

Enable/disable NTLM guest user access.

Choices:

  • disable

  • enable

object position

list / elements=string

no description

outbound

string

Policy-based IPsec VPN: only traffic from the internal network can initiate a VPN.

Choices:

  • disable

  • enable

passive-wan-health-measurement

string

Enable/disable passive WAN health measurement. When enabled, auto-asic-offload is disabled.

Choices:

  • disable

  • enable

per-ip-shaper

string

Per-IP traffic shaper.

permit-any-host

string

Accept UDP packets from any host.

Choices:

  • disable

  • enable

permit-stun-host

string

Accept UDP packets from any Session Traversal Utilities for NAT (STUN) host.

Choices:

  • disable

  • enable

policyid

integer

Policy ID.

poolname

string

IP Pool names.

poolname6

string

IPv6 pool names.

profile-group

string

Name of profile group.

profile-protocol-options

string

Name of an existing Protocol options profile.

profile-type

string

Determine whether the firewall policy allows security profile groups or single profiles only.

Choices:

  • single

  • group

radius-mac-auth-bypass

string

Enable MAC authentication bypass. The bypassed MAC address must be received from RADIUS server.

Choices:

  • disable

  • enable

redirect-url

string

URL users are directed to after seeing and accepting the disclaimer or authenticating.

replacemsg-override-group

string

Override the default replacement message group for this policy.

reputation-direction

string

Direction of the initial traffic for reputation to take effect.

Choices:

  • source

  • destination

reputation-minimum

integer

Minimum Reputation to take action.

rsso

string

Enable/disable RADIUS single sign-on (RSSO).

Choices:

  • disable

  • enable

rtp-addr

string

Address names if this is an RTP NAT policy.

rtp-nat

string

Enable Real Time Protocol (RTP) NAT.

Choices:

  • disable

  • enable

scan-botnet-connections

string

Block or monitor connections to Botnet servers or disable Botnet scanning.

Choices:

  • disable

  • block

  • monitor

schedule

string

Schedule name.

schedule-timeout

string

Enable to force current sessions to end when the schedule object times out. Disable allows them to end from inactivity.

Choices:

  • disable

  • enable

send-deny-packet

string

Enable to send a reply when a session is denied or blocked by a firewall policy.

Choices:

  • disable

  • enable

service

string

Service and service group names.

service-negate

string

When enabled service specifies what the service must NOT be.

Choices:

  • disable

  • enable

session-ttl

integer

Session TTL in seconds for sessions accepted by this policy. 0 means use the system default session TTL.

spamfilter-profile

string

Name of an existing Spam filter profile.

src-vendor-mac

string

Vendor MAC source ID.

srcaddr

string

Source address and address group names.

srcaddr-negate

string

When enabled srcaddr specifies what the source address must NOT be.

Choices:

  • disable

  • enable

srcaddr6

string

Source IPv6 address name and address group names.

srcintf

string

Incoming (ingress) interface.

ssh-filter-profile

string

Name of an existing SSH filter profile.

ssh-policy-redirect

string

Redirect SSH traffic to matching transparent proxy policy.

Choices:

  • disable

  • enable

ssl-mirror

string

Enable to copy decrypted SSL traffic to a FortiGate interface (called SSL mirroring).

Choices:

  • disable

  • enable

ssl-mirror-intf

string

SSL mirror interface name.

ssl-ssh-profile

string

Name of an existing SSL SSH profile.

status

string

Enable or disable this policy.

Choices:

  • disable

  • enable

tags

string

Names of object-tags applied to this policy.

tcp-mss-receiver

integer

Receiver TCP maximum segment size (MSS).

tcp-mss-sender

integer

Sender TCP maximum segment size (MSS).

tcp-session-without-syn

string

Enable/disable creation of TCP session without SYN flag.

Choices:

  • all

  • data-only

  • disable

timeout-send-rst

string

Enable/disable sending RST packets when TCP sessions expire.

Choices:

  • disable

  • enable

tos

string

ToS (Type of Service) value used for comparison.

tos-mask

string

Non-zero bit positions are used for comparison while zero bit positions are ignored.

tos-negate

string

Enable negated TOS match.

Choices:

  • disable

  • enable

traffic-shaper

string

Traffic shaper.

traffic-shaper-reverse

string

Reverse traffic shaper.

url-category

string

URL category ID list.

users

string

Names of individual users that can authenticate with this policy.

utm-status

string

Enable to add one or more security profiles (AV, IPS, etc.) to the firewall policy.

Choices:

  • disable

  • enable

uuid

string

Universally Unique Identifier (UUID; automatically assigned but can be manually reset).

videofilter-profile

string

Name of an existing VideoFilter profile.

vlan-cos-fwd

integer

VLAN forward direction user priority: 255 passthrough, 0 lowest, 7 highest.

vlan-cos-rev

integer

VLAN reverse direction user priority: 255 passthrough, 0 lowest, 7 highest..

vlan-filter

string

Set VLAN filters.

voip-profile

string

Name of an existing VoIP profile.

vpn_dst_node

list / elements=string

Vpn_Dst_Node.

host

string

Host.

seq

integer

Seq.

subnet

string

Subnet.

vpn_src_node

list / elements=string

Vpn_Src_Node.

host

string

Host.

seq

integer

Seq.

subnet

string

Subnet.

vpntunnel

string

Policy-based IPsec VPN: name of the IPsec VPN Phase 1.

waf-profile

string

Name of an existing Web application firewall profile.

wanopt

string

Enable/disable WAN optimization.

Choices:

  • disable

  • enable

wanopt-detection

string

WAN optimization auto-detection mode.

Choices:

  • active

  • passive

  • off

wanopt-passive-opt

string

WAN optimization passive mode options. This option decides what IP address will be used to connect server.

Choices:

  • default

  • transparent

  • non-transparent

wanopt-peer

string

WAN optimization peer.

wanopt-profile

string

WAN optimization profile.

wccp

string

Enable/disable forwarding traffic matching this policy to a configured WCCP server.

Choices:

  • disable

  • enable

webcache

string

Enable/disable web cache.

Choices:

  • disable

  • enable

webcache-https

string

Enable/disable web cache for HTTPS.

Choices:

  • disable

  • ssl-server

  • any

  • enable

webfilter-profile

string

Name of an existing Web filter profile.

webproxy-forward-server

string

Webproxy forward server name.

webproxy-profile

string

Webproxy profile name.

wsso

string

Enable/disable WiFi Single Sign On (WSSO).

Choices:

  • disable

  • enable

ztna-ems-tag

string

Source ztna-ems-tag names.

ztna-geo-tag

string

Source ztna-geo-tag names.

ztna-status

string

Enable/disable zero trust access.

Choices:

  • disable

  • enable

proposed_method

string

The overridden method for the underlying Json RPC request

Choices:

  • update

  • set

  • add

rc_failed

list / elements=string

the rc codes list with which the conditions to fail will be overriden

rc_succeeded

list / elements=string

the rc codes list with which the conditions to succeed will be overriden

state

string / required

the directive to create, update or delete an object

Choices:

  • present

  • absent

workspace_locking_adom

string

the adom to lock for FortiManager running in workspace mode, the value can be global and others including root

workspace_locking_timeout

integer

the maximum time in seconds to wait for other user to release the workspace lock

Default: 300

Notes

Note

  • Running in workspace locking mode is supported in this FortiManager module, the top level parameters workspace_locking_adom and workspace_locking_timeout help do the work.

  • To create or update an object, use state present directive.

  • To delete an object, use state absent directive.

  • Normally, running one module can fail when a non-zero rc is returned. you can also override the conditions to fail or succeed with parameters rc_failed and rc_succeeded

Examples

- hosts: fortimanager00
  collections:
    - fortinet.fortimanager
  connection: httpapi
  vars:
     ansible_httpapi_use_ssl: True
     ansible_httpapi_validate_certs: False
     ansible_httpapi_port: 443
  tasks:
   - name: Configure IPv4 policies.
     fmgr_pkg_firewall_policy:
        bypass_validation: False
        adom: ansible
        pkg: ansible # package name
        state: present
        pkg_firewall_policy:
           action: accept #<value in [deny, accept, ipsec, ...]>
           comments: ansible-comment
           dstaddr: all
           dstintf: any
           #name: ansible-test-policy
           nat: disable
           policyid: 1
           schedule: always
           service: ALL
           srcaddr: all
           srcintf: any
           status: disable

- name: gathering fortimanager facts
  hosts: fortimanager00
  gather_facts: no
  connection: httpapi
  collections:
    - fortinet.fortimanager
  vars:
    ansible_httpapi_use_ssl: True
    ansible_httpapi_validate_certs: False
    ansible_httpapi_port: 443
  tasks:
   - name: retrieve all the IPv4 policies
     fmgr_fact:
       facts:
           selector: 'pkg_firewall_policy'
           params:
               adom: 'ansible'
               pkg: 'ansible' # package name
               policy: ''

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key

Description

request_url

string

The full url requested

Returned: always

Sample: “/sys/login/user”

response_code

integer

The status of api request

Returned: always

Sample: 0

response_message

string

The descriptive message of the api response

Returned: always

Sample: “OK.”

Authors

  • Link Zheng (@chillancezen)

  • Jie Xue (@JieX19)

  • Frank Shen (@fshen01)

  • Hongbin Lu (@fgtdev-hblu)