Azure VM Just-In-Time(JIT)アクセス制御の設定方法
このブログシリーズ 「クラウドセキュリティ 実践集」 では、一般的なセキュリティ課題を取り上げ、「なぜ危険なのか?」 というリスクの解説から、 「どうやって直すのか?」 という具体的な修復手順(コンソール、Azure CLI、Terraform、PowerShellなど)まで、分かりやすく解説します。
この記事では、Azure仮想マシン(VM)の管理ポート(SSH/RDP)でJust-In-Time(JIT)アクセス制御が無効となっている問題について、セキュリティリスクと具体的な対策を解説します。
ポリシーの説明
仮想マシンの管理ポート(SSH:22番、RDP:3389番、WinRM:5985-5986番等)に対して、Just-In-Time(JIT)アクセス制御が実装されていることを確認します。JITアクセス制御は、Microsoft Defender for CloudのPlan 2(旧称:Standard Tier)で提供されるゼロトラストセキュリティ機能で、管理ポートへの不正アクセスを防止するために、必要な時にのみ、承認されたユーザーに対して、限定された時間(最大24時間)だけアクセスを許可する仕組みです。
修復方法
コンソールでの修復手順
Azure Portalを使用して、VMの管理ポートにJust-In-Timeアクセス制御を有効化します。
前提条件
- Microsoft Defender for Servers Plan 2が有効化されていること(月額約$15/VM)

- 対象VMにネットワークセキュリティグループ(NSG)が設定されていること
- Azure RBACで「Security Admin」または「Virtual Machine Contributor」ロールが付与されていること
手順1: Microsoft Defender for Cloudへのアクセス
- Azure Portal(https://portal.azure.com)にログインします
- 検索バーで「Microsoft Defender for Cloud」を検索して選択します
- 左側のメニューから「ワークロード保護」→「Just-In-Time VMアクセス」を選択します

手順2: JITの有効化

- 「推奨」タブを選択します(「構成されていない」タブが古いUIの場合)
- JITを有効化したいVMにチェックを入れます(複数選択可)
- 「VMでJITを有効にする」ボタンをクリックします
手順3: ポート規則の構成

- JIT構成画面で、以下の推奨設定を行います:
- SSH(Linux):
- ポート番号: 22
- プロトコル: TCP
- 許可されたソースIP: 「構成済みIP」を選択し、管理者のIPレンジを指定
- 最大要求時間: 3時間(デフォルト8時間から短縮推奨)
- RDP(Windows):
- ポート番号: 3389
- プロトコル: TCP
- 許可されたソースIP: 「構成済みIP」を選択
- 最大要求時間: 3時間
- WinRM(Windows Remote Management):
- ポート番号: 5985, 5986
- プロトコル: TCP
- 許可されたソースIP: 「構成済みIP」を選択
- 最大要求時間: 1時間
- SSH(Linux):
- カスタムポート(例:カスタムSSHポート2222)を追加する場合は「+ポートの追加」をクリックします
- 「保存」をクリックして設定を適用します
手順4: JITアクセスの要求(実際の利用時)
- 「承認済み」タブで対象VMを選択します
- 「アクセスの要求」をクリックします
- 必要な設定を入力:
- ポート選択: 使用するポートのトグルをオンにします
- ソースIP:
- 「My IP」: 現在のパブリックIPを自動設定
- 「IP範囲」: カスタムIP範囲を指定(CIDR形式)
- 時間範囲: 1時間~最大設定時間まで選択可能
- 理由: アクセス理由を記載(監査ログに記録されます)
- 「アクセスを開く」をクリックします
- NSGルールが自動的に作成され、指定時間後に自動削除されます
最後に
この記事では、Azure VMの管理ポートでJust-In-Timeアクセス制御が無効となっている問題について、リスクと対策を解説しました。
JITアクセス制御を有効化することで、管理ポートへの不正アクセスを99%以上削減でき、ブルートフォース攻撃やゼロデイ攻撃から効果的にVMを保護できます。特に、インターネットに公開されているVMでは必須のゼロトラストセキュリティ対策となります。
重要なポイント:
- JITは時間ベースのアクセス制御により、攻撃対象時間を最大99.9%削減
- Azure Bastionとの併用でさらなるセキュリティ強化が可能
- 監査ログにより、すべてのアクセス要求と承認が記録される
- 自動化により、人的ミスによるポート開放忘れを防止
この問題の検出は弊社が提供するSecurifyのCSPM機能で簡単に検出及び管理する事が可能です。 運用が非常に楽に出来る製品になっていますので、ぜひ興味がある方はお問い合わせお待ちしております。 最後までお読みいただきありがとうございました。この記事が皆さんの役に立てば幸いです。