この記事では、脆弱性評価の結果のクエリを実行し、調査、レポート、修復のワークフローのために SQL スキャン結果をエクスポートします。
脆弱性評価スキャン結果のクエリとエクスポート
SQL の脆弱性評価 (VA) のDefenderは、毎週データベースをスキャンし、特定された構成の誤りを報告します。
すべての結果は、SQL ユーザー インターフェイス エクスペリエンスのほとんどのDefenderのソースである Azure Resource Graph (ARG) に格納されます。 結果が ARG に書き込まれると、Defender for Cloudは無効なルールや除外の推奨事項などの関連する設定で強化されます。 その結果、ARG は、結果と推奨事項の有効な状態を反映します。
この記事では、スキャン結果を使用してエクスポートするいくつかの方法について説明します。
Defender for Cloud を使用して ARG で結果のクエリとエクスポートを行う
Defender for Cloud Recommendationsページを使って、Azure Resource Graph(ARG)で調査結果をクエリし、結果をエクスポートしてレポートしてください。
Defender for Cloud を使用して ARG を使用して結果を照会およびエクスポートするには:
Azure portal にサインインする
[Microsoft Defender for Cloud]>[推奨事項] に移動します。
スキャナー フィルターを SQL 脆弱性評価に設定します。
[ クエリを開く] を選択します。
[クエリの実行] を選択します。
[ CSV としてダウンロード] を選択します。
クエリは、選択した推奨事項ビューに基づいて変更されます。
これらのクエリは編集可能です。 特定のリソース、一連の結果、または結果の状態に合わせてカスタマイズできます。
Resource Graph Explorerで直接クエリ結果を取得
高度なクエリカスタマイズが必要な場合は、Resource Graph Explorerを使って直接調査結果を検索できます。
ARG を使用して結果を照会およびエクスポートするには:
Azure portal にサインインする
Resource Graph エクスプローラーに移動します。
次のクエリを編集して入力します。
resourceIdフィルターのプレースホルダーを SQL データベースのリソース ID に置き換えます。securityresources | where type =~ "microsoft.security/assessments" | extend assessmentKey=extract(@"(?i)providers/Microsoft.Security/assessments/([^/]*)", 1, id), parentResourceId= extract("(.+)/providers/Microsoft.Security", 1, id) | extend resourceIdTemp = iff(properties.resourceDetails.id != "", properties.resourceDetails.id, extract("(.+)/providers/Microsoft.Security", 1, id)) | extend scanner = (// AssessmentsQueryBuilder.columnDefinitions.scanner (tostring( coalesce(bag_keys(parse_json(tostring(properties.additionalData.ScannersDetails)))[0], bag_keys(parse_json(tostring(properties.additionalData.ScannersDetails)))[0], properties.additionalData.scanner, properties.additionalData.scanner, properties.additionalData.Scanner, properties.additionalData.Scanner, properties.additionalData.SecretScannerName, properties.additionalData.SecretScannerName, properties.additionalData.ToolName, properties.additionalData.ToolName, properties.additionalData.ScannerName, properties.additionalData.ScannerName, todynamic("N/A"))))) | where scanner in~ ("SQL Vulnerability Assessment") | extend resourceId = iff(properties.resourceDetails.source =~ "OnPremiseSql", strcat(resourceIdTemp, "/servers/", properties.resourceDetails.serverName, "/databases/" , properties.resourceDetails.databaseName), resourceIdTemp) | where resourceId =~ "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Sql/servers/<server-name>/databases/<database-name>" | project resourceId, subscriptionId, assessmentKey, RuleId=properties.additionalData.ruleId, name=properties.displayName, description=properties.metadata.description, severity=properties.additionalData.severity, status=properties.status.code, cause=properties.status.cause, category=properties.additionalData.category, impact=properties.additionalData.impact, remediation=properties.metadata.remediationDescription, benchmarks=properties.additionalData.benchmarks, scanner, HasBaseline=properties.additionalData.hasBaseline[クエリの実行] を選択します。
[ CSV としてダウンロード] を選択します。
リソースグラフエクスプローラーのクエリは編集可能です。 特定のリソース、一連の結果、または結果の状態に合わせてカスタマイズできます。
SQLデータベースからクエリを開いてみてください
SQLデータベースリソースページを使って、特定のSQLデータベースの脆弱性調査結果をクエリしてください。
SQL データベースからクエリを開くには:
Azure portal にサインインする
関連する SQL データベースに移動します。
セキュリティ>Microsoft Defender for Cloud に移動します。
関連する推奨結果を選択します。
[ クエリを開く] を選択します。
[クエリの実行] を選択します。
[ CSV としてダウンロード] を選択します。
SQLデータベースリソースページから開いたクエリは編集可能です。 特定のリソース、一連の結果、または結果の状態に合わせてカスタマイズできます。
Logic Apps を使用して電子メール通知を自動化する
Azure Logic Appsは、ワークフローを自動化し、クラウドとオンプレミスのシステム間でデータとサービスを統合する、ローコードでコードなしのクラウド サービスです。 Logic Apps を使用すると、サポートされている SQL バージョン全体の脆弱性評価結果のレポートを自動化し、スキャンされたサーバーの週次レポートの概要を送信できます。 また、日単位、週単位、月単位などのスケジュールや、データベース、サーバー、リソース グループなどのレポート スコープをカスタマイズすることもできます。
サンプル テンプレートを使用して通知を自動化するには、 SQL 脆弱性レポートの Logic Apps 電子メール通知テンプレートに従います。
このロジック アプリ テンプレートの例では、選択したサーバーの一覧からすべてのデータベースの脆弱性スキャン結果を要約した週単位の電子メール レポートを自動化します。 テンプレートをデプロイしたら、資格情報を認証するための有効なアクセス トークンを生成するために Microsoft 365 コネクタを承認する必要があります。
受信者は、スキャン結果の結果を含む電子メールを受信します。
Azure SQL Server の電子メールのサンプル:
電子メール SQL VM のサンプル:
スキャン結果をエクスポートするためのその他の方法
ワークフローの自動化を使用して、推奨事項の状態の変更に基づいてアクションをトリガーできます。
脆弱性 評価ブック を使用して、結果の対話型レポートを表示することもできます。 ブックのデータをエクスポートし、ブックのコピーをカスタマイズして保存できます。 Defender for Cloud データの豊富な対話型レポートを作成する方法について説明します。
継続的 エクスポート を有効にして、生成されたアラートと推奨事項をストリーム配信したり、すべての新しいデータの定期的なスナップショットを送信するスケジュールを定義したりすることもできます。