f5networks.f5_modules.bigip_device_certificate 模块 – 管理自签名设备证书

注意

此模块是 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_device_certificate

f5networks.f5_modules 1.0.0 中的新增功能

概要

  • 用于为 BIG-IP 创建和/或更新自签名设备证书的模块。

参数

参数

注释

add_to_trusted

布尔值

指定是否应将证书添加到受信任的客户端和服务器证书文件。

选项

  • false ← (默认)

  • true

cert_name

字符串

指定证书文件的完整名称。

如果名称不是默认的 server.crt,模块将在重新启动 httpd 守护程序之前配置 httpd 以使用它们。

默认值: "server.crt"

days_valid

整数 / 必需

指定自签名证书有效的间隔。

最大值为 25 年:9125

force

布尔值

true 时,将在设备上未过期时更新或覆盖现有证书。

false 时,只有在过期时才会更新/覆盖证书。

通常情况下,只有在需要更新即将过期的证书的情况下才应为 true

生成新证书以替换未过期的证书时,也需要此选项。

选项

  • false ← (默认)

  • true

issuer

字典

生成新证书时所需的证书属性。

common_name

字符串

指定证书的通用名称属性。

country

字符串

指定证书的国家/地区名称属性。

division

字符串

指定证书的部门名称属性。

email

字符串

指定域管理员的电子邮件地址。

locality

字符串

指定证书的城市或城镇名称。

organization

字符串

指定证书的组织属性。

state

字符串

指定证书的州或省份属性。

key_name

字符串

指定密钥文件的完整名称。

如果名称不是默认的 server.key,模块将在重新启动 httpd 守护程序之前配置 httpd 以使用它们。

默认值: "server.key"

key_size

整数

指定所需的密钥大小(以位为单位)。

生成新证书时的必填选项。

选项

  • 512

  • 1024

  • 2048 ← (默认)

  • 4096

new_cert

布尔值

指定模块是否应生成新证书。

true 时,设备证书和密钥将被替换。

选项

  • false ← (默认)

  • true

provider

字典

f5networks.f5_modules 1.0.0 中新增

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

auth_provider

字符串

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

此选项在使用 BIG-IQ 设备时非常有用。

no_f5_teem

布尔值

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

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

以前使用的变量 F5_TEEM 已弃用,因为其名称令人困惑。

选项

  • false ← (默认)

  • true

password

别名:pass、pwd

字符串 / 必需

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

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

server

字符串 / 必需

BIG-IP 主机。

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

server_port

整数

BIG-IP 服务器端口。

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

默认值: 22

ssh_keyfile

路径

指定用于验证与远程设备连接的 SSH 密钥文件。此参数仅用于 *cli* 传输。

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

超时时间

整数

指定与网络设备通信的超时时间(秒),包括连接和发送命令。如果在操作完成之前超时,模块将报错。

传输方式

字符串

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

选项

  • "cli" ← (默认)

用户名

字符串 / 必需

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

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

验证证书

布尔值

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

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

选项

  • false

  • true ← (默认)

注释

注意

  • 使用此模块时,请确保SSH类型未设置为libssh。为此,您可以设置环境变量,例如ANSIBLE_NETWORK_CLI_SSH_TYPE=paramiko,或者在ansible.cfg文件的persistent_connection部分下设置add ssh_type = paramiko

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

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

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

示例

- name: Update expired certificate
  bigip_device_certificate:
    days_valid: 365
    provider:
      password: secret
      server: lb.mydomain.com
      user: admin
      transport: cli
      server_port: 22
  delegate_to: localhost

- name: Update expired certificate non-default names
  bigip_device_certificate:
    days_valid: 60
    cert_name: custom.crt
    key_name: custom.key
    provider:
      password: secret
      server: lb.mydomain.com
      user: admin
      transport: cli
      server_port: 22
  delegate_to: localhost

- name: Force update not expired certificate
  bigip_device_certificate:
    days_valid: 365
    force: true
    provider:
      password: secret
      server: lb.mydomain.com
      user: admin
      transport: cli
      server_port: 22
  delegate_to: localhost

- name: Create a new certificate to replace expired certificate
  bigip_device_certificate:
    days_valid: 365
    new_cert: true
    issuer:
      country: US
      state: WA
      common_name: foobar.foo.local
    provider:
      password: secret
      server: lb.mydomain.com
      user: admin
      transport: cli
      server_port: 22
  delegate_to: localhost

- name: Force create a new custom named certificate to replace not expired certificate
  bigip_device_certificate:
    days_valid: 365
    cert_name: custom.crt
    key_name: custom.key
    new_cert: true
    force: true
    issuer:
      country: US
      state: WA
      common_name: foobar.foo.local
    key_size: 2048
    provider:
      password: secret
      server: lb.mydomain.com
      user: admin
      transport: cli
      server_port: 22
  delegate_to: localhost

返回值

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

密钥

描述

cert_name

字符串

证书文件的完整名称。

返回值:changed

示例:"common.crt"

days_valid

整数

自签名证书的有效期(天)。

返回值:changed

示例:365

issuer

复杂属性

指定证书属性。

返回值:changed

common_name

字符串

证书的通用名称属性。

返回值:changed

示例:"foo.bar.local"

country

字符串

证书的国家名称属性。

返回值:changed

示例:"US"

division

字符串

证书的部门名称属性。

返回值:changed

示例:"IT"

email

字符串

域管理员的电子邮件地址。

返回值:changed

示例:"[email protected]"

locality

字符串

证书的城市或城镇名称属性。

返回值:changed

示例:"Seattle"

organization

字符串

证书的组织属性。

返回值:changed

示例:"F5"

state

字符串

证书的州或省份属性。

返回值:changed

示例:"WA"

key_name

字符串

密钥文件的完整名称。

返回值:changed

示例:"common.key"

key_size

整数

所需的密钥大小(位)。

返回值:changed

示例:2048

作者

  • Wojciech Wypior (@wojtek0806)