fortinet.fortimanager.fmgr_firewall_accessproxy_apigateway 模块 – 设置 API 网关。

注意

此模块是 fortinet.fortimanager 集合 (版本 2.8.2) 的一部分。

如果您使用的是 ansible 包,则可能已经安装了此集合。它不包含在 ansible-core 中。要检查它是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用: ansible-galaxy collection install fortinet.fortimanager

要在剧本中使用它,请指定: fortinet.fortimanager.fmgr_firewall_accessproxy_apigateway

fortinet.fortimanager 2.1.0 中的新增功能

概要

  • 此模块能够配置 FortiManager 设备。

  • 示例包含所有需要在使用前调整为数据源的参数和值。

参数

参数

注释

access-proxy

字符串

已弃用,请使用“access_proxy”

access_proxy

字符串

请求 URL 中的参数 (access-proxy)。

access_token

字符串

无需用户名和密码即可访问 FortiManager 的令牌。

adom

字符串 / 必需

请求 URL 中的参数 (adom)。

bypass_validation

布尔值

仅当模块模式与 FortiManager API 结构不同时设置为 True,模块将继续执行而无需验证参数。

选项

  • false ← (默认)

  • true

enable_log

布尔值

启用/禁用任务日志记录。

选项

  • false ← (默认)

  • true

firewall_accessproxy_apigateway

字典

设置的顶级参数。

application

任意

(列表) 此访问代理控制的 SaaS 应用程序。

h2_support

别名:h2-support

字符串

HTTP2 支持,默认为启用。

选项

  • "disable"

  • "enable"

h3_support

别名:h3-support

字符串

HTTP3/QUIC 支持,默认为禁用。

选项

  • "disable"

  • "enable"

http_cookie_age

别名:http-cookie-age

整数

客户端 Web 浏览器应保留 Cookie 的时间(分钟)。

http_cookie_domain

别名:http-cookie-domain

字符串

HTTP Cookie 持久性应应用到的域。

http_cookie_domain_from_host

别名:http-cookie-domain-from-host

字符串

启用/禁用使用 HTTP 中的主机字段的 HTTP Cookie 域。

选项

  • "disable"

  • "enable"

http_cookie_generation

别名:http-cookie-generation

整数

要接受的 HTTP Cookie 的生成。

http_cookie_path

别名:http-cookie-path

字符串

将 HTTP Cookie 持久性限制在指定的路径。

http_cookie_share

别名:http-cookie-share

字符串

控制跨 API 网关共享 Cookie。

选项

  • "disable"

  • "same-ip"

https_cookie_secure

别名:https-cookie-secure

字符串

启用/禁用插入的 HTTPS Cookie 的安全验证。

选项

  • "disable"

  • "enable"

id

整数 / 必需

API 网关 ID。

ldb_method

别名:ldb-method

字符串

用于将会话分发到真实服务器的方法。

选项

  • "static"

  • "round-robin"

  • "weighted"

  • "least-session"

  • "least-rtt"

  • "first-alive"

  • "http-host"

persistence

字符串

配置如何确保客户端每次发出属于同一……的请求时都连接到同一服务器。

选项

  • "none"

  • "http-cookie"

quic

字典

Quic。

ack_delay_exponent

别名:ack-delay-exponent

整数

ACK 延迟指数

active_connection_id_limit

别名:active-connection-id-limit

整数

活动连接 ID 限制

active_migration

别名:active-migration

字符串

启用/禁用主动迁移

选项

  • "disable"

  • "enable"

grease_quic_bit

别名:grease-quic-bit

字符串

启用/禁用 grease QUIC 位

选项

  • "disable"

  • "enable"

max_ack_delay

别名:max-ack-delay

整数

最大 ACK 延迟(毫秒)。

max_datagram_frame_size

别名:max-datagram-frame-size

整数

最大数据报帧大小(字节)。

max_idle_timeout

别名:max-idle-timeout

整数

最大空闲超时(毫秒)。

max_udp_payload_size

别名:max-udp-payload-size

整数

最大 UDP 有效负载大小(字节)。

realservers

列表 / 元素=字典

真实服务器。

addr_type

别名:addr-type

字符串

地址类型。

选项

  • "fqdn"

  • "ip"

address

字符串

真实服务器的地址或地址组。

domain

字符串

真实服务器的通配符域名。

external_auth

别名:external-auth

字符串

启用/禁用使用外部浏览器作为SAML用户身份验证的用户代理。

选项

  • "disable"

  • "enable"

health_check

别名:health-check

字符串

启用检查转发流量前真实服务器的响应能力。

选项

  • "disable"

  • "enable"

health_check_proto

别名:health-check-proto

字符串

轮询以确定服务器连接状态时要使用的健康检查监视器的协议。

选项

  • "ping"

  • "http"

  • "tcp-connect"

holddown_interval

别名:holddown-interval

字符串

启用/禁用保持计时器。

选项

  • "disable"

  • "enable"

http_host

别名:http-host

字符串

HTTP 头中的 HTTP 服务器域名。

id

整数

真实服务器ID。

ip

字符串

真实服务器的IP地址。

mappedport

任意

(列表或字符串)与真实服务器通信的端口。

port

整数

与真实服务器通信的端口。

ssh_client_cert

别名:ssh-client-cert

字符串

设置访问代理 SSH 客户端证书配置文件。

ssh_host_key

别名:ssh-host-key

任意

(列表或字符串)一个或多个服务器主机密钥。

ssh_host_key_validation

别名:ssh-host-key-validation

字符串

启用/禁用 SSH 真实服务器主机密钥验证。

选项

  • "disable"

  • "enable"

status

字符串

将真实服务器的状态设置为活动状态,以便它可以接受流量,或者设置为备用或禁用状态,以便没有流量……

选项

  • "active"

  • "standby"

  • "disable"

translate_host

别名:translate-host

字符串

启用/禁用将主机名/IP 从虚拟服务器转换到真实服务器。

选项

  • "disable"

  • "enable"

tunnel_encryption

别名:tunnel-encryption

字符串

隧道加密。

选项

  • "disable"

  • "enable"

type

字符串

TCP转发服务器类型。

选项

  • "tcp-forwarding"

  • "ssh"

weight

整数

真实服务器的权重。

saml_redirect

别名:saml-redirect

字符串

启用/禁用成功身份验证后的 SAML 重定向。

选项

  • "disable"

  • "enable"

saml_server

别名:saml-server

字符串

用于 VIP 身份验证的 SAML 服务提供商配置。

service

字符串

服务。

选项

  • "http"

  • "https"

  • "tcp-forwarding"

  • "samlsp"

  • "web-portal"

  • "saas"

ssl_algorithm

别名:ssl-algorithm

字符串

根据加密强度,允许用于 SSL 全模式会话服务器端的加密算法。

选项

  • "high"

  • "medium"

  • "low"

  • "custom"

ssl_cipher_suites

别名:ssl-cipher-suites

列表 / 元素=字典

SSL 密码套件。

cipher

字符串

密码套件名称。

选项

  • "TLS-RSA-WITH-RC4-128-MD5"

  • "TLS-RSA-WITH-RC4-128-SHA"

  • "TLS-RSA-WITH-DES-CBC-SHA"

  • "TLS-RSA-WITH-3DES-EDE-CBC-SHA"

  • "TLS-RSA-WITH-AES-128-CBC-SHA"

  • "TLS-RSA-WITH-AES-256-CBC-SHA"

  • "TLS-RSA-WITH-AES-128-CBC-SHA256"

  • "TLS-RSA-WITH-AES-256-CBC-SHA256"

  • "TLS-RSA-WITH-CAMELLIA-128-CBC-SHA"

  • "TLS-RSA-WITH-CAMELLIA-256-CBC-SHA"

  • "TLS-RSA-WITH-CAMELLIA-128-CBC-SHA256"

  • "TLS-RSA-WITH-CAMELLIA-256-CBC-SHA256"

  • "TLS-RSA-WITH-SEED-CBC-SHA"

  • "TLS-RSA-WITH-ARIA-128-CBC-SHA256"

  • "TLS-RSA-WITH-ARIA-256-CBC-SHA384"

  • "TLS-DHE-RSA-WITH-DES-CBC-SHA"

  • "TLS-DHE-RSA-WITH-3DES-EDE-CBC-SHA"

  • "TLS-DHE-RSA-WITH-AES-128-CBC-SHA"

  • "TLS-DHE-RSA-WITH-AES-256-CBC-SHA"

  • "TLS-DHE-RSA-WITH-AES-128-CBC-SHA256"

  • "TLS-DHE-RSA-WITH-AES-256-CBC-SHA256"

  • "TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA"

  • "TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA"

  • "TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA256"

  • "TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA256"

  • "TLS-DHE-RSA-WITH-SEED-CBC-SHA"

  • "TLS-DHE-RSA-WITH-ARIA-128-CBC-SHA256"

  • "TLS-DHE-RSA-WITH-ARIA-256-CBC-SHA384"

  • "TLS-ECDHE-RSA-WITH-RC4-128-SHA"

  • "TLS-ECDHE-RSA-WITH-3DES-EDE-CBC-SHA"

  • "TLS-ECDHE-RSA-WITH-AES-128-CBC-SHA"

  • "TLS-ECDHE-RSA-WITH-AES-256-CBC-SHA"

  • "TLS-ECDHE-RSA-WITH-CHACHA20-POLY1305-SHA256"

  • "TLS-ECDHE-ECDSA-WITH-CHACHA20-POLY1305-SHA256"

  • "TLS-DHE-RSA-WITH-CHACHA20-POLY1305-SHA256"

  • "TLS-DHE-RSA-WITH-AES-128-GCM-SHA256"

  • "TLS-DHE-RSA-WITH-AES-256-GCM-SHA384"

  • "TLS-DHE-DSS-WITH-AES-128-CBC-SHA"

  • "TLS-DHE-DSS-WITH-AES-256-CBC-SHA"

  • "TLS-DHE-DSS-WITH-AES-128-CBC-SHA256"

  • "TLS-DHE-DSS-WITH-AES-128-GCM-SHA256"

  • "TLS-DHE-DSS-WITH-AES-256-CBC-SHA256"

  • "TLS-DHE-DSS-WITH-AES-256-GCM-SHA384"

  • "TLS-ECDHE-RSA-WITH-AES-128-CBC-SHA256"

  • "TLS-ECDHE-RSA-WITH-AES-128-GCM-SHA256"

  • "TLS-ECDHE-RSA-WITH-AES-256-CBC-SHA384"

  • "TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384"

  • "TLS-ECDHE-ECDSA-WITH-AES-128-CBC-SHA"

  • "TLS-ECDHE-ECDSA-WITH-AES-128-CBC-SHA256"

  • "TLS-ECDHE-ECDSA-WITH-AES-128-GCM-SHA256"

  • "TLS-ECDHE-ECDSA-WITH-AES-256-CBC-SHA384"

  • "TLS-ECDHE-ECDSA-WITH-AES-256-GCM-SHA384"

  • "TLS-RSA-WITH-AES-128-GCM-SHA256"

  • "TLS-RSA-WITH-AES-256-GCM-SHA384"

  • "TLS-DHE-DSS-WITH-CAMELLIA-128-CBC-SHA"

  • "TLS-DHE-DSS-WITH-CAMELLIA-256-CBC-SHA"

  • "TLS-DHE-DSS-WITH-CAMELLIA-128-CBC-SHA256"

  • "TLS-DHE-DSS-WITH-CAMELLIA-256-CBC-SHA256"

  • "TLS-DHE-DSS-WITH-SEED-CBC-SHA"

  • "TLS-DHE-DSS-WITH-ARIA-128-CBC-SHA256"

  • "TLS-DHE-DSS-WITH-ARIA-256-CBC-SHA384"

  • "TLS-ECDHE-RSA-WITH-ARIA-128-CBC-SHA256"

  • "TLS-ECDHE-RSA-WITH-ARIA-256-CBC-SHA384"

  • "TLS-ECDHE-ECDSA-WITH-ARIA-128-CBC-SHA256"

  • "TLS-ECDHE-ECDSA-WITH-ARIA-256-CBC-SHA384"

  • "TLS-DHE-DSS-WITH-3DES-EDE-CBC-SHA"

  • "TLS-DHE-DSS-WITH-DES-CBC-SHA"

  • "TLS-AES-128-GCM-SHA256"

  • "TLS-AES-256-GCM-SHA384"

  • "TLS-CHACHA20-POLY1305-SHA256"

  • "TLS-ECDHE-ECDSA-WITH-AES-256-CBC-SHA"

priority

整数

SSL/TLS 密码套件优先级。

versions

列表 / 元素=字符串

密码套件可以使用的 SSL/TLS 版本。

选项

  • "tls-1.0"

  • "tls-1.1"

  • "tls-1.2"

  • "tls-1.3"

ssl_dh_bits

别名:ssl-dh-bits

字符串

在用于 RSA 加密的 SSL 会话的 Diffie-Hellman 交换中使用的位数。

选项

  • "768"

  • "1024"

  • "1536"

  • "2048"

  • "3072"

  • "4096"

ssl_max_version

别名:ssl-max-version

字符串

从服务器接受的最高 SSL/TLS 版本。

选项

  • "tls-1.0"

  • "tls-1.1"

  • "tls-1.2"

  • "tls-1.3"

ssl_min_version

别名:ssl-min-version

字符串

从服务器接受的最低 SSL/TLS 版本。

选项

  • "tls-1.0"

  • "tls-1.1"

  • "tls-1.2"

  • "tls-1.3"

ssl_renegotiation

别名:ssl-renegotiation

字符串

启用/禁用安全重新协商以符合 RFC 5746。

选项

  • "disable"

  • "enable"

ssl_vpn_web_portal

别名:ssl-vpn-web-portal

字符串

SSL-VPN 网页门户。

url_map

别名:url-map

字符串

要匹配的 URL 模式。

url_map_type

别名:url-map-type

字符串

url-map 的类型。

选项

  • "sub-string"

  • "wildcard"

  • "regex"

virtual_host

别名:virtual-host

字符串

虚拟主机。

forticloud_access_token

字符串

使用 FortiCloud API 访问令牌对 Ansible 客户端进行身份验证。

proposed_method

字符串

底层 Json RPC 请求的覆盖方法。

选项

  • "update"

  • "set"

  • "add"

rc_failed

列表 / 元素=整数

将覆盖失败条件的 rc 代码列表。

rc_succeeded

列表 / 元素=整数

将覆盖成功条件的 rc 代码列表。

state

字符串 / 必需

创建、更新或删除对象的指令。

选项

  • "present"

  • "absent"

workspace_locking_adom

字符串

在工作区模式下运行 FortiManager 时要锁定的 ADOM,值可以是全局和其他值,包括 root。

workspace_locking_timeout

整数

等待其他用户释放工作区锁的最大时间(秒)。

默认值: 300

注释

注意

  • 从 2.4.0 版本开始,所有输入参数都使用下划线命名约定 (snake_case)。请将诸如“var-name”之类的参数更改为“var_name”。旧的参数名称仍然可用,但您会收到弃用警告。您可以通过在 ansible.cfg 中设置 deprecation_warnings=False 来忽略此警告。

  • 此 FortiManager 模块支持在工作区锁定模式下运行,顶级参数 workspace_locking_adom 和 workspace_locking_timeout 有助于完成这项工作。

  • 要创建或更新对象,请使用 state present 指令。

  • 要删除对象,请使用 state absent 指令。

  • 通常,当返回非零 rc 时,运行一个模块可能会失败。您还可以使用参数 rc_failed 和 rc_succeeded 覆盖失败或成功的条件。

示例

- name: Example playbook (generated based on argument schema)
  hosts: fortimanagers
  connection: httpapi
  vars:
    ansible_httpapi_use_ssl: true
    ansible_httpapi_validate_certs: false
    ansible_httpapi_port: 443
  tasks:
    - name: Set API Gateway.
      fortinet.fortimanager.fmgr_firewall_accessproxy_apigateway:
        # bypass_validation: false
        workspace_locking_adom: <value in [global, custom adom including root]>
        workspace_locking_timeout: 300
        # rc_succeeded: [0, -2, -3, ...]
        # rc_failed: [-2, -3, ...]
        adom: <your own value>
        access_proxy: <your own value>
        state: present # <value in [present, absent]>
        firewall_accessproxy_apigateway:
          http_cookie_age: <integer>
          http_cookie_domain: <string>
          http_cookie_domain_from_host: <value in [disable, enable]>
          http_cookie_generation: <integer>
          http_cookie_path: <string>
          http_cookie_share: <value in [disable, same-ip]>
          https_cookie_secure: <value in [disable, enable]>
          id: <integer>
          ldb_method: <value in [static, round-robin, weighted, ...]>
          persistence: <value in [none, http-cookie]>
          realservers:
            -
              address: <string>
              health_check: <value in [disable, enable]>
              health_check_proto: <value in [ping, http, tcp-connect]>
              http_host: <string>
              id: <integer>
              ip: <string>
              mappedport: <list or string>
              port: <integer>
              status: <value in [active, standby, disable]>
              weight: <integer>
              addr_type: <value in [fqdn, ip]>
              domain: <string>
              holddown_interval: <value in [disable, enable]>
              ssh_client_cert: <string>
              ssh_host_key: <list or string>
              ssh_host_key_validation: <value in [disable, enable]>
              type: <value in [tcp-forwarding, ssh]>
              translate_host: <value in [disable, enable]>
              external_auth: <value in [disable, enable]>
              tunnel_encryption: <value in [disable, enable]>
          saml_server: <string>
          service: <value in [http, https, tcp-forwarding, ...]>
          ssl_algorithm: <value in [high, medium, low, ...]>
          ssl_cipher_suites:
            -
              cipher: <value in [TLS-RSA-WITH-RC4-128-MD5, TLS-RSA-WITH-RC4-128-SHA, TLS-RSA-WITH-DES-CBC-SHA, ...]>
              priority: <integer>
              versions:
                - "tls-1.0"
                - "tls-1.1"
                - "tls-1.2"
                - "tls-1.3"
          ssl_dh_bits: <value in [768, 1024, 1536, ...]>
          ssl_max_version: <value in [tls-1.0, tls-1.1, tls-1.2, ...]>
          ssl_min_version: <value in [tls-1.0, tls-1.1, tls-1.2, ...]>
          url_map: <string>
          url_map_type: <value in [sub-string, wildcard, regex]>
          virtual_host: <string>
          saml_redirect: <value in [disable, enable]>
          ssl_vpn_web_portal: <string>
          application: <list or string>
          ssl_renegotiation: <value in [disable, enable]>
          h2_support: <value in [disable, enable]>
          h3_support: <value in [disable, enable]>
          quic:
            ack_delay_exponent: <integer>
            active_connection_id_limit: <integer>
            active_migration: <value in [disable, enable]>
            grease_quic_bit: <value in [disable, enable]>
            max_ack_delay: <integer>
            max_datagram_frame_size: <integer>
            max_idle_timeout: <integer>
            max_udp_payload_size: <integer>

返回值

常见的返回值已在此处记录,以下是此模块特有的字段

描述

meta

字典

请求的结果。

返回:始终

request_url

字符串

请求的完整 URL。

返回:始终

示例: "/sys/login/user"

response_code

整数

API 请求的状态。

返回:始终

示例: 0

response_data

列表 / 元素=字符串

API 响应。

返回:始终

response_message

字符串

API 响应的描述性消息。

返回:始终

示例: "OK."

system_information

字典

目标系统的信息。

返回:始终

rc

整数

请求的状态。

返回:始终

示例: 0

version_check_warning

列表 / 元素=字符串

如果 playbook 中使用的参数不受当前 FortiManager 版本支持,则会发出警告。

返回:复杂

作者

  • 杜欣蔚 (@dux-fortinet)

  • 李星 (@lix-fortinet)

  • 薛杰 (@JieX19)

  • 郑琳 (@chillancezen)

  • 沈芳 (@fshen01)

  • 卢洪斌 (@fgtdev-hblu)