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

в 10:31, , рубрики: active directory, authentication, azure, CentOS, linux, linux-сервер, Microsoft Azure, office 365, pam, Настройка Linux

Все пользователи 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. Сейчас я расскажу как можно сделать то же самое в 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

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

Устанавливаем git, npm, nodejs

yum install git npm nodejs

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

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

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

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

Входим в склонированный каталог, создаем каталог /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/

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

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

cd /opt/aad-login/
npm install

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

Редактируем файл ./aad-login.js
Авторизация в CentOS через Microsoft Azure AD - Office 365 - 6

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

Редактируем файл /etc/pam.d/sshd (и/или /etc/pam.d/system-auth, если необходимо)
Авторизация в CentOS через Microsoft Azure AD - Office 365 - 8

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

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

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

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

useradd support

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

Все готово!
Пробуем войти под созданным пользователем и паролем, установленным в Microsoft Azure AD / Office 365.
Авторизация в CentOS через Microsoft Azure AD - Office 365 - 11

Автор: snvakula

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js