Spec-Zone.ru › Ansible

Модуль community.zabbix.zabbix_user_directory — создание, изменение и удаление каталогов пользователей Zabbix

Примечание

Этот модуль входит в коллекцию community.zabbix (версия 4.2.0).

Возможно, эта коллекция уже установлена, если вы используете пакет 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.

Обязательный параметр, если idp_type задано значение ldap.

bind_dn

string

Строка различительного имени для привязки LDAP. Может быть пустой при анонимной привязке.

По умолчанию: ""

bind_password

string

Пароль для привязки LDAP. Может быть пустым при анонимной привязке.

description

string

Описание каталога пользователей.

По умолчанию: ""

encrypt_assertions

boolean

Шифрование утверждений SAML. Шифруются, если значение true.

Этот параметр доступен начиная с Zabbix 6.4.

Варианты:

  • false ← (по умолчанию)
  • true

encrypt_nameid

boolean

Шифрование идентификатора имени SAML. Шифруется, если значение true.

Этот параметр доступен начиная с Zabbix 6.4.

Варианты:

  • false ← (по умолчанию)
  • true

group_basedn

string

Путь к группам в дереве LDAP для поиска данных о группах.

Используется для настройки проверки членства пользователя в группах в openLDAP.

Обязательный параметр, если не задан group_membership.

Этот параметр доступен начиная с Zabbix 6.4.

group_filter

string

Фильтр поиска LDAP для выбора групп при поиске определённых групп пользователя.

Используется для настройки проверки членства пользователя в группах в openLDAP.

Игнорируется при подготовке пользователя, если задан group_membership.

Этот параметр доступен начиная с Zabbix 6.4.

group_member

string

Имя атрибута дерева LDAP, содержащего имя группы, полученное с помощью запроса group_filter.

Используется для настройки проверки членства пользователя в группах в 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 должен содержать схему, узел и порт (необязательно).

Обязательный параметр, если idp_type задано значение ldap.

http_login_password

string

Пароль Basic Auth

http_login_user

string

Имя пользователя Basic Auth

idp_entityid

string

URI SAML, идентифицирующий IdP в сообщениях SAML.

Обязательный параметр, если idp_type задано значение saml.

Этот параметр доступен начиная с Zabbix 6.4.

idp_type

string

Тип IdP. Может существовать только один каталог пользователей типа SAML.

Этот параметр доступен начиная с Zabbix 6.4.

Варианты:

  • "ldap"
  • "saml"

name

string / обязательный

Уникальное имя каталога пользователей.

nameid_format

string

Формат идентификатора имени SP SAML.

Этот параметр доступен начиная с Zabbix 6.4.

port

integer

Порт сервера LDAP.

Обязательный параметр, если idp_type задано значение ldap.

provision_groups

list / elements=dictionary

Массив объектов сопоставления типов носителей IdP.

Этот параметр доступен начиная с Zabbix 6.4.

name

string / обязательный

Полное имя группы IdP.

Поддерживается символ подстановки «*». Значение должно быть уникальным для всех сопоставлений групп подготовки.

role

string / обязательный

Имя роли пользователя, назначаемой пользователю.

Если совпадают несколько сопоставлений групп подготовки, пользователю будет назначена роль с наивысшим типом пользователя. Если несколько ролей имеют одинаковый тип пользователя, будет назначена первая роль (в алфавитном порядке).

user_groups

list / elements=string / обязательный

Массив имён групп пользователей Zabbix.

Если совпадают несколько сопоставлений групп подготовки, пользователю будут назначены группы пользователей Zabbix из всех совпавших сопоставлений.

provision_media

list / elements=dictionary

Массив объектов сопоставления типов носителей IdP.

Этот параметр доступен начиная с Zabbix 6.4.

attribute

string / обязательный

Имя атрибута. Используется как значение поля sendto.

Если атрибут присутствует в данных, полученных от IdP, и его значение не пустое, для подготавливаемого пользователя будет создан носитель.

mediatype

string / обязательный

Имя создаваемого типа носителя.

name

string / обязательный

Отображаемое имя в списке сопоставлений типов носителей.

provision_status

boolean

Состояние подготовки пользователей в каталоге пользователей.

Если значение false, подготовка пользователей, созданных этим каталогом, отключена.

Если значение true, подготовка пользователей, созданных этим каталогом, включена. Кроме того, должен быть включён статус аутентификации ldap_jit_status или saml_jit_status.

Этот параметр доступен начиная с Zabbix 6.4.

Варианты:

  • false ← (по умолчанию)
  • true

scim_status

boolean

Включена или отключена подготовка SCIM для SAML.

Этот параметр доступен начиная с Zabbix 6.4.

Варианты:

  • false ← (по умолчанию)
  • true

search_attribute

string

Имя атрибута LDAP для идентификации пользователя по имени пользователя в базе данных Zabbix.

Обязательный параметр, если idp_type задано значение ldap.

search_filter

string

Пользовательский фильтр LDAP, используемый при аутентификации пользователя в LDAP.

Поддерживаемые заполнители search_filter

%{attr} — имя атрибута поиска (uid, sAMAccountName);

%{user} — имя пользователя.

По умолчанию: "(%{attr}=%{user})"

sign_assertions

boolean

Подпись утверждений SAML. Утверждения подписываются, если значение true.

Этот параметр доступен начиная с Zabbix 6.4.

Варианты:

  • false ← (по умолчанию)
  • true

sign_authn_requests

boolean

Подпись запросов аутентификации SAML. Запросы подписываются, если значение true.

Этот параметр доступен начиная с Zabbix 6.4.

Варианты:

  • false ← (по умолчанию)
  • true

sign_logout_requests

boolean

Подпись запросов выхода из системы SAML. Запросы подписываются, если значение true.

Этот параметр доступен начиная с Zabbix 6.4.

Варианты:

  • false ← (по умолчанию)
  • true

sign_logout_responses

boolean

Подпись ответов на запросы выхода из системы SAML. Ответы подписываются, если значение true.

Этот параметр доступен начиная с Zabbix 6.4.

Варианты:

  • false ← (по умолчанию)
  • true

sign_messages

boolean

Подпись сообщений SAML. Сообщения подписываются, если значение true.

Этот параметр доступен начиная с Zabbix 6.4.

Варианты:

  • false ← (по умолчанию)
  • true

slo_url

string

URL конечной точки службы IdP SAML, на которую Zabbix будет отправлять запросы выхода из системы SAML.

Этот параметр доступен начиная с Zabbix 6.4.

sp_entityid

string

Идентификатор сущности SP SAML.

Обязательный параметр, если idp_type задано значение saml.

Этот параметр доступен начиная с Zabbix 6.4.

sso_url

string

URL службы SAML SSO IdP, на которую Zabbix будет отправлять запросы аутентификации SAML.

Обязательный параметр, если idp_type задано значение saml.

Этот параметр доступен начиная с Zabbix 6.4.

start_tls

integer

Параметр startTLS для LDAP. Не может использоваться с узлами, работающими по протоколу ldaps://.

Варианты:

  • 0 ← (по умолчанию)
  • 1

state

string

Состояние каталога пользователей.

При значении present каталог пользователей будет создан, если он не существует, или обновлён, если связанные с ним данные отличаются.

При значении absent каталог пользователей будет удалён, если он существует.

Варианты:

  • "present" ← (по умолчанию)
  • "absent"

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.

Обязательный параметр, если idp_type задано значение 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

Авторы

  • Evgeny Yurchenko (@BGmot)

Ссылки на коллекцию

  • Отслеживание ошибок
  • Домашняя страница
  • Репозиторий (исходный код)

© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/zabbix/zabbix_user_directory_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API