Spec-Zone.ru › Ansible

Модуль 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-базы.

обязательно, если 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 в дереве 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 / required

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

nameid_format

string

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

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

port

integer

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

обязательно, если idp_type установлено в 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 Подготовка пользователей, созданных этим пользовательским каталогом, включена. Кроме того, должен быть включён статус аутентификации ldap_jit_status или saml_jit_status.

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

Варианты:

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

scim_status

логическое

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

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

Варианты:

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

search_attribute

строка

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

обязательно, если idp_type установлено в ldap.

search_filter

строка

Строка пользовательского фильтра LDAP при аутентификации пользователя в LDAP.

Поддерживаемые плейсхолдеры search_filter:

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

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

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

sign_assertions

логическое

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

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

Варианты:

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

sign_authn_requests

логическое

Подпись запросов AuthN SAML. Подписывает, если true.

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

Варианты:

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

sign_logout_requests

логическое

Подпись запросов выхода SAML. Подписывает, если true.

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

Варианты:

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

sign_logout_responses

логическое

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

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

Варианты:

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

sign_messages

логическое

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

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

Варианты:

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

slo_url

строка

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

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

sp_entityid

строка

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

обязательно, если idp_type установлено в saml.

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

END_OF_DOCUMENT_MARKER

sso_url

string

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

обязательно, если idp_type установлено в saml.

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

start_tls

integer

Параметр LDAP startTLS. Не может использоваться с хостами протокола 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

Авторы

  • Евгений Юрченко (@BGmot)

Ссылки на сборку

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

© 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

Spec-Zone.ru

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