オートメーション ルールとプレイブックの正常性を監視する
Microsoft Sentinel サービスのセキュリティ オーケストレーション、オートメーション、応答の各動作に適切な機能とパフォーマンスを確保するためには、実行ログを監視してオートメーション ルールとプレイブックの正常性を常時監視します。
正常性イベントの通知を設定すれば、直接の利害関係者が措置を講じることができます。 たとえば、メールや Microsoft Teams メッセージを定義して送信したり、チケット システムで新しいチケットを作成したりすることができます。
この記事では、Microsoft Sentinel の稼働状況の監視機能を使用して、オートメーション ルールとプレイブックの正常性を Microsoft Sentinel 内から常時監視する方法について説明します。 詳細については、「Microsoft Sentinel での監査と稼働状況の監視」を参照してください。
SentinelHealth データ テーブル (パブリック プレビュー) を使用する
SentinelHealth データ テーブルからオートメーションの正常性データを取得するには、最初に、Microsoft Sentinel の正常性機能をワークスペースに対して有効にします。 詳細については、「Microsoft Sentinel の正常性監視を有効にする」を参照してください。
正常性機能を有効にした後、オートメーション ルールとプレイブックに関して生成される最初の成功または失敗イベントで SentinelHealth データ テーブルが作成されます。
SentinelHealth テーブル イベントについて
オートメーションの正常性に関して、SentinelHealth テーブルには次の種類のイベントが記録されます。
Automation rule run (オートメーション ルールが実行された)。 オートメーション ルールの条件が満たされ、実行されるたびにログに記録されます。 基本的な SentinelHealth テーブル内のフィールドに加え、これらのイベントにはオートメーション ルールの実行に固有の拡張プロパティ、たとえばルールによって呼び出されたプレイブックの一覧が含まれます。 これらのイベントは、次のサンプル クエリで表示されます。
SentinelHealth | where OperationName == "Automation rule run"
Playbook was triggered (プレイブックがトリガーされた)。 インシデント発生時、ポータルから手動で、または API を通じてプレイブックがトリガーされるたびにログに記録されます。 基本的な SentinelHealth テーブル内のフィールドに加え、これらのイベントには、プレイブックの手動トリガーに固有の拡張プロパティが含まれます。 これらのイベントは、次のサンプル クエリで表示されます。
SentinelHealth | where OperationName == "Playbook was triggered"
詳細については、「SentinelHealth テーブル列のスキーマ」を参照してください。
状態、エラー、推奨される手順
"Automation rule run (オートメーション ルールが実行された)" 状態に関して表示される可能性のある状態は次のとおりです。
成功: ルールが正常に実行され、すべてのアクションがトリガーされた。
一部成功: ルールが実行されて少なくとも 1 つのアクションはトリガーされたが、一部のアクションに失敗した。
失敗: いずれのアクションも実行されなかった。原因として、次のいずれかの理由が考えられます。
- 条件の評価に失敗した。
- 条件は満たされたが、最初のアクションが失敗した。
"Playbook was triggered (プレイブックがトリガーされた)" 状態に関して表示される可能性のある状態は次のとおりです。
成功: プレイブックが正常にトリガーされた。
失敗: プレイブックのトリガーに失敗した。
Note
"成功" が意味するのは、オートメーション ルールによってプレイブックが正常にトリガーされた事実のみです。 プレイブックが開始または終了した時刻や、プレイブック内のアクションの結果、プレイブックの最終的な結果はわかりません。
この情報を見つけるには、Logic Apps 診断ログに対してクエリを実行します。 詳細については、「オートメーションの全体像を把握する」を参照してください。
エラーの説明と推奨されるアクション
エラーの説明 | 推奨されるアクション |
---|---|
Could not add task: <TaskName>. (タスクを追加できませんでした: <タスク名>) インシデントまたはアラートが見つかりませんでした。 |
インシデントまたはアラートが存在することを確認し、もう一度やり直してください。 |
Could not add task: <TaskName>. (タスクを追加できませんでした: <タスク名>) インシデントには既に許容される最大数のタスクが含まれています。 |
このタスクが必要な場合は、削除または統合できるタスクがあるかどうかを確認してから、もう一度やり直してください。 |
Could not modify property: <PropertyName>. (プロパティを変更できませんでした: <プロパティ名>) インシデントまたはアラートが見つかりませんでした。 |
インシデントまたはアラートが存在することを確認し、もう一度やり直してください。 |
Could not modify property: <PropertyName>. (プロパティを変更できませんでした: <プロパティ名>) 要求が多すぎて、調整の制限を超えています。 |
|
Could not trigger playbook: <PlaybookName>. (プレイブックをトリガーできませんでした: <プレイブック名>) インシデントまたはアラートが見つかりませんでした。 |
オンデマンドでプレイブックをトリガーしようとしたときにエラーが発生した場合は、インシデントまたはアラートが存在することを確認してから、もう一度やり直してください。 |
Could not trigger playbook: <PlaybookName>. (プレイブックをトリガーできませんでした: <プレイブック名>) プレイブックが見つからないか、それに対するアクセス許可が Microsoft Sentinel にありません。 |
オートメーション ルールを編集し、別の場所にあるプレイブックを見つけて選択し、保存します。 このプレイブックを実行するためのアクセス許可が Microsoft Sentinel にあることを確認してください。 |
Could not trigger playbook: <PlaybookName>. (プレイブックをトリガーできませんでした: <プレイブック名>) サポートされていないトリガーの種類が含まれています。 |
適切な Logic Apps トリガー (Microsoft Sentinel インシデントまたは Microsoft Sentinel アラート) でプレイブックが開始されるようにしてください。 |
Could not trigger playbook: <PlaybookName>. (プレイブックをトリガーできませんでした: <プレイブック名>) サブスクリプションは無効で、読み取り専用としてマークされています。 このサブスクリプションのプレイブックは、サブスクリプションが再度有効になるまで実行できません。 |
プレイブックが配置されている Azure サブスクリプションを再度有効にします。 |
Could not trigger playbook: <PlaybookName>. (プレイブックをトリガーできませんでした: <プレイブック名>) プレイブックが無効になりました。 |
Microsoft Sentinel の [アクティブなプレイブック] タブの [オートメーション]、または [Logic Apps リソース] ページでプレイブックを有効にします。 |
Could not trigger playbook: <PlaybookName>. (プレイブックをトリガーできませんでした: <プレイブック名>) 無効なテンプレート定義です。 |
プレイブック定義に誤りがあります。 Logic Apps デザイナーに移動して問題を解決してから、プレイブックを保存してください。 |
Could not trigger playbook: <PlaybookName>. (プレイブックをトリガーできませんでした: <プレイブック名>) アクセス制御の構成により、Microsoft Sentinel が制限されています。 |
プレイブックのトリガーは、Logic Apps の構成で利用を制限することができます。 この制限が、このプレイブックに対して有効になっています。 Microsoft Sentinel がブロックされないよう、この制限を解除してください。 詳細情報 |
Could not trigger playbook: <PlaybookName>. (プレイブックをトリガーできませんでした: <プレイブック名>) Microsoft Sentinel にこれ実行するアクセス許可がありません。 |
Microsoft Sentinel には、プレイブックを実行するためのアクセス許可が必要です。 |
Could not trigger playbook: <PlaybookName>. (プレイブックをトリガーできませんでした: <プレイブック名>) プレイブックが新しいアクセス許可モデルに移行されていません。 このプレイブックを実行するためのアクセス許可を Microsoft Sentinel に付与してからルールを再保存してください。 |
このプレイブックを実行するためのアクセス許可を Microsoft Sentinel に付与してからルールを再保存します。 |
Could not trigger playbook: <PlaybookName>. (プレイブックをトリガーできませんでした: <プレイブック名>) 要求が多すぎて、ワークフローの調整の制限を超えています。 |
待機中のワークフロー実行の数が、許容される上限を超えています。 トリガーのコンカレンシー構成で 'maximumWaitingRuns' の値を増やしてみてください。 |
Could not trigger playbook: <PlaybookName>. (プレイブックをトリガーできませんでした: <プレイブック名>) 要求が多すぎて、調整の制限を超えています。 |
詳細については、「サブスクリプションとテナントの制限」を参照してください。 |
Could not trigger playbook: <PlaybookName>. (プレイブックをトリガーできませんでした: <プレイブック名>) アクセスが禁止されました。 マネージド ID に構成がないか、Logic Apps のネットワーク制限が設定されています。 |
プレイブックにマネージド ID が使用されている場合、マネージド ID にアクセス許可が割り当てられていることを確認します。 プレイブックに適用されているネットワーク制限ルールによって Microsoft Sentinel サービスがブロックされ、プレイブックをトリガーできなくなっている可能性があります。 |
Could not trigger playbook: <PlaybookName>. (プレイブックをトリガーできませんでした: <プレイブック名>) サブスクリプションまたはリソース グループがロックされました。 |
ロックされたスコープ内で Microsoft Sentinel がプレイブックをトリガーできるよう、ロックを解除します。 詳細については、リソースのロックに関する記事を参照してください。 |
Could not trigger playbook: <PlaybookName>. (プレイブックをトリガーできませんでした: <プレイブック名>) プレイブックをトリガーするために必要なアクセス許可が呼び出し元にないか、アクセス許可が Microsoft Sentinel にありません。 |
プレイブックをオンデマンドでトリガーしようとしているユーザーには、プレイブックに対する (プレイブックをトリガーするための) Logic Apps 共同作成者ロールがありません。 詳細情報 |
Could not trigger playbook: <PlaybookName>. (プレイブックをトリガーできませんでした: <プレイブック名>) 接続の資格情報が無効です。 |
Azure portal で、API 接続サービスの接続に使用されている資格情報を確認します。 |
Could not trigger playbook: <PlaybookName>. (プレイブックをトリガーできませんでした: <プレイブック名>) プレイブックの ARM ID が無効です。 |
オートメーションの全体像を把握する
Microsoft Sentinel の稼働状況の監視テーブルでは、プレイブックがいつトリガーされたかを追跡できますが、プレイブックが実行されたときに何が起こって、どういう結果になったかを監視するには、Azure Logic Apps の診断を有効にして、AzureDiagnostics テーブルに次のイベントを取り込むことも必要です。
- <アクション名> が開始された
- <アクション名> が有効にされた
- ワークフロー (プレイブック) が開始された
- ワークフロー (プレイブック) が終了された
これらのイベントが加わることで、プレイブックで実行されるアクションに関するより詳しい分析情報が提供されます。
Azure Logic Apps の診断を有効にする
監視対象のプレイブックごとに、ロジック アプリに対して Log Analytics を有効にします。 ログの送信先として必ず [Log Analytics ワークスペースへの送信] を選択し、ご利用の Microsoft Sentinel ワークスペースを選択してください。
Microsoft Sentinel と Azure Logic Apps のログを関連付ける
ワークスペースに、オートメーション ルールとプレイブックのログ、"そして" 個々の Logic Apps ワークフローのログが揃ったら、それらを関連付けることで全体像を把握することができます。 次のようなサンプル クエリがあるとします。
SentinelHealth
| where SentinelResourceType == "Automation rule"
| mv-expand TriggeredPlaybooks = ExtendedProperties.TriggeredPlaybooks
| extend runId = tostring(TriggeredPlaybooks.RunId)
| join (AzureDiagnostics
| where OperationName == "Microsoft.Logic/workflows/workflowRunCompleted"
| project
resource_runId_s,
playbookName = resource_workflowName_s,
playbookRunStatus = status_s)
on $left.runId == $right.resource_runId_s
| project
RecordId,
TimeGenerated,
AutomationRuleName= SentinelResourceName,
AutomationRuleStatus = Status,
Description,
workflowRunId = runId,
playbookName,
playbookRunStatus
正常性監視ブックを使用する
オートメーションの正常性ブックでは、正常性データを視覚化すると共に、前述した 2 種類のログの相関関係を視覚化できます。 ブックには、次の内容が表示されます。
- オートメーション ルールの正常性と詳細
- プレイブック トリガーの正常性と詳細
- プレイブック実行の正常性と詳細 (プレイブック レベルで Azure Diagnostics が有効になっている必要があります)
- インシデントごとのオートメーションの詳細
次に例を示します。
[Playbooks run by Automation Rules] (オートメーション ルールによって実行されたプレイブック) タブを選択すると、プレイブックのアクティビティが表示されます。
プレイブックを選択すると、その実行の一覧が下のドリルダウン グラフに表示されます。
プレイブック内のアクションの結果を確認するには、特定の実行を選択します。
次の手順
- Microsoft Sentinel での監査と稼働状況の監視について確認します。
- Microsoft Sentinel で監査と稼働状況の監視を有効にします。
- データ コネクタの正常性を監視します。
- 分析ルールの正常性と整合性を監視します。
- "SentinelHealth" および "SentinelAudit" テーブル スキーマの詳細を確認します。