Управление учетными записями sMSA

Для выполнения специфичных операций по администрированию учетных записей sMSA с помощью утилиты samba-tool используется группа подкоманд service-account computer-msa.

Операции доступны пользователям с правами администратора домена (член группы Domain Admins) или администратора предприятия (член группы Enterprise Admins).

В текущей версии функциональность sMSA поддерживается при работе Эллес в гетерогенном домене, в котором также доступны контроллеры домена на ОС Windows Server с развернутой службой каталогов Microsoft Active Directory Domain Services (AD DS).

Общие сведения

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

Поддержка sMSA обеспечивает:

  • автоматическое формирование и смену паролей для учетных записей sMSA;

  • дополнительную защиту от несанкционированного изменения учетной записи, от имени которой запускается служба, а также от несанкционированного доступа к паролю такой учетной записи;

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

  • автоматическую синхронизацию пароля между локальной системой безопасности (LSA) и контроллерами домена.

Объекты sMSA имеют класс msDS-ManagedServiceAccount и хранятся в партиции по умолчанию службы каталогов и реплицируются на все контроллеры домена.

Пароли sMSA автоматически генерируются и обновляются контроллерами домена, а служба получает доступ к актуальному паролю через LSA.

Машины — участники домена, на которых запускаются службы от имени sMSA, проходят аутентификацию Kerberos на контроллерах домена Эллес с помощью пароля sMSA, получают билеты Kerberos TGT (Ticket-Granting Ticket), а затем используют TGT для запроса сервисных билетов Kerberos.

Ограничения

Поддержка sMSA в текущей версии Эллес имеет следующие ограничения:

  • одна учетная запись sMSA может использоваться только на одном компьютере с операционной системой Windows, поддерживаемой для работы с sMSA в службе каталогов AD DS;

  • для установки и отмены установки учетной записи sMSA на компьютере используются командлеты PowerShell Install-ADServiceAccount и Uninstall-ADServiceAccount;

  • для установки учетной записи sMSA на компьютере необходимо наличие включенной службы Active Directory Web Services (ADWS); таким образом, наряду с контроллерами Эллес в домене также должен быть развернут хотя бы один контроллер на базе AD DS, через который должны работать компьютеры домена, использующие sMSA для запуска служб;

  • функциональность, необходимая для работы с sMSA на стороне клиентских машин, обеспечивается средствами установленной на них операционной системы, которая должна поддерживать хранение пароля учетной записи sMSA в локальном хранилище LSA, работу со службой ADWS и другие возможности, необходимые для работы с sMSA.

Создание связи между учетной записью sMSA и компьютером

Формат вызова:

samba-tool service-account computer-msa add -H <URL> [options]

При вызове ожидаются:

  • имя учетной записи sMSA в параметре --name;

  • имя компьютера в параметре --computer.

Подкоманда добавляет уникальное доменное имя (DN) учетной записи sMSA в качестве значения атрибута msDS-HostServiceAccount указанного компьютера, что позволяет компьютеру использовать эту учетную запись для аутентификации и выполнения задач, а sMSA — использовать пароль на этом компьютере, и создает атрибут msDS-HostServiceAccountBL с DN указанного компьютера для учетной записи sMSA.

Полноценная поддержка sMSA доступна в доменах и лесах с функциональным уровнем 2008 R2 и выше.

Параметры

Параметры вызова:

  • -H URL|--URL=URL — URL сервера LDAP; может содержать указание на протокол, имя хоста и номер порта;

  • --computer=COMPUTER — sAMAccountName или уникальное доменное имя (DN) компьютера, на котором будет использоваться учетная запись sMSA (обязательный);

  • --name=NAME — имя учетной записи sMSA (обязательный).

Примеры

Пример создания учетной записи sMSA:

samba-tool service-account computer-msa add \
    --name=SMSA1 \
    --computer=Server1$
Managed service account 'SMSA1$' added to the computer 'Server1$'

Просмотр списка учетных записей sMSA, связанных с компьютером

Формат вызова:

samba-tool service-account computer-msa list -H <URL> [options]

При вызове ожидается имя компьютера в параметре --computer.

Команда возвращает список значений атрибута msDS-HostServiceAccount указанного компьютера. Атрибут содержит уникальное доменное имя (DN) учетной записи sMSA, связанной с компьютером.

Параметры

Параметры вызова:

  • -H URL|--URL=URL — URL сервера LDAP; может содержать указание на протокол, имя хоста и номер порта;

  • --computer=COMPUTER — sAMAccountName или уникальное доменное имя (DN) компьютера, на котором будет использоваться учетная запись sMSA (обязательный).

Примеры

Пример получения списка учетных записей sMSA, связанных с компьютером:

samba-tool service-account computer-msa list \
    --computer=Server1$
CN=SMSA3,CN=Managed Service Accounts,DC=elles,DC=inno,DC=tech
CN=SMSA2,CN=Managed Service Accounts,DC=elles,DC=inno,DC=tech
CN=SMSA1,CN=Managed Service Accounts,DC=elles,DC=inno,DC=tech

Удаление связи учетной записи sMSA с компьютером

Формат вызова:

samba-tool service-account computer-msa remove -H <URL> [options]

При вызове ожидаются:

  • имя учетной записи sMSA в параметре --name;

  • имя компьютера в параметре --computer.

Подкоманда удаляет уникальное доменное имя (DN) учетной записи sMSA из значения атрибута msDS-HostServiceAccount указанного компьютера и атрибут msDS-HostServiceAccountBL с DN указанного компьютера для учетной записи sMSA.

Параметры

Параметры вызова:

  • -H URL|--URL=URL — URL сервера LDAP; может содержать указание на протокол, имя хоста и номер порта;

  • --computer=COMPUTER — sAMAccountName или уникальное доменное имя (DN) компьютера, на котором будет использоваться учетная запись sMSA (обязательный);

  • --name=NAME — имя учетной записи sMSA (обязательный).

Примеры

Пример удаления связи между учетной записью sMSA и компьютером в домене:

samba-tool service-account computer-msa remove \
    --name=SMSA1 \
    --computer=Server1$
Managed service account 'SMSA1$' removed from the computer 'Server1$'

Пример настройки учетной записи sMSA в Эллес

В качестве примера рассмотрим настройку учетной записи sMSA на контроллере Эллес, введенном в домен, в котором также доступны:

  • контроллер домена на ОС Windows Server с развернутой службой AD DS;

  • сервер на ОС Windows, введенный в домен в роли рядового участника.

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

Выполняется следующая последовательность шагов по настройке от имени доменного пользователя Administrator с необходимыми правами:

  1. Создание автономной управляемой служебной учетной записи (sMSA).

    Создается учетная запись sMSA:

    samba-tool service-account create \
       --name=SMSA1 \
       --restrict-to-single-computer
    Created standalone managed service account: SMSA1

    Проверка добавления новой учетной записи в список sMSA:

    samba-tool service-account list \
        --restrict-to-single-computer
    SMSA1$
    SMSA2$
    SMSA3$
  2. Создание связи между учетной записью sMSA и компьютером.

    Создается связь между учетной записью sMSA и компьютером:

    samba-tool service-account computer-msa add \
        --name=SMSA1 \
        --computer=Server1$
    Managed service account 'SMSA1$' added to the computer 'Server1$'

    Проверка наличия связи:

    • в атрибутах учетной записи sMSA:

      samba-tool service-account view \
         --name=SMSA1
      {
      ...
        "msDS-HostServiceAccountBL": [
          "CN=Server1,CN=Computers,DC=elles,DC=inno,DC=tech"
        ],
      ...
    • в атрибутах компьютера:

      samba-tool computer show Server1
      ...
      msDS-HostServiceAccount: CN=SMSA1,CN=Managed Service Accounts,DC=elles,DC=inno,DC=tech
      ...
  3. Установка учетной записи sMSA на компьютере.

    На сервере Server1 от имени пользователя с правами локального администратора в PowerShell выполняются команды:

    • установка учетной записи sMSA на сервере:

      Install-ADServiceAccount -Identity sMSA1
    • проверка корректности выполнения операции установки:

      Test-ADServiceAccount -Identity sMSA1
      True

Далее созданная учетная запись sMSA может использоваться для запуска от ее имени службы на сервере.