community.zabbix.zabbix_user 模块 – 创建/更新/删除 Zabbix 用户

注意

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

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

要安装它,请使用:ansible-galaxy collection install community.zabbix。您需要其他要求才能使用此模块,请参阅 要求 获取详细信息。

要在剧本中使用它,请指定:community.zabbix.zabbix_user

概要

  • 此模块允许您创建、修改和删除 Zabbix 用户。

要求

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

  • python >= 3.9

参数

参数

注释

after_login_url

字符串

登录后重定向用户到的页面 URL。

autologin

布尔值

是否启用自动登录。

如果启用自动登录,则无法启用自动注销。

选项

  • false

  • true

autologout

字符串

用户会话生命周期(秒)。如果设置为 0,会话将永不过期。

如果启用自动注销,则无法启用自动登录。

current_passwd

字符串

覆盖密码时用户的当前密码。

覆盖登录用户的密码时必填。

https://www.zabbix.com/documentation/6.4/en/manual/api/reference/user/update

http_login_password

字符串

基本身份验证密码

http_login_user

字符串

基本身份验证登录名

lang

字符串

用户语言的语言代码。

选项

  • "en_GB"

  • "en_US"

  • "zh_CN"

  • "cs_CZ"

  • "fr_FR"

  • "he_IL"

  • "it_IT"

  • "ko_KR"

  • "ja_JP"

  • "nb_NO"

  • "pl_PL"

  • "pt_BR"

  • "pt_PT"

  • "ru_RU"

  • "sk_SK"

  • "tr_TR"

  • "uk_UA"

  • "default"

name

字符串

用户名。

override_passwd

布尔值

覆盖用户的密码。

如果不将此值设置为 yes,则不会在后续运行中更新密码。

选项

  • false ← (默认)

  • true

passwd

字符串

用户密码。

除非所有 usrgrps 都设置为使用 LDAP 作为前端访问,否则必填。

refresh

字符串

自动刷新周期(秒)。

role_name

字符串

在 community.zabbix 1.2.0 中添加

用户的角色。

创建新用户时默认为 User role

默认值将在 2.0.0 版本中删除。

rows_per_page

字符串

每页显示的对象行数。

state

字符串

用户的状态。

present 时,如果用户不存在则创建,如果关联数据不同则更新用户。

absent 时,如果用户存在则将其删除。

选项

  • "present" ← (默认)

  • "absent"

surname

字符串

用户的姓氏。

theme

字符串

用户的主题。

选项

  • "default"

  • "blue-theme"

  • "dark-theme"

timezone

字符串

在 community.zabbix 1.2.0 中添加

用户的时区。

有关支持的时区的完整列表,请参阅 https://php.net/manual/en/timezones.php

user_medias

列表 / 元素=字典

设置用户的媒体。

如果未设置,则不会更改媒体。

active

布尔值

媒体是否启用。

选项

  • false

  • true ← (默认)

mediatype

字符串

要设置的媒体类型名称。

默认值: "Email"

period

字符串

可以发送通知的时间,以时间段或用户宏表示,用分号分隔。

请查看文档以了解有关支持的时间段的更多信息。

https://www.zabbix.com/documentation/current/en/manual/appendix/time_period

默认值: "1-7,00:00-24:00"

sendto

任意 / 必填

收件人的地址、用户名或其他标识符。

如果 mediatype 是 Email,则值表示为数组。对于其他类型的媒体类型,值表示为字符串。

severity

字典

要发送通知的触发器严重性。

默认值: {"average": true, "disaster": true, "high": true, "information": true, "not_classified": true, "warning": true}

average

布尔值

严重性平均启用/禁用。

选项

  • false

  • true ← (默认)

disaster

布尔值

严重性灾难启用/禁用。

选项

  • false

  • true ← (默认)

high

布尔值

严重性高启用/禁用。

选项

  • false

  • true ← (默认)

information

布尔值

严重性信息启用/禁用。

选项

  • false

  • true ← (默认)

not_classified

布尔值

严重性未分类启用/禁用。

选项

  • false

  • true ← (默认)

warning

布尔值

严重性警告启用/禁用。

选项

  • false

  • true ← (默认)

用户名

字符串 / 必填

用户名。

用户名是使用的唯一标识符,不能使用此模块更新。

用户组

列表 / 元素=字符串

要将用户添加到其中的用户组。

state=present时必填。

示例

# If you want to use Username and Password to be authenticated by Zabbix Server
- name: Set credentials to access Zabbix Server API
  ansible.builtin.set_fact:
    ansible_user: Admin
    ansible_httpapi_pass: zabbix

# If you want to use API token to be authenticated by Zabbix Server
# https://www.zabbix.com/documentation/current/en/manual/web_interface/frontend_sections/administration/general#api-tokens
- name: Set API token
  ansible.builtin.set_fact:
    ansible_zabbix_auth_key: 8ec0d52432c15c91fcafe9888500cf9a607f44091ab554dbee860f6b44fac895

- name: create a new zabbix user.
  # set task level variables as we change ansible_connection plugin here
  vars:
    ansible_network_os: community.zabbix.zabbix
    ansible_connection: httpapi
    ansible_httpapi_port: 443
    ansible_httpapi_use_ssl: true
    ansible_httpapi_validate_certs: false
    ansible_zabbix_url_path: "zabbixeu"  # If Zabbix WebUI runs on non-default (zabbix) path ,e.g. http://<FQDN>/zabbixeu
    ansible_host: zabbix-example-fqdn.org
  community.zabbix.zabbix_user:
    username: example
    name: user name
    surname: user surname
    usrgrps:
      - Guests
      - Disabled
    passwd: password
    lang: en_GB
    theme: blue-theme
    autologin: no
    autologout: "0"
    refresh: "30"
    rows_per_page: "200"
    after_login_url: ""
    user_medias:
      - mediatype: Email
        sendto:
          - [email protected]
          - [email protected]
        period: 1-7,00:00-24:00
        severity:
          not_classified: no
          information: yes
          warning: yes
          average: yes
          high: yes
          disaster: yes
        active: no
    state: present

- name: delete existing zabbix user.
  # set task level variables as we change ansible_connection plugin here
  vars:
    ansible_network_os: community.zabbix.zabbix
    ansible_connection: httpapi
    ansible_httpapi_port: 443
    ansible_httpapi_use_ssl: true
    ansible_httpapi_validate_certs: false
    ansible_zabbix_url_path: "zabbixeu"  # If Zabbix WebUI runs on non-default (zabbix) path ,e.g. http://<FQDN>/zabbixeu
    ansible_host: zabbix-example-fqdn.org
  community.zabbix.zabbix_user:
    username: example
    state: absent

返回值

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

描述

用户ID

字典

已创建或更改的用户ID

返回值:成功

示例: {"userids": ["5"]}

作者

  • sky-joker (@sky-joker)