On this page
fortinet.fortios.fortios_firewall_access_proxy – Configure Access Proxy in Fortinet’s FortiOS and FortiGate.
Note
This plugin is part of the fortinet.fortios collection (version 2.1.2).
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.fortios
.
To use it in a playbook, specify: fortinet.fortios.fortios_firewall_access_proxy
.
New in version 2.10: of fortinet.fortios
Synopsis
- This module is able to configure a FortiGate or FortiOS (FOS) device by allowing the user to set and modify firewall feature and access_proxy category. Examples include all parameters and values need to be adjusted to datasources before usage. Tested with FOS v6.0.0
Requirements
The below requirements are needed on the host that executes this module.
- ansible>=2.9.0
Parameters
Parameter | Choices/Defaults | Comments | |||
---|---|---|---|---|---|
access_token
string
|
Token-based authentication. Generated from GUI of Fortigate.
|
||||
enable_log
boolean
|
|
Enable/Disable logging for task.
|
|||
firewall_access_proxy
dictionary
|
Configure Access Proxy.
|
||||
api_gateway
list / elements=string
|
Set API Gateway.
|
||||
http_cookie_age
integer
|
Time in minutes that client web browsers should keep a cookie. Default is 60 minutes. 0 = no time limit.
|
||||
http_cookie_domain
string
|
Domain that HTTP cookie persistence should apply to.
|
||||
http_cookie_domain_from_host
string
|
|
Enable/disable use of HTTP cookie domain from host field in HTTP.
|
|||
http_cookie_generation
integer
|
Generation of HTTP cookie to be accepted. Changing invalidates all existing cookies.
|
||||
http_cookie_path
string
|
Limit HTTP cookie persistence to the specified path.
|
||||
http_cookie_share
string
|
|
Control sharing of cookies across API Gateway. same-ip means a cookie from one virtual server can be used by another. Disable stops cookie sharing.
|
|||
https_cookie_secure
string
|
|
Enable/disable verification that inserted HTTPS cookies are secure.
|
|||
id
integer / required
|
API Gateway ID.
|
||||
ldb_method
string
|
|
Method used to distribute sessions to real servers.
|
|||
persistence
string
|
|
Configure how to make sure that clients connect to the same server every time they make a request that is part of the same session.
|
|||
realservers
list / elements=string
|
Select the real servers that this Access Proxy will distribute traffic to.
|
||||
address
string
|
Address or address group of the real server. Source firewall.address.name firewall.addrgrp.name.
|
||||
health_check
string
|
|
Enable to check the responsiveness of the real server before forwarding traffic.
|
|||
health_check_proto
string
|
|
Protocol of the health check monitor to use when polling to determine server"s connectivity status.
|
|||
http_host
string
|
HTTP server domain name in HTTP header.
|
||||
id
integer / required
|
Real server ID.
|
||||
ip
string
|
IP address of the real server.
|
||||
mappedport
string
|
Port for communicating with the real server.
|
||||
port
integer
|
Port for communicating with the real server.
|
||||
status
string
|
|
Set the status of the real server to active so that it can accept traffic, or on standby or disabled so no traffic is sent.
|
|||
weight
integer
|
Weight of the real server. If weighted load balancing is enabled, the server with the highest weight gets more connections.
|
||||
saml_server
string
|
SAML service provider configuration for VIP authentication. Source user.saml.name.
|
||||
service
string
|
|
Service.
|
|||
ssl_algorithm
string
|
|
Permitted encryption algorithms for the server side of SSL full mode sessions according to encryption strength.
|
|||
ssl_cipher_suites
list / elements=string
|
SSL/TLS cipher suites to offer to a server, ordered by priority.
|
||||
cipher
string
|
|
Cipher suite name.
|
|||
priority
integer / required
|
SSL/TLS cipher suites priority.
|
||||
versions
string
|
|
SSL/TLS versions that the cipher suite can be used with.
|
|||
ssl_dh_bits
string
|
|
Number of bits to use in the Diffie-Hellman exchange for RSA encryption of SSL sessions.
|
|||
ssl_max_version
string
|
|
Highest SSL/TLS version acceptable from a server.
|
|||
ssl_min_version
string
|
|
Lowest SSL/TLS version acceptable from a server.
|
|||
url_map
string
|
URL pattern to match.
|
||||
url_map_type
string
|
|
Type of url-map.
|
|||
virtual_host
string
|
Virtual host. Source firewall.access-proxy-virtual-host.name.
|
||||
client_cert
string
|
|
Enable/disable to request client certificate.
|
|||
empty_cert_action
string
|
|
Action of an empty client certificate.
|
|||
ldb_method
string
|
|
Method used to distribute sessions to SSL real servers.
|
|||
name
string / required
|
Access Proxy name.
|
||||
realservers
list / elements=string
|
Select the SSL real servers that this Access Proxy will distribute traffic to.
|
||||
id
integer / required
|
Real server ID.
|
||||
ip
string
|
IP address of the real server.
|
||||
port
integer
|
Port for communicating with the real server.
|
||||
status
string
|
|
Set the status of the real server to active so that it can accept traffic, or on standby or disabled so no traffic is sent.
|
|||
weight
integer
|
Weight of the real server. If weighted load balancing is enabled, the server with the highest weight gets more connections.
|
||||
server_pubkey_auth
string
|
|
Enable/disable SSH real server public key authentication.
|
|||
server_pubkey_auth_settings
dictionary
|
Server SSH public key authentication settings.
|
||||
auth_ca
string
|
Name of the SSH server public key authentication CA. Source firewall.ssh.local-ca.name.
|
||||
cert_extension
list / elements=string
|
Configure certificate extension for user certificate.
|
||||
critical
string
|
|
Critical option.
|
|||
data
string
|
Name of certificate extension.
|
||||
name
string / required
|
Name of certificate extension.
|
||||
type
string
|
|
Type of certificate extension.
|
|||
permit_agent_forwarding
string
|
|
Enable/disable appending permit-agent-forwarding certificate extension.
|
|||
permit_port_forwarding
string
|
|
Enable/disable appending permit-port-forwarding certificate extension.
|
|||
permit_pty
string
|
|
Enable/disable appending permit-pty certificate extension.
|
|||
permit_user_rc
string
|
|
Enable/disable appending permit-user-rc certificate extension.
|
|||
permit_x11_forwarding
string
|
|
Enable/disable appending permit-x11-forwarding certificate extension.
|
|||
source_address
string
|
|
Enable/disable appending source-address certificate critical option. This option ensure certificate only accepted from FortiGate source address.
|
|||
vip
string
|
Virtual IP name. Source firewall.vip.name.
|
||||
state
string / required
|
|
Indicates whether to create or remove the object.
|
|||
vdom
string
|
Default:
"root"
|
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.
|
Notes
Note
- Legacy fortiosapi has been deprecated, httpapi is the preferred way to run playbooks
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 Access Proxy.
fortios_firewall_access_proxy:
vdom: "{{ vdom }}"
state: "present"
access_token: "<your_own_value>"
firewall_access_proxy:
api_gateway:
-
http_cookie_age: "4"
http_cookie_domain: "<your_own_value>"
http_cookie_domain_from_host: "disable"
http_cookie_generation: "7"
http_cookie_path: "<your_own_value>"
http_cookie_share: "disable"
https_cookie_secure: "disable"
id: "11"
ldb_method: "static"
persistence: "none"
realservers:
-
address: "<your_own_value> (source firewall.address.name firewall.addrgrp.name)"
health_check: "disable"
health_check_proto: "ping"
http_host: "myhostname"
id: "19"
ip: "<your_own_value>"
mappedport: "<your_own_value>"
port: "22"
status: "active"
weight: "24"
saml_server: "<your_own_value> (source user.saml.name)"
service: "http"
ssl_algorithm: "high"
ssl_cipher_suites:
-
cipher: "TLS-AES-128-GCM-SHA256"
priority: "30"
versions: "tls-1.0"
ssl_dh_bits: "768"
ssl_max_version: "tls-1.0"
ssl_min_version: "tls-1.0"
url_map: "<your_own_value>"
url_map_type: "sub-string"
virtual_host: "myhostname (source firewall.access-proxy-virtual-host.name)"
client_cert: "disable"
empty_cert_action: "accept"
ldb_method: "static"
name: "default_name_41"
realservers:
-
id: "43"
ip: "<your_own_value>"
port: "45"
status: "active"
weight: "47"
server_pubkey_auth: "disable"
server_pubkey_auth_settings:
auth_ca: "<your_own_value> (source firewall.ssh.local-ca.name)"
cert_extension:
-
critical: "no"
data: "<your_own_value>"
name: "default_name_54"
type: "fixed"
permit_agent_forwarding: "enable"
permit_port_forwarding: "enable"
permit_pty: "enable"
permit_user_rc: "enable"
permit_x11_forwarding: "enable"
source_address: "enable"
vip: "<your_own_value> (source firewall.vip.name)"
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description |
---|---|---|
build
string
|
always |
Build number of the fortigate image
Sample:
1547
|
http_method
string
|
always |
Last method used to provision the content into FortiGate
Sample:
PUT
|
http_status
string
|
always |
Last result given by FortiGate on last operation applied
Sample:
200
|
mkey
string
|
success |
Master key (id) used in the last call to FortiGate
Sample:
id
|
name
string
|
always |
Name of the table used to fulfill the request
Sample:
urlfilter
|
path
string
|
always |
Path of the table used to fulfill the request
Sample:
webfilter
|
revision
string
|
always |
Internal revision number
Sample:
17.0.2.10658
|
serial
string
|
always |
Serial number of the unit
Sample:
FGVMEVYYQT3AB5352
|
status
string
|
always |
Indication of the operation's result
Sample:
success
|
vdom
string
|
always |
Virtual domain used
Sample:
root
|
version
string
|
always |
Version of the FortiGate
Sample:
v5.6.3
|
Authors
- Link Zheng (@chillancezen)
- Jie Xue (@JieX19)
- Hongbin Lu (@fgtdev-hblu)
- Frank Shen (@frankshen01)
- Miguel Angel Munoz (@mamunozgonzalez)
- Nicolas Thomas (@thomnico)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/fortinet/fortios/fortios_firewall_access_proxy_module.html