Поддержка Консалтинг Обучение Jamf Pro Блог

Xcreds

Антон Конобеев 02.03.2023

Если вы хотите, чтобы пользователи на ваших Маках входили с реквизитами учётных записей Active Directory, то как минимум у вас есть встроенный в macOS функционал привязки (bind) к домену. Отзывы о нем разные, но он вполне рабочий.

Если такой вариант не подходит, то есть бесплатное решение из связки NoMAD и NoMAD Login, довольно гибкое в настройке. К тому же оно прошло период, в течение которого почти совсем не обновлялось и переехало в репозитории Jamf: тут, здесь, там и в этом месте.

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

Для того, чтобы достать до облаков, macOS снова предлагает нам штатное решение — SSO Extensions, правда я знаю про такое только для Azure и Kerberos (то есть да, его тоже можно использовать для локального AD). Популярное решение среди наших клиентов — Jamf Connect, прямой потомок NoMAD, который перестал поддерживать локальные серверы AD и работает только с облаками. Классный вариант, но доступен он только вместе с подпиской на Jamf, которую сейчас не каждая компания может себе купить.

Альтернатива, которую я хочу предложить — Xcreds.

Это приложение предлагает практически идентичный Jamf Connect функционал, просит денег только за поддержку (если она вам, конечно, нужна). Делает его компания Twocanoes, которая не первый раз упоминается в наших статьях. 

Установка происходит с помощью пакета, а настройка с помощью профиля: и то, и другое можно скачать в релизах на гитхабе, только не забудьте поменять в тестовом профиле Client ID на ваш.

Кстати, о Client ID и настройке со стороны провайдера учетных данных в целом.Я настраиваю для Azure, и там его получить довольно просто. Нужно:

  1. В портале Azure перейти в Azure Active Directory
  2. Найти App registrations и создать там новую, отметив в Supported account types значение “Accounts in this organizational directory only”, указав “Public client (mobile & desktop)” как платформу в меню Redirect URI и отметив там же “https://127.0.0.1/xcreds” как возвратный URI.
  3. Сохранить регистрацию кнопкой Register — сразу попадем в ее содержимое и уже здесь увидим нужный нам идентификатор приложения, но нужно доделать еще несколько вещей; в разделе Manage в боковом меню перейти в API permissions, найти и нажать там кнопку с галкой Grant admin consent.
  4. Также в разделе Manage в боковом меню перейти в Authentication и внизу переключить свитч Treat application as a public client в положение Yes

Четвертый пункт включит доступ к приложению для всех пользователей Azure, и если вы этого не хотите, то либо переключите свитч обратно и настройте пользователей с помощью меню Users and groups; либо с помощью манифеста, но это всё совсем другая история и пишу я не о ней :)

Берем ID, который мы нашли во втором пункте, подменяем его внутри тестового профиля, устанавливаем на тестовую машину и профиль и пакет, после чего выходим из системы и видим вот это:

После первого логина замечаем одно интересное отличие от Jamf Connect: нет запроса подтверждения пароля, то есть если у ваших пользователей включен Filevault, пароль придется вводить не три раза, а два :)

В остальном всё привычно. Точно так же, как и NoMAD с Jamf Connect, в Keychain создаются объекты, синхронизацию с которым и проверяет отдельное приложение, висящее в трее и выбрасывающее сообщение о том, что нужно перелогиниться, если пароль изменился. Точно так же при входе можно сменить Wi-Fi сеть, переключиться на стандартный экран логина, скрыть в настройках некоторые кнопки, автоматически включать FileVault и прочее. 

Неудобно то, что нет маппинга для создания пользователей-админов, то есть либо все пользователи создаются стандартными, либо админами. Еще можно было бы автоматически генерировать LaunchAgent для приложения синхронизации, но это не трудно поправить руками. Больше я каких-то ощутимых пробелов в функционале для себя не заметил.

Профиль с настройками для всего этого великолепия можно подготовить с помощью ProfileCreator — у него есть пейлоад специально для Xcreds.

В общем, приложение точно стоит того, чтобы его как минимум взять и потестировать, а учитывая то, что оно обновляется, вполне возможно, что оно догонит по своим возможностям Jamf Connect, который пока еще всё-таки предлагает большую гибкость.