Microsoft Defender for Cloud でロジック アプリを監視するためのログを設定する

Microsoft Azure Security Center で Azure Logic Apps リソースを監視するときに、ロジック アプリが既定のポリシーに従っているかどうかを確認することができます。 Azure には、ログを有効にし、ログの出力先を正しく設定した後に、Azure Logic Apps リソースの正常性状態が表示されます。 この記事では、診断ログを構成し、すべてのロジック アプリが正常なリソースであることを確認する方法について説明します。

ヒント

Azure Logic Apps サービスの現在の状態を確認するには、利用可能な各リージョンのさまざまな製品とサービスの状態が表示されている Azure の状態のページを確認します。

前提条件

診断ログの有効化

ロジック アプリのリソース正常性状態を表示するには、まず診断ログを設定する必要があります。 既に Log Analytics ワークスペースがある場合は、ロジック アプリを作成するとき、または既存のロジック アプリでログを有効にすることができます。

ヒント

既定では、Azure Logic Apps の診断ログを有効にすることをお勧めします。 ただし、この設定はロジック アプリの場合は自分で制御します。 ロジック アプリの診断ログを有効にすると、セキュリティ インシデントの分析に役立つ情報を使用できます。

診断ログ設定を確認する

ロジック アプリで診断ログが有効になっているかどうか不明な場合は、Defender for Cloud で確認できます。

  1. Azure portal にサインインします。
  2. 検索バーに「Defender for Cloud」と入力して選択します。
  3. ワークロード保護ダッシュボード メニューの [全般][推奨事項] を選択します。
  4. セキュリティに関する推薦事項の表で、セキュリティ制御の表から [監査とログを有効にする][Logic Apps で診断ログを有効にする必要がある] を探して選択します。
  5. [推奨事項] ページで、 [修復手順] セクションを展開し、オプションを確認します。 Azure Logic Apps 診断を有効にするには、[クイック修正] ボタンを選択するか、手動による修復手順に従ってください。

ロジック アプリの正常性状態を表示する

診断ログを有効にした後、Defender for Cloud でロジック アプリの正常性状態を確認できます。

  1. Azure portal にサインインします。

  2. 検索バーに「Defender for Cloud」と入力して選択します。

  3. ワークロード保護ダッシュボード メニューの [全般][インベントリ] を選択します。

  4. [インベントリ] ページで、アセット リストをフィルター処理して Azure Logic Apps リソースのみを表示します。 [ページ] メニューで、[リソースの種類][ロジック アプリ] を選択します。

    [異常なリソース] カウンターには、Defender for Cloud によって異常と見なされたロジック アプリの数が示されます。

  5. ロジック アプリ リソースの一覧の [推奨事項] 列を確認します。 特定のロジック アプリの正常性の詳細を確認するには、リソース名を選択するか、省略記号ボタン (...) [リソースを表示] の順に選択します。

  6. 潜在的なリソース正常性の問題を修復するには、ロジック アプリ用に一覧表示されている手順に従います。

診断ログが既に有効になっている場合は、ログの出力先に問題がある可能性があります。 さまざまな診断ログの出力先に関する問題を修正する方法について確認してください。

ロジック アプリの診断ログを修正する

ロジック アプリが Defender for Cloud で異常と表示されている場合は、Azure portal または Azure CLI を使用して、コード ビューでロジック アプリを開きます。 次に、診断ログの出力先の構成を確認します:Azure Log AnalyticsAzure Event Hubs、または Azure Storage アカウント

Log Analytics と Event Hubs の出力先

Azure Logic Apps 診断ログの出力先として Log Analytics または Event Hubs を使用する場合は、次の設定を確認してください。

  1. 診断ログが有効になっていることを確認するには、診断設定の logs.enabled フィールドが true に設定されていることを確認します。
  2. 出力先としてストレージ アカウントを設定していないことを確認するには、storageAccountId フィールドが false に設定されていることを確認します。

例:

"allOf": [
    {
        "field": "Microsoft.Insights/diagnosticSettings/logs.enabled",
        "equals": "true"
    },
    {
        "anyOf": [
            {
                "field": "Microsoft.Insights/diagnosticSettings/logs[*].retentionPolicy.enabled",
                "notEquals": "true"
            },
            {
                "field": "Microsoft.Insights/diagnosticSettings/storageAccountId",
                "exists": false
            }
        ]
    }
] 

ストレージ アカウントの出力先

Azure Logic Apps 診断ログの出力先としてストレージ アカウントを使用する場合は、次の設定を確認してください。

  1. 診断ログが有効になっていることを確認するには、診断設定の logs.enabled フィールドが true に設定されていることを確認します。
  2. 診断ログの保持ポリシーが有効になっていることを確認するには、retentionPolicy.enabled フィールドが true に設定されていることを確認します。
  3. 保持期間が 0 から 365 日までの間に設定されていることを確認するには、retentionPolicy.days フィールドが 0 から 365 までの数値に設定されていることを確認します。
"allOf": [
    {
        "field": "Microsoft.Insights/diagnosticSettings/logs[*].retentionPolicy.enabled",
        "equals": "true"
    },
    {
        "anyOf": [
            {
                "field": "Microsoft.Insights/diagnosticSettings/logs[*].retentionPolicy.days",
                "equals": "0"
            },
            {
                "field": "Microsoft.Insights/diagnosticSettings/logs[*].retentionPolicy.days",
                "equals": "[parameters('requiredRetentionDays')]"
            }
          ]
    },
    {
        "field": "Microsoft.Insights/diagnosticSettings/logs.enabled",
        "equals": "true"
    }
]