fortios_firewall_proxy_policy – Configure proxy policies in Fortinet’s FortiOS and FortiGate.¶
New in version 2.0.0.
Synopsis¶
- This module is able to configure a FortiGate or FortiOS (FOS) device by allowing the user to set and modify firewall feature and proxy_policy category. Examples include all parameters and values need to be adjusted to datasources before usage. Tested with FOS v6.0.0
FortiOS Version Compatibility¶
v6.0.0 |
v6.0.5 |
v6.0.11 |
v6.2.0 |
v6.2.3 |
v6.2.5 |
v6.2.7 |
v6.4.0 |
v6.4.1 |
v6.4.4 |
v7.0.0 |
v7.0.1 |
v7.0.2 |
v7.0.3 |
v7.0.4 |
v7.0.5 |
v7.0.6 |
v7.0.7 |
v7.0.8 |
v7.2.0 |
v7.2.1 |
v7.2.2 |
v7.2.4 |
v7.4.0 |
|
fortios_firewall_proxy_policy | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
Parameters¶
- access_token - Token-based authentication. Generated from GUI of Fortigate. type: str required: false
- enable_log - Enable/Disable logging for task. type: bool required: false default: False
- vdom - Virtual domain, among those defined previously. A vdom is a virtual instance of the FortiGate that can be configured and used as a different unit. type: str default: root
- member_path - Member attribute path to operate on. type: str
- member_state - Add or delete a member under specified attribute path. type: str choices: present, absent
- state - Indicates whether to create or remove the object. type: str required: true choices: present, absent
- firewall_proxy_policy - Configure proxy policies. type: dict more...
- access_proxy - IPv4 access proxy. type: list member_path: access_proxy:name more...
- name - Access Proxy name. Source firewall.access-proxy.name. type: str required: true more...
- access_proxy6 - IPv6 access proxy. type: list member_path: access_proxy6:name more...
- name - Access proxy name. Source firewall.access-proxy6.name. type: str required: true more...
- action - Accept or deny traffic matching the policy parameters. type: str choices: accept, deny, redirect more...
- application_list - Name of an existing Application list. Source application.list.name. type: str more...
- av_profile - Name of an existing Antivirus profile. Source antivirus.profile.name. type: str more...
- block_notification - Enable/disable block notification. type: str choices: enable, disable more...
- cifs_profile - Name of an existing CIFS profile. Source cifs.profile.name. type: str more...
- comments - Optional comments. type: str more...
- decrypted_traffic_mirror - Decrypted traffic mirror. Source firewall.decrypted-traffic-mirror.name. type: str more...
- device_ownership - When enabled, the ownership enforcement will be done at policy level. type: str choices: enable, disable more...
- disclaimer - Web proxy disclaimer setting: by domain, policy, or user. type: str choices: disable, domain, policy, user more...
- dlp_profile - Name of an existing DLP profile. Source dlp.profile.name. type: str more...
- dlp_sensor - Name of an existing DLP sensor. Source dlp.sensor.name. type: str more...
- dstaddr - Destination address objects. type: list member_path: dstaddr:name more...
- name - Address name. Source firewall.address.name firewall.addrgrp.name firewall.proxy-address.name firewall.proxy-addrgrp.name firewall.vip.name firewall.vipgrp.name system.external-resource.name. type: str required: true more...
- dstaddr_negate - When enabled, destination addresses match against any address EXCEPT the specified destination addresses. type: str choices: enable, disable more...
- dstaddr6 - IPv6 destination address objects. type: list member_path: dstaddr6:name more...
- name - Address name. Source firewall.address6.name firewall.addrgrp6.name firewall.vip6.name firewall.vipgrp6.name system .external-resource.name. type: str required: true more...
- dstintf - Destination interface names. type: list member_path: dstintf:name more...
- name - Interface name. Source system.interface.name system.zone.name system.sdwan.zone.name. type: str required: true more...
- emailfilter_profile - Name of an existing email filter profile. Source emailfilter.profile.name. type: str more...
- file_filter_profile - Name of an existing file-filter profile. Source file-filter.profile.name. type: str more...
- global_label - Global web-based manager visible label. type: str more...
- groups - Names of group objects. type: list member_path: groups:name more...
- name - Group name. Source user.group.name. type: str required: true more...
- http_tunnel_auth - Enable/disable HTTP tunnel authentication. type: str choices: enable, disable more...
- icap_profile - Name of an existing ICAP profile. Source icap.profile.name. type: str more...
- internet_service - Enable/disable use of Internet Services for this policy. If enabled, destination address and service are not used. type: str choices: enable, disable more...
- internet_service_custom - Custom Internet Service name. type: list member_path: internet_service_custom:name more...
- name - Custom Internet Service name. Source firewall.internet-service-custom.name. type: str required: true more...
- internet_service_custom_group - Custom Internet Service group name. type: list member_path: internet_service_custom_group:name more...
- name - Custom Internet Service group name. Source firewall.internet-service-custom-group.name. type: str required: true more...
- internet_service_group - Internet Service group name. type: list member_path: internet_service_group:name more...
- name - Internet Service group name. Source firewall.internet-service-group.name. type: str required: true more...
- internet_service_id - Internet Service ID. type: list member_path: internet_service_id:id more...
- id - Internet Service ID. Source firewall.internet-service.id. type: int required: true more...
- internet_service_name - Internet Service name. type: list member_path: internet_service_name:name more...
- name - Internet Service name. Source firewall.internet-service-name.name. type: str required: true more...
- internet_service_negate - When enabled, Internet Services match against any internet service EXCEPT the selected Internet Service. type: str choices: enable, disable more...
- internet_service6 - Enable/disable use of Internet Services IPv6 for this policy. If enabled, destination IPv6 address and service are not used. type: str choices: enable, disable more...
- internet_service6_custom - Custom Internet Service IPv6 name. type: list member_path: internet_service6_custom:name more...
- name - Custom Internet Service IPv6 name. Source firewall.internet-service-custom.name. type: str required: true more...
- internet_service6_custom_group - Custom Internet Service IPv6 group name. type: list member_path: internet_service6_custom_group:name more...
- name - Custom Internet Service IPv6 group name. Source firewall.internet-service-custom-group.name. type: str required: true more...
- internet_service6_group - Internet Service IPv6 group name. type: list member_path: internet_service6_group:name more...
- name - Internet Service IPv6 group name. Source firewall.internet-service-group.name. type: str required: true more...
- internet_service6_name - Internet Service IPv6 name. type: list member_path: internet_service6_name:name more...
- name - Internet Service IPv6 name. Source firewall.internet-service-name.name. type: str required: true more...
- internet_service6_negate - When enabled, Internet Services match against any internet service IPv6 EXCEPT the selected Internet Service IPv6. type: str choices: enable, disable more...
- ips_sensor - Name of an existing IPS sensor. Source ips.sensor.name. type: str more...
- ips_voip_filter - Name of an existing VoIP (ips) profile. Source voip.profile.name. type: str more...
- label - VDOM-specific GUI visible label. type: str more...
- logtraffic - Enable/disable logging traffic through the policy. type: str choices: all, utm, disable more...
- logtraffic_start - Enable/disable policy log traffic start. type: str choices: enable, disable more...
- mms_profile - Name of an existing MMS profile. Source firewall.mms-profile.name. type: str more...
- name - Policy name. type: str more...
- policyid - Policy ID. type: int required: true more...
- poolname - Name of IP pool object. type: list member_path: poolname:name more...
- name - IP pool name. Source firewall.ippool.name. type: str required: true more...
- profile_group - Name of profile group. Source firewall.profile-group.name. type: str more...
- profile_protocol_options - Name of an existing Protocol options profile. Source firewall.profile-protocol-options.name. type: str more...
- profile_type - Determine whether the firewall policy allows security profile groups or single profiles only. type: str choices: single, group more...
- proxy - Type of explicit proxy. type: str choices: explicit-web, transparent-web, ftp, ssh, ssh-tunnel, access-proxy, wanopt more...
- redirect_url - Redirect URL for further explicit web proxy processing. type: str more...
- replacemsg_override_group - Authentication replacement message override group. Source system.replacemsg-group.name. type: str more...
- scan_botnet_connections - Enable/disable scanning of connections to Botnet servers. type: str choices: disable, block, monitor more...
- schedule - Name of schedule object. Source firewall.schedule.onetime.name firewall.schedule.recurring.name firewall.schedule.group.name. type: str more...
- sctp_filter_profile - Name of an existing SCTP filter profile. Source sctp-filter.profile.name. type: str more...
- service - Name of service objects. type: list member_path: service:name more...
- name - Service name. Source firewall.service.custom.name firewall.service.group.name. type: str required: true more...
- service_negate - When enabled, services match against any service EXCEPT the specified destination services. type: str choices: enable, disable more...
- session_ttl - TTL in seconds for sessions accepted by this policy (0 means use the system ). type: int more...
- spamfilter_profile - Name of an existing Spam filter profile. Source spamfilter.profile.name. type: str more...
- srcaddr - Source address objects. type: list member_path: srcaddr:name more...
- name - Address name. Source firewall.address.name firewall.addrgrp.name firewall.proxy-address.name firewall.proxy-addrgrp.name system .external-resource.name. type: str required: true more...
- srcaddr_negate - When enabled, source addresses match against any address EXCEPT the specified source addresses. type: str choices: enable, disable more...
- srcaddr6 - IPv6 source address objects. type: list member_path: srcaddr6:name more...
- name - Address name. Source firewall.address6.name firewall.addrgrp6.name system.external-resource.name. type: str required: true more...
- srcintf - Source interface names. type: list member_path: srcintf:name more...
- name - Interface name. Source system.interface.name system.zone.name system.sdwan.zone.name. type: str required: true more...
- ssh_filter_profile - Name of an existing SSH filter profile. Source ssh-filter.profile.name. type: str more...
- ssh_policy_redirect - Redirect SSH traffic to matching transparent proxy policy. type: str choices: enable, disable more...
- ssl_ssh_profile - Name of an existing SSL SSH profile. Source firewall.ssl-ssh-profile.name. type: str more...
- status - Enable/disable the active status of the policy. type: str choices: enable, disable more...
- transparent - Enable to use the IP address of the client to connect to the server. type: str choices: enable, disable more...
- users - Names of user objects. type: list member_path: users:name more...
- name - Group name. Source user.local.name user.certificate.name. type: str required: true more...
- utm_status - Enable the use of UTM profiles/sensors/lists. type: str choices: enable, disable more...
- uuid - Universally Unique Identifier (UUID; automatically assigned but can be manually reset). type: str more...
- videofilter_profile - Name of an existing VideoFilter profile. Source videofilter.profile.name. type: str more...
- voip_profile - Name of an existing VoIP profile. Source voip.profile.name. type: str more...
- waf_profile - Name of an existing Web application firewall profile. Source waf.profile.name. type: str more...
- webcache - Enable/disable web caching. type: str choices: enable, disable more...
- webcache_https - Enable/disable web caching for HTTPS (Requires deep-inspection enabled in ssl-ssh-profile). type: str choices: disable, enable more...
- webfilter_profile - Name of an existing Web filter profile. Source webfilter.profile.name. type: str more...
- webproxy_forward_server - Web proxy forward server name. Source web-proxy.forward-server.name web-proxy.forward-server-group.name. type: str more...
- webproxy_profile - Name of web proxy profile. Source web-proxy.profile.name. type: str more...
- ztna_ems_tag - ZTNA EMS Tag names. type: list member_path: ztna_ems_tag:name more...
- name - EMS Tag name. Source firewall.address.name firewall.addrgrp.name. type: str required: true more...
- ztna_tags_match_logic - ZTNA tag matching logic. type: str choices: or, and more...
Examples¶
- hosts: fortigates
collections:
- fortinet.fortios
connection: httpapi
vars:
vdom: "root"
ansible_httpapi_use_ssl: yes
ansible_httpapi_validate_certs: no
ansible_httpapi_port: 443
tasks:
- name: Configure proxy policies.
fortios_firewall_proxy_policy:
vdom: "{{ vdom }}"
state: "present"
access_token: "<your_own_value>"
firewall_proxy_policy:
access_proxy:
-
name: "default_name_4 (source firewall.access-proxy.name)"
access_proxy6:
-
name: "default_name_6 (source firewall.access-proxy6.name)"
action: "accept"
application_list: "<your_own_value> (source application.list.name)"
av_profile: "<your_own_value> (source antivirus.profile.name)"
block_notification: "enable"
cifs_profile: "<your_own_value> (source cifs.profile.name)"
comments: "<your_own_value>"
decrypted_traffic_mirror: "<your_own_value> (source firewall.decrypted-traffic-mirror.name)"
device_ownership: "enable"
disclaimer: "disable"
dlp_profile: "<your_own_value> (source dlp.profile.name)"
dlp_sensor: "<your_own_value> (source dlp.sensor.name)"
dstaddr:
-
name: "default_name_19 (source firewall.address.name firewall.addrgrp.name firewall.proxy-address.name firewall.proxy-addrgrp.name firewall.vip
.name firewall.vipgrp.name system.external-resource.name)"
dstaddr_negate: "enable"
dstaddr6:
-
name: "default_name_22 (source firewall.address6.name firewall.addrgrp6.name firewall.vip6.name firewall.vipgrp6.name system.external-resource
.name)"
dstintf:
-
name: "default_name_24 (source system.interface.name system.zone.name system.sdwan.zone.name)"
emailfilter_profile: "<your_own_value> (source emailfilter.profile.name)"
file_filter_profile: "<your_own_value> (source file-filter.profile.name)"
global_label: "<your_own_value>"
groups:
-
name: "default_name_29 (source user.group.name)"
http_tunnel_auth: "enable"
icap_profile: "<your_own_value> (source icap.profile.name)"
internet_service: "enable"
internet_service_custom:
-
name: "default_name_34 (source firewall.internet-service-custom.name)"
internet_service_custom_group:
-
name: "default_name_36 (source firewall.internet-service-custom-group.name)"
internet_service_group:
-
name: "default_name_38 (source firewall.internet-service-group.name)"
internet_service_id:
-
id: "40 (source firewall.internet-service.id)"
internet_service_name:
-
name: "default_name_42 (source firewall.internet-service-name.name)"
internet_service_negate: "enable"
internet_service6: "enable"
internet_service6_custom:
-
name: "default_name_46 (source firewall.internet-service-custom.name)"
internet_service6_custom_group:
-
name: "default_name_48 (source firewall.internet-service-custom-group.name)"
internet_service6_group:
-
name: "default_name_50 (source firewall.internet-service-group.name)"
internet_service6_name:
-
name: "default_name_52 (source firewall.internet-service-name.name)"
internet_service6_negate: "enable"
ips_sensor: "<your_own_value> (source ips.sensor.name)"
ips_voip_filter: "<your_own_value> (source voip.profile.name)"
label: "<your_own_value>"
logtraffic: "all"
logtraffic_start: "enable"
mms_profile: "<your_own_value> (source firewall.mms-profile.name)"
name: "default_name_60"
policyid: "0"
poolname:
-
name: "default_name_63 (source firewall.ippool.name)"
profile_group: "<your_own_value> (source firewall.profile-group.name)"
profile_protocol_options: "<your_own_value> (source firewall.profile-protocol-options.name)"
profile_type: "single"
proxy: "explicit-web"
redirect_url: "<your_own_value>"
replacemsg_override_group: "<your_own_value> (source system.replacemsg-group.name)"
scan_botnet_connections: "disable"
schedule: "<your_own_value> (source firewall.schedule.onetime.name firewall.schedule.recurring.name firewall.schedule.group.name)"
sctp_filter_profile: "<your_own_value> (source sctp-filter.profile.name)"
service:
-
name: "default_name_74 (source firewall.service.custom.name firewall.service.group.name)"
service_negate: "enable"
session_ttl: "0"
spamfilter_profile: "<your_own_value> (source spamfilter.profile.name)"
srcaddr:
-
name: "default_name_79 (source firewall.address.name firewall.addrgrp.name firewall.proxy-address.name firewall.proxy-addrgrp.name system
.external-resource.name)"
srcaddr_negate: "enable"
srcaddr6:
-
name: "default_name_82 (source firewall.address6.name firewall.addrgrp6.name system.external-resource.name)"
srcintf:
-
name: "default_name_84 (source system.interface.name system.zone.name system.sdwan.zone.name)"
ssh_filter_profile: "<your_own_value> (source ssh-filter.profile.name)"
ssh_policy_redirect: "enable"
ssl_ssh_profile: "<your_own_value> (source firewall.ssl-ssh-profile.name)"
status: "enable"
transparent: "enable"
users:
-
name: "default_name_91 (source user.local.name user.certificate.name)"
utm_status: "enable"
uuid: "<your_own_value>"
videofilter_profile: "<your_own_value> (source videofilter.profile.name)"
voip_profile: "<your_own_value> (source voip.profile.name)"
waf_profile: "<your_own_value> (source waf.profile.name)"
webcache: "enable"
webcache_https: "disable"
webfilter_profile: "<your_own_value> (source webfilter.profile.name)"
webproxy_forward_server: "<your_own_value> (source web-proxy.forward-server.name web-proxy.forward-server-group.name)"
webproxy_profile: "<your_own_value> (source web-proxy.profile.name)"
ztna_ems_tag:
-
name: "default_name_103 (source firewall.address.name firewall.addrgrp.name)"
ztna_tags_match_logic: "or"
Return Values¶
Common return values are documented: https://docs.ansible.com/ansible/latest/reference_appendices/common_return_values.html#common-return-values, the following are the fields unique to this module:
- build - Build number of the fortigate image returned: always type: str sample: 1547
- http_method - Last method used to provision the content into FortiGate returned: always type: str sample: PUT
- http_status - Last result given by FortiGate on last operation applied returned: always type: str sample: 200
- mkey - Master key (id) used in the last call to FortiGate returned: success type: str sample: id
- name - Name of the table used to fulfill the request returned: always type: str sample: urlfilter
- path - Path of the table used to fulfill the request returned: always type: str sample: webfilter
- revision - Internal revision number returned: always type: str sample: 17.0.2.10658
- serial - Serial number of the unit returned: always type: str sample: FGVMEVYYQT3AB5352
- status - Indication of the operation's result returned: always type: str sample: success
- vdom - Virtual domain used returned: always type: str sample: root
- version - Version of the FortiGate returned: always type: str sample: v5.6.3