この記事では、商用クラウド環境におけるMicrosoft Defender for SQL on Machinesの設定および保護に関する問題を特定し、解決するのに役立ちます。
Important
この記事は商用クラウドに適用されます。 Government クラウド環境を使用している場合は、Government クラウド向けの Defender for SQL on Machines 構成のトラブルシューティングに関する記事を参照してください。
トラブルシューティングを始める前に、AzureサブスクリプションレベルまたはSQL ServerリソースレベルでマシンのSQL server Defenderを有効にしてください。
手順 1: 必要なリソースと有効化プロセス
マシン上のSQL ServerのDefenderでは、コンピューターに次のリソースが自動的に作成されます。
| リソースの種類 | レベルを作成しました |
|---|---|
| システム マネージド ID (ユーザー定義マネージド ID が存在しない場合にのみ作成されます) | SQL Server インスタンスをホストする仮想マシン/Arc 対応サーバー |
| SQL 向け Defender 拡張機能 | 拡張機能は、SQL サーバー インスタンスをホストしている各仮想マシン/Arc 対応サーバーにインストールされます |
サブスクリプションまたは指定したSQL ServerでSQL ServerのDefenderを有効にすると、各SQL Server インスタンスを保護するために次のアクションが実行されます。
- サブスクリプションにユーザーマネージド ID がない場合は、システム マネージド ID を作成します。
- SQL Serverをホストする仮想マシン/Arc 対応サーバーに SQL 拡張機能のDefenderをインストールします。
- SQL Server サービス (既定の sysadmin ロール) を実行しているWindows ユーザーを偽装して、SQL Server インスタンスにアクセスします。
手順 2: 前提条件を満たしていることを確認する
トラブルシューティングを行う前に、次の前提条件が満たされていることを確認してください。
サブスクリプションのアクセス許可: Azure Policy を含むサブスクリプションにプランをデプロイするには、 サブスクリプション所有者 のアクセス許可が必要です。
SQL Server インスタンスのアクセス許可: SQL Server サービス アカウントは、各 SQL Server インスタンスで sysadmin 固定サーバー ロールを持っている必要があります。これは既定の設定です。 SQL Server サービス アカウントの要件の詳細について説明します。
サポートされているリソース:
- SQL 仮想マシンと Azure Arc SQL Server インスタンス がサポートされています。
- オンプレミスのマシンは Arc にオンボードされ、Azure Arc SQL Server インスタンスとして登録されている必要があります。
通信: トランスポート層セキュリティ (TLS) を使用して送信制御プロトコル (TCP) ポート 443 経由で送信 HTTPS トラフィックを許可し、URL を *.<region>.arcdataservices.com します。
URL の要件について詳しくは、こちらをご覧ください。
拡張機能: 環境内でこれらの拡張機能がブロックされていないことを確認します。 Windows VM での拡張機能のインストールの制限の詳細について説明します。
-
Defender for SQL (IaaS と Arc)
- パブリッシャー: Microsoft.Azure.AzureDefenderForSQL
- 種類: AdvancedThreatProtection.Windows
-
SQL IaaS 拡張機能 (IaaS)
- パブリッシャー: Microsoft.SqlServer.Management
- 種類: SqlIaaSAgent
-
SQL IaaS 拡張機能 (Arc)
- パブリッシャー: Microsoft.AzureData
- 種類: WindowsAgent.SqlServer
-
Defender for SQL (IaaS と Arc)
サポートされているSQL Serverバージョン - SQL Server 2012 R2 (11.x) 以降のバージョン。
サポートされているオペレーティング システム - SQL Server 2012 R2 以降のバージョン。
手順 3: SQL Server インスタンス レベルで保護の構成ミスを特定して解決する
検証プロセスに従って、SQL Server インスタンスの保護の構成ミスを特定します。
推奨事項 The status of Microsoft SQL Servers on Machines should be protected を使用して SQL Server の保護状態を確認できますが、推奨事項はリソース レベルで修復する必要があります。 保護されていない SQL サーバーは、推奨事項の異常なリソース セクションで特定され、保護状態と理由が表示されます。
Important
推奨事項は 12 時間ごとにのみ更新されます。 マシンのリアルタイムの状態を確認するには、 各 SQL サーバーの保護状態を確認 し、必要に応じてトラブルシューティングを実行する必要があります。
対応する異常な理由と推奨されるアクションを使用して、誤った構成を解決します。
| 不健全な理由 | 推奨されるアクション |
|---|---|
| ID が見つからない | SQL Server インスタンスをホストする仮想マシン/Arc 対応サーバーにユーザー定義/システム定義マネージド ID を割り当てます。 ロールベースのアクセス制御権限は不要です。 |
| SQL 拡張機能のDefenderが存在しません | SQL 拡張機能のDefenderが、Azure拒否ポリシーによってブロックされていないことを確認します。 - 発行元: Microsoft.Azure.AzureDefenderForSQL - 種類: AdvancedThreatProtection.Windows 指定されたスクリプトを使用して、SQL Server インスタンスをホストして、sql 拡張機能のDefenderを仮想マシンに手動でインストールします。 バージョン 2.X 以降があることを確認します。 1. このスクリプトを実行する Set-AzVMExtension -Publisher 'Microsoft.Azure.AzureDefenderForSQL' -ExtensionType 'AdvancedThreatProtection.Windows' -ResourceGroupName 'resourceGroupeName' -VMName <Vm name> -Name 'Microsoft.Azure.AzureDefenderForSQL.AdvancedThreatProtection.Windows' -TypeHandlerVersion '2.0' -Location 'vmLocation' -EnableAutomaticUpgrade $true 2. このスクリプトを実行して、適切なサブスクリプションのコンテキストを設定します。 connect-AzAccount -Subscription SubscriptionId -UseDeviceAuthentication |
| Defender for SQL 拡張機能は最新の状態である必要があります | 仮想マシン/Arc 対応サーバー リソースの [拡張機能] ページで拡張機能を更新します。 |
| SQL 拡張機能のDefenderのインストール中にエラーが発生しました | ポータルで SQL 拡張機能の状態のDefenderを確認し、問題をトラブルシューティングするための追加情報を確認します。 |
| インスタンスSQL Server非アクティブ | マシン上の SQL Server のDefenderは、アクティブな (実行中の) SQL Server インスタンスのみを保護できます。 |
| アクセス許可の欠如 | SQL Server サービス アカウントが、各SQL Server インスタンスの sysadmin 固定サーバー ロールのメンバーであることを確認します (既定の設定)。 SQL Server サービスのアクセス許可の詳細を確認します。 |
| コミュニケーションの欠如 | トランスポート層セキュリティ (TLS) を使用する TCP ポート 443 の送信 HTTPS トラフィックが、仮想マシン/Arc 対応サーバーから *.<region>.arcdataservices.com URL に許可されていることを確認します。
URL の要件の詳細を確認する |
| SQL サーバーの再起動が必要です | SQL ServerインストールのDefenderが有効になるように、SQL Server インスタンスを再起動します。 |
| 内部エラーです | サポートにお問い合わせください。 |
同じ仮想マシン上の複数のSQL Server インスタンス
同じ仮想マシンに複数のSQL Server インスタンスがインストールされている場合、推奨事項The status of Microsoft SQL Servers on Machines should be protectedインスタンスを区別することはできません。 エラー メッセージを対応するSQL Server インスタンスと関連付けるために、SQL 拡張機能のDefenderの下にあるエラー メッセージを確認します。 SQL 拡張機能のDefenderには、インスタンスごとに次の理由が表示されます。
- SQL Serverを再起動する
- アクセス許可を確認する
- SQL Server インスタンスがアクティブであることを確認する
Azure ポータルで、SQL 仮想マシンを検索して選択します。
関連する仮想マシンを選択します。
[設定]>[拡張機能 + アプリケーション] に移動します。
関連する拡張機能を選択して、その保護の状態を表示します。
挙げられた不健康な理由に基づき、ステップ3で説明されている適切な行動を取って、そのSQL Serverインスタンスの誤設定を修正します。
手順 4: 保護の状態を Reverify する
各SQL Server インスタンスのすべてのエラーの修復が完了したら、各SQL Server インスタンスの保護状態を再確認します。