SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

Azure Policy のゲスト構成機能の監査状況をポータルから確認する (Windows 環境)

leave a comment

Azure Policy では、ゲスト構成機能 (Guest Configuration: GC) により、環境内のマシンの状態を管理することができます。

ゲスト構成は、次のいずれかの環境に対して使用することができます。

  • Azure 仮想マシン
  • Azure Arc 対応サーバーが導入されている環境 (物理 / 仮想)
    • Azure Arc エージェントが導入されていれば使用可能

Azure だけでなく、Azure Arc 対応サーバーをインストールしている環境についても Azure Policy のゲスト構成機能を活用することができます。(Azure の仮想マシンについては追加コストは発生しませんが、Azure Arc の環境については追加コストが発生します)

Azure Policy では組み込みポリシー定義が提供されており、Azure 仮想マシンならびに Azure Arc 向けのポリシーが提供されています。

これらのポリシーの中には、ゲスト構成機能を使用したルールも提供されており、本投稿はゲスト構成機能を使用したルールの監査状況の確認方法をポータルから実施する際の操作を調べたものとなります。

ゲスト構成機能については冒頭に紹介したドキュメントも含めた、次の内容を確認しておくとよさそうです。

ゲスト構成機能

ゲスト構成機能は、Azure Policy のゲスト構成機能について に記載されている次の動作を行うものという認識です。

Azure で実行されているコンピューターとハイブリッド Arc 対応のコンピューターの両方で、オペレーティングシステムの設定をコードとして監査または構成することができます。

監査対象となるコンピューター上で、コードを実行し、情報の取得を行うことで対象の状態を取得する機能がゲスト構成機能の基本的な考え方になると思っています。

Azure Policy の組み込み定義では、いくつかの方法を使用して監査対象の状態の確認が行われています。

[プレビュー]: [プレビュー]: Azure Security エージェントを Windows Arc マシンにインストールする必要がある のルールであれば、状態の取得は「拡張機能がインストールされているか」で判断することができます。

組み込み定義については GitHub でも定義の JSON が公開されており上述の定義であれば ASC_AzureSecurityWindowsAgent_Arc_AuditIfNotExists.json で確認することもできます。

このルールであれば、次の部分で、拡張機能が導入されているかどうかの判断が行われていますが、これについては、Azure のリソースの情報を取得することができれば、状態を確認することができますので、ゲスト構成機能は使用されていません。

image

再起動が保留中の Windows VM の監査 については、ゲスト構成機能が使用されています。

GuestConfiguration_WindowsPendingReboot_AINE.json の定義を確認すると、「"type": "Microsoft.GuestConfiguration/guestConfigurationAssignments"」となっているものがあります。

image

この定義になっているものはゲスト構成機能が使用されているものとなり、ポリシーを割り当てている環境では、ゲスト構成機能のためのコードが導入されていることになります。

 

ゲスト構成機能のためのコード

ゲスト構成機能については、DSC を使用して構成されるようになっているようですが、コードについては、ゲスト構成機能ごとに「C:\ProgramData\GuestConfig\Configuration」に格納されています。(Azure 仮想マシン / Arc ともに同じディレクトリになります)

image

先ほど、例に挙げた「再起動が保留中の Windows VM の監査」であれば「WindowsPendingReboot」という name が設定されていました。

これと同名のモジュールが「C:\ProgramData\GuestConfig\Configuration」にダウンロードされていることが確認できます。

このディレクトリ内の PowerShell のスクリプトを確認することでどのような判断でポリシーの監査が行われているのかを確認することができます。

 

ポータルからゲスト構成機能の監査状況を確認する

Azure Arc 対応サーバーであれば、Azure Arc 対応サーバーのブレードの「マシン構成 (プレビュー)」から、ゲスト構成の監査状況を確認することができます。

image

各ゲスト構成の準拠状況についても構成のリンクから確認することができ、準拠していない場合はどのような理由で準拠していないのかを確認することができます。該当のゲスト構成から情報が確認された最終更新タイミングも確認できますので、どのタイミングで取得された情報を基にして準拠状態を監査したのかを確認することもできます。(表示内容の更新については、最新の情報に更新を押すより、F5 でリロードしたほうがよさそうでした)

image

Azure Arc 対応サーバーのリソースであれば、次の URL から確認することができます。

  • https://portal.azure.com/#@<テナント名>.onmicrosoft.com/resource/subscriptions/<サブスクリプション ID>/resourceGroups/<リソーグループ名>/providers/Microsoft.HybridCompute/machines/<コンピューター名>/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/<ゲスト構成名>/overview

Azure 仮想マシンの場合、マシン構成が見当たらず、Azure Arc 相当のゲスト構成の状況を確認することができるブレードが発見できなかったのですが、類似の URL に直接アクセスすることで、確認することができます。(Arc のリソースの URL を Azure 仮想マシン向けの置き換えたものです)

  • https://portal.azure.com/#@<テナント名>.onmicrosoft.com/resource/subscriptions/<サブスクリプション ID>/resourceGroups/<リソースグループ名>/providers/Microsoft.Compute/virtualMachines/<コンピューター名>/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/<ゲスト構成名>/overview

 

これらの情報を確認することで、ゲスト構成がどのような理由で準拠していないのかを確認することができ、Azure Policy の検証を実施する際に役に立つのではないでしょうか。

今回はポータルから確認しましたが、ゲスト構成 REST API リファレンスのAzure Policy を使用して確認できるようにしておくのも検討が必要かもしれませんね。

Share

Written by Masayuki.Ozawa

8月 2nd, 2022 at 9:13 pm

Leave a Reply