Все пользователи Microsoft Office 365 (для бизнеса) проходят авторизацию именно через Microsoft Azure AD. Так, при добавлении каждого нового пользователя (емейла) в Office 365, для него автоматически создается соответствующая запись в Microsoft Azure AD.
Ранее я рассказывал о том, как можно использовать Microsoft Azure AD для авторизации пользователей Ubuntu 14.04. То есть, как в Ubuntu сделать SSO c Microsoft Azure AD / Office 365. Сейчас я расскажу как можно сделать то же самое в CentOS 7.
Для начала нужно создать отдельное приложение в Microsoft Azure AD для того, чтобы система разрешила обработку запросов авторизации. Как это сделать — я полностью описал в п.2 habrahabr.ru/post/274249
Заходим на сервер по SSH (в данном случае, пользователем user123, которому разрешено исполнение команд sudo), переходим на root и устанавливаем epel-release
![](https://habrastorage.org/files/085/3f8/272/0853f8272bb84a14add9fe6de90e46a7.png)
Устанавливаем git, npm, nodejs
![](https://habrastorage.org/files/aa0/7a2/5fb/aa07a25fb9d9495898c3cf8f415682dd.png)
Клонируем git-репозитарий github.com/bureado/aad-login
![](https://habrastorage.org/files/13b/04b/9aa/13b04b9aaf124d2f888db0cd1107594f.png)
Входим в склонированный каталог, создаем каталог /opt/aad-login, копируем aad-login.js package.json в /opt/aad-login/, копируем aad-login в /usr/local/bin/
![](https://habrastorage.org/files/a98/6d7/1ba/a986d71ba2054eb0a289d83232f7a82d.png)
Входим в каталог /opt/aad-login/, устанавливаем требуемые компоненты npm
![](https://habrastorage.org/files/a60/e36/5b9/a60e365b985844fba107270f5b161f50.png)
Редактируем файл ./aad-login.js
![](https://habrastorage.org/files/a40/c9e/6fb/a40c9e6fbc004aa8a262605ee091a1b3.png)
Заполняем значение переменной directory вашим доменным именем, которое используется в Microsoft Azure AD / Office 365, а clientid — значением «Client ID» («Код клиента»), ранее полученном на портале Microsoft Azure AD
![](https://habrastorage.org/files/948/3f3/4bf/9483f34bf5bc4bdc81321bd13c56b7da.png)
Редактируем файл /etc/pam.d/sshd (и/или /etc/pam.d/system-auth, если необходимо)
![](https://habrastorage.org/files/23b/be3/407/23bbe340721241fea16f6d2afe2f3d97.png)
Добавляем вызов pam_exec, чтобы он был первым в списке
![](https://habrastorage.org/files/77e/ba8/0c2/77eba80c2ab748ee9cf827563fb3e43e.png)
Создаем пользователей, которым разрешен вход (пароль устанавливать не нужно). Логин таких пользователей должен совпадать с Alias емейла. Например, создаем пользователя support, емейл которого support@aspanta.onmicrosoft.com.
![](https://habrastorage.org/files/689/60b/425/68960b4257e04503b420715063c20b6c.png)
Все готово!
Пробуем войти под созданным пользователем и паролем, установленным в Microsoft Azure AD / Office 365.
Ранее я рассказывал о том, как можно использовать Microsoft Azure AD для авторизации пользователей Ubuntu 14.04. То есть, как в Ubuntu сделать SSO c Microsoft Azure AD / Office 365. Сейчас я расскажу как можно сделать то же самое в CentOS 7.
1. Предварительные требования
- Аккаунт Microsoft Azure AD / Office 365 (business)
- CentOS сервер с подключением к интернет
- В CentOS сервер должен быть отключен «Enforcing» режим SElinux
2. Настройка Microsoft Azure AD
Для начала нужно создать отдельное приложение в Microsoft Azure AD для того, чтобы система разрешила обработку запросов авторизации. Как это сделать — я полностью описал в п.2 habrahabr.ru/post/274249
3. Настройка CentOS 7
Заходим на сервер по SSH (в данном случае, пользователем user123, которому разрешено исполнение команд sudo), переходим на root и устанавливаем epel-release
sudo su -
yum install epel-release
![](https://habrastorage.org/files/085/3f8/272/0853f8272bb84a14add9fe6de90e46a7.png)
Устанавливаем git, npm, nodejs
yum install git npm nodejs
![](https://habrastorage.org/files/aa0/7a2/5fb/aa07a25fb9d9495898c3cf8f415682dd.png)
Клонируем git-репозитарий github.com/bureado/aad-login
git clone https://github.com/bureado/aad-login
![](https://habrastorage.org/files/13b/04b/9aa/13b04b9aaf124d2f888db0cd1107594f.png)
Входим в склонированный каталог, создаем каталог /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/
![](https://habrastorage.org/files/a98/6d7/1ba/a986d71ba2054eb0a289d83232f7a82d.png)
Входим в каталог /opt/aad-login/, устанавливаем требуемые компоненты npm
cd /opt/aad-login/
npm install
![](https://habrastorage.org/files/a60/e36/5b9/a60e365b985844fba107270f5b161f50.png)
Редактируем файл ./aad-login.js
![](https://habrastorage.org/files/a40/c9e/6fb/a40c9e6fbc004aa8a262605ee091a1b3.png)
Заполняем значение переменной directory вашим доменным именем, которое используется в Microsoft Azure AD / Office 365, а clientid — значением «Client ID» («Код клиента»), ранее полученном на портале Microsoft Azure AD
![](https://habrastorage.org/files/948/3f3/4bf/9483f34bf5bc4bdc81321bd13c56b7da.png)
Редактируем файл /etc/pam.d/sshd (и/или /etc/pam.d/system-auth, если необходимо)
![](https://habrastorage.org/files/23b/be3/407/23bbe340721241fea16f6d2afe2f3d97.png)
Добавляем вызов pam_exec, чтобы он был первым в списке
auth sufficient pam_exec.so expose_authtok /usr/local/bin/aad-login
![](https://habrastorage.org/files/77e/ba8/0c2/77eba80c2ab748ee9cf827563fb3e43e.png)
Создаем пользователей, которым разрешен вход (пароль устанавливать не нужно). Логин таких пользователей должен совпадать с Alias емейла. Например, создаем пользователя support, емейл которого support@aspanta.onmicrosoft.com.
useradd support
![](https://habrastorage.org/files/689/60b/425/68960b4257e04503b420715063c20b6c.png)
Все готово!
Пробуем войти под созданным пользователем и паролем, установленным в Microsoft Azure AD / Office 365.
![](https://habrastorage.org/files/051/2d4/d0e/0512d4d0eeee401c959f51da1620ba69.png)