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

    Все пользователи 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.

    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
    



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



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



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



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



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


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


    Редактируем файл /etc/pam.d/sshd (и/или /etc/pam.d/system-auth, если необходимо)


    Добавляем вызов pam_exec, чтобы он был первым в списке
    auth sufficient pam_exec.so expose_authtok /usr/local/bin/aad-login



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



    Все готово!
    Пробуем войти под созданным пользователем и паролем, установленным в Microsoft Azure AD / Office 365.
    Поделиться публикацией
    Реклама помогает поддерживать и развивать наши сервисы

    Подробнее
    Реклама
    Комментарии 2
    • 0
      Всё бы хорошо, но это несерьёзно…
      В CentOS сервер должен быть отключен «Enforcing» режим SElinux
      • 0
        Все, что нужно сделать — правильно расставить права доступа selinux на пару файлов.
        Если поможете — буду рад :)

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