fortinet.fortimanager.fmgr_pkg_user_nacpolicy 模块 – 配置 NAC 策略匹配模式以识别匹配的 NAC 设备。

注意

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

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

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

要在 playbook 中使用它,请指定:fortinet.fortimanager.fmgr_pkg_user_nacpolicy

fortinet.fortimanager 2.2.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_user_nacpolicy

字典

顶层参数集。

category

字符串

NAC 策略的类别。

选项

  • "设备"

  • "防火墙用户"

  • "EMS 标签"

  • "漏洞"

  • "FortiVoice 标签"

description

字符串

NAC 策略匹配模式的描述。

ems_tag

别名:ems-tag

字符串

NAC 策略匹配 EMS 标签。

family

字符串

NAC 策略匹配系列。

firewall_address

别名:firewall-address

任何

(列表)与匹配此策略的 MAC 关联的动态防火墙地址。

fortivoice_tag

别名:fortivoice-tag

任何

(列表)NAC 策略匹配 FortiVoice 标签。

host

字符串

NAC 策略匹配主机。

hw_vendor

别名:hw-vendor

字符串

NAC 策略匹配硬件供应商。

hw_version

别名:hw-version

字符串

NAC 策略匹配硬件版本。

mac

字符串

NAC 策略匹配 MAC 地址。

match_period

别名:match-period

整数

匹配设备将被保留的天数

match_type

别名:match-type

字符串

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

选项

  • "动态"

  • "覆盖"

name

字符串 / 必填

NAC 策略名称。

os

字符串

NAC 策略匹配操作系统。

severity

任何

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

src

字符串

NAC 策略匹配源。

ssid_policy

别名:ssid-policy

字符串

要应用于匹配的 NAC 策略的 SSID 策略。

status

字符串

启用/禁用 NAC 策略。

选项

  • "禁用"

  • "启用"

sw_version

别名:sw-version

字符串

NAC 策略匹配软件版本。

switch_auto_auth

别名:switch-auto-auth

字符串

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

选项

  • "禁用"

  • "启用"

  • "全局"

switch_fortilink

别名:switch-fortilink

任何

(列表)

支持元变量

此 NAC 策略所属的 FortiLink 接口。

switch_group

别名:switch-group

任何

(列表)

支持元变量

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

switch_mac_policy

别名:switch-mac-policy

任何

(列表)要应用于匹配的 NAC 策略的交换机 MAC 策略操作。

switch_port_policy

别名:switch-port-policy

任何

(列表)要应用于匹配的 NAC 策略的交换机端口策略。

switch_scope

别名:switch-scope

任何

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

类型

字符串

NAC 策略匹配类型。

用户

字符串

NAC 策略匹配用户。

user_group

别名: user-group

字符串

NAC 策略匹配用户组。

proposed_method

字符串

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

选项

  • "update"

  • "set"

  • "add"

rc_failed

list / elements=integer

将覆盖失败条件的返回码列表。

rc_succeeded

list / elements=integer

将覆盖成功条件的返回码列表。

state

字符串 / 必填

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

选项

  • "present"

  • "absent"

workspace_locking_adom

字符串

在工作区模式下运行的 FortiManager 的锁定 ADOM,该值可以是 global 和其他(包括 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 NAC policy matching pattern to identify matching NAC devices.
      fortinet.fortimanager.fmgr_pkg_user_nacpolicy:
        # 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_user_nacpolicy:
          category: <value in [device, firewall-user, ems-tag, ...]>
          description: <string>
          ems_tag: <string>
          family: <string>
          host: <string>
          hw_vendor: <string>
          hw_version: <string>
          mac: <string>
          name: <string>
          os: <string>
          src: <string>
          ssid_policy: <string>
          status: <value in [disable, enable]>
          sw_version: <string>
          type: <string>
          user: <string>
          user_group: <string>
          severity: <list or integer>
          firewall_address: <list or string>
          fortivoice_tag: <list or string>
          match_period: <integer>
          match_type: <value in [dynamic, override]>
          switch_fortilink: <list or string>
          switch_group: <list or string>
          switch_mac_policy: <list or string>
          switch_scope: <list or string>
          switch_port_policy: <list or string>
          switch_auto_auth: <value in [disable, enable, global]>

返回值

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

描述

meta

字典

请求的结果。

返回: 始终

request_url

字符串

请求的完整 URL。

返回: 始终

示例: "/sys/login/user"

response_code

整数

API 请求的状态。

返回: 始终

示例: 0

response_data

list / elements=string

API 响应。

返回: 始终

response_message

字符串

API 响应的描述性消息。

返回: 始终

示例: "OK."

system_information

字典

目标系统的信息。

返回: 始终

rc

整数

请求的状态。

返回: 始终

示例: 0

version_check_warning

list / elements=string

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

返回: 复杂

作者

  • Xinwei Du (@dux-fortinet)

  • Xing Li (@lix-fortinet)

  • Jie Xue (@JieX19)

  • Link Zheng (@chillancezen)

  • Frank Shen (@fshen01)

  • Hongbin Lu (@fgtdev-hblu)