community.general.krb_ticket 模块 – 用于管理票据的 Kerberos 工具

注意

此模块是 community.general 集合(版本 10.1.0)的一部分。

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

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

要在 playbook 中使用它,请指定:community.general.krb_ticket

community.general 10.0.0 中的新增功能

概要

要求

在执行此模块的主机上需要以下要求。

  • krb5-user 和 krb5-config 包

参数

参数

注释

address_restricted

布尔值

请求限制在主机本地地址或非限制的票据。

选择

  • false

  • true

anonymous

布尔值

请求匿名处理。

选择

  • false

  • true

cache_name

字符串

使用 cache_name 作为票据缓存名称和位置。

如果未使用此选项,则使用默认的缓存名称和位置。

默认的凭据缓存可能因系统而异。

如果未设置,则会改用 KRB5CCNAME 环境变量的值,其值用于命名默认的票据缓存。

canonicalization

布尔值

请求规范化主体名称,并允许 KDC 回复与请求不同的客户端主体。

选择

  • false

  • true

enterprise

布尔值

将主体名称视为企业名称(暗示 canonicalization 选项)。

选择

  • false

  • true

forwardable

布尔值

请求可转发或不可转发的票据。

选择

  • false

  • true

kdestroy_all

布尔值

state=absent 时,销毁集合中的所有凭据缓存。

等同于运行 kdestroy -A

选择

  • false

  • true

keytab

布尔值

请求从本地主机的 keytab 中的密钥获得的票据。

如果未指定 keytab_path,则将尝试使用默认的客户端 keytab 路径(-i 选项)。

选择

  • false

  • true

keytab_path

路径

keytab=true 时使用,以指定 keytab 文件的路径。

需要指定 passwordkeytab_path

lifetime

字符串

请求具有生命周期的票据,如果未指定 lifetime,则使用默认的票据生命周期。

指定比最大票据生命周期(由每个站点配置)更长的票据生命周期将不会覆盖配置的最大票据生命周期。

lifetime 的值必须后跟以下后缀之一:s - 秒、m - 分钟、h - 小时、d - 天。

您不能混合单位;3h30m 的值将导致错误。

请参阅 https://web.mit.edu/kerberos/krb5-1.12/doc/basic/date_format.html 以供参考。

password

字符串

主体密码。

需要指定 passwordkeytab_path

principal

字符串

主体名称。

如果未设置,将使用运行此模块的用户。

proxiable

布尔值

请求可代理或不可代理的票据。

选择

  • false

  • true

renewable

字符串

请求可更新的票据,总生命周期等于 renewable

renewable 的值必须后跟以下分隔符之一:s - 秒、m - 分钟、h - 小时、d - 天。

您不能混合单位;3h30m 的值将导致错误。

请参阅 https://web.mit.edu/kerberos/krb5-1.12/doc/basic/date_format.html 以供参考。

renewal

布尔值

请求更新票据授予票据。

请注意,即使票据仍在可更新生命周期内,过期的票据也无法更新。

选择

  • false

  • true

start_time

字符串

请求预先注明日期的票据。

签发带有无效标志的延期票证,在使用前需要重新提交给 KDC 进行验证。

start_time 指定票证生效前的延迟时长。

您可以使用绝对时间格式,例如 July 27, 2012 at 20:30,您需要设置 start_time=20120727203000

您也可以使用类似于 lifetimerenewable 的时间持续格式。

请参阅 https://web.mit.edu/kerberos/krb5-1.12/doc/basic/date_format.html 以供参考。

state

字符串

Kerberos 票证的状态。

present 等同于 kinit 命令。

absent 等同于 kdestroy 命令。

选择

  • "present" ← (默认)

  • "absent"

validate

布尔值

请求将缓存中(带有无效标志)的票据授予票据传递给 KDC 进行验证。

如果票证在其请求的时间范围内,则缓存将替换为已验证的票证。

选择

  • false

  • true

属性

属性

支持

描述

check_mode

支持: 完全

可以在 check_mode 中运行,并返回更改状态预测,而无需修改目标。

diff_mode

支持:

在 diff 模式下,将返回已更改(或可能需要在 check_mode 中更改)的详细信息。

示例

- name: Get Kerberos ticket using default principal
  community.general.krb_ticket:
    password: some_password

- name: Get Kerberos ticket using keytab
  community.general.krb_ticket:
    keytab: true
    keytab_path: /etc/ipa/file.keytab

- name: Get Kerberos ticket with a lifetime of 7 days
  community.general.krb_ticket:
    password: some_password
    lifetime: 7d

- name: Get Kerberos ticket with a starting time of July 2, 2024, 1:35:30 p.m.
  community.general.krb_ticket:
    password: some_password
    start_time: "240702133530"

- name: Get Kerberos ticket using principal name
  community.general.krb_ticket:
    password: some_password
    principal: admin

- name: Get Kerberos ticket using principal with realm
  community.general.krb_ticket:
    password: some_password
    principal: [email protected]

- name: Check for existence by ticket cache
  community.general.krb_ticket:
    cache_name: KEYRING:persistent:0:0

- name: Make sure default ticket is destroyed
  community.general.krb_ticket:
    state: absent

- name: Make sure specific ticket destroyed by principal
  community.general.krb_ticket:
    state: absent
    principal: [email protected]

- name: Make sure specific ticket destroyed by cache_name
  community.general.krb_ticket:
    state: absent
    cache_name: KEYRING:persistent:0:0

- name: Make sure all tickets are destroyed
  community.general.krb_ticket:
    state: absent
    kdestroy_all: true

作者

  • Alexander Bakanovskii (@abakanovskii)