fortinet.fortios.fortios_user_nac_policy 模块 – 配置 NAC 策略匹配模式,以在 Fortinet 的 FortiOS 和 FortiGate 中识别匹配的 NAC 设备。

注意

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

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

要安装它,请使用:ansible-galaxy collection install fortinet.fortios。您需要其他要求才能使用此模块,请参阅 要求 以了解详细信息。

要在 playbook 中使用它,请指定:fortinet.fortios.fortios_user_nac_policy

fortinet.fortios 2.0.0 中的新增功能

概要

  • 此模块能够通过允许用户设置和修改用户功能和 nac_policy 类别来配置 FortiGate 或 FortiOS (FOS) 设备。示例包括所有参数和值,需要在使用前调整为数据源。已使用 FOS v6.0.0 进行测试

要求

以下要求需要在执行此模块的主机上满足。

  • ansible>=2.15

参数

参数

注释

access_token

string

基于令牌的身份验证。从 FortiGate 的 GUI 生成。

enable_log

boolean

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

选项

  • false ← (默认)

  • true

member_path

string

要操作的成员属性路径。

如果存在多个属性,则用斜杠字符分隔。

标记有 member_path 的参数对于执行成员操作是合法的。

member_state

string

在指定的属性路径下添加或删除成员。

指定 member_state 时,将忽略 state 选项。

选项

  • "present"

  • "absent"

state

string / 必需

指示是创建还是删除对象。

选项

  • "present"

  • "absent"

user_nac_policy

dictionary

配置 NAC 策略匹配模式以识别匹配的 NAC 设备。

category

string

NAC 策略的类别。

选项

  • "device"

  • "firewall-user"

  • "ems-tag"

  • "fortivoice-tag"

  • "vulnerability"

description

string

NAC 策略匹配模式的描述。

ems_tag

string

NAC 策略匹配 EMS 标签。源 firewall.address.name。

family

string

NAC 策略匹配系列。

firewall_address

string

将与匹配此策略的 MAC 相关联的动态防火墙地址。源 firewall.address.name。

fortivoice_tag

string

NAC 策略匹配 FortiVoice 标签。源 firewall.address.name。

host

string

NAC 策略匹配主机。

hw_vendor

string

NAC 策略匹配硬件供应商。

hw_version

string

NAC 策略匹配硬件版本。

mac

string

NAC 策略匹配 MAC 地址。

match_period

integer

匹配的设备将保留的天数 (0 - 始终保留)

match_type

string

根据类型匹配并保留设备。

选项

  • "dynamic"

  • "override"

name

string / 必需

NAC 策略名称。

os

string

NAC 策略匹配操作系统。

severity

list / elements=dictionary

NAC 策略匹配设备漏洞严重性列表。

severity_num

integer / 必需

输入多个严重性级别,其中 0 = 信息,1 = 低,...,4 = 严重,请参阅 <a href=’#notes’>备注</a>。

src

string

NAC 策略匹配源。

ssid_policy

string

要在匹配的 NAC 策略上应用的 SSID 策略。源 wireless-controller.ssid-policy.name。

status

string

启用/禁用 NAC 策略。

选项

  • "enable"

  • "disable"

sw_version

string

NAC 策略匹配软件版本。

switch_auto_auth

string

在发现并匹配 nac-policy 时,NAC 设备自动授权。

选项

  • "global"

  • "disable"

  • "enable"

string

此 NAC 策略所属的 FortiLink 接口。源 system.interface.name。

switch_group

list / elements=dictionary

可以在其上应用 NAC 策略的托管 FortiSwitch 组的列表。

name

string / 必需

从可用选项中选择的托管 FortiSwitch 组名称。源 switch-controller.switch-group.name。

switch_mac_policy

string

要在匹配的 NAC 策略上应用的交换机 MAC 策略操作。源 switch-controller.mac-policy.name。

switch_port_policy

string

要在匹配的 NAC 策略上应用的交换机端口策略。源 switch-controller.port-policy.name。

switch_scope

list / elements=dictionary

可应用 NAC 策略的受管 FortiSwitch 列表。

switch_id

string / 必需

来自可用选项的受管 FortiSwitch 名称。源自 switch-controller.managed-switch.switch-id。

type

string

NAC 策略匹配类型。

user

string

NAC 策略匹配用户。

user_group

string

NAC 策略匹配用户组。源自 user.group.name。

vdom

string

虚拟域,在先前定义的域中选择。vdom 是 FortiGate 的一个虚拟实例,可以配置并用作不同的单元。

默认值: "root"

注释

注意

  • 传统的 fortiosapi 已被弃用,httpapi 是运行 playbook 的首选方式

  • 该模块支持 check_mode。

示例

- name: Configure NAC policy matching pattern to identify matching NAC devices.
  fortinet.fortios.fortios_user_nac_policy:
      vdom: "{{ vdom }}"
      state: "present"
      access_token: "<your_own_value>"
      user_nac_policy:
          category: "device"
          description: "<your_own_value>"
          ems_tag: "<your_own_value> (source firewall.address.name)"
          family: "<your_own_value>"
          firewall_address: "<your_own_value> (source firewall.address.name)"
          fortivoice_tag: "<your_own_value> (source firewall.address.name)"
          host: "myhostname"
          hw_vendor: "<your_own_value>"
          hw_version: "<your_own_value>"
          mac: "<your_own_value>"
          match_period: "0"
          match_type: "dynamic"
          name: "default_name_15"
          os: "<your_own_value>"
          severity:
              -
                  severity_num: "<you_own_value>"
          src: "<your_own_value>"
          ssid_policy: "<your_own_value> (source wireless-controller.ssid-policy.name)"
          status: "enable"
          sw_version: "<your_own_value>"
          switch_auto_auth: "global"
          switch_fortilink: "<your_own_value> (source system.interface.name)"
          switch_group:
              -
                  name: "default_name_26 (source switch-controller.switch-group.name)"
          switch_mac_policy: "<your_own_value> (source switch-controller.mac-policy.name)"
          switch_port_policy: "<your_own_value> (source switch-controller.port-policy.name)"
          switch_scope:
              -
                  switch_id: "<your_own_value> (source switch-controller.managed-switch.switch-id)"
          type: "<your_own_value>"
          user: "<your_own_value>"
          user_group: "<your_own_value> (source user.group.name)"

返回值

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

描述

build

string

FortiGate 镜像的构建号

返回值: 总是

示例: "1547"

http_method

string

上次用于将内容配置到 FortiGate 的方法

返回值: 总是

示例: "PUT"

http_status

string

FortiGate 在上次应用的操作中给出的最后结果

返回值: 总是

示例: "200"

mkey

string

上次调用 FortiGate 时使用的主键(id)

返回值: 成功

示例: "id"

name

string

用于满足请求的表名称

返回值: 总是

示例: "urlfilter"

path

string

用于满足请求的表的路径

返回值: 总是

示例: "webfilter"

revision

string

内部修订号

返回值: 总是

示例: "17.0.2.10658"

serial

string

设备的序列号

返回值: 总是

示例: "FGVMEVYYQT3AB5352"

status

string

操作结果的指示

返回值: 总是

示例: "success"

vdom

string

使用的虚拟域

返回值: 总是

示例: "root"

version

string

FortiGate 的版本

返回值: 总是

示例: "v5.6.3"

作者

  • Link Zheng (@chillancezen)

  • Jie Xue (@JieX19)

  • Hongbin Lu (@fgtdev-hblu)

  • Frank Shen (@frankshen01)

  • Miguel Angel Munoz (@mamunozgonzalez)

  • Nicolas Thomas (@thomnico)