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

列表 / elements=字典

其他记帐服务器。

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

列表 / elements=字典

类属性名称。

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 启动记录中提取用户端点标识符的 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 服务器通信的源接口。源 system.interface.name。

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

整数

从 DHCP 侦听中检测交换机控制器计费消息 Framed-IP(秒)。

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

字符串

飞塔映像的版本号

返回值: 始终

示例: "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"

作者

  • Link Zheng (@chillancezen)

  • Jie Xue (@JieX19)

  • Hongbin Lu (@fgtdev-hblu)

  • Frank Shen (@frankshen01)

  • Miguel Angel Munoz (@mamunozgonzalez)

  • Nicolas Thomas (@thomnico)