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_path,将尝试使用默认客户端密钥表路径(-i 选项)。

选择

  • false

  • true

keytab_path

路径

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

必须指定 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

支持:

当处于差异模式时,将返回有关已更改的内容(或可能需要在 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)