Azure Policy を利用して特定アプリケーションのVMへのインストール状況を監査する

Azure Automanageには「マシン構成機能」というものがあります。

本機能を利用することによりAzure上だけでなくマルチクラウド、オンプレミスにある仮想マシン内に対して、Azure Policyを使った監査および構成操作が可能となります。

本記事では、Azure AutomanageとAzure Policyを適用して、Azure VM(Windows)への特定アプリケーションのインストール状況を監査する方法についてご紹介いたします。

前提条件

本機能を利用するには、監査するVMに対して下記2点が設定されている必要があります。

  1. システム割り当てマネージドID
  2. VM拡張機能

システム割り当てマネージドIDの権限付与

前提条件を設定する際には、次のいずれかの権限が必要です。

  • 仮想マシン共同作成者
  • 共同作成者
  • 所有者

権限を持つユーザーにて仮想マシンへアクセスし、「ID」を選択し、「システム割り当て済み」にて状態をオンを選択します。

「保存」を選択します。

「システム割り当てマネージドIDを有効化する」にて「はい」を選択します。

オブジェクトIDが付与されたことを確認します。

マネージドIDの設定は以上になります。

VM拡張機能のインストール

拡張機能のインストールはAzureポータルからは設定できないため、Azure CLIにて設定する手順を紹介いたします。

Azure CLIにログインし、以下コマンドを実行します。

  • Azureにログイン
    • az login
  • サブスクリプションを設定
    • az account set --subscription <サブスクリプション名>
  • VM拡張機能をインストール ※VMを起動していないとエラーになります
    • az vm extension set  --publisher Microsoft.GuestConfiguration --name ConfigurationforWindows --extension-instance-name AzurePolicyforWindows --resource-group <リソースグループ名> --vm-name <VM名> --enable-auto-upgrade true

コマンドが完了するとVMの「拡張機能とアプリケーション」にて「AzurePolicyforWindows」がインストールされていることが確認できます。

VMの拡張機能のインストールは以上になります。

なお、PowershellやARMテンプレートから実行することも可能です。手順は以下リンクを参考にしてください。

Azure Automanage マシン構成 (ゲスト構成) - Azure Virtual Machines | Microsoft Learn

Windowsのアプリケーション制御ポリシー適用

ポリシーを適用する際には、次のいずれかの権限が必要です。

  • リソースポリシーの共同作成者
  • 所有者

Windowsのアプリケーションのインストール状況を監査するためのポリシーは以下2つ存在します。

  • 指定したアプリケーションがインストールされていない Windows マシンを監査する
    • →インストールされていると準拠、されていないと未準拠状態となる
  • 指定したアプリケーションがインストールされている Windows マシンを監査する
    • →インストールされていると未準拠、されていないと準拠状態となる

今回は「指定したアプリケーションがインストールされていない Windows マシンを監査する」の設定方法をご紹介します。

監査するアプリケーション名の確認

対象Azure VMへアプリケーションをインストールします。

※今回はサクラエディタを利用します

対象VMへログインし、以下レジストリを確認し、サクラエディタのDisplayNameを確認します。

※いずれかのレジストリに存在します。

  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
  • HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432node\Microsoft\Windows\CurrentVersion\Uninstall
  • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall

確認したところ「DisplayName」は「sakura editor(サクラエディタ)」ということが確認できます。

ポリシー適用方法

Azureポータルのポリシーの定義から「指定したアプリケーションがインストールされていない Windows マシンを監査する」を選択します。

ポリシー定義にて「割り当て」を選択します。

スコープにて管理グループ or サブスクリプション or リソースグループを選択します。

本手順ではサブスクリプションを選択します。

任意の「割り当て名」を設定して、「次へ」を選択します。

本手順では「sakuraエディタがインストールされていない Windows マシンを監査する」とします。



「詳細」では既定のまま「次へ」を選択します。

「パラメーター」のアプリケーション名でレジストリで確認したDisplayNameを入力し、「次へ」を選択します

「修復」では既定のまま「次へ」を選択します。

「非準拠メッセージ」では既定のまま「次へ」を選択します。

「確認および作成」では「作成」を選択します。

ポリシー適用後の確認

ポリシーの「割り当て」より、該当ポリシーが適用されていることが確認できます。

対象ポリシーを選択してください。※ポリシー反映に30分~ほどかかる場合があります

ポリシーの割り当てで「コンプライアンスの表示」を選択します。

サクラエディタがインストールされているものは準拠状態となっており、その他VMは未準拠状態となっています。

ポリシーの適用と確認の手順は以上となります。

終わりに

今回、お客様からの要望で本機能をお客様のAzure環境へ導入しました。案件を通じてAzure Policyの知識を深めることが出来ました。

本記事がご参考になりますと幸いです。

執筆担当者プロフィール
矢野 努

矢野 努(日本ビジネスシステムズ株式会社)

ハイブリットクラウド本部 ハイブリッドクラウド4部所属、 Azure案件を主に担当しています。

担当記事一覧