Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Оплата
Новости
Доставка
Загрузки
Форум
Настройка
    info@proxmox.su
    +7 (495) 320-70-49
    Заказать звонок
    Аспро: ЛайтШоп
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Аспро: ЛайтШоп
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Аспро: ЛайтШоп
    Телефоны
    +7 (495) 320-70-49
    Заказать звонок
    0
    0
    0
    Аспро: ЛайтШоп
    • +7 (495) 320-70-49
      • Назад
      • Телефоны
      • +7 (495) 320-70-49
      • Заказать звонок
    • info@proxmox.su
    • Москва, Бакунинская улица, 69с1
    • Пн-Пт: 09-00 до 18-00
      Сб-Вс: выходной
    • 0 Сравнение
    • 0 Избранное
    • 0 Корзина
    Главная
    Форум
    Proxmox Виртуальная Среда
    [РЕШЕНО] Руководство: Автоматическое добавление пользователей LDAP в Realm Proxmox в качестве администраторов

    Форумы: Proxmox Виртуальная Среда, Proxmox Backup Server, Proxmox Mail Gateway, Proxmox Datacenter Manager
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    [РЕШЕНО] Руководство: Автоматическое добавление пользователей LDAP в Realm Proxmox в качестве администраторов, Proxmox Виртуальная Среда
     
    Donovan Hoare
    Guest
    #1
    0
    20.10.2019 11:48:00
    Привет всем. Ниже представлено мое решение для автоматического добавления пользователей Proxmox из базы данных LDAP. Я написал этот Ruby-скрипт, так как мне стало неудобно добавлять пользователя в свою LDAP-базу, а затем вручную переходить в 20+ кластеров Proxmox и добавлять пользователей в область. Это больше не было для меня вариантом. Итак, что делает этот Ruby-скрипт: он подключается к моему LDAP-серверу и ищет пользователей в группе proxmoxusers. Затем он перебирает участников в списке и добавляет их как пользователей в Proxmox в области LDAP, а затем добавляет их в группы администраторов. Вам нужно будет отредактировать настройки для DC, имен пользователей и паролей. Затем я использую crontab, чтобы вызывать скрипт каждый час для добавления новых пользователей. Обратите внимание, что я не беспокоюсь о безопасности, так как все это происходит в частных сетях и с ограниченными IP-адресами, так что, пожалуйста, будьте осторожны, как вы это запускаете. Я также не делаю проверку на наличие пользователя в Proxmox, он просто попытается добавить его снова; Proxmox просто не добавит, если он уже добавлен. Надеюсь, это поможет. Как указано на изображении, мой LDAP-сервер имеет организационную единицу (OU) под названием groups; у меня также есть posix-группа под названием proxmoxusers Distinguished Name: cn=proxmoxusers,ou=groups,dc=example,dc=co,dc=za 1-й шаг. -> В интерфейсе Proxmox Персонал -> Разрешения -> Аутентификация -> Добавить LDAP-сервер Область: ldap Сервер: <ldap_server_ip_or_hostname> Основное доменное имя: ou=users,dc=example,dc=co,dc=za Имя атрибута пользователя: uid 2-й шаг -> В консоли Proxmox Host Код: # apt install git python-mysqldb sshpass nano sudo ruby # gem install net-ldap # pveum groupadd admin -comment "Системные администраторы" # pveum aclmod / -group admin -role Administrator # echo "$((RANDOM%60)) */1   * * *   root    /media/atsscripts/getusercheck_proxmox.rb >/dev/null 2>&1" >> /etc/crontab Код: # mkdir /media/atsscripts/ # nano /media/atscripts/getusercheck_proxmox.rb { #Добавьте ниже #============================================================­ #!/usr/bin/env ruby #gem install net-ldap require 'rubygems' require 'net/ldap' ldap = Net::LDAP.new :host => '<ldapserverip>', :port => 389, :auth => { :method => :simple, :username => "cn=admin, dc=example, dc=co, dc=za", :password => "<loginpassword>" } filter = Net::LDAP::Filter.eq( "cn", "proxmoxusers*" ) treebase = "ou=groups,dc=example, dc=co, dc=za" ldap.search( :base => treebase, :filter => filter ) do |entry| puts "DN: #{entry.dn}" entry.each do |attribute, values| p attribute if "#{attribute}" == "memberuid" puts "   #{attribute}:" values.each do |value| system("pveum useradd #{value}@ldap -comment 'Добавлено через ATS Script'") system("pveum usermod #{value}@ldap -group admin") puts "      --->#{value}" end end end end p ldap.get_operation_result #============================================================­ #Добавьте выше } chmod 770 /media/atscripts/getusercheck_proxmox.rb
     
     
     
    Alwin
    Guest
    #2
    0
    13.12.2019 11:51:00
    Как вариант, вы можете запустить этот скрипт удаленно и использовать API. Таким образом, вам не нужно будет устанавливать ruby на узлах, и вы сможете нацеливаться на любой узел в кластере.
     
     
     
    Glowsome
    Guest
    #3
    0
    14.12.2019 01:49:00
    @Alwin, поскольку PVE имеет стандартную возможность LDAP, я бы даже предложил ее улучшение. Текущая функция нацелена только на аутентификацию через сопоставление UID (или другого выбранного атрибута), поэтому было бы хорошо расширить ее, чтобы включить членство в группе, которое затем перечисляет права. Таким образом, необходимость в указании атрибутов на нескольких машинах отпадет. Например, если вы используете LDAP: создавайте группы в соответствии с ролями доступа, как это сделано в PVE. При аутентификации через LDAP не только аутентифицируйте пользователя, но и после аутентификации извлекайте роли доступа и применяйте их к аутентифицированному пользователю. Как администратор, я придерживаюсь стандарта "единой точки управления". В моем случае это LDAP-совместимый каталог (eDirectory), где, если возможно, проводятся не только аутентификация, но и авторизация на основе членства в группе или других атрибутов. Поэтому автоматизация этого процесса в PVE даст огромное преимущество в управлении.
     
     
     
    Alwin
    Guest
    #4
    0
    16.12.2019 10:19:00
    See here -> https://bugzilla.proxmox.com/show_bug.cgi?id=544
     
     
     
    Glowsome
    Guest
    #5
    0
    20.12.2019 01:57:00
    @Alwin, я понимаю ваше заявление, но: эта позиция противоречит концепции управления, принятой большинством компаний. Администрирование в условиях неинтеграции означает дополнительные задачи для IT-администрации (даже если администрирование PVE должно быть ограничено малым числом пользователей). В некоторых случаях это может даже повлиять на решение не использовать PVE как решение. Я понимаю, что разработка таких функций — это настоящая головная боль, но с моей точки зрения продукт PVE занял бы лучшее положение, если бы он мог вписаться в варианты аутентификации и авторизации, такие как: - LDAP группа - SAML2. Если бы у меня были возможности для разработки подобных функций, я бы полностью погрузился в это, чтобы завершить работу... к сожалению, чтобы начать делать вклад, мне пришлось бы начинать с нуля, накапливать знания, а затем изучать текущий модуль и разрабатывать полноценный модуль аутентификации.
     
     
     
    T.Herrmann
    Guest
    #6
    0
    24.12.2019 12:36:00
    LDAP-группа была запланирована для PVE 6.1, но мы всё ещё ждём.
     
     
     
    Donovan Hoare
    Guest
    #7
    0
    26.12.2019 06:11:00
    Привет всем. Причина, по которой я не написал это для использования API, в том, что у моего кластера нет прямого доступа к интернету, он работает исключительно через частную VPN. Поэтому отправка данных в API для меня не вариант. Однако получение данных работает хорошо в моем случае. Вот почему я также упоминаю, что безопасность не была для меня самой большой проблемой, так как прямого доступа к интернету нет. Установка Ruby — это совсем незначительные затраты. Однако это только первый концепт, возможно, кто-то сможет его улучшить.
     
     
     
    Страницы: 1
    Читают тему
    +7 (495) 320-70-49
    info@proxmox.su

    Конфиденциальность Оферта
    © 2026 Proxmox.su
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры