fortinet.fortimanager.fmgr_pkg_firewall_securitypolicy 模块 – 配置 NGFW IPv4/IPv6 应用策略。

注意

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

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

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

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

fortinet.fortimanager 2.1.0 中的新增功能

概要

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

  • 示例包含所有参数和值,在使用前需要根据数据源进行调整。

参数

参数

注释

access_token

字符串

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

adom

字符串 / 必需

请求 URL 中的参数 (adom)。

bypass_validation

布尔值

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

选项

  • false ← (默认)

  • true

enable_log

布尔值

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

选项

  • false ← (默认)

  • true

forticloud_access_token

字符串

使用 FortiCloud API 访问令牌验证 Ansible 客户端。

pkg

字符串 / 必需

请求 URL 中的参数 (pkg)。

pkg_firewall_securitypolicy

字典

设置的顶级参数。

_policy_block

整数

分配的策略块。

action

字符串

策略操作

选项

  • "deny"

  • "accept"

app_category

别名:app-category

任意

(列表或字符串) 应用类别 ID 列表。

app_group

别名:app-group

任意

(列表或字符串) 应用组名称。

application

任意

(列表) 应用 ID 列表。

application_list

别名:application-list

字符串

现有应用列表的名称。

av_profile

别名:av-profile

字符串

现有杀毒软件配置文件的名称。

casb_profile

别名:casb-profile

字符串

现有 CASB 配置文件的名称。

cifs_profile

别名:cifs-profile

字符串

现有 CIFS 配置文件的名称。

comments

字符串

注释。

diameter_filter_profile

别名:diameter-filter-profile

字符串

现有 Diameter 过滤配置文件的名称。

dlp_profile

别名:dlp-profile

字符串

现有 DLP 配置文件的名称。

dlp_sensor

别名:dlp-sensor

字符串

现有 DLP 传感器的名称。

dnsfilter_profile

别名:dnsfilter-profile

字符串

现有 DNS 过滤配置文件的名称。

dstaddr

任意

(列表或字符串) 目标 IPv4 地址名称和地址组名称。

dstaddr4

任意

(列表或字符串) 目标 IPv4 地址名称和地址组名称。

dstaddr6

任意

(列表或字符串) 目标 IPv6 地址名称和地址组名称。

dstaddr6_negate

别名:dstaddr6-negate

字符串

启用时,dstaddr6 指定目标地址不能是什么。

选项

  • "disable"

  • "enable"

dstaddr_negate

别名:dstaddr-negate

字符串

启用时,dstaddr/dstaddr6 指定目标地址不能是什么。

选项

  • "disable"

  • "enable"

dstintf

任意

(列表或字符串) 出站

emailfilter_profile

别名:emailfilter-profile

字符串

现有邮件过滤配置文件的名称。

enforce_default_app_port

别名:enforce-default-app-port

字符串

启用/禁用允许的应用程序的默认应用程序端口强制执行。

选项

  • "disable"

  • "enable"

file_filter_profile

别名:file-filter-profile

字符串

现有文件过滤器配置文件的名称。

fsso_groups

别名:fsso-groups

任意

(列表或字符串) FSSO 组的名称。

global_label

别名:global-label

字符串

GUI 处于全局视图模式时显示的策略标签。

groups

任意

(列表或字符串) 可以使用此策略进行身份验证的用户组名称。

icap_profile

别名:icap-profile

字符串

现有 ICAP 配置文件的名称。

internet_service

别名:internet-service

字符串

启用/禁用为此策略使用 Internet 服务。

选项

  • "disable"

  • "enable"

internet_service6

别名:internet-service6

字符串

启用/禁用为此策略使用 IPv6 Internet 服务。

选项

  • "disable"

  • "enable"

internet_service6_custom

别名:internet-service6-custom

任意

(列表) 自定义 IPv6 Internet 服务名称。

internet_service6_custom_group

别名:internet-service6-custom-group

任意

(列表) 自定义 IPv6 Internet 服务组名称。

internet_service6_group

别名: internet-service6-group

任意

(列表) Internet 服务组名称。

internet_service6_name

别名: internet-service6-name

任意

(列表) IPv6 Internet 服务名称。

internet_service6_negate

别名: internet-service6-negate

字符串

启用后,internet-service6 指定服务**不能**是什么。

选项

  • "disable"

  • "enable"

internet_service6_src

别名: internet-service6-src

字符串

启用/禁用在此策略的源中使用 IPv6 Internet 服务。

选项

  • "disable"

  • "enable"

internet_service6_src_custom

别名: internet-service6-src-custom

任意

(列表) 自定义 IPv6 Internet 服务源名称。

internet_service6_src_custom_group

别名: internet-service6-src-custom-group

任意

(列表) 自定义 Internet Service6 源组名称。

internet_service6_src_group

别名: internet-service6-src-group

任意

(列表) Internet Service6 源组名称。

internet_service6_src_name

别名: internet-service6-src-name

任意

(列表) IPv6 Internet 服务源名称。

internet_service6_src_negate

别名: internet-service6-src-negate

字符串

启用后,internet-service6-src 指定服务**不能**是什么。

选项

  • "disable"

  • "enable"

internet_service_custom

别名: internet-service-custom

任意

(列表或字符串) 自定义 Internet 服务名称。

internet_service_custom_group

别名: internet-service-custom-group

任意

(列表或字符串) 自定义 Internet 服务组名称。

internet_service_group

别名: internet-service-group

任意

(列表或字符串) Internet 服务组名称。

internet_service_id

别名: internet-service-id

任意

(列表或字符串) Internet 服务 ID。

internet_service_name

别名: internet-service-name

任意

(列表或字符串) Internet 服务名称。

internet_service_negate

别名: internet-service-negate

字符串

启用后,internet-service 指定服务**不能**是什么。

选项

  • "disable"

  • "enable"

internet_service_src

别名: internet-service-src

字符串

启用/禁用在此策略的源中使用 Internet 服务。

选项

  • "disable"

  • "enable"

internet_service_src_custom

别名: internet-service-src-custom

任意

(列表或字符串) 自定义 Internet 服务源名称。

internet_service_src_custom_group

别名: internet-service-src-custom-group

任意

(列表或字符串) 自定义 Internet 服务源组名称。

internet_service_src_group

别名: internet-service-src-group

任意

(列表或字符串) Internet 服务源组名称。

internet_service_src_id

别名: internet-service-src-id

任意

(列表或字符串) Internet 服务源 ID。

internet_service_src_name

别名: internet-service-src-name

任意

(列表或字符串) Internet 服务源名称。

internet_service_src_negate

别名: internet-service-src-negate

字符串

启用后,internet-service-src 指定服务**不能**是什么。

选项

  • "disable"

  • "enable"

ips_sensor

别名: ips-sensor

字符串

现有 IPS 传感器的名称。

ips_voip_filter

别名: ips-voip-filter

字符串

现有 VoIP 的名称。

learning_mode

别名: learning-mode

字符串

启用后允许所有内容,但记录所有有意义的数据以收集安全信息。

选项

  • "disable"

  • "enable"

logtraffic

字符串

启用或禁用日志记录。

选项

  • "disable"

  • "all"

  • "utm"

logtraffic_start

别名: logtraffic-start

字符串

会话开始时记录日志。

选项

  • "disable"

  • "enable"

mms_profile

别名: mms-profile

字符串

现有 MMS 配置文件的名称。

name

字符串

策略名称。

nat46

字符串

启用/禁用 NAT46。

选项

  • "disable"

  • "enable"

nat64

字符串

启用/禁用 NAT64。

选项

  • "disable"

  • "enable"

policyid

整数 / 必需

策略 ID。

profile_group

别名: profile-group

字符串

配置文件组的名称。

profile_protocol_options

别名: profile-protocol-options

字符串

现有协议选项配置文件的名称。

profile_type

别名: profile-type

字符串

确定防火墙策略是只允许安全配置文件组还是单个配置文件。

选项

  • "single"

  • "group"

schedule

字符串

调度名称。

sctp_filter_profile

别名: sctp-filter-profile

字符串

现有 SCTP 过滤器配置文件的名称。

send_deny_packet

别名: send-deny-packet

字符串

启用后,当会话被防火墙策略拒绝或阻止时发送回复。

选项

  • "disable"

  • "enable"

service

任意

(列表或字符串) 服务和服务组名称。

service_negate

别名: service-negate

字符串

启用后,service 指定服务**不能**是什么。

选项

  • "disable"

  • "enable"

srcaddr

任意

(列表或字符串) 源 IPv4 地址名称和地址组名称。

srcaddr4

任意

(列表或字符串) 源 IPv4 地址名称和地址组名称。

srcaddr6

任意

(列表或字符串) 源 IPv6 地址名称和地址组名称。

srcaddr6_negate

别名: srcaddr6-negate

字符串

启用后,srcaddr6 指定源地址**不能**是什么。

选项

  • "disable"

  • "enable"

srcaddr_negate

别名: srcaddr-negate

字符串

启用后,srcaddr/srcaddr6 指定源地址**不能**是什么。

选项

  • "disable"

  • "enable"

srcintf

任意

(列表或字符串) 入站

ssh_filter_profile

别名: ssh-filter-profile

字符串

现有 SSH 过滤器配置文件的名称。

ssl_ssh_profile

别名: ssl-ssh-profile

字符串

现有 SSL SSH 配置文件的名称。

status

字符串

启用或禁用此策略。

选项

  • "disable"

  • "enable"

url_category

别名: url-category

任意

(列表或字符串) URL 类别 ID 列表。

users

任意

(列表或字符串) 可以使用此策略进行身份验证的单个用户的名称。

utm_status

别名: utm-status

字符串

启用安全配置文件。

选项

  • "disable"

  • "enable"

uuid

字符串

通用唯一标识符

videofilter_profile

别名: videofilter-profile

字符串

现有 VideoFilter 配置文件的名称。

virtual_patch_profile

别名: virtual-patch-profile

字符串

现有虚拟补丁配置文件的名称。

voip_profile

别名: voip-profile

字符串

现有 VoIP 配置文件的名称。

webfilter_profile

别名: webfilter-profile

字符串

现有 Web 过滤器配置文件的名称。

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: Configure NGFW IPv4/IPv6 application policies.
      fortinet.fortimanager.fmgr_pkg_firewall_securitypolicy:
        # 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>
        pkg: <your own value>
        state: present # <value in [present, absent]>
        pkg_firewall_securitypolicy:
          action: <value in [deny, accept]>
          app_category: <list or string>
          app_group: <list or string>
          application: <list or integer>
          application_list: <string>
          av_profile: <string>
          cifs_profile: <string>
          comments: <string>
          dlp_sensor: <string>
          dnsfilter_profile: <string>
          dstaddr4: <list or string>
          dstaddr6: <list or string>
          dstintf: <list or string>
          emailfilter_profile: <string>
          enforce_default_app_port: <value in [disable, enable]>
          groups: <list or string>
          icap_profile: <string>
          internet_service: <value in [disable, enable]>
          internet_service_custom: <list or string>
          internet_service_custom_group: <list or string>
          internet_service_group: <list or string>
          internet_service_id: <list or string>
          internet_service_negate: <value in [disable, enable]>
          internet_service_src: <value in [disable, enable]>
          internet_service_src_custom: <list or string>
          internet_service_src_custom_group: <list or string>
          internet_service_src_group: <list or string>
          internet_service_src_id: <list or string>
          internet_service_src_negate: <value in [disable, enable]>
          ips_sensor: <string>
          logtraffic: <value in [disable, all, utm]>
          logtraffic_start: <value in [disable, enable]>
          mms_profile: <string>
          name: <string>
          policyid: <integer>
          profile_group: <string>
          profile_protocol_options: <string>
          profile_type: <value in [single, group]>
          schedule: <string>
          service: <list or string>
          service_negate: <value in [disable, enable]>
          srcaddr4: <list or string>
          srcaddr6: <list or string>
          srcintf: <list or string>
          ssh_filter_profile: <string>
          ssl_ssh_profile: <string>
          status: <value in [disable, enable]>
          url_category: <list or string>
          users: <list or string>
          utm_status: <value in [disable, enable]>
          uuid: <string>
          voip_profile: <string>
          webfilter_profile: <string>
          fsso_groups: <list or string>
          global_label: <string>
          send_deny_packet: <value in [disable, enable]>
          dstaddr: <list or string>
          internet_service_name: <list or string>
          internet_service_src_name: <list or string>
          srcaddr: <list or string>
          dstaddr_negate: <value in [disable, enable]>
          file_filter_profile: <string>
          srcaddr_negate: <value in [disable, enable]>
          learning_mode: <value in [disable, enable]>
          videofilter_profile: <string>
          _policy_block: <integer>
          dlp_profile: <string>
          nat46: <value in [disable, enable]>
          nat64: <value in [disable, enable]>
          sctp_filter_profile: <string>
          internet_service6: <value in [disable, enable]>
          internet_service6_custom: <list or string>
          internet_service6_custom_group: <list or string>
          internet_service6_group: <list or string>
          internet_service6_name: <list or string>
          internet_service6_negate: <value in [disable, enable]>
          internet_service6_src: <value in [disable, enable]>
          internet_service6_src_custom: <list or string>
          internet_service6_src_custom_group: <list or string>
          internet_service6_src_group: <list or string>
          internet_service6_src_name: <list or string>
          internet_service6_src_negate: <value in [disable, enable]>
          casb_profile: <string>
          diameter_filter_profile: <string>
          dstaddr6_negate: <value in [disable, enable]>
          ips_voip_filter: <string>
          srcaddr6_negate: <value in [disable, enable]>
          virtual_patch_profile: <string>

返回值

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

描述

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

列表 / 元素=字符串

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

返回:复杂类型

作者

  • 杜欣伟 (@dux-fortinet)

  • 李星 (@lix-fortinet)

  • 薛杰 (@JieX19)

  • 郑凌 (@chillancezen)

  • 沈峰 (@fshen01)

  • 陆洪斌 (@fgtdev-hblu)