Модуль community.zabbix.zabbix_user_directory — Создание/обновление/удаление каталогов пользователей Zabbix
Примечание
Этот модуль входит в коллекцию community.zabbix (версия 2.5.1).
Эта коллекция может быть уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.zabbix. Для использования этого модуля потребуются дополнительные требования. Подробности см. в разделе Требования.
Для использования в плейбуке укажите: community.zabbix.zabbix_user_directory.
Описание
- Этот модуль позволяет создавать, изменять и удалять каталоги пользователей Zabbix.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- python >= 3.9
Параметры
Параметр | Комментарии |
|---|---|
base_dn string | Строка полного различающего имени LDAP-базы. обязательно, если |
bind_dn string | Строка полного различающего имени для связывания LDAP. Может быть пустым для анонимного связывания. По умолчанию: |
bind_password string | Пароль для связывания LDAP. Может быть пустым для анонимного связывания. |
description string | Описание каталога пользователей. По умолчанию: |
encrypt_assertions boolean | Шифрование утверждений SAML. Шифрует, если true. Этот параметр доступен начиная с Zabbix 6.4. Варианты:
|
encrypt_nameid boolean | Шифрование идентификатора имени SAML. Шифрует, если true. Этот параметр доступен начиная с Zabbix 6.4. Варианты:
|
group_basedn string | Путь к группам LDAP в дереве LDAP для поиска данных о группах. Используется для настройки проверки членства пользователя в openLDAP. Обязательно, если group_membership не установлен. Этот параметр доступен начиная с Zabbix 6.4. |
group_filter string | Фильтр поиска LDAP для выбора групп при поиске определенных групп пользователей. Используется для настройки проверки членства пользователя в openLDAP. Игнорируется при предоставлении доступа пользователю, если установлен group_membership. Этот параметр доступен начиная с Zabbix 6.4. |
group_member string | Имя атрибута дерева LDAP, содержащего имя группы, полученное с помощью запроса Используется для настройки проверки членства пользователя в openLDAP. Игнорируется при предоставлении доступа пользователю, если установлен group_membership. Этот параметр доступен начиная с Zabbix 6.4. |
group_membership string | Свойство LDAP, содержащее группы пользователей. Например, memberOf Этот параметр доступен начиная с Zabbix 6.4. |
group_name string | Имя атрибута LDAP/SAML для получения имени группы для сопоставления групп между Zabbix и IdP. Используется для настройки проверки членства пользователя в LDAP. Игнорируется при предоставлении доступа пользователю, если установлен group_membership. Этот параметр доступен начиная с Zabbix 6.4. |
host string | Имя хоста, IP-адрес или URI сервера LDAP. URI должен содержать схему, хост и порт (необязательно). обязательно, если |
http_login_password string | Пароль Basic Auth |
http_login_user string | Логин Basic Auth |
idp_entityid string | URI SAML, который идентифицирует IdP в сообщениях SAML. обязательно, если Этот параметр доступен начиная с Zabbix 6.4. |
idp_type string | Тип IdP. Может существовать только один каталог пользователей типа SAML. Этот параметр доступен начиная с Zabbix 6.4. Варианты:
|
name string / required | Уникальное имя каталога пользователей. |
nameid_format string | Формат идентификатора имени SAML SP. Этот параметр доступен начиная с Zabbix 6.4. |
port integer | Порт сервера LDAP. обязательно, если |
provision_groups list / elements=dictionary | Массив объектов сопоставлений типов носителей IdP. Этот параметр доступен начиная с Zabbix 6.4. |
|
name string / required |
Полное имя группы IdP. Поддерживает подстановочный знак “*”. Уникально для всех сопоставлений групп обеспечения. |
|
role строка / обязательно |
Имя роли пользователя, которое необходимо назначить пользователю. Обратите внимание, что если сопоставлено несколько соответствий групп подготовки, пользователю будет назначена роль самого высокого типа пользователя. Если есть несколько ролей с одинаковым типом пользователя, пользователю будет назначена первая роль (отсортированная в алфавитном порядке). |
|
user_groups список / элементы=строка / обязательно |
Массив имён групп пользователей Zabbix. Обратите внимание, что если сопоставлено несколько соответствий групп подготовки, пользователю будут назначены группы пользователей Zabbix всех сопоставленных соответствий. |
provision_media список / элементы=словарь | Массив объектов сопоставлений типов носителей IdP. Этот параметр доступен начиная с Zabbix 6.4. |
|
attribute строка / обязательно |
Имя атрибута. Используется в качестве значения для поля sendto. Если присутствует в данных, полученных от IdP, и значение не пустое, будет инициировано создание носителя для подготовленного пользователя. |
|
mediatype строка / обязательно |
Имя типа носителя, который должен быть создан. |
|
name строка / обязательно |
Видимое имя в списке сопоставлений типов носителей. |
provision_status логическое | Статус подготовки пользовательского каталога. если false Подготовка пользователей, созданных этим пользовательским каталогом, отключена если true Подготовка пользователей, созданных этим пользовательским каталогом, включена. Кроме того, должен быть включён статус аутентификации Этот параметр доступен начиная с Zabbix 6.4. Варианты:
|
scim_status логическое | Включена или отключена подготовка SCIM для SAML. Этот параметр доступен начиная с Zabbix 6.4. Варианты:
|
search_attribute строка | Имя атрибута LDAP для идентификации пользователя по имени пользователя в базе данных Zabbix. обязательно, если |
search_filter строка | Строка пользовательского фильтра LDAP при аутентификации пользователя в LDAP. Поддерживаемые плейсхолдеры search_filter: %{attr} имя атрибута поиска (uid, sAMAccountName); %{user} значение имени пользователя. По умолчанию: |
sign_assertions логическое | Подпись утверждений SAML. Подписывает, если true. Этот параметр доступен начиная с Zabbix 6.4. Варианты:
|
sign_authn_requests логическое | Подпись запросов AuthN SAML. Подписывает, если true. Этот параметр доступен начиная с Zabbix 6.4. Варианты:
|
sign_logout_requests логическое | Подпись запросов выхода SAML. Подписывает, если true. Этот параметр доступен начиная с Zabbix 6.4. Варианты:
|
sign_logout_responses логическое | Подпись ответов на запросы выхода SAML. Подписывает, если true. Этот параметр доступен начиная с Zabbix 6.4. Варианты:
|
sign_messages логическое | Подпись сообщений SAML. Подписывает, если true. Этот параметр доступен начиная с Zabbix 6.4. Варианты:
|
slo_url строка | URL конечной точки службы IdP SAML, в которую Zabbix отправит запросы выхода SAML. Этот параметр доступен начиная с Zabbix 6.4. |
sp_entityid строка | Идентификатор сущности SAML SP. обязательно, если Этот параметр доступен начиная с Zabbix 6.4. |
sso_url string | URL SAML-сервиса SSO IdP, куда Zabbix будет отправлять запросы на SAML-аутентификацию. обязательно, если Этот параметр доступен начиная с Zabbix 6.4. |
start_tls integer | Параметр LDAP startTLS. Не может использоваться с хостами протокола ldaps://. Варианты:
|
state string | Состояние каталога пользователей. При значении При значении Варианты:
|
user_lastname string | Имя атрибута LDAP/SAML для поля фамилии пользователя в поле users.surname при импорте пользователя. Этот параметр доступен начиная с Zabbix 6.4. |
user_ref_attr string | Имя атрибута объекта пользователя LDAP. Заменит плейсхолдер %{ref} в строке c(group_filter). Этот параметр доступен начиная с Zabbix 6.4. |
user_username string | Имя атрибута LDAP/SAML для поля имени пользователя в поле users.name при импорте пользователя. Этот параметр доступен начиная с Zabbix 6.4. |
username_attribute string | Атрибут имени пользователя SAML для сравнения со значением Zabbix user.username при аутентификации. обязательно, если Этот параметр доступен начиная с 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
Ссылки на сборку
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/zabbix/zabbix_user_directory_module.html