以前、「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で作成したユーザー名になっている事が確認できる。