fortinet.fortios.fortios_firewall_access_proxy 模块 – 配置 Fortinet 的 FortiOS 和 FortiGate 中的 IPv4 访问代理。
注意
此模块是 fortinet.fortios 集合 (版本 2.3.8) 的一部分。
如果您使用的是 ansible 包,则可能已经安装了此集合。它不包含在 ansible-core 中。要检查它是否已安装,请运行 ansible-galaxy collection list。
要安装它,请使用:ansible-galaxy collection install fortinet.fortios。您需要其他要求才能使用此模块,有关详细信息,请参阅 需求。
要在剧本中使用它,请指定:fortinet.fortios.fortios_firewall_access_proxy。
fortinet.fortios 2.0.0 中的新增功能
概要
- 此模块能够通过允许用户设置和修改防火墙功能和 access_proxy 类别来配置 FortiGate 或 FortiOS (FOS) 设备。示例包括所有参数,在使用前需要将值调整到数据源。已在 FOS v6.0.0 上测试。 
需求
执行此模块的主机需要以下需求。
- ansible>=2.15 
参数
| 参数 | 注释 | 
|---|---|
| 基于令牌的身份验证。从 FortiGate 的 GUI 生成。 | |
| 启用/禁用任务日志记录。 选项 
 | |
| 配置 IPv4 访问代理。 | |
| 启用/禁用为 ZTNA Dox 隧道将虚拟主机/域名添加到 DNS 数据库。 选项 
 | |
| 设置 IPv4 API 网关。 | |
| 由此访问代理控制的 SaaS 应用程序。 | |
| SaaS 应用程序名称。 | |
| HTTP2 支持,默认=启用。 选项 
 | |
| HTTP3/QUIC 支持,默认=禁用。 选项 
 | |
| 客户端 Web 浏览器应保留 Cookie 的时间(分钟)。默认为 60 分钟。0 = 无时间限制。 | |
| HTTP Cookie 持久性应应用到的域名。 | |
| 启用/禁用使用 HTTP 中的主机字段中的 HTTP Cookie 域名。 选项 
 | |
| 要接受的 HTTP Cookie 的生成。更改会使所有现有 Cookie 无效。 | |
| 将 HTTP Cookie 持久性限制在指定的路径。 | |
| 控制跨 API 网关共享 Cookie。使用 same-ip 表示来自一个虚拟服务器的 Cookie 可以被另一个虚拟服务器使用。禁用会停止 Cookie 共享。 选项 
 | |
| 启用/禁用验证插入的 HTTPS Cookie 是否安全。 选项 
 | |
| API 网关 ID。请参见 备注。 | |
| 用于将会话分配到真实服务器的方法。 选项 
 | |
| 配置如何确保客户端每次发出属于同一会话的请求时都连接到同一服务器。 选项 
 | |
| QUIC 设置。 | |
| ACK 延迟指数 (1 - 20)。 | |
| 活动连接 ID 限制 (1 - 8)。 | |
| 启用/禁用活动迁移。 选项 
 | |
| 启用/禁用 grease QUIC 位。 选项 
 | |
| 最大 ACK 延迟(毫秒)(1 - 16383)。 | |
| 最大数据报帧大小(字节)(1 - 1500)。 | |
| 最大空闲超时(毫秒)(1 - 60000)。 | |
| 最大 UDP 有效负载大小(字节)(1200 - 1500)。 | |
| 选择此访问代理将向其分发流量的真实服务器。 | |
| 地址类型。 选项 
 | |
| 真实服务器的地址或地址组。源 firewall.address.name firewall.addrgrp.name。 | |
| 真实服务器的通配符域名。 | |
| 启用/禁用使用外部浏览器作为 SAML 用户身份验证的用户代理。 选项 
 | |
| 启用以检查转发流量之前真实服务器的响应能力。 选项 
 | |
| 轮询以确定服务器连接状态时要使用的运行状况检查监视器的协议。 选项 
 | |
| 启用/禁用保持时间计时器。保持时间过期(30 秒)后,服务器将被视为活动状态且可访问。 选项 
 | |
| HTTP 标头中的 HTTP 服务器域名。 | |
| 真实服务器 ID。请参见 备注。 | |
| 真实服务器的 IP 地址。 | |
| 与真实服务器通信的端口。 | |
| 与真实服务器通信的端口。 | |
| 设置访问代理 SSH 客户端证书配置文件。来源 firewall.access-proxy-ssh-client-cert.name。 | |
| 一个或多个服务器主机密钥。 | |
| 服务器主机密钥名称。来源 firewall.ssh.host-key.name。 | |
| 启用/禁用 SSH 真实服务器主机密钥验证。 选项 
 | |
| 将真实服务器的状态设置为活动状态,以便它可以接受流量,或者设置为待机或禁用状态,以便不发送流量。 选项 
 | |
| 启用/禁用从虚拟服务器到真实服务器的主机名/IP 地址转换。 选项 
 | |
| 隧道加密。 选项 
 | |
| TCP 转发服务器类型。 选项 
 | |
| 真实服务器的权重。如果启用了加权负载均衡,则权重最高的服务器将获得更多连接。 | |
| 成功身份验证后启用/禁用 SAML 重定向。 选项 
 | |
| 用于 VIP 身份验证的 SAML 服务提供商配置。来源 user.saml.name。 | |
| 服务。 选项 
 | |
| 根据加密强度,允许用于 SSL 全模式会话服务器端的加密算法。 选项 
 | |
| 提供给服务器的 SSL/TLS 密码套件,按优先级排序。 | |
| 密码套件名称。 选项 
 | |
| SSL/TLS 密码套件优先级。参见 注释。 | |
| 密码套件可使用的 SSL/TLS 版本。 选项 
 | |
| 在用于 RSA 加密的 SSL 会话的 Diffie-Hellman 交换中使用的位数。 选项 
 | |
| 从服务器接受的最高 SSL/TLS 版本。 选项 
 | |
| 从服务器接受的最低 SSL/TLS 版本。 选项 
 | |
| 启用/禁用安全重新协商以符合 RFC 5746。 选项 
 | |
| SSL-VPN 网关。来源 vpn.ssl.web.portal.name。 | |
| 要匹配的 URL 模式。 | |
| url-map 的类型。 选项 
 | |
| 虚拟主机。来源 firewall.access-proxy-virtual-host.name。 | |
| 设置 IPv6 API 网关。 | |
| 由此访问代理控制的 SaaS 应用程序。 | |
| SaaS 应用程序名称。 | |
| HTTP2 支持,默认=启用。 选项 
 | |
| HTTP3/QUIC 支持,默认=禁用。 选项 
 | |
| 客户端 Web 浏览器应保留 Cookie 的时间(分钟)。默认为 60 分钟。0 = 无时间限制。 | |
| HTTP Cookie 持久性应应用到的域名。 | |
| 启用/禁用使用 HTTP 中的主机字段中的 HTTP Cookie 域名。 选项 
 | |
| 要接受的 HTTP Cookie 的生成。更改会使所有现有 Cookie 无效。 | |
| 将 HTTP Cookie 持久性限制在指定的路径。 | |
| 控制跨 API 网关共享 Cookie。使用 same-ip 表示来自一个虚拟服务器的 Cookie 可以被另一个虚拟服务器使用。禁用会停止 Cookie 共享。 选项 
 | |
| 启用/禁用验证插入的 HTTPS Cookie 是否安全。 选项 
 | |
| API 网关 ID。请参见 备注。 | |
| 用于将会话分配到真实服务器的方法。 选项 
 | |
| 配置如何确保客户端每次发出属于同一会话的请求时都连接到同一服务器。 选项 
 | |
| QUIC 设置。 | |
| ACK 延迟指数 (1 - 20)。 | |
| 活动连接 ID 限制 (1 - 8)。 | |
| 启用/禁用活动迁移。 选项 
 | |
| 启用/禁用 grease QUIC 位。 选项 
 | |
| 最大 ACK 延迟(毫秒)(1 - 16383)。 | |
| 最大数据报帧大小(字节)(1 - 1500)。 | |
| 最大空闲超时(毫秒)(1 - 60000)。 | |
| 最大 UDP 有效负载大小(字节)(1200 - 1500)。 | |
| 选择此访问代理将向其分发流量的真实服务器。 | |
| 地址类型。 选项 
 | |
| 真实服务器的地址或地址组。来源 firewall.address6.name firewall.addrgrp6.name。 | |
| 真实服务器的通配符域名。 | |
| 启用/禁用使用外部浏览器作为 SAML 用户身份验证的用户代理。 选项 
 | |
| 启用以检查转发流量之前真实服务器的响应能力。 选项 
 | |
| 轮询以确定服务器连接状态时要使用的运行状况检查监视器的协议。 选项 
 | |
| 启用/禁用保持时间计时器。保持时间过期(30 秒)后,服务器将被视为活动状态且可访问。 选项 
 | |
| HTTP 标头中的 HTTP 服务器域名。 | |
| 真实服务器 ID。请参见 备注。 | |
| 真实服务器的 IPv6 地址。 | |
| 与真实服务器通信的端口。 | |
| 与真实服务器通信的端口。 | |
| 设置访问代理 SSH 客户端证书配置文件。来源 firewall.access-proxy-ssh-client-cert.name。 | |
| 一个或多个服务器主机密钥。 | |
| 服务器主机密钥名称。来源 firewall.ssh.host-key.name。 | |
| 启用/禁用 SSH 真实服务器主机密钥验证。 选项 
 | |
| 将真实服务器的状态设置为活动状态,以便它可以接受流量,或者设置为待机或禁用状态,以便不发送流量。 选项 
 | |
| 启用/禁用从虚拟服务器到真实服务器的主机名/IP 地址转换。 选项 
 | |
| 隧道加密。 选项 
 | |
| TCP 转发服务器类型。 选项 
 | |
| 真实服务器的权重。如果启用了加权负载均衡,则权重最高的服务器将获得更多连接。 | |
| 成功身份验证后启用/禁用 SAML 重定向。 选项 
 | |
| 用于 VIP 身份验证的 SAML 服务提供商配置。来源 user.saml.name。 | |
| 服务。 选项 
 | |
| 根据加密强度,允许用于 SSL 全模式会话服务器端的加密算法。 选项 
 | |
| 提供给服务器的 SSL/TLS 密码套件,按优先级排序。 | |
| 密码套件名称。 选项 
 | |
| SSL/TLS 密码套件优先级。参见 注释。 | |
| 密码套件可使用的 SSL/TLS 版本。 选项 
 | |
| 在用于 RSA 加密的 SSL 会话的 Diffie-Hellman 交换中使用的位数。 选项 
 | |
| 从服务器接受的最高 SSL/TLS 版本。 选项 
 | |
| 从服务器接受的最低 SSL/TLS 版本。 选项 
 | |
| 启用/禁用安全重新协商以符合 RFC 5746。 选项 
 | |
| SSL-VPN 网关。来源 vpn.ssl.web.portal.name。 | |
| 要匹配的 URL 模式。 | |
| url-map 的类型。 选项 
 | |
| 虚拟主机。来源 firewall.access-proxy-virtual-host.name。 | |
| 启用/禁用身份验证门户。 选项 
 | |
| 身份验证门户的虚拟主机。来源 firewall.access-proxy-virtual-host.name。 | |
| 启用/禁用请求客户端证书。 选项 
 | |
| 解密流量镜像。来源 firewall.decrypted-traffic-mirror.name。 | |
| 空客户端证书的操作。 选项 
 | |
| 最大支持的 HTTP 版本。默认 = HTTP2 选项 
 | |
| 用于将会话分发到 SSL 真实服务器的方法。 选项 
 | |
| 启用/禁用被阻止流量的日志记录。 选项 
 | |
| 访问代理名称。 | |
| 选择此访问代理将向其分发流量的 SSL 真实服务器。 | |
| 真实服务器 ID。请参见 备注。 | |
| 真实服务器的 IP 地址。 | |
| 与真实服务器通信的端口。 | |
| 将真实服务器的状态设置为活动状态,以便它可以接受流量,或者设置为待机或禁用状态,以便不发送流量。 选项 
 | |
| 真实服务器的权重。如果启用了加权负载均衡,则权重最高的服务器将获得更多连接。 | |
| 启用/禁用 SSH 真实服务器公钥身份验证。 选项 
 | |
| 服务器 SSH 公钥身份验证设置。 | |
| SSH 服务器公钥身份验证 CA 的名称。来源 firewall.ssh.local-ca.name。 | |
| 配置用户证书的证书扩展。 | |
| 关键选项。 选项 
 | |
| 证书扩展的名称。 | |
| 证书扩展的名称。 | |
| 证书扩展的类型。 选项 
 | |
| 启用/禁用附加 permit-agent-forwarding 证书扩展。 选项 
 | |
| 启用/禁用附加 permit-port-forwarding 证书扩展。 选项 
 | |
| 启用/禁用附加 permit-pty 证书扩展。 选项 
 | |
| 启用/禁用附加 permit-user-rc 证书扩展。 选项 
 | |
| 启用/禁用附加 permit-x11-forwarding 证书扩展。 选项 
 | |
| 启用/禁用附加 source-address 证书关键选项。此选项确保仅从 FortiGate 源地址接受证书。 选项 
 | |
| 启用/禁用服务器池多路复用。在 HTTP、HTTPS 和 web-portal api-gateway 中共享已连接的服务器。 选项 
 | |
| 服务器池中服务器可以处理的最大并发请求数。 | |
| 服务器池中的服务器在断开连接之前处理的最大请求数。 | |
| 服务器池中空闲连接到服务器的生存时间。 | |
| 如果未提供客户端证书,则启用/禁用通过 HTTP user-agent 检测设备类型。 选项 
 | |
| 虚拟 IP 名称。来源 firewall.vip.name。 | |
| 要操作的成员属性路径。 如果有多个属性,则用斜杠字符分隔。 标有 member_path 的参数对于执行成员操作是合法的。 | |
| 在指定的属性路径下添加或删除成员。 指定 member_state 时,将忽略 state 选项。 选项 
 | |
| 指示是创建还是删除对象。 选项 
 | |
| 虚拟域,在先前定义的虚拟域中。vdom 是 FortiGate 的虚拟实例,可以将其配置并用作不同的单元。 默认值:  | 
注释
注意
- 旧的 fortiosapi 已弃用,httpapi 是运行 playbook 的首选方法。 
示例
- name: Configure IPv4 access proxy.
  fortinet.fortios.fortios_firewall_access_proxy:
      vdom: "{{ vdom }}"
      state: "present"
      access_token: "<your_own_value>"
      firewall_access_proxy:
          add_vhost_domain_to_dnsdb: "enable"
          api_gateway:
              -
                  application:
                      -
                          name: "default_name_6"
                  h2_support: "enable"
                  h3_support: "enable"
                  http_cookie_age: "60"
                  http_cookie_domain: "<your_own_value>"
                  http_cookie_domain_from_host: "disable"
                  http_cookie_generation: "0"
                  http_cookie_path: "<your_own_value>"
                  http_cookie_share: "disable"
                  https_cookie_secure: "disable"
                  id: "16"
                  ldb_method: "static"
                  persistence: "none"
                  quic:
                      ack_delay_exponent: "3"
                      active_connection_id_limit: "2"
                      active_migration: "enable"
                      grease_quic_bit: "enable"
                      max_ack_delay: "25"
                      max_datagram_frame_size: "1500"
                      max_idle_timeout: "30000"
                      max_udp_payload_size: "1500"
                  realservers:
                      -
                          addr_type: "ip"
                          address: "<your_own_value> (source firewall.address.name firewall.addrgrp.name)"
                          domain: "<your_own_value>"
                          external_auth: "enable"
                          health_check: "disable"
                          health_check_proto: "ping"
                          holddown_interval: "enable"
                          http_host: "myhostname"
                          id: "37"
                          ip: "<your_own_value>"
                          mappedport: "<your_own_value>"
                          port: "443"
                          ssh_client_cert: "<your_own_value> (source firewall.access-proxy-ssh-client-cert.name)"
                          ssh_host_key:
                              -
                                  name: "default_name_43 (source firewall.ssh.host-key.name)"
                          ssh_host_key_validation: "disable"
                          status: "active"
                          translate_host: "enable"
                          tunnel_encryption: "enable"
                          type: "tcp-forwarding"
                          weight: "1"
                  saml_redirect: "disable"
                  saml_server: "<your_own_value> (source user.saml.name)"
                  service: "http"
                  ssl_algorithm: "high"
                  ssl_cipher_suites:
                      -
                          cipher: "TLS-AES-128-GCM-SHA256"
                          priority: "<you_own_value>"
                          versions: "tls-1.0"
                  ssl_dh_bits: "768"
                  ssl_max_version: "tls-1.0"
                  ssl_min_version: "tls-1.0"
                  ssl_renegotiation: "enable"
                  ssl_vpn_web_portal: "<your_own_value> (source vpn.ssl.web.portal.name)"
                  url_map: "<your_own_value>"
                  url_map_type: "sub-string"
                  virtual_host: "myhostname (source firewall.access-proxy-virtual-host.name)"
          api_gateway6:
              -
                  application:
                      -
                          name: "default_name_68"
                  h2_support: "enable"
                  h3_support: "enable"
                  http_cookie_age: "60"
                  http_cookie_domain: "<your_own_value>"
                  http_cookie_domain_from_host: "disable"
                  http_cookie_generation: "0"
                  http_cookie_path: "<your_own_value>"
                  http_cookie_share: "disable"
                  https_cookie_secure: "disable"
                  id: "78"
                  ldb_method: "static"
                  persistence: "none"
                  quic:
                      ack_delay_exponent: "3"
                      active_connection_id_limit: "2"
                      active_migration: "enable"
                      grease_quic_bit: "enable"
                      max_ack_delay: "25"
                      max_datagram_frame_size: "1500"
                      max_idle_timeout: "30000"
                      max_udp_payload_size: "1500"
                  realservers:
                      -
                          addr_type: "ip"
                          address: "<your_own_value> (source firewall.address6.name firewall.addrgrp6.name)"
                          domain: "<your_own_value>"
                          external_auth: "enable"
                          health_check: "disable"
                          health_check_proto: "ping"
                          holddown_interval: "enable"
                          http_host: "myhostname"
                          id: "99"
                          ip: "<your_own_value>"
                          mappedport: "<your_own_value>"
                          port: "443"
                          ssh_client_cert: "<your_own_value> (source firewall.access-proxy-ssh-client-cert.name)"
                          ssh_host_key:
                              -
                                  name: "default_name_105 (source firewall.ssh.host-key.name)"
                          ssh_host_key_validation: "disable"
                          status: "active"
                          translate_host: "enable"
                          tunnel_encryption: "enable"
                          type: "tcp-forwarding"
                          weight: "1"
                  saml_redirect: "disable"
                  saml_server: "<your_own_value> (source user.saml.name)"
                  service: "http"
                  ssl_algorithm: "high"
                  ssl_cipher_suites:
                      -
                          cipher: "TLS-AES-128-GCM-SHA256"
                          priority: "<you_own_value>"
                          versions: "tls-1.0"
                  ssl_dh_bits: "768"
                  ssl_max_version: "tls-1.0"
                  ssl_min_version: "tls-1.0"
                  ssl_renegotiation: "enable"
                  ssl_vpn_web_portal: "<your_own_value> (source vpn.ssl.web.portal.name)"
                  url_map: "<your_own_value>"
                  url_map_type: "sub-string"
                  virtual_host: "myhostname (source firewall.access-proxy-virtual-host.name)"
          auth_portal: "disable"
          auth_virtual_host: "myhostname (source firewall.access-proxy-virtual-host.name)"
          client_cert: "disable"
          decrypted_traffic_mirror: "<your_own_value> (source firewall.decrypted-traffic-mirror.name)"
          empty_cert_action: "accept"
          http_supported_max_version: "http1"
          ldb_method: "static"
          log_blocked_traffic: "enable"
          name: "default_name_136"
          realservers:
              -
                  id: "138"
                  ip: "<your_own_value>"
                  port: "0"
                  status: "active"
                  weight: "1"
          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_149"
                      type: "fixed"
              permit_agent_forwarding: "enable"
              permit_port_forwarding: "enable"
              permit_pty: "enable"
              permit_user_rc: "enable"
              permit_x11_forwarding: "enable"
              source_address: "enable"
          svr_pool_multiplex: "enable"
          svr_pool_server_max_concurrent_request: "0"
          svr_pool_server_max_request: "0"
          svr_pool_ttl: "15"
          user_agent_detect: "disable"
          vip: "<your_own_value> (source firewall.vip.name)"
返回值
常见的返回值在此处记录 此处,以下是此模块特有的字段
| 键 | 描述 | 
|---|---|
| FortiGate 镜像的构建编号 返回:始终 示例:  | |
| 上次用于将内容置备到 FortiGate 的方法 返回:始终 示例:  | |
| FortiGate 在上次应用的操作上给出的最后结果 返回:始终 示例:  | |
| 上次调用 FortiGate 时使用的主密钥 (id) 返回:成功 示例:  | |
| 用于完成请求的表的名称 返回:始终 示例:  | |
| 用于完成请求的表的路径 返回:始终 示例:  | |
| 内部修订号 返回:始终 示例:  | |
| 设备的序列号 返回:始终 示例:  | |
| 操作结果的指示 返回:始终 示例:  | |
| 使用的虚拟域 返回:始终 示例:  | |
| FortiGate 的版本 返回:始终 示例:  | 
