f5networks.f5_modules.bigip_apm_acl 模块 – 管理用户定义的 APM ACL

注意

此模块是 f5networks.f5_modules 集合(版本 1.32.1)的一部分。

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

要安装它,请使用:ansible-galaxy collection install f5networks.f5_modules

要在 playbook 中使用它,请指定:f5networks.f5_modules.bigip_apm_acl

f5networks.f5_modules 1.0.0 新增

概要

  • 管理用户定义的 APM ACL。

参数

参数

注释

acl_order

整数

指定一个数字,指示此 ACL 相对于其他 ACL 的顺序。

如果未设置,设备将始终将 ACL 放置在最后一个创建的 ACL 之后。

数字越小,ACL 在总顺序中的位置越高,最小的数字 0 是最顶部的。

有效值范围介于 065535(包括两者)之间。

description

字符串

用户创建的 ACL 描述。

entries

列表 / 元素=字典

定义 ACL 匹配及其各自行为的访问控制条目。

规则作为参数放置到此参数的顺序决定了它们在 ACL 中的顺序,换句话说,更改相同元素的顺序会导致单元上的更改。

规则数量的变化总是会触发设备更改。这意味着用户输入将优先于设备上的内容。

action

字符串 / 必需

指定遇到此访问控制条目的匹配项时,访问控制条目所采取的操作。

选择

  • "allow"

  • "reject"

  • "discard"

  • "continue"

dst_addr

字符串

指定访问控制条目的目标 IP 地址。

当设置为 any 时,ACL 将匹配任何目标地址,在这种情况下,将忽略 dst_mask

dst_mask

字符串

可选参数,指定访问控制条目的目标网络掩码。

如果未指定且 dst_addr 不是 any,则 dst_addr 被视为主机地址。

dst_port

字符串

指定访问控制条目的目标端口。

可以设置为 * 以指示所有端口。

该参数与 dst_port_range 互斥。

dst_port_range

字符串

指定访问控制条目的目标端口范围。

该参数与 dst_port_range 互斥。

要指示所有端口,必须使用 dst_port 参数并将其设置为 *

host_name

字符串

此参数仅适用于第 7 层访问控制条目。

指定访问控制条目应用的主机。

log

字符串

指定发生此类操作时记录的日志级别。

none 时,它将不记录任何内容,这是默认操作。

packet 时,它将记录匹配的数据包。

选择

  • "none"

  • "packet"

paths

字符串

此参数仅适用于第 7 层访问控制条目。

指定访问控制条目应用的一个或多个路径。

protocol

字符串

此参数仅适用于第 4 层访问控制条目。

指定协议:tcpudpicmpall 协议,访问控制条目应用于这些协议。

选择

  • "tcp"

  • "icmp"

  • "udp"

  • "all"

scheme

字符串

此参数仅适用于第 7 层访问控制条目。

指定 URI 方案:httphttpsany,访问控制条目在此方案上运行。

选择

  • "http"

  • "https"

  • "any"

src_addr

字符串

指定访问控制条目的源 IP 地址。

当设置为 any 时,ACL 将匹配任何源地址,在这种情况下,将忽略 src_mask

src_mask

字符串

可选参数,指定访问控制条目的源网络掩码。

如果未指定且 src_addr 不是 any,则 src_addr 被视为主机地址。

src_port

字符串

指定访问控制条目的源端口。

可以设置为 * 以指示所有端口。

该参数与 src_port_range 互斥。

src_port_range

字符串

指定访问控制条目的源端口范围。

该参数与 src_port_range 互斥。

要指示所有端口,必须使用 src_port 参数并将其设置为 *

name

字符串 / 必需

指定要管理的 ACL 的名称。

partition

字符串

要在其上管理资源的设备分区。

默认值: "Common"

path_match_case

布尔值

指定在匹配访问控制条目中的路径时是否考虑字母大小写。

选择

  • false

  • true

provider

字典

在 f5networks.f5_modules 1.0.0 中添加

包含连接详细信息的字典对象。

auth_provider

字符串

配置身份验证提供程序以从远程设备获取身份验证令牌。

此选项在处理 BIG-IQ 设备时真正使用。

no_f5_teem

布尔值

如果为 yes,则不会将 TEEM 遥测数据发送到 F5。

您可以通过设置环境变量 F5_TELEMETRY_OFF 来省略此选项。

之前使用的变量 F5_TEEM 已弃用,因为它名称容易造成混淆。

选择

  • false ← (默认)

  • true

password

别名: pass, pwd

字符串 / 必需

用于连接 BIG-IP 或 BIG-IQ 的用户帐户的密码。

您可以通过设置环境变量 F5_PASSWORD 来省略此选项。

server

字符串 / 必需

BIG-IP 主机或 BIG-IQ 主机。

您可以通过设置环境变量 F5_SERVER 来省略此选项。

server_port

整数

BIG-IP 服务器端口。

您可以通过设置环境变量 F5_SERVER_PORT 来省略此选项。

默认值: 443

timeout

整数

指定与网络设备通信(连接或发送命令)的超时时间(以秒为单位)。如果在操作完成之前超过超时时间,模块将出错。

transport

字符串

配置连接到远程设备时使用的传输连接。

选择

  • "rest" ← (默认)

user

字符串 / 必需

用于连接到 BIG-IP 或 BIG-IQ 的用户名。此用户必须在设备上具有管理权限。

您可以通过设置环境变量 F5_USER 来省略此选项。

validate_certs

布尔值

如果为 no,则不验证 SSL 证书。仅在个人控制的使用自签名证书的站点上使用此选项。

您可以通过设置环境变量 F5_VALIDATE_CERTS 来省略此选项。

选择

  • false

  • true ← (默认)

state

字符串

statepresent 时,确保 ACL 存在。

stateabsent 时,确保 ACL 被删除。

选择

  • "present" ← (默认)

  • "absent"

type

字符串

指定要创建的 ACL 的类型。

一旦设置了类型,就无法更改。

选择

  • "static"

  • "dynamic"

注释

注意

  • 有关使用 Ansible 管理 F5 Networks 设备的更多信息,请参阅 https://ansible.org.cn/integrations/networks/f5

  • 需要 BIG-IP 软件版本 >= 12。

  • F5 模块仅操作 F5 产品的运行配置。为了确保 BIG-IP 特定配置持久保存到磁盘,请务必包含至少一个使用 f5networks.f5_modules.bigip_config 模块保存运行配置的任务。有关正确使用模块以保存运行配置的信息,请参阅该模块的文档。

示例

- name: Create a static ACL with L4 entries
  bigip_apm_acl:
    name: L4foo
    acl_order: 0
    type: static
    entries:
      - action: allow
        dst_port: '80'
        dst_addr: '192.168.1.1'
        src_port: '443'
        src_addr: '10.10.10.0'
        src_mask: '255.255.255.128'
        protocol: tcp
      - action: reject
        dst_port: '*'
        dst_addr: '192.168.1.1'
        src_port: '*'
        src_addr: '10.10.10.0'
        src_mask: '255.255.255.128'
        protocol: tcp
        log: packet
    provider:
      password: secret
      server: lb.mydomain.com
      user: admin
  delegate_to: localhost

- name: Create a static ACL with L7 entries
  bigip_apm_acl:
    name: L7foo
    acl_order: 1
    type: static
    path_match_case: false
    entries:
      - action: allow
        host_name: 'foobar.com'
        paths: '/shopfront'
        scheme: https
      - action: reject
        host_name: 'internal_foobar.com'
        paths: '/admin'
        scheme: any
        log: packet
    provider:
      password: secret
      server: lb.mydomain.com
      user: admin
  delegate_to: localhost

- name: Create a static ACL with L7/L4 entries
  bigip_apm_acl:
    name: L7L4foo
    acl_order: 2
    type: static
    path_match_case: false
    entries:
      - action: allow
        host_name: 'foobar.com'
        paths: '/shopfront'
        scheme: https
        dst_port: '8181'
        dst_addr: '192.168.1.1'
        protocol: tcp
      - action: reject
        dst_addr: '192.168.1.1'
        host_name: 'internal_foobar.com'
        paths: '/admin'
        scheme: any
        protocol: all
        log: packet
    provider:
      password: secret
      server: lb.mydomain.com
      user: admin
  delegate_to: localhost

- name: Modify a static ACL entries
  bigip_apm_acl:
    name: L4foo
    entries:
      - action: allow
        dst_port: '80'
        dst_addr: '192.168.1.1'
        src_port: '443'
        src_addr: '10.10.10.0'
        src_mask: '255.255.255.128'
        protocol: tcp
      - action: discard
        dst_port: '*'
        dst_addr: 192.168.1.1
        src_port: '*'
        src_addr: '10.10.10.0'
        src_mask: '255.2155.255.128'
        protocol: all
    provider:
      password: secret
      server: lb.mydomain.com
      user: admin
  delegate_to: localhost

- name: Remove static ACL
  bigip_apm_acl:
    name: L4foo
    state: absent
    provider:
      password: secret
      server: lb.mydomain.com
      user: admin
  delegate_to: localhost

返回值

通用返回值记录在此处,以下是此模块特有的字段

Key

描述

acl_order

整数

此 ACL 相对于其他 ACL 的顺序。

已返回: changed

示例: 10

description

字符串

ACL 的新描述。

已返回: changed

示例: "My ACL"

entries

complex

定义 ACL 匹配及其各自行为的访问控制条目。

已返回: changed

示例: "hash/dictionary of values"

action

字符串

当遇到此访问控制条目的匹配项时,访问控制条目所采取的操作。

已返回: changed

示例: "allow"

dst_addr

字符串

访问控制条目的目标 IP 地址。

已返回: changed

示例: "192.168.0.1"

dst_mask

字符串

访问控制条目的目标网络掩码。

已返回: changed

示例: "255.255.255.128"

dst_port

字符串

访问控制条目的目标端口。

已返回: changed

示例: "80"

dst_port_range

字符串

访问控制条目的目标端口范围。

已返回: changed

示例: "80-81"

host_name

字符串

访问控制条目应用到的主机。

已返回: changed

示例: "foobar.com"

log

字符串

发生此类操作时记录的日志级别。

已返回: changed

示例: "packet"

paths

字符串

访问控制条目应用到的路径。

已返回: changed

示例: "/fooshop"

protocol

字符串

访问控制条目应用的协议。

已返回: changed

示例: "tcp"

scheme

字符串

访问控制条目在其上运行的 URI 方案。

已返回: changed

示例: "https"

src_addr

字符串

访问控制条目的源 IP 地址。

已返回: changed

示例: "192.168.0.1"

src_mask

字符串

访问控制条目的源网络掩码。

已返回: changed

示例: "255.255.255.128"

src_port

字符串

访问控制条目的源端口。

已返回: changed

示例: "80"

src_port_range

字符串

访问控制条目的源端口范围。

已返回: changed

示例: "80-81"

path_match_case

布尔值

指定在匹配访问控制条目中的路径时是否考虑字母大小写。

已返回: changed

示例: true

type

字符串

要创建的 ACL 的类型。

已返回: changed

示例: "static"

作者

  • Wojciech Wypior (@wojtek0806)