dellemc.openmanage.idrac_secure_boot 模块 – 配置属性、导入或导出安全启动证书以及重置密钥。

注意

此模块是 dellemc.openmanage 集合(版本 9.9.0)的一部分。

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

要安装它,请使用:ansible-galaxy collection install dellemc.openmanage。您需要进一步的要求才能使用此模块,请参阅 要求 了解详细信息。

要在 playbook 中使用它,请指定:dellemc.openmanage.idrac_secure_boot

dellemc.openmanage 9.6.0 中的新功能

概要

  • 此模块允许您执行以下操作。`

  • 导入或导出安全启动证书。

  • 启用或禁用安全启动模式。

  • 配置平台密钥 (PK) 和密钥交换密钥 (KEK) 策略

  • 配置允许数据库 (DB) 和禁止数据库 (DBX) 证书。

  • 重置 UEFI 安全启动密钥。

要求

执行此模块的主机需要满足以下要求。

  • python >= 3.9.6

参数

参数

注释

boot_mode

字符串

iDRAC 的启动模式。

Uefi 在 UEFI 模式下启用安全启动。

Bios 在 BIOS 模式下启用安全启动。

选择

  • "Uefi"

  • "Bios"

ca_path

路径

在 dellemc.openmanage 5.0.0 中添加

包含用于验证的 CA 证书的隐私增强邮件 (PEM) 文件。

database

列表 / 元素=路径

UEFI 安全启动的允许数据库 (DB) 证书文件的绝对路径列表。

export_certificatestrue 时具有写入权限的目录路径。

disallow_database

列表 / 元素=路径

UEFI 安全启动的禁止数据库 (DBX) 证书文件的绝对路径列表。

export_certificatestrue 时具有写入权限的目录路径。

export_certificates

布尔值

导出指定目录中给定密钥的所有可用证书。

export_cetificatesimport 互斥。

export_cetificatestrue 时,需要 platform_key、i(key_exchange_key) 或 databasedisallow_database 之一。

选择

  • false

  • true

force_int_10

字符串

确定系统 BIOS 是否从视频控制器加载旧版视频 (INT 10h) 选项 ROM。

此参数仅在 UEFI 启动模式下受支持。如果启用了 UEFI 安全启动模式,则无法启用此参数。

Disabled 如果操作系统支持 UEFI 视频输出标准。

Enabled 如果操作系统不支持 UEFI 视频输出标准。

选择

  • "Disabled"

  • "Enabled"

idrac_ip

字符串 / 必需

iDRAC IP 地址。

idrac_password

别名:idrac_pwd

字符串

iDRAC 用户密码。

如果未提供密码,则使用环境变量 IDRAC_PASSWORD

示例:export IDRAC_PASSWORD=password

idrac_port

整数

iDRAC 端口。

默认值: 443

idrac_user

字符串

iDRAC 用户名。

如果未提供用户名,则使用环境变量 IDRAC_USERNAME

示例:export IDRAC_USERNAME=username

import_certificates

布尔值

导入所有指定的密钥证书。

import_certificatestrue 时,需要 platform_keyKEKdatabasedisallow_database 之一。

选择

  • false

  • true

job_wait

布尔值

是否等待安全启动证书操作完成。当 restarttrue 时,此项适用。

选择

  • false

  • true ←(默认)

job_wait_timeout

整数

job_wait 的最大等待时间(以秒为单位)。作业仅在此持续时间内被跟踪。

此选项在 job_waittrue 时适用。

默认值: 1200

KEK

列表 / 元素=路径

UEFI 安全启动的密钥交换密钥 (KEK) 证书文件的绝对路径列表。

export_certificatestrue 时具有写入权限的目录路径。

platform_key

路径

UEFI 安全启动的平台密钥证书文件的绝对路径。

export_certificatestrue 时具有写入权限的目录路径。

reset_keys

字符串

重置 UEFI 安全启动密钥。

DeleteAllKeys 删除所有 UEFI 安全启动密钥数据库(PK、KEK、DB 和 DBX)的内容。此选项将系统配置为设置模式。

DeletePK 删除 PK UEFI 安全启动数据库的内容。此选项将系统配置为设置模式。

ResetAllKeysToDefault 将所有 UEFI 安全启动密钥数据库(PK、KEK、DB 和 DBX)的内容重置为其默认值。

ResetDB 将 DB UEFI 安全启动数据库的内容重置为其默认值。

ResetDBX 将 DBX UEFI 安全启动数据库的内容重置为其默认值。

ResetKEK 将 KEK UEFI 安全启动数据库的内容重置为其默认值。

ResetPK 将 PK UEFI 安全启动数据库的内容重置为其默认值。

选择

  • "DeleteAllKeys" (删除所有密钥)

  • "DeletePK" (删除 PK)

  • "ResetAllKeysToDefault" (将所有密钥重置为默认值)

  • "ResetDB" (重置 DB)

  • "ResetDBX" (重置 DBX)

  • "ResetKEK" (重置 KEK)

  • "ResetPK" (重置 PK)

restart (重启)

布尔值

安全启动证书导入操作需要重启服务器。此参数提供重启服务器的选项。

true 重启服务器。

false 不重启服务器。

import_certificatestrue 时,restart 适用。

只有当 export_certificatestrue 时,restart 才会被忽略。

选择

  • false ← (默认)

  • true

restart_type (重启类型)

字符串

服务器的重启类型。

ForceRestart 强制重启服务器。

GracefulRestart 优雅地重启服务器。

restarttrue 时,restart_type 适用。

选择

  • "GracefulRestart" ← (默认)

  • "ForceRestart" (强制重启)

secure_boot (安全启动)

字符串

UEFI 安全启动。

只有当 boot_modeUEFIforce_int_10Disabled 时,secure_boot 才可以为 Enabled

Disabled 禁用安全启动模式。

Enabled 启用安全启动模式。

选择

  • "Disabled"

  • "Enabled"

secure_boot_mode (安全启动模式)

字符串

UEFI 安全启动模式配置如何使用安全启动策略。

AuditMode 当系统上未安装平台密钥时,将安全启动模式设置为审核模式。BIOS 不会对策略对象的更新以及模式之间的转换进行身份验证。BIOS 对启动前映像执行签名验证,并将结果记录在映像执行信息表中,无论验证状态是成功还是失败,它都会处理这些映像。

DeployedMode 当系统上安装了平台密钥时,将安全启动模式设置为已部署模式,然后 BIOS 执行签名验证以更新策略对象。

UserMode 当系统上安装了平台密钥时,将安全启动模式设置为用户模式,然后 BIOS 执行签名验证以更新策略对象。

选择

  • "AuditMode" (审核模式)

  • "DeployedMode" (已部署模式)

  • "UserMode" (用户模式)

secure_boot_policy (安全启动策略)

字符串

以下是安全启动策略的类型。

Custom 继承系统默认加载的标准证书和映像摘要。您可以修改证书和映像摘要。

Standard 表示系统具有从出厂加载的默认证书、映像摘要或哈希。

当安全启动策略设置为“自定义”时,您可以执行以下操作,例如查看、导出、导入、删除、删除全部和重置策略。

选择

  • "Custom" (自定义)

  • "Standard" (标准)

timeout (超时)

整数

在 dellemc.openmanage 5.0.0 中添加

套接字级别的超时时间(以秒为单位)。

默认值: 30

validate_certs (验证证书)

布尔值

在 dellemc.openmanage 5.0.0 中添加

如果为 false,则不会验证 SSL 证书。

仅在个人控制的使用自签名证书的站点上配置 false

在集合版本 5.0.0 之前,validate_certs 默认值为 false

选择

  • false

  • true ←(默认)

x_auth_token (身份验证令牌)

字符串

在 dellemc.openmanage 9.3.0 中添加

身份验证令牌。

如果未提供 x_auth_token,则使用环境变量 IDRAC_X_AUTH_TOKEN

示例:export IDRAC_X_AUTH_TOKEN=x_auth_token

属性

属性

支持

描述

check_mode (检查模式)

支持:完全

运行任务以进行验证,而不在目标计算机上执行操作。

diff_mode (差异模式)

支持:

运行任务以报告已进行或将要进行的更改。

备注

注意

  • 当在 check mode 中运行时,此模块将始终报告发现要应用的 import_certificates 的更改。

  • 当提供 reset_typeexport_certificatesimport_certificates 时,此模块不支持幂等性。

  • 要配置安全启动设置,idrac_secure_boot 模块将按以下顺序执行操作:设置属性、导出证书、重置密钥、导入证书和重启 iDRAC。

  • export_certificate 将导出剧本中定义的密钥的所有证书。

  • 此模块仅考虑序列中最后一次操作的 restartjob_wait 值。

  • 此模块支持 IPv4 和 IPv6 地址。

  • 只有 iDRAC8 支持 reset_keys

示例

---
- name: Enable Secure Boot.
  dellemc.openmanage.idrac_secure_boot:
    idrac_ip: "192.168.1.2"
    idrac_user: "user"
    idrac_password: "password"
    ca_path: "/path/to/ca_cert.pem"
    secure_boot: "Enabled"

- name: Set Secure Boot mode, Secure Boot policy, and restart iDRAC.
  dellemc.openmanage.idrac_secure_boot:
    idrac_ip: "192.168.1.2"
    idrac_user: "user"
    idrac_password: "password"
    ca_path: "/path/to/ca_cert.pem"
    secure_boot: "Enabled"
    secure_boot_mode: "UserMode"
    secure_boot_policy: "Custom"
    restart: true
    restart_type: "GracefulRestart"

- name: Reset Secure Boot certificates.
  dellemc.openmanage.idrac_secure_boot:
    idrac_ip: "192.168.1.2"
    idrac_user: "user"
    idrac_password: "password"
    ca_path: "/path/to/ca_cert.pem"
    reset_keys: "ResetAllKeysToDefault"

- name: Export multiple Secure Boot certificate.
  dellemc.openmanage.idrac_secure_boot:
    idrac_ip: "192.168.1.2"
    idrac_user: "user"
    idrac_password: "password"
    ca_path: "/path/to/ca_cert.pem"
    export_certificates: true
    platform_key: /user/name/export_cert/pk
    KEK:
      - /user/name/export_cert/kek
    database:
      - /user/name/export_cert/db
    disallow_database:
      - /user/name/export_cert/dbx

- name: Import multiple Secure Boot certificate without applying to iDRAC.
  dellemc.openmanage.idrac_secure_boot:
    idrac_ip: "192.168.1.2"
    idrac_user: "user"
    idrac_password: "password"
    ca_path: "/path/to/ca_cert.pem"
    import_certificates: true
    platform_key: /user/name/certificates/pk.pem
    KEK:
      - /user/name/certificates/kek1.pem
      - /user/name/certificates/kek2.pem
    database:
      - /user/name/certificates/db1.pem
      - /user/name/certificates/db2.pem
    disallow_database:
      - /user/name/certificates/dbx1.pem
      - /user/name/certificates/dbx2.pem

- name: Import a Secure Boot certificate and restart the server to apply it.
  dellemc.openmanage.idrac_secure_boot:
    idrac_ip: "192.168.1.2"
    idrac_user: "user"
    idrac_password: "password"
    ca_path: "/path/to/ca_cert.pem"
    import_certificates: true
    platform_key: /user/name/certificates/pk.pem
    restart: true
    job_wait_timeout: 600

返回值

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

描述

error_info (错误信息)

字典

HTTP 错误的详细信息。

返回:在 HTTP 错误时

示例: {"error": {"@Message.ExtendedInfo": [{"Message": "无法处理请求,因为发生错误。", "MessageArgs": [], "MessageId": "GEN1234", "RelatedProperties": [], "Resolution": "重试操作。如果问题仍然存在,请联系系统管理员。", "Severity": "Critical"}], "code": "Base.1.0.GeneralError", "message": "发生了一般错误。有关更多信息,请参阅 ExtendedInfo。"}}

msg

字符串

安全启动操作的状态。

返回:始终

示例: "成功导入了安全启动证书。"

作者

  • Abhishek Sinha(@ABHISHEK-SINHA10)

  • Lovepreet Singh (@singh-lovepreet1)