fortinet.fortios.fortios_user_radius 模块 – 在 Fortinet 的 FortiOS 和 FortiGate 中配置 RADIUS 服务器条目。

注意

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

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

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

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

fortinet.fortios 2.0.0 中的新增功能

概要

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

要求

执行此模块的主机需要以下要求。

  • ansible>=2.15

参数

参数

注释

access_token

字符串

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

enable_log

布尔值

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

选项

  • false ← (默认)

  • true

member_path

字符串

要操作的成员属性路径。

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

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

member_state

字符串

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

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

选项

  • "present"

  • "absent"

state

字符串 / 必需

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

选项

  • "present"

  • "absent"

user_radius

字典

配置 RADIUS 服务器条目。

account_key_cert_field

字符串

定义证书中用于用户访问权限检查的主题标识字段。

选项

  • "othername"

  • "rfc822name"

  • "dnsname"

  • "cn"

account_key_processing

字符串

帐户密钥处理操作。FortiGate 将保留整个域或从主题标识中剥离域。

选项

  • "same"

  • "strip"

accounting_server

列表 / 元素=字典

其他会计服务器。

id

整数 / 必需

ID (0 - 4294967295)。参见 备注

interface

字符串

指定到达服务器的出站接口。源 system.interface.name。

interface_select_method

字符串

指定如何选择到达服务器的出站接口。

选项

  • "auto"

  • "sdwan"

  • "specify"

port

整数

RADIUS 会计端口号。

secret

字符串

密钥。

server

字符串

服务器 CN 域名或 IP 地址。

source_ip

字符串

与 RADIUS 服务器通信的源 IP 地址。

status

字符串

状态。

选项

  • "enable"

  • "disable"

acct_all_servers

字符串

启用/禁用向所有已配置的服务器发送会计消息。

选项

  • "enable"

  • "disable"

acct_interim_interval

整数

每次会计临时更新消息之间的秒数。

all_usergroup

字符串

启用/禁用自动将此 RADIUS 服务器包含在所有用户组中。

选项

  • "disable"

  • "enable"

auth_type

字符串

允许此 RADIUS 服务器使用的身份验证方法/协议。

选项

  • "auto"

  • "ms_chap_v2"

  • "ms_chap"

  • "chap"

  • "pap"

ca_cert

字符串

在 TLS 下信任的服务器 CA。源 vpn.certificate.ca.name。

call_station_id_type

字符串

呼叫和被叫站标识符类型配置,此选项不适用于 802.1x 身份验证。

选项

  • "legacy"

  • "IP"

  • "MAC"

class

列表 / 元素=字典

类属性名称。

name

字符串 / 必需

类名。

client_cert

字符串

在 TLS 下使用的客户端证书。源 vpn.certificate.local.name。

delimiter

字符串

配置用于分隔 SSO 属性中配置文件组名称的分隔符。

选项

  • "plus"

  • "comma"

group_override_attr_type

字符串

用于覆盖用户组信息的 RADIUS 属性类型。

选项

  • "filter-Id"

  • "class"

h3c_compatibility

字符串

启用/禁用与 H3C 的兼容性,这是一种执行身份验证安全检查的机制。

选项

  • "enable"

  • "disable"

interface

字符串

指定到达服务器的出站接口。源 system.interface.name。

interface_select_method

字符串

指定如何选择到达服务器的出站接口。

选项

  • "auto"

  • "sdwan"

  • "specify"

mac_case

字符串

MAC 身份验证大小写。

选项

  • "uppercase"

  • "lowercase"

mac_password_delimiter

字符串

MAC 身份验证密码分隔符。

选项

  • "hyphen"

  • "single-hyphen"

  • "colon"

  • "none"

mac_username_delimiter

字符串

MAC 身份验证用户名分隔符。

选项

  • "hyphen"

  • "single-hyphen"

  • "colon"

  • "none"

name

字符串 / 必需

RADIUS 服务器条目名称。

nas_id

字符串

自定义 NAS 标识符。

nas_id_type

字符串

NAS 标识符类型配置。

选项

  • "legacy"

  • "custom"

  • "hostname"

nas_ip

字符串

用于与 RADIUS 服务器通信并用作 NAS-IP-Address 和 Called-Station-ID 属性的 IP 地址。

password_encoding

字符串

密码编码。

选项

  • "auto"

  • "ISO-8859-1"

password_renewal

字符串

启用/禁用密码更新。

选项

  • "enable"

  • "disable"

radius_coa

字符串

启用允许一种机制在身份验证、授权和会计会话被身份验证后更改其属性。

选项

  • "enable"

  • "disable"

radius_port

整数

RADIUS 服务端口号。

rsso

字符串

启用/禁用基于 RADIUS 的单点登录功能。

选项

  • "enable"

  • "disable"

rsso_context_timeout

整数

注销用户从已登录用户的“用户上下文列表”中删除之前的秒数。

rsso_endpoint_attribute

字符串

用于从 RADIUS Start 记录中提取用户端点标识符的 RADIUS 属性。

选项

  • "User-Name"

  • "NAS-IP-Address"

  • "Framed-IP-Address"

  • "Framed-IP-Netmask"

  • "Filter-Id"

  • "Login-IP-Host"

  • "Reply-Message"

  • "Callback-Number"

  • "Callback-Id"

  • "Framed-Route"

  • "Framed-IPX-Network"

  • "Class"

  • "Called-Station-Id"

  • "Calling-Station-Id"

  • "NAS-Identifier"

  • "Proxy-State"

  • "Login-LAT-Service"

  • "Login-LAT-Node"

  • "Login-LAT-Group"

  • "Framed-AppleTalk-Zone"

  • "Acct-Session-Id"

  • "Acct-Multi-Session-Id"

rsso_endpoint_block_attribute

字符串

用于阻止用户的 RADIUS 属性。

选项

  • "User-Name"

  • "NAS-IP-Address"

  • "Framed-IP-Address"

  • "Framed-IP-Netmask"

  • "Filter-Id"

  • "Login-IP-Host"

  • "Reply-Message"

  • "Callback-Number"

  • "Callback-Id"

  • "Framed-Route"

  • "Framed-IPX-Network"

  • "Class"

  • "Called-Station-Id"

  • "Calling-Station-Id"

  • "NAS-Identifier"

  • "Proxy-State"

  • "Login-LAT-Service"

  • "Login-LAT-Node"

  • "Login-LAT-Group"

  • "Framed-AppleTalk-Zone"

  • "Acct-Session-Id"

  • "Acct-Multi-Session-Id"

rsso_ep_one_ip_only

字符串

启用/禁用在RADIUS计费开始消息中用新IP地址替换同一端点的旧IP地址。

选项

  • "enable"

  • "disable"

rsso_flush_ip_session

字符串

启用/禁用在RADIUS计费停止消息中清除用户IP会话。

选项

  • "enable"

  • "disable"

rsso_log_flags

列表 / 元素=字符串

要记录的事件。

选项

  • "protocol-error"

  • "profile-missing"

  • "accounting-stop-missed"

  • "accounting-event"

  • "endpoint-block"

  • "radiusd-other"

  • "none"

rsso_log_period

整数

动态配置文件事件将生成分组事件日志消息的时间间隔(秒)。

rsso_radius_response

字符串

启用/禁用在收到开始和停止记录后发送RADIUS响应数据包。

选项

  • "enable"

  • "disable"

rsso_radius_server_port

整数

用于监听RADIUS开始和停止记录的UDP端口。

rsso_secret

字符串

RADIUS计费服务器使用的RADIUS密钥。

rsso_validate_request_secret

字符串

启用/禁用验证开始或结束记录中的RADIUS请求共享密钥。

选项

  • "enable"

  • "disable"

secondary_secret

字符串

访问辅助服务器的密钥。

secondary_server

字符串

辅助RADIUS CN域名或IP地址。

secret

字符串

用于访问主RADIUS服务器的预共享密钥。

server

字符串

主RADIUS服务器CN域名或IP地址。

server_identity_check

字符串

启用/禁用RADIUS服务器身份检查(根据服务器证书验证服务器域名/IP地址)。

选项

  • "enable"

  • "disable"

source_ip

字符串

与 RADIUS 服务器通信的源 IP 地址。

source_ip_interface

字符串

与RADIUS服务器通信的源接口。源系统.接口.名称。

sso_attribute

字符串

包含要从RADIUS开始记录中提取的配置文件组名称的RADIUS属性。

选项

  • "User-Name"

  • "NAS-IP-Address"

  • "Framed-IP-Address"

  • "Framed-IP-Netmask"

  • "Filter-Id"

  • "Login-IP-Host"

  • "Reply-Message"

  • "Callback-Number"

  • "Callback-Id"

  • "Framed-Route"

  • "Framed-IPX-Network"

  • "Class"

  • "Called-Station-Id"

  • "Calling-Station-Id"

  • "NAS-Identifier"

  • "Proxy-State"

  • "Login-LAT-Service"

  • "Login-LAT-Node"

  • "Login-LAT-Group"

  • "Framed-AppleTalk-Zone"

  • "Acct-Session-Id"

  • "Acct-Multi-Session-Id"

sso_attribute_key

字符串

SSO属性中SSO组值的密钥前缀。

sso_attribute_value_override

字符串

启用/禁用用新值覆盖同一端点的旧属性值。

选项

  • "enable"

  • "disable"

status_ttl

整数

缓存服务器可达性的时间,以便当服务器不可达时,至少在此时间段内不会重试(0 = 禁用缓存)。

switch_controller_acct_fast_framedip_detect

整数

交换机控制器计费消息Framed-IP检测来自DHCP snooping(秒)。

switch_controller_nas_ip_dynamic

字符串

启用/禁用交换机控制器nas-ip动态设置以动态设置nas-ip。

选项

  • "enable"

  • "disable"

switch_controller_service_type

列表 / 元素=字符串

RADIUS服务类型。

选项

  • "login"

  • "framed"

  • "callback-login"

  • "callback-framed"

  • "outbound"

  • "administrative"

  • "nas-prompt"

  • "authenticate-only"

  • "callback-nas-prompt"

  • "call-check"

  • "callback-administrative"

tertiary_secret

字符串

访问第三台服务器的密钥。

tertiary_server

字符串

第三台RADIUS CN域名或IP地址。

timeout

整数

重试连接服务器的时间(秒)。

tls_min_proto_version

字符串

TLS连接支持的最小协议版本。

选项

  • "default"

  • "SSLv3"

  • "TLSv1"

  • "TLSv1.1"

  • "TLSv1.2"

  • "TLSv1.3"

transport_protocol

字符串

要使用的传输协议。

选项

  • "udp"

  • "tcp"

  • "tls"

use_management_vdom

字符串

启用/禁用使用管理VDOM发送请求。

选项

  • "enable"

  • "disable"

username_case_sensitive

字符串

启用/禁用区分大小写的用户名。

选项

  • "enable"

  • "disable"

vdom

字符串

虚拟域,在之前定义的那些域中。VDOM是FortiGate的虚拟实例,可以将其配置并用作不同的单元。

默认值: "root"

注释

注意

  • 旧的fortiosapi已弃用,httpapi是运行playbook的首选方式。

  • 该模块支持check_mode。

示例

- name: Configure RADIUS server entries.
  fortinet.fortios.fortios_user_radius:
      vdom: "{{ vdom }}"
      state: "present"
      access_token: "<your_own_value>"
      user_radius:
          account_key_cert_field: "othername"
          account_key_processing: "same"
          accounting_server:
              -
                  id: "6"
                  interface: "<your_own_value> (source system.interface.name)"
                  interface_select_method: "auto"
                  port: "0"
                  secret: "<your_own_value>"
                  server: "192.168.100.40"
                  source_ip: "84.230.14.43"
                  status: "enable"
          acct_all_servers: "enable"
          acct_interim_interval: "0"
          all_usergroup: "disable"
          auth_type: "auto"
          ca_cert: "<your_own_value> (source vpn.certificate.ca.name)"
          call_station_id_type: "legacy"
          class:
              -
                  name: "default_name_21"
          client_cert: "<your_own_value> (source vpn.certificate.local.name)"
          delimiter: "plus"
          group_override_attr_type: "filter-Id"
          h3c_compatibility: "enable"
          interface: "<your_own_value> (source system.interface.name)"
          interface_select_method: "auto"
          mac_case: "uppercase"
          mac_password_delimiter: "hyphen"
          mac_username_delimiter: "hyphen"
          name: "default_name_31"
          nas_id: "<your_own_value>"
          nas_id_type: "legacy"
          nas_ip: "<your_own_value>"
          password_encoding: "auto"
          password_renewal: "enable"
          radius_coa: "enable"
          radius_port: "0"
          rsso: "enable"
          rsso_context_timeout: "28800"
          rsso_endpoint_attribute: "User-Name"
          rsso_endpoint_block_attribute: "User-Name"
          rsso_ep_one_ip_only: "enable"
          rsso_flush_ip_session: "enable"
          rsso_log_flags: "protocol-error"
          rsso_log_period: "0"
          rsso_radius_response: "enable"
          rsso_radius_server_port: "1813"
          rsso_secret: "<your_own_value>"
          rsso_validate_request_secret: "enable"
          secondary_secret: "<your_own_value>"
          secondary_server: "<your_own_value>"
          secret: "<your_own_value>"
          server: "192.168.100.40"
          server_identity_check: "enable"
          source_ip: "84.230.14.43"
          source_ip_interface: "<your_own_value> (source system.interface.name)"
          sso_attribute: "User-Name"
          sso_attribute_key: "<your_own_value>"
          sso_attribute_value_override: "enable"
          status_ttl: "300"
          switch_controller_acct_fast_framedip_detect: "2"
          switch_controller_nas_ip_dynamic: "enable"
          switch_controller_service_type: "login"
          tertiary_secret: "<your_own_value>"
          tertiary_server: "<your_own_value>"
          timeout: "5"
          tls_min_proto_version: "default"
          transport_protocol: "udp"
          use_management_vdom: "enable"
          username_case_sensitive: "enable"

返回值

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

描述

build

字符串

FortiGate镜像的版本号

返回: 始终

示例: "1547"

http_method

字符串

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

返回: 始终

示例: "PUT"

http_status

字符串

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

返回: 始终

示例: "200"

mkey

字符串

上次调用FortiGate时使用的主密钥(ID)

返回: 成功

示例: "id"

name

字符串

用于完成请求的表的名称

返回: 始终

示例: "urlfilter"

path

字符串

用于完成请求的表的路径

返回: 始终

示例: "webfilter"

revision

字符串

内部修订号

返回: 始终

示例: "17.0.2.10658"

serial

字符串

设备的序列号

返回: 始终

示例: "FGVMEVYYQT3AB5352"

status

字符串

操作结果的指示

返回: 始终

示例: "success"

vdom

字符串

使用的虚拟域

返回: 始终

示例: "root"

version

字符串

FortiGate的版本

返回: 始终

示例: "v5.6.3"

作者

  • 郑琳 (@chillancezen)

  • 薛杰 (@JieX19)

  • 卢宏斌 (@fgtdev-hblu)

  • 沈峰 (@frankshen01)

  • Miguel Angel Munoz (@mamunozgonzalez)

  • Nicolas Thomas (@thomnico)