community.zabbix.zabbix_user_directory 模块 – 创建/更新/删除 Zabbix 用户目录
注意
此模块是 community.zabbix 集合 (版本 3.2.0) 的一部分。
如果您使用的是 ansible
包,则可能已经安装了此集合。它不包含在 ansible-core
中。要检查是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install community.zabbix
。您需要其他要求才能使用此模块,有关详细信息,请参见 要求。
要在剧本中使用它,请指定:community.zabbix.zabbix_user_directory
。
概要
此模块允许您创建、修改和删除 Zabbix 用户目录。
要求
执行此模块的主机需要以下要求。
python >= 3.9
参数
参数 |
注释 |
---|---|
LDAP 基本区分名称字符串。 如果 |
|
LDAP 绑定区分名称字符串。对于匿名绑定可以为空。 默认值: |
|
LDAP 绑定密码。对于匿名绑定可以为空。 |
|
用户目录描述。 默认值: |
|
SAML 加密断言。如果为 true,则加密。 此参数自 Zabbix 6.4 起可用。 选项
|
|
SAML 加密名称 ID。如果为 true,则加密。 此参数自 Zabbix 6.4 起可用。 选项
|
|
LDAP 树中搜索组数据的 LDAP 组路径。 用于在 openLDAP 中配置用户成员资格检查。 如果未设置 group_membership,则需要此参数。 此参数自 Zabbix 6.4 起可用。 |
|
LDAP 搜索过滤器,用于在搜索特定用户组时选择组。 用于在 openLDAP 中配置用户成员资格检查。 如果设置了 group_membership,则在预配用户时忽略。 此参数自 Zabbix 6.4 起可用。 |
|
LDAP 树属性名称,其中包含使用 用于在 openLDAP 中配置用户成员资格检查。 如果设置了 group_membership,则在预配用户时忽略。 此参数自 Zabbix 6.4 起可用。 |
|
包含用户组的 LDAP 属性。例如 memberOf 此参数自 Zabbix 6.4 起可用。 |
|
LDAP/SAML 属性名称,用于获取 Zabbix 和 IdP 之间的组映射的组名称。 用于在 LDAP 中配置用户成员资格检查。 如果设置了 group_membership,则在预配用户时忽略。 此参数自 Zabbix 6.4 起可用。 |
|
LDAP 服务器主机名、IP 或 URI。URI 应包含模式、主机和端口(可选)。 如果 |
|
基本身份验证密码 |
|
基本身份验证登录名 |
|
SAML URI,用于在 SAML 消息中标识 IdP。 如果 此参数自 Zabbix 6.4 起可用。 |
|
IdP 类型。只能存在一个 SAML 类型的用户目录。 此参数自 Zabbix 6.4 起可用。 选项
|
|
用户目录的唯一名称。 |
|
SAML SP 名称 ID 格式。 此参数自 Zabbix 6.4 起可用。 |
|
LDAP 服务器端口。 如果 |
|
IdP 媒体类型映射对象的数组。 此参数自 Zabbix 6.4 起可用。 |
|
IdP 组全名。 支持通配符“*”。在所有预配组映射中唯一。 |
|
要分配给用户的用户角色名称。 请注意,如果匹配多个预配组映射,则将分配最高用户类型的角色给用户。如果有多个具有相同用户类型的角色,则将第一个角色(按字母顺序排序)分配给用户。 |
|
Zabbix 用户组名称数组。 请注意,如果匹配多个预配组映射,则将所有匹配映射的 Zabbix 用户组分配给用户。 |
|
IdP 媒体类型映射对象的数组。 此参数自 Zabbix 6.4 起可用。 |
|
属性名称。用作 sendto 字段的值。 如果存在于从 IdP 接收的数据中且值不为空,则将触发为预配用户创建媒体。 |
|
要创建的媒体类型的名称。 |
|
媒体类型映射列表中的可见名称。 |
|
用户目录预配状态。 如果为 false,则禁用此用户目录创建的用户预配。 如果为true,则启用由该用户目录创建的用户配置。此外,还应启用 此参数自 Zabbix 6.4 起可用。 选项
|
|
是否启用或禁用 SAML 的 SCIM 配置。 此参数自 Zabbix 6.4 起可用。 选项
|
|
用于在 Zabbix 数据库中按用户名标识用户的 LDAP 属性名称。 如果 |
|
在 LDAP 中验证用户时的 LDAP 自定义过滤器字符串。 支持的 search_filter 占位符 %{attr} 搜索属性名称 (uid, sAMAccountName); %{user} 用户名值。 默认值: |
|
SAML 签名断言。如果为true,则签名。 此参数自 Zabbix 6.4 起可用。 选项
|
|
SAML 签名 AuthN 请求。如果为true,则签名。 此参数自 Zabbix 6.4 起可用。 选项
|
|
SAML 签名注销请求。如果为true,则签名。 此参数自 Zabbix 6.4 起可用。 选项
|
|
SAML 签名注销响应。如果为true,则签名。 此参数自 Zabbix 6.4 起可用。 选项
|
|
SAML 签名消息。如果为true,则签名。 此参数自 Zabbix 6.4 起可用。 选项
|
|
Zabbix 将发送 SAML 注销请求的 SAML IdP 服务端点 URL。 此参数自 Zabbix 6.4 起可用。 |
|
SAML SP 实体 ID。 如果 此参数自 Zabbix 6.4 起可用。 |
|
IdP 的 SAML SSO 服务的 SAML URL,Zabbix 将向其发送 SAML 身份验证请求。 如果 此参数自 Zabbix 6.4 起可用。 |
|
LDAP startTLS 选项。不能与 ldaps:// 协议主机一起使用。 选项
|
|
用户目录的状态。 对于 对于 选项
|
|
配置用户时用于 users.surname 字段的 LDAP/SAML 属性名称。 此参数自 Zabbix 6.4 起可用。 |
|
LDAP 用户对象属性名称。将在 c(group_filter) 字符串中替换占位符 %{ref}。 此参数自 Zabbix 6.4 起可用。 |
|
配置用户时用于 users.name 字段的 LDAP/SAML 属性名称。 此参数自 Zabbix 6.4 起可用。 |
|
在身份验证时用于与 Zabbix user.username 值进行比较的 SAML 用户名属性。 如果 此参数自 Zabbix 6.4 起可用。 |
示例
---
# 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 new user directory or update existing info (Zabbix <= 6.2)
# 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_directory:
state: present
name: TestUserDirectory
host: "test.com"
port: 389
base_dn: "ou=Users,dc=example,dc=org"
search_attribute: "uid"
bind_dn: "cn=ldap_search,dc=example,dc=org"
description: "Test user directory"
search_filter: "(%{attr}=test_user)"
start_tls: 0
- name: Create new user directory with LDAP IDP or update existing info (Zabbix >= 6.4)
# 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_directory:
state: present
name: TestUserDirectory
idp_type: ldap
host: "test.ca"
port: 389
base_dn: "ou=Users,dc=example,dc=org"
search_attribute: "uid"
provision_status: true
group_name: cn
group_basedn: ou=Group,dc=example,dc=org
group_member: member
user_ref_attr: uid
group_filter: "(member=uid=%{ref},ou=Users,dc=example,dc=com)"
user_username: first_name
user_lastname: last_name
provision_media:
- name: Media1
mediatype: Email
attribute: email1
provision_groups:
- name: idpname1
role: Guest role
user_groups:
- Guests
- name: Create new user directory with SAML IDP or update existing info (Zabbix >= 6.4)
# 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_directory:
state: present
name: TestUserDirectory
idp_type: saml
idp_entityid: http://okta.com/xxxxx
sp_entityid: zabbix
sso_url: http://xxxx.okta.com/app/xxxxxx_123dhu8o3
username_attribute: usrEmail
provision_status: true
group_name: cn
user_username: first_name
user_lastname: last_name
provision_media:
- name: Media1
mediatype: Email
attribute: email1
provision_groups:
- name: idpname1
role: Guest role
user_groups:
- Guests