lix_fortinet / lix_fortinet.fortios / 102.2.120 / module / fortios_firewall_proxy_policy Configure proxy policies in Fortinet's FortiOS and FortiGate. | "added in version" 2.0.0 of lix_fortinet.fortios" Authors: Link Zheng (@chillancezen), Jie Xue (@JieX19), Hongbin Lu (@fgtdev-hblu), Frank Shen (@frankshen01), Miguel Angel Munoz (@mamunozgonzalez), Nicolas Thomas (@thomnico) preview | supported by communitylix_fortinet.fortios.fortios_firewall_proxy_policy (102.2.120) — module
Install with ansible-galaxy collection install lix_fortinet.fortios:==102.2.120
collections: - name: lix_fortinet.fortios version: 102.2.120
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
- 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" ips_sensor: "<your_own_value> (source ips.sensor.name)" label: "<your_own_value>" logtraffic: "all" logtraffic_start: "enable" mms_profile: "<your_own_value> (source firewall.mms-profile.name)" name: "default_name_49" policyid: "0" poolname: - name: "default_name_52 (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_63 (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_68 (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_71 (source firewall.address6.name firewall.addrgrp6.name system.external-resource.name)" srcintf: - name: "default_name_73 (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_80 (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_92 (source firewall.address.name firewall.addrgrp.name)" ztna_tags_match_logic: "or"
vdom: default: root description: - 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 state: choices: - present - absent description: - Indicates whether to create or remove the object. required: true type: str enable_log: default: false description: - Enable/Disable logging for task. required: false type: bool member_path: description: - Member attribute path to operate on. - Delimited by a slash character if there are more than one attribute. - Parameter marked with member_path is legitimate for doing member operation. type: str access_token: description: - Token-based authentication. Generated from GUI of Fortigate. required: false type: str member_state: choices: - present - absent description: - Add or delete a member under specified attribute path. - When member_state is specified, the state option is ignored. type: str firewall_proxy_policy: default: null description: - Configure proxy policies. suboptions: access_proxy: description: - IPv4 access proxy. elements: dict suboptions: name: description: - Access Proxy name. Source firewall.access-proxy.name. type: str type: list access_proxy6: description: - IPv6 access proxy. elements: dict suboptions: name: description: - Access proxy name. Source firewall.access-proxy6.name. type: str type: list action: choices: - accept - deny - redirect description: - Accept or deny traffic matching the policy parameters. type: str application_list: description: - Name of an existing Application list. Source application.list.name. type: str av_profile: description: - Name of an existing Antivirus profile. Source antivirus.profile.name. type: str block_notification: choices: - enable - disable description: - Enable/disable block notification. type: str cifs_profile: description: - Name of an existing CIFS profile. Source cifs.profile.name. type: str comments: description: - Optional comments. type: str decrypted_traffic_mirror: description: - Decrypted traffic mirror. Source firewall.decrypted-traffic-mirror.name. type: str device_ownership: choices: - enable - disable description: - When enabled, the ownership enforcement will be done at policy level. type: str disclaimer: choices: - disable - domain - policy - user description: - 'Web proxy disclaimer setting: by domain, policy, or user.' type: str dlp_profile: description: - Name of an existing DLP profile. Source dlp.profile.name. type: str dlp_sensor: description: - Name of an existing DLP sensor. Source dlp.sensor.name. type: str dstaddr: description: - Destination address objects. elements: dict suboptions: name: description: - 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 type: list dstaddr6: description: - IPv6 destination address objects. elements: dict suboptions: name: description: - Address name. Source firewall.address6.name firewall.addrgrp6.name firewall.vip6.name firewall.vipgrp6.name system .external-resource.name. type: str type: list dstaddr_negate: choices: - enable - disable description: - When enabled, destination addresses match against any address EXCEPT the specified destination addresses. type: str dstintf: description: - Destination interface names. elements: dict suboptions: name: description: - Interface name. Source system.interface.name system.zone.name system.sdwan.zone.name. type: str type: list emailfilter_profile: description: - Name of an existing email filter profile. Source emailfilter.profile.name. type: str file_filter_profile: description: - Name of an existing file-filter profile. Source file-filter.profile.name. type: str global_label: description: - Global web-based manager visible label. type: str groups: description: - Names of group objects. elements: dict suboptions: name: description: - Group name. Source user.group.name. type: str type: list http_tunnel_auth: choices: - enable - disable description: - Enable/disable HTTP tunnel authentication. type: str icap_profile: description: - Name of an existing ICAP profile. Source icap.profile.name. type: str internet_service: choices: - enable - disable description: - Enable/disable use of Internet Services for this policy. If enabled, destination address and service are not used. type: str internet_service_custom: description: - Custom Internet Service name. elements: dict suboptions: name: description: - Custom Internet Service name. Source firewall.internet-service-custom.name. type: str type: list internet_service_custom_group: description: - Custom Internet Service group name. elements: dict suboptions: name: description: - Custom Internet Service group name. Source firewall.internet-service-custom-group.name. type: str type: list internet_service_group: description: - Internet Service group name. elements: dict suboptions: name: description: - Internet Service group name. Source firewall.internet-service-group.name. type: str type: list internet_service_id: description: - Internet Service ID. elements: dict suboptions: id: description: - Internet Service ID. Source firewall.internet-service.id. type: int type: list internet_service_name: description: - Internet Service name. elements: dict suboptions: name: description: - Internet Service name. Source firewall.internet-service-name.name. type: str type: list internet_service_negate: choices: - enable - disable description: - When enabled, Internet Services match against any internet service EXCEPT the selected Internet Service. type: str ips_sensor: description: - Name of an existing IPS sensor. Source ips.sensor.name. type: str label: description: - VDOM-specific GUI visible label. type: str logtraffic: choices: - all - utm - disable description: - Enable/disable logging traffic through the policy. type: str logtraffic_start: choices: - enable - disable description: - Enable/disable policy log traffic start. type: str mms_profile: description: - Name of an existing MMS profile. Source firewall.mms-profile.name. type: str name: description: - Policy name. type: str policyid: description: - Policy ID. required: true type: int poolname: description: - Name of IP pool object. elements: dict suboptions: name: description: - IP pool name. Source firewall.ippool.name. type: str type: list profile_group: description: - Name of profile group. Source firewall.profile-group.name. type: str profile_protocol_options: description: - Name of an existing Protocol options profile. Source firewall.profile-protocol-options.name. type: str profile_type: choices: - single - group description: - Determine whether the firewall policy allows security profile groups or single profiles only. type: str proxy: choices: - explicit-web - transparent-web - ftp - ssh - ssh-tunnel - access-proxy - wanopt description: - Type of explicit proxy. type: str redirect_url: description: - Redirect URL for further explicit web proxy processing. type: str replacemsg_override_group: description: - Authentication replacement message override group. Source system.replacemsg-group.name. type: str scan_botnet_connections: choices: - disable - block - monitor description: - Enable/disable scanning of connections to Botnet servers. type: str schedule: description: - Name of schedule object. Source firewall.schedule.onetime.name firewall.schedule.recurring.name firewall.schedule.group.name. type: str sctp_filter_profile: description: - Name of an existing SCTP filter profile. Source sctp-filter.profile.name. type: str service: description: - Name of service objects. elements: dict suboptions: name: description: - Service name. Source firewall.service.custom.name firewall.service.group.name. type: str type: list service_negate: choices: - enable - disable description: - When enabled, services match against any service EXCEPT the specified destination services. type: str session_ttl: description: - TTL in seconds for sessions accepted by this policy (0 means use the system ). type: int spamfilter_profile: description: - Name of an existing Spam filter profile. Source spamfilter.profile.name. type: str srcaddr: description: - Source address objects. elements: dict suboptions: name: description: - Address name. Source firewall.address.name firewall.addrgrp.name firewall.proxy-address.name firewall.proxy-addrgrp.name system .external-resource.name. type: str type: list srcaddr6: description: - IPv6 source address objects. elements: dict suboptions: name: description: - Address name. Source firewall.address6.name firewall.addrgrp6.name system.external-resource.name. type: str type: list srcaddr_negate: choices: - enable - disable description: - When enabled, source addresses match against any address EXCEPT the specified source addresses. type: str srcintf: description: - Source interface names. elements: dict suboptions: name: description: - Interface name. Source system.interface.name system.zone.name system.sdwan.zone.name. type: str type: list ssh_filter_profile: description: - Name of an existing SSH filter profile. Source ssh-filter.profile.name. type: str ssh_policy_redirect: choices: - enable - disable description: - Redirect SSH traffic to matching transparent proxy policy. type: str ssl_ssh_profile: description: - Name of an existing SSL SSH profile. Source firewall.ssl-ssh-profile.name. type: str status: choices: - enable - disable description: - Enable/disable the active status of the policy. type: str transparent: choices: - enable - disable description: - Enable to use the IP address of the client to connect to the server. type: str users: description: - Names of user objects. elements: dict suboptions: name: description: - Group name. Source user.local.name user.certificate.name. type: str type: list utm_status: choices: - enable - disable description: - Enable the use of UTM profiles/sensors/lists. type: str uuid: description: - Universally Unique Identifier (UUID; automatically assigned but can be manually reset). type: str videofilter_profile: description: - Name of an existing VideoFilter profile. Source videofilter.profile.name. type: str voip_profile: description: - Name of an existing VoIP profile. Source voip.profile.name. type: str waf_profile: description: - Name of an existing Web application firewall profile. Source waf.profile.name. type: str webcache: choices: - enable - disable description: - Enable/disable web caching. type: str webcache_https: choices: - disable - enable description: - Enable/disable web caching for HTTPS (Requires deep-inspection enabled in ssl-ssh-profile). type: str webfilter_profile: description: - Name of an existing Web filter profile. Source webfilter.profile.name. type: str webproxy_forward_server: description: - Web proxy forward server name. Source web-proxy.forward-server.name web-proxy.forward-server-group.name. type: str webproxy_profile: description: - Name of web proxy profile. Source web-proxy.profile.name. type: str ztna_ems_tag: description: - ZTNA EMS Tag names. elements: dict suboptions: name: description: - EMS Tag name. Source firewall.address.name firewall.addrgrp.name. type: str type: list ztna_tags_match_logic: choices: - or - and description: - ZTNA tag matching logic. type: str type: dict
build: description: Build number of the fortigate image returned: always sample: '1547' type: str http_method: description: Last method used to provision the content into FortiGate returned: always sample: PUT type: str http_status: description: Last result given by FortiGate on last operation applied returned: always sample: '200' type: str mkey: description: Master key (id) used in the last call to FortiGate returned: success sample: id type: str name: description: Name of the table used to fulfill the request returned: always sample: urlfilter type: str path: description: Path of the table used to fulfill the request returned: always sample: webfilter type: str revision: description: Internal revision number returned: always sample: 17.0.2.10658 type: str serial: description: Serial number of the unit returned: always sample: FGVMEVYYQT3AB5352 type: str status: description: Indication of the operation's result returned: always sample: success type: str vdom: description: Virtual domain used returned: always sample: root type: str version: description: Version of the FortiGate returned: always sample: v5.6.3 type: str