Azure で Linux 仮想マシン向けに Entra ID ログインを有効にする方法

Linux 仮想マシン (VM) 向けの Microsoft Entra ID (Azure AD) 統合は、セキュリティを強化し、ID 管理を簡素化する強力な機能です。Azure AD ログインを有効にすることで、アクセス制御を効率化し、ローカル資格情報の管理が不要になります。このガイドでは、Azure で Linux VM 向けに Microsoft Entra ID ログインを設定し、ロールを割り当て、安全に接続する手順をステップバイステップで解説します。



Linux VM で Entra ID ログインを有効にする理由

Azure AD ログインには、Azure で Linux VM を管理する上でいくつかの利点があります:

  • 一元化された ID 管理:ローカルアカウントに依存せず、Azure AD を通じてユーザーのアクセスと権限を管理します。
  • セキュリティの強化:多要素認証 (MFA) などの最新の認証方法を活用します。
  • ロールベースのアクセス制御 (RBAC):ユーザーとグループにきめ細かい権限を割り当てます。
  • 運用の効率化:SSH キーとパスワードの管理の複雑さを軽減します。

ステップ 1:Azure AD ログインを有効にした Linux 仮想マシンを作成する

まず、Azure AD ログインを有効にした新しい Linux VM を Azure に作成する必要があります。

  1. Azure Portal に移動する:
    • ログイン:Azure Portal。
    • 次のセクションを開きます:仮想マシンで、次をクリックします:作成 > 仮想マシン。
  2. VM の基本設定を行う:
    • 次の必須情報を入力します:サブスクリプション、リソース グループ、VM 名、リージョン。
    • 適切なイメージ(例:Ubuntu 24.04 LTS)を選択します。
  3. Azure AD ログインを有効にする:
    • 次のタブを開きます:管理タブで、次のセクションを探します:ID。
    • 次のように設定します:システム割り当てマネージド ID=オン。
    • 次のオプションを有効にします:Azure AD でのログイン(オプションを切り替えます)。
  4. 確認と作成:
    • 構成を確認し、次をクリックして VM をデプロイします:作成。
Entra ID を有効にする

ステップ 2:VM アクセス用の Azure AD ロールを割り当てる

Azure AD ユーザーが VM にログインできるようにするには、適切なロールを割り当てる必要があります。

  • アクセス制御 (IAM):
    • Azure Portal で自分の VM に移動します。
    • 次のタブを開きます:アクセス制御 (IAM)。
    • クリック:ロールの割り当てを追加。
ロールの割り当てを追加
  • ロールを選択する:
    • 次のロールを選択します:仮想マシン管理者ログインまたは仮想マシン ユーザー ログイン。必要なアクセスレベルに応じて選択します。
ロールの割り当て
  • メンバーを割り当てる:
    • 「メンバー」で「メンバーを選択」をクリックします。
    • ロールを割り当てる Azure AD ユーザーまたはグループを検索して選択します。
  • 変更を保存する:
    • クリック:確認と割り当て。これでロールの割り当てが保存されます。

必要なロールを割り当てない場合、次のエラーが発生します:

john [ ~ ]$ az ssh vm -n AzureADLinuxVM -g testrg
OpenSSH_9.8p1, OpenSSL 3.3.3 11 Feb 2025
The authenticity of host '4.xx.x.x (4.xx.x.x)' can't be established.
ED25519 key fingerprint is SHA256:X+idYWkBunsXXxXXxXXxXX5eU6nzLvC7dPXXxxX+Xktg.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '4.xx.x.x' (ED25519) to the list of known hosts.
[email protected]@4.xx.x.x: Permission denied (publickey).

ステップ 3:Azure AD の資格情報を使って Linux VM に接続する

VM のセットアップが完了し、ロールが割り当てられたら、Azure AD の資格情報を使って接続できます。Azure には複数の接続方法があり、次のものがあります:Azure Cloud ShellやPuTTY。

オプション 1:Azure Cloud Shell を使う

  • Azure Portal から次を開きます:Azure Cloud Shell。
  • 次のコマンドを使って VM に接続します:
az ssh vm -n <Azure_VM_Name> -g <Resource_Group_Name>
  • 置き換え:
    • <Azure_VM_Name>をご利用の仮想マシンの名前に置き換えます。
    • <Resource_Group_Name>を VM が存在するリソース グループの名前に置き換えます。

この方法では、認証を Azure が処理するため、SSH キーを手動で管理する必要がありません。


オプション 2:PuTTY を使う (Windows)

  • 構成ファイルを生成します。
John [ ~ ]$ ls 
clouddrive  Microsoft
John [ ~ ]$ az ssh config --file config -n AzureADLinuxVM -g testrg
Generated SSH certificate /home/john/az_ssh_config/testrg-AzureADLinuxVM/id_rsa.pub-aadcert.pub is valid until 2025-05-27 02:34:18 PM in local time.
/home/John/az_ssh_config/testrg-AzureADLinuxVM contains sensitive information (id_rsa, id_rsa.pub, id_rsa.pub-aadcert.pub). Please delete it once you no longer need this config file.
John [ ~ ]$ ls
az_ssh_config  clouddrive  config  Microsoft
  • 構成ファイルを開くと、SSH 秘密鍵の場所を確認できます。形式は次のとおりです:
Host testrg-AzureADLinuxVM
	User [email protected]
	HostName 4.XXX.XXX.XX
	CertificateFile "/home/john/az_ssh_config/testrg-AzureADLinuxVM/id_rsa.pub-aadcert.pub"
	IdentityFile "/home/john/az_ssh_config/testrg-AzureADLinuxVM/id_rsa"
Host 4.XXX.XXX.XX
	User [email protected]
	CertificateFile "/home/john/az_ssh_config/testrg-AzureADLinuxVM/id_rsa.pub-aadcert.pub"
	IdentityFile "/home/john/az_ssh_config/testrg-AzureADLinuxVM/id_rsa"
  • PuTTY をダウンロードしてインストールする:
    • 次のリンクから PuTTY をダウンロードします:公式サイト。
    • ローカルマシンにインストールします。
    • 秘密鍵 id_rsa と証明書 id_rsa.pub-aadcert.pubをダウンロードします。
  • SSH キー (/home/john/az_ssh_config/testrg-AzureADLinuxVM/id_rsa) を PuTTY 形式に変換する:
    • 次のツールを使って、秘密 SSH キーを次の形式に変換します:PuTTYgenで、次の形式に変換します:.ppk。
    • キーを読み込み、次の形式で保存して、次に進みます:.ppk。
キーの読み込み
  • PuTTY を設定する:
    • PuTTY を開き、次の情報を入力します:パブリック IP アドレス(ご利用の VM のもの)。
    • 次の場所でConnection > SSH > Authを開き、次のファイルを読み込みます:.ppk。
    • クリック:開く。接続が開始されます。

ステップ 4:パスワードのリセットまたはアクセス管理(オプション)

ユーザーのパスワードをリセットしたり、アクセスを管理したりする必要がある場合:

  1. パスワードのリセット:
    • Azure Portal で VM に移動します。
    • 次のセクションを開きます:サポートとトラブルシューティングで、次を選択します:パスワードのリセット。
    • 次を選択し、パスワードをリセットします:ユーザー名。
  2. ロールの割り当てを変更する:
    • 次を開きます:アクセス制御 (IAM)。
    • 必要に応じてロールの割り当てを編集または削除します。

トラブルシューティングのヒント

  • SSH 接続の失敗:VM のネットワーク セキュリティ グループ (NSG)がポート 22 での受信 SSH トラフィックを許可していることを確認します。
  • 認証エラー:ユーザーに正しい Azure AD ロールが割り当てられていることを確認します。
  • パブリック IP の問題:VM にパブリック IP アドレスがあることを確認するか、Azure Bastion を使ってプライベート接続を設定します。

まとめ

Azure で Linux VM 向けに Azure AD ログインを有効にすることは、セキュリティの強化とアクセス管理の簡素化を目指す組織にとって画期的なことです。このガイドの手順に従うことで、Azure AD ログインを設定し、ロールを割り当て、VM にシームレスに接続できます。

クラウド技術ガイドやベストプラクティスについては、次のブログをご覧いただき、クラウドコンピューティングの最新情報をチェックしてください。

コメントを残す