ここでは、Microsoft Azure ADを使用してUbuntu 14.04ユーザーを認証する方法を示します。 つまり、Microsoft Azure AD / Office 365を使用してUbuntuでSSOを作成する方法です。
1.前提条件
- Microsoft Azure AD / Office 365(ビジネス)アカウント
- インターネット接続のあるUbuntuサーバー
2. Microsoft Azure ADを構成する
開始するには、 manage.windowsazure.comの Microsoft Azureポータル、またはOffice365メニュー->管理-> Azure ADにアクセスしてください 。
次に、目的のActive Directoryブランチに移動します(ADの複雑な分岐構造を使用していない場合、エントリは1つだけです)。
「アプリケーション」を選択します。
「追加」をクリックして新しいアプリケーションを追加します。
「組織が開発中のアプリケーションを追加」を選択します。
この認証方法が使用される明確な名前(たとえば、「Linux Test Servers」)を考えて、「名前」フィールドに指定し、アプリケーションタイプ「ネイティブクライアントアプリケーション」(「ネイティブクライアントアプリケーション」)を選択します。
次のページでは、「リダイレクトURI」(「リダイレクトURI」)の入力を求められます。 URIに類似した任意の値を指定できます。 この場合、このフィールドは何にも影響しません。
ADアプリケーションが作成されました! 次に、「設定」をクリックします。
「クライアントID」フィールドの値を記憶/書き留めます-再度必要になります。
3. Ubuntu 14.04の構成
SSHを介してサーバーにアクセスします(この場合、sudoコマンドの実行を許可されているuser123によって)。
ルートに移動してgitをインストールします。
sudo su - apt-get install git
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/ apt-get install npm
必要なnpmコンポーネントをインストールします。
npm install
ファイル./aad-login.jsの編集:
ディレクトリ変数の値には、Microsoft Azure AD / Office 365で使用されるドメイン名と、Microsoft Azure ADポータルで以前に取得した値「Client ID」(「Client Code」)のclientidを入力します。
ファイル/etc/pam.d/common-authの編集:
リストの最初になるように、pam_execの呼び出しを追加します。
auth sufficient pam_exec.so expose_authtok /usr/local/bin/aad-login
nodejsをインストールします。
apt-get install nodejs
廃止されたノードを削除し、シンボリックリンク/ usr / bin / nodejs-> / usr / bin / nodeを作成します。
apt-get --purge remove node ln -s /usr/bin/nodejs /usr/bin/node
ログインを許可するユーザーを作成します(パスワードを設定する必要はありません)。 このようなユーザーのログインは、エイリアスの電子メールアドレスと一致する必要があります。 たとえば、メールがsupport@aspanta.onmicrosoft.comであるサポートユーザーを作成します。
useradd -m support
すべて準備完了です!
Microsoft Azure AD / Office 365で作成したユーザーとパスワードを設定してログインしようとします。