Схема является компонентом Active Directory, который определяет структуру базы данных Active Directory. Схема состоит из атрибутов объекта и объекта. В этой статье мы обсудим, как изменить атрибут схемы Active Directory.
В схеме Active Directory разрешено добавлять пользовательские атрибуты. В организациях существуют ситуации, когда этот вариант полезен. В большинстве случаев это связано с требованиями интеграции приложений с инфраструктурой Active Directory.
Схема Схема — это план хранения данных в Active Directory. Каждый объект в Active Directory является экземпляром класса в схеме. Например, объект пользователя существует как экземпляр пользовательского класса. Атрибуты определяют части информации, которые могут удерживать класс, и, следовательно, экземпляр этого класса. Синтаксисы определяют тип данных, которые могут быть помещены в атрибут. В качестве примера, если атрибут определяется с помощью синтаксиса логического, он может хранить истинную или ложную как его значение, или он может быть нулевым. Нулевое значение имеет специфическое для реализации значение; Это может означать истину или ложь в зависимости от приложения с использованием значения.
X.500 и OID -пространство имен Active Directory основан на LDAP, который первоначально был основан на стандарте X.500, созданном организациями ISO (Международная организация по стандартизации) и ITU (Международный союз телекоммуникаций) в 1988 году. Стандарт X.500 указывает, что отдельные классы объектов в организации могут быть уникально определены с использованием специального идентификационного процесса. Процесс должен быть в состоянии учитывать тот факт, что классы могут наследовать друг от друга, а также потенциальную потребность в любой организации в мире определять и экспортировать класс своего собственного дизайна. С этой целью стандарт X.500 определил идентификатор объекта (OID), чтобы уникально идентифицировать каждый объект схемы. Этот OID состоит из двух частей:
- Первая часть указывает уникальный путь к ветви, удерживающей объект в деревьях, похожей на деревьев.
- Вторая часть однозначно указывает на объект в этой ветви.
Обозначение OID использует целые числа для каждой ветви и объекта, как в следующем примере OID для объекта: 1.3.6.1.4.1.3385.12.497 Это уникальные ссылки объект 497 в филиале 1.3.6.1.4.1.3385.12. 1.3.6.1.4.1.3385.12 Ветвь содержится в филиале, чей OID 1.3.6.1.4.1.3385 , и так далее.
Каждый объект и атрибут в Active Directory имеют уникальный OID (идентификаторы объектов). Идентификаторы объектов (OID) являются уникальными числовыми значениями (с пунктирными обозначениями), выпущенными Microsoft и другими органами -эмитентами, для однозначного идентификации объектов в Active Directory. Когда вы планируете добавить пользовательский атрибут, вы должны убедиться, что OID, который вы будете использовать, является уникальным, чтобы избежать любого возможного конфликта с OID любого другого объекта. Конфликт OID в Active Directory может привести к вопросам репликации или в худшем случае, потери данных.
Планирование обновления схемы Microsoft разработала Active Directory для удержания наиболее распространенных объектов и атрибутов, которые нам потребуются. Тем не менее, организациям нужно дополнительное поле для хранения пользовательских атрибутов, которые не доступны по умолчанию в Active Directory. Следовательно, возникает необходимость расширения схемы. Прежде чем планировать расширение схемы, мы должны рассмотреть приведенные ниже пункты:
- Схема распространена для всего рекламного леса, любое изменение в структуре схемы будет отражаться во всем лесах.
- Модификация схемы не может быть возвращена; Любой новый класс или атрибут, который мы создаем в схеме, является постоянным дополнением. Мы можем отключить или переопределить расширения схемы, но мы никогда не сможем их полностью удалить.
- Если есть альтернативное решение, мы всегда должны учитывать это. Например, нам нужно настраиваемое поле, называемое «номером броска» в нашем Active Directory. По умолчанию не доступен атрибут под названием «Номер ролика», но есть атрибут под названием «ID сотрудника». Поэтому мы должны рассмотреть, может ли какой -то существующий атрибут решить цель, и если да, мы должны пойти на это решение вместо расширения схемы.
- Для крупного предприятия мы всегда должны привлекать все заинтересованные стороны, прежде чем мы расширим схему. Кроме того, он должен быть впервые развернут в тестовой/разработчике среды и должен наблюдаться в течение нескольких недель, прежде чем развернуть в производстве.
- База данных Active Directory должна быть резервирована перед изменением схемы.
- Вместо того, чтобы напрямую добавлять пользовательский атрибут в существующий класс, мы всегда должны создавать вспомогательный класс и добавлять там атрибут. Тогда этот вспомогательный класс может быть связан с классом, где требуется новый атрибут.
- Мы всегда должны получать уникальный OID, используя сценарий или непосредственно от Яны. Кроме того, мы должны тщательно спланировать разветвление OID. Неправильное разветвление OID может привести к проблеме репликации или в худшем случае потерей данных.
- Схема может быть расширена только из этого контроллера домена, который удерживает главную роль схемы FSMO. Кроме того, для изменения схемы требуется привилегия администратора схемы.
- Во время расширения схемы все контроллеры доменов в лесу должны быть доступны, и не должно быть никакой проблемы с репликацией. Это связано с тем, что Active Directory хочет обеспечить, чтобы ни один другой контроллер домена не захватил роль мастер -схемы FSMO, и этот контроллер домена (откуда мы расширяем схему, действительно является реальным мастером схемы. Поэтому, если у нас есть какой -либо контроллер домена, который недоступен, но все еще там в базе данных AD, мы можем столкнуться с проблемой во время модификации схемы.
Пожалуйста, оставьте резервную копию базы данных Active Directory, прежде чем продолжить.
Чтобы создать пользовательские атрибуты:
Есть три способа изменить схему:
- Через схему Active Directory MMC Snap-In,
- Использование файлов LDIF
- Программно с использованием ADSI или LDAP.
Мы будем использовать первый метод, используя схему Active Directory MMC Snap-In
Шаг 1: Войти в контроллер домена схемы, с привилегией администратора схемы. Шаг 2: Зарегистрировать схемы управления. Управление схемами MMC Snap-In не доступна в меню «Административные инструменты», как и другие снимки Active Directory. Чтобы использовать его, нам нужно сначала зарегистрировать файл библиотеки динамических ссылок (DLL) для Snap-In, набрав следующую команду в командной строке:
regsvr32.exe schmmgmt.dll
Нажмите ОК
Шаг 3: Откройте схему Active Directory MMC Теперь перейдите в MMC и Open Active Directory Schema.
Win + R> MMC> File> Добавить/удалить Snap-In> Выберите Схему Active Directory> Добавить> Ok
Шаг 4: Получить уникальный OID. Каждый атрибут в схеме Active Directory имеет уникальное значение OID. Существует сценарий, разработанный Microsoft для создания этих уникальных клапанов OID. Это можно найти здесь.
Загрузите этот скрипт и выполните его через PowerShell. Этот скрипт генерирует идентификатор объекта (OID), используя GUID и префикс OID 1.2.840.113556.1.8000.2554
Когда вы запускаете «GENERGATE-oid.ps1» Сценарий PowerShell Вы можете получить сообщение, говорящее «GENERGATE-OD.PS1 не подписан в цифровом виде. Сценарий не будет выполняться в системе ». Чтобы исправить это, вы должны запустить команду ниже, чтобы запустить Set-ExecutionPolicy и изменить настройку политики выполнения.
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
Эта команда устанавливает политику выполнения обойти только для текущего сеанса PowerShell после закрытия окна, следующий сеанс PowerShell откроется с помощью политики выполнения по умолчанию. «Обход» означает, что ничего не заблокировано, и никаких предупреждений, подсказок или сообщений не будет отображаться.
Шаг 5: Добавьте новый атрибут: В моем случае я добавляю 2 новых атрибута
secret_key = string/false
- Рик нажмите на «Атрибуты» и нажмите на «Создать атрибут» Анкет Нажмите «Продолжить» на предупреждающем послании.
- Поставьте все необходимые значения. Выберите синтаксис очень внимательно.
- Если вы хотите повторить этот атрибут в глобальный каталог, выберите опцию «Повторить этот атрибут в глобальный каталог» Анкет Это сделало бы этот атрибут для поиска из других доменов в том же лесу, но также поставит некоторую дополнительную нагрузку на глобальный каталог. Так что не выбирайте эту опцию, если это не требуется.
- Наконец, нажмите «Применить» и «ОК».
Общее имя — Это имя объекта. Для CN разрешено использовать буквы, цифры и дефис. LDAP отображаемое имя — Когда объект ссылается на утилиту Script, программы или командной строки, он должен вызывать, используя отображение LDAP вместо общего имени. Когда вы определяете CN, он автоматически создаст имя дисплея LDAP. X500 ID объекта — Каждый атрибут в схеме Active Directory имеет уникальное значение OID. Microsoft развивает скрипт для создания этих уникальных клапанов OID. Синтаксис — Он определяет представление хранилища для объекта. Это разрешено использовать только синтаксисы, определенные Microsoft. Один атрибут может связаться только с одним синтаксисом. Ниже я перечислил несколько общих используемых синтаксисов в атрибутах.
Логический | Правда или ложь |
Строка Unicode | Большая струна |
Числовая строка | Строка цифр |
Целое число | 32-битное числовое значение |
Большое целое число | 64-битное числовое значение |
Сидень | Значение идентификатора безопасности |
Выдающееся имя | Значение строки, чтобы уникально идентифицировать объект в AD |
В качестве следующего шага нам нужно добавить его в пользовательский класс. Чтобы сделать это, перейти к Классы контейнер , дважды щелкните пользовательский класс И нажмите на вкладку «Атрибуты». Там, нажав кнопку «Добавить», может просмотреть и выберите недавно добавленный атрибут из списка.
Добавить вновь созданные атрибуты «ENABLE2FA» и «SecretKey» к «Пользовательский класс».
Сделайте то же самое для других атрибутов «Sectetkey»
Теперь закройте «Пользователи и компьютеры Active Directory» и снова открыть. Когда вы посмотрите на учетную запись пользователя, мы сможем увидеть новый атрибут, и мы можем добавить в нее новые данные.
Также проверьте второй атрибут.
Вы можете установить значения для этих атрибутов и проверить через PowerShell, отображается ли это значение или нет.
Примечание. Если значение вашего атрибута пустое, то этот пустой атрибут не будет отображаться, если вы запросите через PowerShell или любое приложение, но если он имеет значение, то это будет отражено.
В PowerShell
Get-ADUser -Identity bdn -Properties * Get-ADUser -Identity bdn -Properties secretkey,enable2FA
Вы успешно добавили пользовательские атрибуты в свой Active Directory.
Ссылки:
- https://social.technet.microsoft.com/wiki/contents/articles/51121.active-directory-how-to-add-custom-attribute-to-schema.aspx
- https://www.oreilly.com/library/view/active-directory-4th/9780596155179/ch04.html
- https://www.rebeladmin.com/2017/11/step-step-guide-create-custom-active-directory-attributes/#:~:text=In%20order%20to%20create%20custom,dll%20from%20the%20Domain%20Controller
- https://caiomsouza.medium.com/fix-for-powershell-script-not-digitally-signed-69f0ed518715
- https://gallery.technet.microsoft.com/scriptcenter/Generate-an-Object-4c9be66a#content
- https://docs.microsoft.com/en-us/archive/blogs/isingh/adding-custom-attributes-in-active-directory
Оригинал: «https://dev.to/bidhanahdib/adding-custom-attributes-in-active-directory-4g8d»