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

字符串 / 必需

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

选项

  • "允许"

  • "拒绝"

  • "丢弃"

  • "继续"

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 时,它将记录匹配的数据包。

选项

  • "无"

  • "数据包"

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)