Нужна помощь в автоматизации групп Active Directory - PullRequest
0 голосов
/ 25 октября 2018

У меня есть требование, и я не уверен, возможно ли это или нет.поэтому просто хотел получить предложения, прежде чем начать с ним.

У меня есть несколько групп AD, которые я поддерживаю вручную, например добавление, удаление членов.Теперь, если участник покидает команду или меняет своего руководителя супервизора, его нужно удалить из определенной группы AD.

Возможно ли автоматизировать этот сценарий.?

Ответы [ 2 ]

0 голосов
/ 30 октября 2018

Я считаю, что может быть несколько способов автоматизировать это.

Вероятно, самый простой способ сделать это - это запланированное задание, которое будет периодически выполняться вашими пользователями, проверить, соответствует ли команда пользователя, руководитель или любой другой параметр, который может измениться, текущему членству в группе, если нет,задача должна удалить пользователя из групп, участником которых он больше не является.

Другой способ сделать это можно с помощью стороннего программного обеспечения.Преимущества использования этого подхода состоят в том, что после внесения изменений (например, изменения менеджера пользователя) все остальные действия выполняются мгновенно, поэтому вам не нужно ждать, пока запланированное задание выполнится.

Вот пример с Adaxes, решение, которое мы имеем.Есть и другие решения, но это действительно хорошо показывает и объясняет подход.Он позволяет вам иметь правило автоматизации, которое срабатывает после обновления пользователя, и если соблюдаются правильные условия (например, свойство Manager изменяется), то он может автоматически удалять пользователя из группы.

Вот учебник, который более подробно объясняет, как можно автоматизировать членство в группах с помощью правил на основе условий: https://www.adaxes.com/tutorials_AutomatingDailyTasks_AddUsersToGroupsByDepartment.htm

0 голосов
/ 26 октября 2018

Изменение группы для добавления или удаления членов легко выполняется на разных языках.В каждом случае вам нужна соответствующая бизнес-логика, чтобы сказать «когда команда изменится с X, удалить из группы Y» или «когда менеджер сменится на A, добавить в группу B».

Хитрый бит определяет, когда необходимо внести изменение.Есть много способов сделать это.

  1. Подключите процесс, который в первую очередь меняет информацию - если команда и менеджер вводятся через систему управления персоналом или пользовательский веб-сайт, источник ввода данных можно использовать для созданиямероприятие.Это может быть добавление веб-вызова в существующую веб-форму, создание настраиваемого представления таблицы данных HR и т. Д.

  2. Если изменения вносятся непосредственно в AD, доменные службы Active Directory поддерживает уведомления об изменениях - это может добавить значительную нагрузку на систему, поэтому может быть или не быть разумным в зависимости от количества объектов и частоты изменений.

  3. Еслиизменение не обязательно должно быть немедленным, пакетный подход может быть жизнеспособным, и вы можете использовать фильтр LDAP для определения членства, которое нужно изменить, а не инициировать события непосредственно из изменений.

Я использую третий метод.Это оказывает незначительное влияние на каталоги и не требует внесения изменений вне AD.Недостатком является то, что смена группы не является немедленной.Поскольку мы не говорим о прекращенных учетных записях (которые в любом случае не смогут получить доступ к системе), я верю людям, которые все еще работают в компании, не злоупотреблять их доступом в течение времени, пока они находятся в группе (иЧестно говоря, это не значит, что изменение отчета регистрируется сразу же, где я работаю - HR должен ввести изменение, затем изменение подается в платформу управления идентификацией, , затем , новая информация превращает ее в AD.Я знаю людей, которые находились на новой должности в течение недели или двух до того, как изменения в отчетности были обработаны через HR. Мои дополнительные шесть часов, когда пользователь входит в группу, не представляют особой сложности).

Если все члены группы должны отчитываться перед набором менеджеров и / или иметь конкретное значение отдела, такой фильтр как:

(&(memberOf=cn=mygroup,ou=specialgroups,dc=company,dc=gTLD)(!((|(manager=dn=Bob,ou=employees,dc=company,dc=com)(department=Engineering)))))

будет идентифицировать любого, кто является членом MyGroup, который не отчитывается передБоб или работа в Техническом отделе - измените группу, чтобы удалить тех участников.

Настройте фильтр таким образом, чтобы значения менеджера и команды были конкретными, иметь список допустимых менеджеров и т. Д. Вы также можете отменить запрос, чтобы определить, кто из является вИнженерный отдел или отчеты Бобу, но он не является членом группы:

(&(!(memberOf=cn=mygroup,ou=specialgroups,dc=company,dc=gTLD))((|(manager=dn=Bob,ou=employees,dc=company,dc=com)(department=Engineering))))

Измените группу, чтобы добавить этих пользователей в качестве участников.

Я сохранил квалификационный фильтр членства в группе для атрибута самой группы - в первую очередь, чтобы мне не нужно было перекомпилировать мой код всякий раз, когда «правило» изменяется.Затем есть веб-интерфейс, который позволяет лицам, указанным в фильтре, добавлять / удалять менеджеров и отделы в список квалификации.Это может быть излишним, если ваша организация довольно статична, но я не хотел иметь дело с группой «о, теперь люди, которые отчитываются перед Фрэнком, тоже должны быть здесь».

...