- PVSM.RU - https://www.pvsm.ru -

Авторизация в Ubuntu через Microsoft Azure AD – Office 365

Все пользователи Microsoft Office 365 (для бизнеса) проходят авторизацию именно через Microsoft Azure AD. Так, при добавлении каждого нового пользователя (емейла) в Office 365, для него автоматически создается соответствующая запись в Microsoft Azure AD.

Здесь я расскажу как можно использовать Microsoft Azure AD для авторизации пользователей Ununtu 14.04. То есть, как в Ubuntu сделать SSO c Microsoft Azure AD / Office 365.

1. Предварительные требования

  • Аккаунт Microsoft Azure AD / Office 365 (business)
  • Ubuntu сервер с подключением к интернет

2. Настройка Microsoft Azure AD

Для начала, идем на Microsoft Azure Portal на manage.windowsazure.com [1] или Офис365 меню -> Admin -> Azure AD.
Затем, заходим в нужную ветку Active Directory (если Вы не используете сложную ветвистую структуру AD, то здесь будет лишь одна запись).

Авторизация в Ubuntu через Microsoft Azure AD - Office 365 - 1

Выбираем «Applications» («Приложения»):

Авторизация в Ubuntu через Microsoft Azure AD - Office 365 - 2

Добавляем новое приложение, нажав на «Add» («Добавить»):

Авторизация в Ubuntu через Microsoft Azure AD - Office 365 - 3

Выбираем «Add an application my organization is developing» («Добавить приложение, разрабатываемое моей организацией»):

Авторизация в Ubuntu через Microsoft Azure AD - Office 365 - 4

Придумайте понятное название для чего будет использоваться этот метод авторизации (например, «Linux Test Servers»), указываем его в поле «Name» («Имя»), а также выбираем тип приложения «Native Client Application» («Собственное клиентское приложение»).

Авторизация в Ubuntu через Microsoft Azure AD - Office 365 - 5

На следующей странице предлагается ввести «Redirect URI» («URI перенаправления»). Можно указать любое значение, похожее на URI, т.к. это поле ни на что не повлияет, в данном случае.

Авторизация в Ubuntu через Microsoft Azure AD - Office 365 - 6

Приложение AD создано! Далее, нажимаем «Configure» («Настройки»).

Авторизация в Ubuntu через Microsoft Azure AD - Office 365 - 7

Запоминаем/записываем значение поля «Client ID» («Код клиента») — оно нам потребуется еще.

Авторизация в Ubuntu через Microsoft Azure AD - Office 365 - 8

3. Настройка Ubuntu 14.04

Заходим на сервер по SSH (в данном случае, пользователем user123, которому разрешено исполнение команд sudo):

Авторизация в Ubuntu через Microsoft Azure AD - Office 365 - 9

Переходим на root и устанавливаем git:

sudo su -
apt-get install git

Авторизация в Ubuntu через Microsoft Azure AD - Office 365 - 10

Клонируем git-репозитарий github.com/bureado/aad-login [2]:

git clone https://github.com/bureado/aad-login

Авторизация в Ubuntu через Microsoft Azure AD - Office 365 - 11

Входим в склонированный каталог, создаем каталог /opt/aad-login, копируем aad-login.js package.json в /opt/aad-login/, копируем aad-login в /usr/local/bin/:

cd aad-login/
mkdir -p /opt/aad-login
cp aad-login.js package.json /opt/aad-login/
cp aad-login /usr/local/bin/

Авторизация в Ubuntu через Microsoft Azure AD - Office 365 - 12

Входим в каталог /opt/aad-login/, устанавливаем приложение npm:

cd /opt-aad-login/
apt-get install npm

Авторизация в Ubuntu через Microsoft Azure AD - Office 365 - 13

Устанавливаем требуемые компоненты npm:

npm install

Авторизация в Ubuntu через Microsoft Azure AD - Office 365 - 14

Редактируем файл ./aad-login.js:

Авторизация в Ubuntu через Microsoft Azure AD - Office 365 - 15

Заполняем значение переменной directory вашим доменным именем, которое используется в Microsoft Azure AD / Office 365, а clientid — значением «Client ID» («Код клиента»), ранее полученном на портале Microsoft Azure AD:

Авторизация в Ubuntu через Microsoft Azure AD - Office 365 - 16

Редактируем файл /etc/pam.d/common-auth:

Авторизация в Ubuntu через Microsoft Azure AD - Office 365 - 17

Добавляем вызов pam_exec, чтобы он был первым в списке:


auth sufficient pam_exec.so expose_authtok /usr/local/bin/aad-login

Авторизация в Ubuntu через Microsoft Azure AD - Office 365 - 18

Устанавливаем nodejs:

apt-get install nodejs

Авторизация в Ubuntu через Microsoft Azure AD - Office 365 - 19

Удаляем устаревший node, создаем символическую ссылку /usr/bin/nodejs -> /usr/bin/node:

apt-get --purge remove node
ln -s /usr/bin/nodejs /usr/bin/node

Авторизация в Ubuntu через Microsoft Azure AD - Office 365 - 20

Создаем пользователей, которым разрешен вход (пароль устанавливать не нужно). Логин таких пользователей должен совпадать с Alias емейла. Например, создаем пользователя support, емейл которого support@aspanta.onmicrosoft.com.

useradd -m support

Авторизация в Ubuntu через Microsoft Azure AD - Office 365 - 21

Все готово!

Пробуем войти под созданным пользователем и паролем, установленным в Microsoft Azure AD / Office 365.

Авторизация в Ubuntu через Microsoft Azure AD - Office 365 - 22

Автор: snvakula

Источник [3]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/linux/107587

Ссылки в тексте:

[1] manage.windowsazure.com: https://manage.windowsazure.com

[2] github.com/bureado/aad-login: https://github.com/bureado/aad-login

[3] Источник: http://habrahabr.ru/post/274249/