Azure AD 認証でLinuxへログイン!!

以前、「Linux ログインをAzureADで認証する!!」では、Node.jsでスクリプトを書き、AzureAD認証を実現しました。今回は、AzureAD認証用のエージェントがリリースされたので試したいと思います。

こちらの方が、楽に実装できるのでオススメです!!
※現時点では、Azure Linux のみサポート


全体の流れ

Step1:Linuxサーバーの作成とエージェントのインストール
Step2:Linux認証用ユーザーの作成
Step3:RBACでの権限付与
Step4:Linuxサーバーへの接続


Step1:Linuxサーバーの作成とエージェントのインストール

仮想マシンを新規作成ー[Azure Active Directoryでログインする]を有効
※CentOSの場合は表示されないので、手動でエージェントをインストールします。

CentOSの場合 ※Cloud Shellより実施

az vm extension set –publisher Microsoft.Azure.ActiveDirectory.LinuxSSH –name AADLoginForLinux –resource-group xxxxx –vm-name xxxxx


Step2:Linux認証用ユーザーの作成

AzureAD にて、Linux認証用のユーザーを作成します。
※先頭文字が大文字の場合、認証時にエラーがでる可能性が大


Step3:RBACでの権限付与

作成したLinuxサーバー [アクセス制御]ー[追加]

役割:[仮想マシンの管理者ログイン / 仮想マシンのユーザーログイン]のどちらかを選択
※管理者権限の有無
アクセスの割り当て先:AzureADのユーザー、グループまたはアプリケーション
選択:Linux認証用のユーザーを選択


Step4:Linuxサーバーへの接続

ターミナルソフト(TeraTerm)から接続

「認証コード」を控える

ブラウザで「https://microsoft.com/devicelogin」接続し、[認証コード]を入力する

Step2で作成したLinux認証用ユーザーでサインイン

無事、認証が完了

プロンプトがAzureADで作成したユーザー名になっている事が確認できる。


おまけ

Cloud Shellから実施した場合
※ssh -l <User_name> <Server_IP>

※同じように「https://microsoft.com/devicelogin」接続し、[認証コード]を入力する

プロンプトがAzureADで作成したユーザー名になっている事が確認できる。