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

字符串

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

此选项在处理 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 来省略此选项。

timeout

整数

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

transport

字符串

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

选项

  • "cli" ← (默认)

user

字符串 / 必需

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

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

validate_certs

布尔值

如果为 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 Networks 设备的更多信息,请参阅 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

返回值

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

Key

描述

cert_name

字符串

证书文件的完整名称。

返回值: changed

示例: "common.crt"

days_valid

整数

自签名证书有效的间隔时间。

返回值: changed

示例: 365

issuer

complex

指定证书属性。

返回值: 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)