Spec-Zone.ru › Ansible

Модуль 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. Дополнительные сведения см. в примерах.

Требования

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

  • Модуль ActiveDirectory PowerShell
END_OF_DOCUMENT_MARKER

Параметры

Параметр

Комментарии

allowed_to_retrieve_password

словарь

Принципы, которым разрешено получать пароль для учетной записи службы, для добавления, удаления или изменения.

Каждое значение подключаемого ключа — это список значений в формате distinguishedName, objectGUID, objectSid, c(sAMAccountName) или userPrincipalName строки или словарь со значением name и необязательным значением server.

Это значение встраивается в дескриптор безопасности модулем ActiveDirectory и устанавливается в атрибуте msDS-GroupMSAMembership LDAP.

Это соответствует параметру -PrincipalsAllowedToRetrieveManagedPassword в модулях AD.

Для очистки всех принципов используйте set со списком пустым списком.

См. Атрибуты поиска по DN для получения дополнительной информации о работе поиска по DN.

См. Установка значений параметров списка для получения дополнительной информации о добавлении/удалении/установке параметров списка.

add

список / элементы=любые

Добавляет принципы, указанные как принципы, которым разрешено получать пароль учетной записи службы.

Любые существующие принципы, не указанные в add, останутся без изменений, если не указаны в remove или отсутствуют в set.

lookup_failure_action

строка

Управление действием, выполняемым при ошибке поиска DN.

fail приведет к завершению задачи с ошибкой.

ignore проигнорирует значение и продолжит выполнение.

warn проигнорирует значение и отобразит предупреждение.

Варианты:

  • "fail" ← (по умолчанию)
  • "ignore"
  • "warn"

remove

список / элементы=любые

Удаляет принципы, указанные как принципы, которым разрешено получать пароль учетной записи службы.

Любые существующие принципы, не указанные в remove, останутся без изменений, если не определено set.

set

список / элементы=любые

Устанавливает принципы, указанные как принципы, которым разрешено получать пароль учетной записи службы.

Это приведет к удалению любых существующих принципов, если они не указаны в этом списке.

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

attributes

словарь

Атрибуты, которые нужно добавить, удалить или установить для объекта AD.

Значение каждого параметра атрибута должно быть словарем, где ключ — атрибут LDAP, например, firstName, comment, а значение — значение или список значений для установки для этого атрибута.

Значение(я) атрибута может быть строковым, целочисленным или логическим значением для добавления, удаления или установки в соответствующем атрибуте.

Значение также может быть словарем со значением ключа type, установленным на bytes, date_time, security_descriptor, или raw, а значение для этой записи — под ключом value.

Тип bytes имеет значение, которое является строкой base64 закодированной исходных байтов для установки.

Тип date_time имеет значение, которое является строкой ISO 8601 DateTime для установки. Дата и время будут установлены как целое число Microsoft FILETIME, которое представляет количество 100 наносекунд с 1601-01-01 в UTC.

Тип security_descriptor имеет значение, которое является строкой SDDL дескриптора безопасности, используемой для атрибута nTSecurityDescriptor.

Тип raw — это целое, строка или логическое значение для установки.

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

См. Справочник по атрибутам LDAP для получения дополнительной информации.

По умолчанию: {}

add

словарь

Словарь всех атрибутов и их значений для добавления к управляемому объекту AD, если они еще не присутствуют.

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

По умолчанию: {}

remove

словарь

Словарь всех атрибутов и их значений для удаления из управляемого объекта AD, если они присутствуют.

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

По умолчанию: {}

set

словарь

Словарь всех атрибутов и их значений для установки в управляемом объекте AD.

Это заменит любые существующие значения, если они не совпадают с запрашиваемыми.

Порядок значений атрибутов не проверяется, только что запрашиваемые значения являются единственными значениями в атрибуте объекта.

Установите это значение в null или пустой список, чтобы очистить любые значения для атрибута.

По умолчанию: {}

delegates

псевдонимы: principals_allowed_to_delegate

словарь

Принципы объектов, которым текущий объект AD может доверять для делегирования, для добавления, удаления или установки.

Это также известно как делегирование с ограничениями на основе ресурсов.

Каждое значение подключаемого ключа — это список значений в формате distinguishedName, objectGUID, objectSid, sAMAccountName, или userPrincipalName строки или словарь со значением name и необязательным значением server.

Это значение устанавливается в атрибуте msDS-AllowedToActOnBehalfOfOtherIdentity LDAP.

Это очень чувствительный атрибут, так как он позволяет указанным принципам имитировать любые учетные записи при аутентификации службы, выполняемой под этой управляемой учетной записью.

Для очистки всех принципов используйте set со списком пустым списком.

См. Атрибуты поиска по DN для получения дополнительной информации о работе поиска по DN.

См. Установка значений параметров списка для получения дополнительной информации о добавлении/удалении/установке параметров списка.

add

список / элементы=любые

Добавляет принципы, указанные как принципы, которым разрешено делегирование.

Любые существующие принципы, не указанные в add, останутся без изменений, если не указаны в remove или отсутствуют в set.

END_OF_DOCUMENT_MARKER

lookup_failure_action

string

Управление действием при неудачном поиске DN.

fail приведет к ошибке задачи.

ignore проигнорирует значение и продолжит выполнение.

warn проигнорирует значение и отобразит предупреждение.

Выбор:

  • "fail" ← (по умолчанию)
  • "ignore"
  • "warn"

remove

list / elements=any

Удаляет указанные принципы, разрешенные для делегирования.

Любые существующие принципы, не указанные в remove, останутся неизменными, если не определен параметр set.

set

list / elements=any

Устанавливает указанные принципы, разрешенные для делегирования.

Это приведет к удалению любых существующих принципов, если они не указаны в этом списке.

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

description

string

Описание объекта AD, которое нужно установить.

Это значение, задаваемое в атрибуте description LDAP.

display_name

string

Отображаемое имя объекта AD, которое нужно установить.

Это значение атрибута displayName LDAP.

dns_hostname

string

Указывает DNS-имя учетной записи службы.

Это значение, задаваемое в атрибуте dNSHostName LDAP.

Нельзя установить, когда outbound_auth_only=True, в противном случае он должен быть определен.

do_not_append_dollar_to_sam

boolean

Не добавляйте автоматически $ к значению sam_account_name.

Это применяется только тогда, когда sam_account_name явно установлен и может быть использован для создания учетной записи службы без суффикса $.

Выбор:

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

domain_credentials

list / elements=dictionary

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

Для указания учетных данных для сервера по умолчанию для домена используйте запись без ключа name или используйте опции domain_username и domain_password.

Это можно установить в параметрах модуля плейбука в группе group/microsoft.ad.domain.

Подробнее об аутентификации AD в модулях см. в аутентификации AD в модулях.

По умолчанию: []

name

string

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

Это значение должно соответствовать значению, используемому в других параметрах, указывающих на использование пользовательского сервера, например, параметре, ссылающемся на идентификатор AD, расположенный на другом сервере AD.

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

password

string / обязательно

Пароль для подключения к серверу, указанному в name.

username

string / обязательно

Имя пользователя для подключения к серверу, указанному в name.

domain_password

string

Пароль для domain_username.

Запись domain_credentials без ключа name также может использоваться для указания учетных данных для аутентификации по умолчанию для домена.

Это можно установить в параметрах модуля плейбука в группе group/microsoft.ad.domain.

domain_server

string

Указывает экземпляр служб домена Active Directory для подключения.

Может быть в формате FQDN или NetBIOS-имени.

Если не указано, значение основано на домене по умолчанию компьютера, на котором выполняется PowerShell.

Пользовательские учетные данные можно указать в записи domain_credentials без ключа name или через domain_username и domain_password.

Это можно установить в параметрах модуля плейбука в группе group/microsoft.ad.domain.

domain_username

string

Имя пользователя, используемое при взаимодействии с AD.

Если это не установлено, пользователь, используемый для аутентификации, будет пользователем подключения.

Ansible не сможет использовать подключенного пользователя, если аутентификация не Kerberos с делегированием учетных данных или CredSSP, или не используется become в задаче.

Запись domain_credentials без ключа name также может использоваться для указания учетных данных для аутентификации по умолчанию для домена.

Это можно установить в параметрах модуля плейбука в группе group/microsoft.ad.domain.

enabled

boolean

yes включит учетную запись службы.

no отключит учетную запись службы.

Выбор:

  • false
  • true
END_OF_DOCUMENT_MARKER

identity

string

Идентификатор объекта AD, используемого для поиска объекта AD для управления.

Это необходимо указать, если; name не задан, при переименовании объекта с новым name или при перемещении объекта в другое path.

Идентификатор может быть представлен в виде GUID, представляющего значение objectGUID, userPrincipalName, sAMAccountName, objectSid, или distinguishedName.

Если опущено, объект AD для управления выбирается по distinguishedName с использованием формата CN={{ name }},{{ path }}. Если path не определен, используется defaultNamingContext.

При использовании модуля microsoft.ad.computer, идентификатор автоматически добавит $ в конец sAMAccountName, если предоставленное значение не привело к совпадению и не имело $ в конце.

kerberos_encryption_types

dictionary

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

Это значение, установленное в атрибуте LDAP msDS-SupportedEncryptionTypes.

Избегайте использования rc4 или des, так как они являются устаревшими и небезопасными протоколами шифрования.

Для удаления всех типов шифрования используйте set со пустым списком.

См. Установка значений параметров списка для получения дополнительной информации о добавлении/удалении/установке параметров списка.

add

list / elements=string

Типы шифрования, которые нужно добавить в существующий набор.

Любые существующие типы шифрования, не указанные в add, останутся без изменений, если не указаны в remove или не присутствуют в set.

Выбоpы:

  • "aes128"
  • "aes256"
  • "des"
  • "rc4"

remove

list / elements=string

Типы шифрования, которые нужно удалить из существующего набора.

Любые существующие типы шифрования, не указанные в remove, останутся без изменений, если не задано set.

Выбоpы:

  • "aes128"
  • "aes256"
  • "des"
  • "rc4"

set

list / elements=string

Типы шифрования, которые следует установить в качестве единственных разрешенных типов шифрования для учетной записи службы AD.

Это приведет к удалению любых существующих типов шифрования, если они не указаны в этом списке.

Укажите пустой список для удаления всех типов шифрования.

Выбоpы:

  • "aes128"
  • "aes256"
  • "des"
  • "rc4"

name

string

Имя объекта AD для управления. Это не полное имя объекта, а запись LDAP cn или name объекта в указанном пути. Используйте identity для выбора объекта для управления по его sAMAccountName.

Если задан identity, и имя объекта, найденного по этому идентификатору, не совпадает с этим значением, объект будет переименован.

Необходимо указать, если identity не задан.

outbound_auth_only

boolean

Помечает учетную запись службы для использования только с внешней аутентификацией клиента.

При установке учетная запись службы может использоваться только для ролей клиента. Например, она может использоваться только для попыток внешней аутентификации и не может использоваться как целевой сервис-принципал аутентификации.

Если установлено, dns_hostname не может быть установлено.

Выбоpы:

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

path

string

Путь к OU или контейнеру, где должен существовать новый объект.

При создании нового объекта новый объект будет создан в указанном пути. Если путь не указан, для большинства типов объектов используется путь к корневой папке домена.

При управлении существующим объектом, найденным по identity, путь найденного объекта будет изменён на указанный в этом параметре. Если путь не указан, объект не будет перемещён.

В модулях microsoft.ad.computer, microsoft.ad.user и microsoft.ad.group есть собственный путь по умолчанию, настроенный на контроллере домена Active Directory.

Это может быть установлено в буквальное значение microsoft.ad.default_path, которое будет равно значению по умолчанию при создании нового объекта.

protect_from_deletion

boolean

Помечает объект как защищённый от случайного удаления.

Это накладывает запрет на удаление объекта стандартным способом, и защиту необходимо снять перед удалением объекта через графический интерфейс или любой другой инструмент вне Ansible.

Использование state=absent всё равно удалит объект AD, даже если он помечен как защищённый от удаления.

Выбоpы:

  • false
  • true

sam_account_name

string

Значение sAMAccountName для учетной записи службы.

Максимальная длина — 256 символов, рекомендуется 15 для совместимости со старыми операционными системами.

Если опущено, значение совпадает с name$ при создании учетной записи службы.

Обратите внимание, что значения sAMAccountName учетных записей службы обычно заканчиваются $.

По умолчанию, если суффикс $ опущен, он будет добавлен в конец. Если do_not_append_dollar_to_sam=True, указанное значение будет использоваться без добавления $ в конец.

spn

aliases: spns

dictionary

Указывает имя(а) сервисного принципала для добавления, удаления или установки.

Это значение, установленное в атрибуте LDAP servicePrincipalName.

Для очистки всех имён сервисного принципала используйте set с пустым списком.

См. Установка значений параметров списка для получения дополнительной информации о добавлении/удалении/установке параметров списка.

add

список / элементы=строка

Службы SPN, которые необходимо добавить к servicePrincipalName.

remove

список / элементы=строка

Службы SPN, которые необходимо удалить из servicePrincipalName.

set

список / элементы=строка

Службы SPN, которые необходимо установить в качестве единственных значений в servicePrincipalName.

Это очистит любые существующие SPN, если они не указаны в списке.

Установка пустого списка очистит все SPN в объекте AD.

state

строка

Установите present, чтобы гарантировать существование объекта AD.

Установите absent, чтобы удалить объект AD, если он существует.

Параметр name должен быть задан при state=present.

Использование absent рекурсивно удалит объект AD и любые дочерние объекты, если это контейнер. Он также удалит объект AD, даже если объект помечен как защищенный от случайного удаления.

Варианты:

  • "absent"
  • "present" ← (по умолчанию)

trusted_for_delegation

логическое значение

Указывает, доверяет ли учетная запись делегированию Kerberos.

Это также известно как не ограниченное делегирование Kerberos.

Это устанавливает флаг ADS_UF_TRUSTED_FOR_DELEGATION в атрибуте userAccountControl LDAP.

Варианты:

  • false
  • true

upn

строка

Настраивает имя основного пользователя (UPN) для учетной записи.

Формат: <username>@<domain>.

Это значение, заданное в атрибуте userPrincipalName LDAP.

Атрибуты

Атрибут

Поддержка

Описание

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

Авторы

  • Jordan Borean (@jborean93)

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

  • Трекер задач
  • Репозиторий (источники)
  • Сообщить об ошибке
  • Связь

© 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

Spec-Zone.ru

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