:source: fortios_user_nac_policy.py
:orphan:
.. fortios_user_nac_policy:
fortios_user_nac_policy -- Configure NAC policy matching pattern to identify matching NAC devices in Fortinet's FortiOS and FortiGate.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
.. versionadded:: 2.0.0
.. contents::
:local:
:depth: 1
Synopsis
--------
- This module is able to configure a FortiGate or FortiOS (FOS) device by allowing the user to set and modify user feature and nac_policy category. Examples include all parameters and values need to be adjusted to datasources before usage. Tested with FOS v6.0.0
Requirements
------------
The below requirements are needed on the host that executes this module.
- ansible>=2.16
Tips
----
Using member operation to add an element to an existing object.
FortiOS Version Compatibility
-----------------------------
Supported Version Ranges: v6.4.0 -> v7.6.6
Parameters
----------
.. raw:: html
- access_token - Token-based authentication. Generated from GUI of Fortigate. type: str required: false
- enable_log - Enable/Disable logging for task. type: bool required: false default: False
- vdom - Virtual domain, among those defined previously. A vdom is a virtual instance of the FortiGate that can be configured and used as a different unit. type: str default: root
- member_path - Member attribute path to operate on. type: str
- member_state - Add or delete a member under specified attribute path. type: str choices: present, absent
- state - Indicates whether to create or remove the object. type: str required: true choices: present, absent
- user_nac_policy - Configure NAC policy matching pattern to identify matching NAC devices. type: dict
more...
| Supported Version Ranges |
| user_nac_policy |
v6.4.0 -> 7.6.6 |
- category - Category of NAC policy. type: str choices: device, firewall-user, ems-tag, fortivoice-tag, vulnerability
more...
|
Supported Version Ranges |
| category |
v6.4.0 -> 7.6.6 |
| [device] |
v6.4.0 -> 7.6.6 |
| [firewall-user] |
v6.4.0 -> 7.6.6 |
| [ems-tag] |
v6.4.0 -> v6.4.0 |
v6.4.4 -> 7.6.6 |
| [fortivoice-tag] |
v7.4.4 -> 7.6.6 |
| [vulnerability] |
v7.4.0 -> 7.6.6 |
- description - Description for the NAC policy matching pattern. type: str
more...
|
Supported Version Ranges |
| description |
v6.4.0 -> 7.6.6 |
- ems_tag - NAC policy matching EMS tag. Source firewall.address.name. type: str
more...
|
Supported Version Ranges |
| ems_tag |
v6.4.0 -> v6.4.0 |
v6.4.4 -> 7.6.6 |
- family - NAC policy matching family. type: str
more...
|
Supported Version Ranges |
| family |
v6.4.0 -> 7.6.6 |
- firewall_address - Dynamic firewall address to associate MAC which match this policy. Source firewall.address.name. type: str
more...
|
Supported Version Ranges |
| firewall_address |
v7.0.1 -> 7.6.6 |
- fortivoice_tag - NAC policy matching FortiVoice tag. Source firewall.address.name. type: str
more...
|
Supported Version Ranges |
| fortivoice_tag |
v7.4.4 -> 7.6.6 |
- host - NAC policy matching host. type: str
more...
|
Supported Version Ranges |
| host |
v6.4.0 -> 7.6.6 |
- hw_vendor - NAC policy matching hardware vendor. type: str
more...
|
Supported Version Ranges |
| hw_vendor |
v6.4.0 -> 7.6.6 |
- hw_version - NAC policy matching hardware version. type: str
more...
|
Supported Version Ranges |
| hw_version |
v6.4.0 -> 7.6.6 |
- mac - NAC policy matching MAC address. type: str
more...
|
Supported Version Ranges |
| mac |
v6.4.0 -> 7.6.6 |
- match_period - Number of days the matched devices will be retained (0 - always retain) type: int
more...
|
Supported Version Ranges |
| match_period |
v7.4.4 -> 7.6.6 |
- match_remove - Options to remove the matched override devices. type: str choices: default, link-down
more...
|
Supported Version Ranges |
| match_remove |
v7.6.3 -> 7.6.6 |
| [default] |
v7.6.3 -> 7.6.6 |
| [link-down] |
v7.6.3 -> 7.6.6 |
- match_type - Match and retain the devices based on the type. type: str choices: dynamic, override
more...
|
Supported Version Ranges |
| match_type |
v7.4.4 -> 7.6.6 |
| [dynamic] |
v7.4.4 -> 7.6.6 |
| [override] |
v7.4.4 -> 7.6.6 |
- name - NAC policy name. type: str required: true
more...
|
Supported Version Ranges |
| name |
v6.4.0 -> 7.6.6 |
- os - NAC policy matching operating system. type: str
more...
|
Supported Version Ranges |
| os |
v6.4.0 -> 7.6.6 |
- severity - NAC policy matching devices vulnerability severity lists. type: list member_path: severity:severity_num
more...
| Supported Version Ranges |
| severity |
v7.4.0 -> 7.6.6 |
- severity_num - Enter multiple severity levels, where 0 = Info, 1 = Low, ..., 4 = Critical see Notes. type: int required: true
more...
|
Supported Version Ranges |
| severity_num |
v7.4.0 -> 7.6.6 |
- src - NAC policy matching source. type: str
more...
|
Supported Version Ranges |
| src |
v6.4.0 -> 7.6.6 |
- ssid_policy - SSID policy to be applied on the matched NAC policy. Source wireless-controller.ssid-policy.name. type: str
more...
|
Supported Version Ranges |
| ssid_policy |
v7.0.0 -> 7.6.6 |
- status - Enable/disable NAC policy. type: str choices: enable, disable
more...
|
Supported Version Ranges |
| status |
v6.4.0 -> 7.6.6 |
| [enable] |
v6.4.0 -> 7.6.6 |
| [disable] |
v6.4.0 -> 7.6.6 |
- sw_version - NAC policy matching software version. type: str
more...
|
Supported Version Ranges |
| sw_version |
v6.4.0 -> 7.6.6 |
- switch_auto_auth - NAC device auto authorization when discovered and nac-policy matched. type: str choices: global, disable, enable
more...
|
Supported Version Ranges |
| switch_auto_auth |
v6.4.0 -> v6.4.4 |
| [global] |
v6.4.0 -> v6.4.4 |
| [disable] |
v6.4.0 -> v6.4.4 |
| [enable] |
v6.4.0 -> v6.4.4 |
- switch_fortilink - FortiLink interface for which this NAC policy belongs to. Source system.interface.name. type: str
more...
|
Supported Version Ranges |
| switch_fortilink |
v6.4.0 -> 7.6.6 |
- switch_group - List of managed FortiSwitch groups on which NAC policy can be applied. type: list member_path: switch_group:name
more...
| Supported Version Ranges |
| switch_group |
v7.0.2 -> 7.6.6 |
- name - Managed FortiSwitch group name from available options. Source switch-controller.switch-group.name. type: str required: true
more...
|
Supported Version Ranges |
| name |
v7.0.2 -> 7.6.6 |
- switch_mac_policy - Switch MAC policy action to be applied on the matched NAC policy. Source switch-controller.mac-policy.name. type: str
more...
|
Supported Version Ranges |
| switch_mac_policy |
v6.4.0 -> 7.6.6 |
- switch_port_policy - switch-port-policy to be applied on the matched NAC policy. Source switch-controller.port-policy.name. type: str
more...
|
Supported Version Ranges |
| switch_port_policy |
v6.4.0 -> v6.4.4 |
- switch_scope - List of managed FortiSwitches on which NAC policy can be applied. type: list member_path: switch_scope:switch_id
more...
| Supported Version Ranges |
| switch_scope |
v6.4.0 -> v7.0.1 |
- switch_id - Managed FortiSwitch name from available options. Source switch-controller.managed-switch.switch-id. type: str required: true
more...
|
Supported Version Ranges |
| switch_id |
v6.4.0 -> v7.0.1 |
- type - NAC policy matching type. type: str
more...
|
Supported Version Ranges |
| type |
v6.4.0 -> 7.6.6 |
- user - NAC policy matching user. type: str
more...
|
Supported Version Ranges |
| user |
v6.4.0 -> 7.6.6 |
- user_group - NAC policy matching user group. Source user.group.name. type: str
more...
|
Supported Version Ranges |
| user_group |
v6.4.0 -> 7.6.6 |
Notes
-----
.. note::
- Legacy fortiosapi has been deprecated, httpapi is the preferred way to run playbooks
- The module supports check_mode.
Examples
--------
.. code-block:: yaml+jinja
- name: Configure NAC policy matching pattern to identify matching NAC devices.
fortinet.fortios.fortios_user_nac_policy:
vdom: "{{ vdom }}"
state: "present"
access_token: ""
user_nac_policy:
category: "device"
description: ""
ems_tag: " (source firewall.address.name)"
family: ""
firewall_address: " (source firewall.address.name)"
fortivoice_tag: " (source firewall.address.name)"
host: "myhostname"
hw_vendor: ""
hw_version: ""
mac: ""
match_period: "0"
match_remove: "default"
match_type: "dynamic"
name: "default_name_16"
os: ""
severity:
-
severity_num: ""
src: ""
ssid_policy: " (source wireless-controller.ssid-policy.name)"
status: "enable"
sw_version: ""
switch_auto_auth: "global"
switch_fortilink: " (source system.interface.name)"
switch_group:
-
name: "default_name_27 (source switch-controller.switch-group.name)"
switch_mac_policy: " (source switch-controller.mac-policy.name)"
switch_port_policy: " (source switch-controller.port-policy.name)"
switch_scope:
-
switch_id: " (source switch-controller.managed-switch.switch-id)"
type: ""
user: ""
user_group: " (source user.group.name)"
Return Values
-------------
Common return values are documented: https://docs.ansible.com/ansible/latest/reference_appendices/common_return_values.html#common-return-values, the following are the fields unique to this module:
.. raw:: html
- build - Build number of the fortigate image returned: always type: str sample: 1547
- http_method - Last method used to provision the content into FortiGate returned: always type: str sample: PUT
- http_status - Last result given by FortiGate on last operation applied returned: always type: str sample: 200
- mkey - Master key (id) used in the last call to FortiGate returned: success type: str sample: id
- name - Name of the table used to fulfill the request returned: always type: str sample: urlfilter
- path - Path of the table used to fulfill the request returned: always type: str sample: webfilter
- revision - Internal revision number returned: always type: str sample: 17.0.2.10658
- serial - Serial number of the unit returned: always type: str sample: FGVMEVYYQT3AB5352
- status - Indication of the operation's result returned: always type: str sample: success
- vdom - Virtual domain used returned: always type: str sample: root
- version - Version of the FortiGate returned: always type: str sample: v5.6.3
Status
------
- This module is not guaranteed to have a backwards compatible interface.
Authors
-------
- Link Zheng (@chillancezen)
- Jie Xue (@JieX19)
- Hongbin Lu (@fgtdev-hblu)
- Frank Shen (@frankshen01)
- Miguel Angel Munoz (@mamunozgonzalez)
- Nicolas Thomas (@thomnico)
.. hint::
If you notice any issues in this documentation, you can create a pull request to improve it.