Spec-Zone.ru › Ansible

microsoft.ad.user модуль – Управление пользователями Active Directory

Примечание

Этот модуль является частью коллекции microsoft.ad (версия 1.7.1).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.

Чтобы установить её, используйте: ansible-galaxy collection install microsoft.ad. Для использования этого модуля потребуются дополнительные требования, см. Требования для подробностей.

Для использования в книге задач, укажите: microsoft.ad.user.

  • Описание
  • Требования
  • Параметры
  • Атрибуты
  • Примечания
  • См. также
  • Примеры
  • Значения возврата

Описание

  • Управляет пользователями Active Directory и их атрибутами.

Требования

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

  • ActiveDirectory модуль PowerShell
END_OF_DOCUMENT_MARKER

Параметры

Параметр

Комментарии

account_locked

boolean

no разблокирует учетную запись пользователя, если она заблокирована.

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

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

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

Варианты:

  • false
  • true

attributes

словарь

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

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

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

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

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

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

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

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

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

Дополнительную информацию см. в Справочной информации по атрибутам LDAP.

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

add

словарь

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

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

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

remove

словарь

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

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

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

set

словарь

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

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

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

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

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

city

строка

Настраивает город пользователя.

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

company

строка

Настраивает название компании пользователя.

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

country

строка

Настраивает код страны пользователя.

Обратите внимание, что это двухбуквенный код ISO 3166.

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

delegates

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

словарь

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

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

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

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

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

Дополнительную информацию о работе поиска по DN см. в Атрибуты поиска по DN.

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

add

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

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

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

lookup_failure_action

строка

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

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

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

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

Варианты:

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

remove

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

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

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

set

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

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

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

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

description

string

Описание объекта каталога AD для установки.

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

display_name

string

Отображаемое имя объекта каталога AD для установки.

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

domain_credentials

list / elements=dictionary

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

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

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

Дополнительную информацию см. в аутентификации 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 Domain Services для подключения.

Может быть в формате 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.

email

string

Настраивает адрес электронной почты пользователя.

Это запись в AD и не выполняет никаких действий для настройки почтовых серверов или систем.

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

enabled

boolean

yes включит учетную запись пользователя.

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

По умолчанию при создании новой учетной записи значение равно yes, если указан password. Если password не указан, пользователь не будет включен.

Варианты:

  • false
  • true

firstname

string

Настраивает имя пользователя (имя).

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

groups

dictionary

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

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

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

Добавление и удаление пользователя из группы выполняется на объекте AD группы. Если группа находится в другом домене, то для работы могут потребоваться явные параметры server и domain_credentials.

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

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

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

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

add

list / elements=any

Группы, к которым должен быть добавлен пользователь.

lookup_failure_action

aliases: missing_behaviour

string

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

fail — значение по умолчанию, возвращающее ошибку, если группы не существуют.

ignore — игнорирует любые несуществующие группы.

warn — отображает предупреждение для любых несуществующих групп, но продолжит выполнение без сбоя.

Варианты:

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

remove

list / elements=any

Группы, из которых необходимо удалить пользователя.

set

list / elements=any

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

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

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

identity

string

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

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

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

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

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

name

string

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

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

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

password

string

Дополнительно задайте пароль пользователя (в виде простого текста).

Чтобы включить учётную запись — enabled — пароль уже должен быть настроен на учётной записи, или вы должны предоставить его здесь.

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

password_expired

boolean

yes потребует от пользователя смены пароля при следующей авторизации.

no сбросит флаг истечения срока действия пароля.

Это взаимоисключающие варианты с password_never_expires.

Варианты:

  • false
  • true

password_never_expires

boolean

yes установит, что пароль никогда не будет истекать.

no позволит паролю истечь.

Это взаимоисключающие варианты с password_expired.

Варианты:

  • false
  • true

path

string

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

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

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

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

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

postal_code

string

Настройка почтового индекса пользователя.

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

protect_from_deletion

boolean

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

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

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

Варианты:

  • false
  • true

sam_account_name

string

Значение sAMAccountName для пользователя.

Если опущено, используется значение name при создании нового пользователя.

spn

aliases: spns

dictionary

Указывает имена основных сервисов (SPN) для учётной записи, которые необходимо добавить, удалить или установить.

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

Чтобы очистить все имена основных сервисов, используйте set с пустым списком.

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

add

list / elements=string

SPN для добавления в servicePrincipalName.

remove

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

Удаляемые SPN из servicePrincipalName.

set

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

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

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

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

state

строка

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

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

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

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

Выбрать:

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

state_province

строка

Настраивает регион пользователя.

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

street

строка

Настраивает адрес улицы пользователя.

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

surname

алиасы: lastname

строка

Настраивает фамилию пользователя.

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

update_password

строка

always всегда обновит пароли.

on_create установит пароль только для вновь созданных пользователей.

when_changed установит пароль только при изменении.

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

Выбрать:

  • "always" ← (по умолчанию)
  • "on_create"
  • "when_changed"

upn

строка

Настраивает Имя основного принципа пользователя (UPN).

Это необязательно, но рекомендуется настроить для современных версий Active Directory.

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

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

user_cannot_change_password

булево

yes запретит пользователю изменение пароля.

no разрешит пользователю изменение пароля.

Выбрать:

  • false
  • true

Атрибуты

Атрибут

Поддержка

Описание

check_mode

Поддержка: полная

Может работать в режиме check_mode и возвращать прогноз изменённого статуса без изменения целевого объекта. Если не поддерживается, действие будет пропущено.

diff_mode

Поддержка: полная

Вернёт подробности о том, что изменилось (или, возможно, требует изменения в режиме check_mode) при использовании diff mode

platform

Платформа: windows

Целевые ОС/семейства, к которым можно обратиться.

Примечания

Примечание

  • См. переход win_domain_user, чтобы узнать, как перейти с модуля community.windows.win_domain_user на этот модуль.
  • Этот модуль должен выполняться на целевом хосте Windows с установленным модулем ActiveDirectory.
  • Некоторые атрибуты LDAP могут иметь только одно значение, в то время как другие — несколько. Некоторые атрибуты также являются только для чтения и не могут быть изменены. Рекомендуется ознакомиться со схемой метаданных атрибута, где System-Only представляют значения только для чтения, а Is-Single-Value — атрибуты с единственным значением.
  • Попытка установить несколько значений в атрибут Is-Single-Value приводит к неопределенному поведению.
  • Если выполняется на сервере, который не является контроллером домена, должна использоваться делегация учетных данных через CredSSP или Kerberos с делегацией, или должны быть заданы domain_username и domain_password.

См. также

См. также

microsoft.ad.domain

Обеспечивает существование домена Windows.

microsoft.ad.domain_controller

Управление состоянием контроллера домена/член-сервера для хоста Windows.

microsoft.ad.group

Управление объектами групп Active Directory.

microsoft.ad.object

Управление объектами Active Directory.

microsoft.ad.object_info

Получение информации об объекте Active Directory.

microsoft.ad.computer

Управление компьютерными объектами Active Directory.

Руководство по миграции

Этот модуль заменяет community.windows.win_domain_user. Подробности см. в руководстве по миграции.

community.windows.win_domain_user

Управление учетными записями пользователей Windows Active Directory.

Примеры

- name: Ensure user bob is present with address information
  microsoft.ad.user:
    identity: bob
    firstname: Bob
    surname: Smith
    company: BobCo
    password: B0bP4ssw0rd
    state: present
    groups:
      set:
        - Domain Admins
    street: 123 4th St.
    city: Sometown
    state_province: IN
    postal_code: 12345
    country: US
    attributes:
      set:
        telephoneNumber: 555-123456

- name: Ensure user bob is created and use custom credentials to create the user
  microsoft.ad.user:
    identity: bob
    firstname: Bob
    surname: Smith
    password: B0bP4ssw0rd
    state: present
    domain_username: DOMAIN\admin-account
    domain_password: SomePas2w0rd
    domain_server: domain@DOMAIN.COM

- name: Ensure user bob is present in OU ou=test,dc=domain,dc=local
  microsoft.ad.user:
    identity: bob
    password: B0bP4ssw0rd
    state: present
    path: ou=test,dc=domain,dc=local
    groups:
      set:
        - Domain Admins
        - Domain Users

- name: Ensure user bob is absent
  microsoft.ad.user:
    identity: bob
    state: absent

- name: Ensure user has only these spn's defined
  microsoft.ad.user:
    identity: liz.kenyon
    spn:
      set:
        - MSSQLSvc/us99db-svr95:1433
        - MSSQLSvc/us99db-svr95.vmware.com:1433

- name: Ensure user has spn added
  microsoft.ad.user:
    identity: liz.kenyon
    spn:
      add:
        - MSSQLSvc/us99db-svr95:2433

- name: Ensure user is created with delegates and spn's defined
  microsoft.ad.user:
    identity: shmemmmy
    password: The3rubberducki33!
    state: present
    groups:
      set:
        - Domain Admins
        - Domain Users
        - Enterprise Admins
    delegates:
      set:
        - CN=shenetworks,CN=Users,DC=ansible,DC=test
        - CN=mk.ai,CN=Users,DC=ansible,DC=test
        - CN=jessiedotjs,CN=Users,DC=ansible,DC=test
    spn:
      set:
        - MSSQLSvc/us99db-svr95:2433

# The name option is the name of the AD object as seen in dsa.msc and not the
# sAMAccountName. For example, this will change the sAMAccountName of the user
# CN=existing_user,CN=Users,DC=domain,DC=com to 'new_sam_name'.
# E.g. This will change
- name: Change the user's sAMAccountName
  microsoft.ad.user:
    name: existing_user
    sam_account_name: new_sam_name
    state: present

# This will rename the AD object that is specified by identity to 'new_name'.
# The identity value can be the object's GUID, SecurityIdentifier, or
# sAMAccountName. It is important to use the identity value when renaming or
# moving a user object to ensure the object is moved/renamed rather than a new
# one being created.
- name: Rename user LDAP name
  microsoft.ad.user:
    name: new_name
    identity: '{{ user_obj.object_guid }}'
    state: present

# Like changing the name example above, the identity option is needed to ensure
# the existing user object specified is moved rather than a new one created at
# the path specified.
- name: Move user object to different OU
  microsoft.ad.user:
    name: user
    path: OU=Admins,DC=domain,DC=com
    identity: '{{ user_obj.sid }}'
    state: present

Значения возврата

Общие значения возврата документированы здесь, следующие — поля, уникальные для данного модуля:

Ключ

Описание

distinguished_name

строка

Полное distinguishedName объекта AD, который был создан, удалён или изменён.

Возвращается: всегда

Пример: "CN=TestUser,CN=Users,DC=domain,DC=test"

object_guid

строка

Уникальный objectGUID объекта AD, который был создан, удалён или изменён.

Если новый объект был создан в режиме проверки, будет возвращён GUID из нулей.

Возвращается: всегда

Пример: "d84a141f-2b99-4f08-9da0-ed2d26864ba1"

sid

строка

Идентификатор безопасности (SID) управляемой учётной записи.

Если новый пользователь был создан в режиме проверки, SID будет S-1-5-0000.

Возвращается: всегда

Пример: "S-1-5-21-4151808797-3430561092-2843464588-1104"

Авторы

  • 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/user_module.html

Spec-Zone.ru

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