Модуль microsoft.ad.service_account — Управление объектами учетных записей служб Active Directory
Примечание
Этот модуль входит в состав коллекции microsoft.ad (версия 1.7.1).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install microsoft.ad. Для использования этого модуля требуются дополнительные компоненты. Подробности см. в разделе Требования.
Для использования в книге задач укажите: microsoft.ad.service_account.
Добавлен в microsoft.ad 1.7.0
Описание
- Управление объектами учетных записей служб Active Directory и их атрибутами.
- В настоящее время этот модуль поддерживает только учетные записи служб с управлением группами (gMSA).
- Перед созданием gMSA среда AD должна создать корневой ключ KDS. Подробности см. в статье KDS Key. Для немедленного действия ключа установите эффективное время на 10 часов назад и не используйте параметр
-EffectiveImmediately. Дополнительные сведения см. в примерах.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- Модуль
ActiveDirectoryPowerShell
Параметры
Параметр | Комментарии |
|---|---|
allowed_to_retrieve_password словарь | Принципы, которым разрешено получать пароль для учетной записи службы, для добавления, удаления или изменения. Каждое значение подключаемого ключа — это список значений в формате Это значение встраивается в дескриптор безопасности модулем ActiveDirectory и устанавливается в атрибуте Это соответствует параметру Для очистки всех принципов используйте set со списком пустым списком. См. Атрибуты поиска по DN для получения дополнительной информации о работе поиска по DN. См. Установка значений параметров списка для получения дополнительной информации о добавлении/удалении/установке параметров списка. |
|
add список / элементы=любые |
Добавляет принципы, указанные как принципы, которым разрешено получать пароль учетной записи службы. Любые существующие принципы, не указанные в add, останутся без изменений, если не указаны в remove или отсутствуют в set. |
|
lookup_failure_action строка |
Управление действием, выполняемым при ошибке поиска DN.
Варианты:
|
|
remove список / элементы=любые |
Удаляет принципы, указанные как принципы, которым разрешено получать пароль учетной записи службы. Любые существующие принципы, не указанные в remove, останутся без изменений, если не определено set. |
|
set список / элементы=любые |
Устанавливает принципы, указанные как принципы, которым разрешено получать пароль учетной записи службы. Это приведет к удалению любых существующих принципов, если они не указаны в этом списке. Укажите пустой список, чтобы удалить все принципы, которым разрешена делегация. |
attributes словарь | Атрибуты, которые нужно добавить, удалить или установить для объекта AD. Значение каждого параметра атрибута должно быть словарем, где ключ — атрибут LDAP, например, Значение(я) атрибута может быть строковым, целочисленным или логическим значением для добавления, удаления или установки в соответствующем атрибуте. Значение также может быть словарем со значением ключа type, установленным на Тип Тип Тип Тип Строковые значения атрибутов сравниваются с использованием чувствительного к регистру соответствия в объекте AD, который управляется. См. Справочник по атрибутам LDAP для получения дополнительной информации. По умолчанию: |
|
add словарь |
Словарь всех атрибутов и их значений для добавления к управляемому объекту AD, если они еще не присутствуют. Используется для атрибутов, которые могут содержать несколько значений. Если атрибут допускает только одно значение, используйте set. По умолчанию: |
|
remove словарь |
Словарь всех атрибутов и их значений для удаления из управляемого объекта AD, если они присутствуют. Используется для атрибутов, которые могут содержать несколько значений. Если атрибут допускает только одно значение, используйте set. По умолчанию: |
|
set словарь |
Словарь всех атрибутов и их значений для установки в управляемом объекте AD. Это заменит любые существующие значения, если они не совпадают с запрашиваемыми. Порядок значений атрибутов не проверяется, только что запрашиваемые значения являются единственными значениями в атрибуте объекта. Установите это значение в null или пустой список, чтобы очистить любые значения для атрибута. По умолчанию: |
delegates псевдонимы: principals_allowed_to_delegate словарь | Принципы объектов, которым текущий объект AD может доверять для делегирования, для добавления, удаления или установки. Это также известно как делегирование с ограничениями на основе ресурсов. Каждое значение подключаемого ключа — это список значений в формате Это значение устанавливается в атрибуте Это очень чувствительный атрибут, так как он позволяет указанным принципам имитировать любые учетные записи при аутентификации службы, выполняемой под этой управляемой учетной записью. Для очистки всех принципов используйте set со списком пустым списком. См. Атрибуты поиска по DN для получения дополнительной информации о работе поиска по DN. См. Установка значений параметров списка для получения дополнительной информации о добавлении/удалении/установке параметров списка. |
|
add список / элементы=любые |
Добавляет принципы, указанные как принципы, которым разрешено делегирование. Любые существующие принципы, не указанные в add, останутся без изменений, если не указаны в remove или отсутствуют в set. |
|
lookup_failure_action string |
Управление действием при неудачном поиске DN.
Выбор:
|
|
remove list / elements=any |
Удаляет указанные принципы, разрешенные для делегирования. Любые существующие принципы, не указанные в remove, останутся неизменными, если не определен параметр set. |
|
set list / elements=any |
Устанавливает указанные принципы, разрешенные для делегирования. Это приведет к удалению любых существующих принципов, если они не указаны в этом списке. Укажите пустой список, чтобы удалить все разрешенные принципы для делегирования. |
description string | Описание объекта AD, которое нужно установить. Это значение, задаваемое в атрибуте |
display_name string | Отображаемое имя объекта AD, которое нужно установить. Это значение атрибута |
dns_hostname string | Указывает DNS-имя учетной записи службы. Это значение, задаваемое в атрибуте Нельзя установить, когда |
do_not_append_dollar_to_sam boolean | Не добавляйте автоматически Это применяется только тогда, когда sam_account_name явно установлен и может быть использован для создания учетной записи службы без суффикса Выбор:
|
domain_credentials list / elements=dictionary | Указывает учетные данные, которые должны использоваться при использовании сервера, указанного параметром name. Для указания учетных данных для сервера по умолчанию для домена используйте запись без ключа name или используйте опции domain_username и domain_password. Это можно установить в параметрах модуля плейбука в группе Подробнее об аутентификации AD в модулях см. в аутентификации AD в модулях. По умолчанию: |
|
name string |
Имя сервера, для которого предназначены эти учетные данные. Это значение должно соответствовать значению, используемому в других параметрах, указывающих на использование пользовательского сервера, например, параметре, ссылающемся на идентификатор AD, расположенный на другом сервере AD. Этот ключ можно опустить в одной записи, чтобы указать используемые по умолчанию учетные данные, когда сервер не указан вместо использования domain_username и domain_password. |
|
password string / обязательно |
Пароль для подключения к серверу, указанному в name. |
|
username string / обязательно |
Имя пользователя для подключения к серверу, указанному в name. |
domain_password string | Пароль для domain_username. Запись domain_credentials без ключа name также может использоваться для указания учетных данных для аутентификации по умолчанию для домена. Это можно установить в параметрах модуля плейбука в группе |
domain_server string | Указывает экземпляр служб домена Active Directory для подключения. Может быть в формате FQDN или NetBIOS-имени. Если не указано, значение основано на домене по умолчанию компьютера, на котором выполняется PowerShell. Пользовательские учетные данные можно указать в записи domain_credentials без ключа name или через domain_username и domain_password. Это можно установить в параметрах модуля плейбука в группе |
domain_username string | Имя пользователя, используемое при взаимодействии с AD. Если это не установлено, пользователь, используемый для аутентификации, будет пользователем подключения. Ansible не сможет использовать подключенного пользователя, если аутентификация не Kerberos с делегированием учетных данных или CredSSP, или не используется become в задаче. Запись domain_credentials без ключа name также может использоваться для указания учетных данных для аутентификации по умолчанию для домена. Это можно установить в параметрах модуля плейбука в группе |
enabled boolean |
Выбор:
|
identity string | Идентификатор объекта AD, используемого для поиска объекта AD для управления. Это необходимо указать, если; name не задан, при переименовании объекта с новым name или при перемещении объекта в другое path. Идентификатор может быть представлен в виде GUID, представляющего значение Если опущено, объект AD для управления выбирается по При использовании модуля microsoft.ad.computer, идентификатор автоматически добавит |
kerberos_encryption_types dictionary | Указывает типы шифрования Kerberos, поддерживаемые учетной записью службы AD. Это значение, установленное в атрибуте LDAP Избегайте использования Для удаления всех типов шифрования используйте set со пустым списком. См. Установка значений параметров списка для получения дополнительной информации о добавлении/удалении/установке параметров списка. |
|
add list / elements=string |
Типы шифрования, которые нужно добавить в существующий набор. Любые существующие типы шифрования, не указанные в add, останутся без изменений, если не указаны в remove или не присутствуют в set. Выбоpы:
|
|
remove list / elements=string |
Типы шифрования, которые нужно удалить из существующего набора. Любые существующие типы шифрования, не указанные в remove, останутся без изменений, если не задано set. Выбоpы:
|
|
set list / elements=string |
Типы шифрования, которые следует установить в качестве единственных разрешенных типов шифрования для учетной записи службы AD. Это приведет к удалению любых существующих типов шифрования, если они не указаны в этом списке. Укажите пустой список для удаления всех типов шифрования. Выбоpы:
|
name string | Имя объекта AD для управления. Это не полное имя объекта, а запись LDAP Если задан identity, и имя объекта, найденного по этому идентификатору, не совпадает с этим значением, объект будет переименован. Необходимо указать, если identity не задан. |
outbound_auth_only boolean | Помечает учетную запись службы для использования только с внешней аутентификацией клиента. При установке учетная запись службы может использоваться только для ролей клиента. Например, она может использоваться только для попыток внешней аутентификации и не может использоваться как целевой сервис-принципал аутентификации. Если установлено, dns_hostname не может быть установлено. Выбоpы:
|
path string | Путь к OU или контейнеру, где должен существовать новый объект. При создании нового объекта новый объект будет создан в указанном пути. Если путь не указан, для большинства типов объектов используется путь к корневой папке домена. При управлении существующим объектом, найденным по identity, путь найденного объекта будет изменён на указанный в этом параметре. Если путь не указан, объект не будет перемещён. В модулях microsoft.ad.computer, microsoft.ad.user и microsoft.ad.group есть собственный путь по умолчанию, настроенный на контроллере домена Active Directory. Это может быть установлено в буквальное значение |
protect_from_deletion boolean | Помечает объект как защищённый от случайного удаления. Это накладывает запрет на удаление объекта стандартным способом, и защиту необходимо снять перед удалением объекта через графический интерфейс или любой другой инструмент вне Ansible. Использование state=absent всё равно удалит объект AD, даже если он помечен как защищённый от удаления. Выбоpы:
|
sam_account_name string | Значение Максимальная длина — 256 символов, рекомендуется 15 для совместимости со старыми операционными системами. Если опущено, значение совпадает с Обратите внимание, что значения По умолчанию, если суффикс |
spn aliases: spns dictionary | Указывает имя(а) сервисного принципала для добавления, удаления или установки. Это значение, установленное в атрибуте LDAP Для очистки всех имён сервисного принципала используйте set с пустым списком. См. Установка значений параметров списка для получения дополнительной информации о добавлении/удалении/установке параметров списка. |
|
add список / элементы=строка |
Службы SPN, которые необходимо добавить к |
|
remove список / элементы=строка |
Службы SPN, которые необходимо удалить из |
|
set список / элементы=строка |
Службы SPN, которые необходимо установить в качестве единственных значений в Это очистит любые существующие SPN, если они не указаны в списке. Установка пустого списка очистит все SPN в объекте AD. |
state строка | Установите Установите Параметр name должен быть задан при state=present. Использование Варианты:
|
trusted_for_delegation логическое значение | Указывает, доверяет ли учетная запись делегированию Kerberos. Это также известно как не ограниченное делегирование Kerberos. Это устанавливает флаг Варианты:
|
upn строка | Настраивает имя основного пользователя (UPN) для учетной записи. Формат: Это значение, заданное в атрибуте |
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
check_mode | Поддержка: полная | Может работать в режиме check_mode и возвращать прогноз состояния изменений без изменения целевого объекта. Если не поддерживается, действие будет пропущено. |
diff_mode | Поддержка: полная | Вернет подробности о том, что изменилось (или, возможно, необходимо изменить в режиме check_mode), при работе в режиме diff. |
platform | Платформа: windows | Целевые операционные системы/семейства, с которыми можно взаимодействовать. |
Примечания
Примечание
- Этот модуль должен выполняться на целевом хосте Windows с установленным модулем
ActiveDirectory. - При сопоставлении по identity со значением
sAMAccountName, значение должно заканчиваться на$. Если предоставленное значение не заканчивается на$, модуль всё равно попытается найти учетную запись службы со значением, прежде чем попытаться выполнить поиск по умолчанию, добавив$в конец. - Некоторые атрибуты LDAP могут иметь только одно значение, в то время как другие могут иметь несколько. Некоторые атрибуты также только для чтения и не могут быть изменены. Рекомендуется ознакомиться с метаданными схемы для атрибута, где
System-Only— значения только для чтения, аIs-Single-Value— атрибуты с единственным значением. - Попытка установить несколько значений для атрибута
Is-Single-Valueприводит к неопределенному поведению. - Если выполняется на сервере, который не является контроллером домена, необходимо использовать делегирование учетных данных через CredSSP или Kerberos с делегированием или задать domain_username, domain_password.
См. также
См. также
- microsoft.ad.object_info
-
Получение информации об объекте Active Directory.
- microsoft.ad.object
-
Управление объектами Active Directory.
Примеры
# A gMSA requires a KDS root key to be created. This key must be valid for
# 10 hours before it can be used. This example creates the key and sets the
# time for 10 hours ago to let it be used immediately. If your environment
# uses multiple DCs you will still need to wait 10 hours for replication to
# occur or target the DC you created the key on. Required Domain Admin or
# Enterprise Admin privileges.
- name: Create KDS root key if not present
ansible.windows.win_powershell:
error_action: stop
script: |
$Ansible.Changed = $false
if (-not (Get-KdsRootKey)) {
Add-KdsRootKey -EffectiveTime ((Get-Date).AddHours(-10))
$Ansible.Changed = $true
}
- name: Create gMSA that allows Domain Admins to use
microsoft.ad.service_account:
identity: MyGMSA
dns_hostname: MyGMSA.my_org.local
description: GMSA for Domin Admins
state: present
allowed_to_retrieve_password:
set:
- Domain Admins
- name: create gMSA that allows the ITFarmHosts computer account to retrieve the pass
microsoft.ad.service_account:
identity: ITFarm1
dns_hostname: ITFarm1.contoso.com
allowed_to_retrieve_password:
set:
- ITFarmHosts$
kerberos_encryption_types:
set:
- aes128
- aes256
spn:
add:
- http/ITFarm1.contoso.com/contoso.com
- http/ITFarm1.contoso.com/contoso
- http/ITFarm1.contoso.com
- http/ITFarm1.contoso
- name: Remove gMSA by identity
microsoft.ad.service_account:
identity: ITFarm1$
state: absent
- name: Add SPNs to service account
microsoft.ad.service_account:
identity: MySA$
spn:
add:
- HOST/MySA
- HOST/MySA.domain.test
- HOST/MySA.domain.test:1234
- name: Remove SPNs on the service account
microsoft.ad.service_account:
identity: MySA$
spn:
remove:
- HOST/MySA
- HOST/MySA.domain.test
- HOST/MySA.domain.test:1234
- name: Add gMSA with sAMAccountName without $ suffix
microsoft.ad.service_account:
identity: MySA
dns_hostname: MySA.contoso.com
sam_account_name: MySA
do_not_append_dollar_to_sam: true
Ссылки на сборку
© 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/microsoft/ad/service_account_module.html