セキュリティ | Azure Arc 対応の SQL Server
この記事では、Azure Arc 対応の SQL Server のコンポーネントのセキュリティ アーキテクチャについて説明します。
Azure Arc 対応の SQL Server の背景については、「概要 |Azure Arc 対応の SQL Server」を参照します。
エージェントと拡張機能
Azure Arc 対応の SQL Server の最も重要なソフトウェア コンポーネントは次のとおりです。
- Azure Connected Machine エージェント
- Azure Extension for SQL Server
Azure Connected Machine Agent は、サーバーを Azure に接続します。 SQL Server の Azure 拡張機能は、SQL Server に関するデータを Azure に送信し、Azure Relay 通信チャネルを介して Azure からコマンドを取得して、SQL Server インスタンスに対してアクションを実行します。 エージェントと拡張機能を組み合わせることで、Azure の外部の任意の場所にあるインスタンスとデータベースを管理できます。 エージェントと拡張機能を持つ SQL Server のインスタンスは、Azure Arc に対応しています。
エージェントと拡張機能は、Azure に安全に接続して、Microsoft が管理する Azure サービスとの通信チャネルを確立します。 エージェントは次の方法で通信できます:
- Azure Express Route 経由の構成可能な HTTPS プロキシ サーバー
- Azure Private Link
- HTTPS プロキシ サーバーの有無に関係なくインターネット
詳細については、Connected Machine エージェントのドキュメントを参照してください:
データの収集とレポートのために、一部のサービスには Azure Monitoring Agent (AMA) 拡張機能が必要です。 拡張機能は、Azure Log Analytics に接続されている必要があります。 AMA を必要とする 2 つのサービスは次のとおりです:
- Microsoft Defender for Cloud
- SQL Server ベスト プラクティス アセスメント
SQL Server の Azure 拡張機能を使用すると、すべての SQL Server インスタンスのホストまたは OS レベル (Windows Server フェールオーバー クラスターなど) 構成の変更を詳細なレベルで検出できます。 次に例を示します。
- ホスト コンピューター上の SQL Server エンジン インスタンス
- SQL Server インスタンス内のデータベース
- 可用性グループ
SQL Server の Azure 拡張機能を使用すると、インベントリ、監視、その他のタスクなどのタスクのデータを収集することで、SQL Server インスタンスをどこでも一元的に管理、セキュリティで保護、管理できます。 収集されたデータの完全な一覧については、「データの収集とレポート」を参照してください。
次の図は、Azure Arc 対応 SQL Server のアーキテクチャを示しています。
コンポーネント
Azure Arc 対応の SQL Server のインスタンスには、サーバー上で実行され、Azure への接続に役立つ統合コンポーネントとサービスがあります。 エージェント サービス に加えて、有効になっているインスタンスには、このセクションに一覧表示されているコンポーネントがあります。
リソース プロバイダー
リソース プロバイダー (RP) は、ARM API を使用して特定の Azure サービスの機能を有効化する REST 操作のセットを公開します。
SQL Server 用 Azure 拡張機能を機能させるために、次の 2 つの RP を登録します:
Microsoft.HybridCompute
RP: 拡張機能のインストール、接続されたマシン コマンドの実行など、Azure Arc 対応サーバー リソースのライフサイクルを管理し、その他の管理タスクを実行します。Microsoft.AzureArcData
RP: Azure Arc 対応の SQL Server リソースのライフサイクルを、SQL Server 用 Azure 拡張機能から受信したインベントリと利用状況データに基づいて管理します。
Azure Arc データ処理サービス
Azure Arc Data Processing Service (DPS) は、Arc に接続されたサーバー上の SQL Server 用 Azure 拡張機能によって提供される SQL Server に関するデータを受信する Azure サービスです。 DPS では次のタスクを実行します:
- SQL Server 用 Azure 拡張機能によってリージョンエンドポイントに送信されたインベントリ データを処理し、それに応じて ARM API と Microsoft.AzureArcData RP を介して SqlServerInstance リソースを更新します。
- SQL Server 用 Azure 拡張機能によってリージョンエンドポイントに送信された利用状況データを処理し、課金要求を Azure コマース サービスに送信します。
- ARM でユーザーが作成した SQL Server 物理コア ライセンス リソースを監視し、ライセンスの状態に基づいて課金要求を Azure コマース サービスに送信します。
Azure Arc 対応の SQL Server には、エージェント内の SQL Server 用 Azure 拡張機能から DPS への送信接続が必要です (*.<region>.arcdataservices.com
TCP ポート 443)。 具体的なコミュニケーション条件については、「Azure Arc データ処理サービスに接続する」を参照してください。
Deployer
デプロイヤ は、初期インストールおよび構成の更新時に、SQL Server 用 Azure 拡張機能をブートストラップします。
SQL Server サービス用 Azure 拡張機能
SQL Server サービス用 Azure 拡張機能は、ホスト サーバー上でバックグラウンドで実行されます。 サービスの構成は、オペレーティング システムによって異なります:
[オペレーティング システム]: Windows
- サービス名: Microsoft SQL Server 拡張機能サービス
- 表示名: Microsoft SQL Server 拡張機能サービス
- 実行結果: ローカル システム
- ログの場所:
C:/ProgramData/GuestConfig/extension_logs/Microsoft.AzureData.WindowsAgent.SqlServer
[オペレーティング システム]: Linux
- サービス名: SqlServerExtension
- 表示名: Azure SQL Server 拡張機能サービス
- 実行結果: ルート
- ログの場所:
/var/lib/GuestConfig/extension_logs/Microsoft.AzureData.LinuxAgent.SqlServer-<Version>/
機能
Azure Arc 対応の SQL Server のインスタンスは、次のタスクを実行します。
すべての SQL Server インスタンス、データベース、可用性グループのインベントリを作成する
SQL Server サービス用 Azure 拡張機能は、インベントリをデータ処理サービスに毎時間アップロードします。 インベントリには、SQL Server インスタンス、Always On 可用性グループ、およびデータベース メタデータが含まれます。
使用状況をアップロードする
SQL Server サービス用 Azure 拡張機能は、12 時間ごとに使用状況に関連するデータをデータ処理サービスにアップロードします。
Arc 対応サーバーのセキュリティ
Azure Arc 対応サーバーのインストール、管理、構成に関する具体的な情報については、「Arc 対応サーバーのセキュリティの概要」を確認してください。
Azure Arc セキュリティ対応の SQL Server
SQL Server 用 Azure 拡張機能のコンポーネント
SQL Server 用 Azure 拡張機能は、デプロイヤと拡張機能サービスという 2 つの主要なコンポーネントで構成されています。
デプロイヤ
デプロイヤは、初期インストール中に拡張機能をブートストラップします。また、新しい SQL Server インスタンスがインストールされるか、機能が有効または無効になります。 インストール、更新、またはアンインストール中に、ホスト サーバー上で実行されている Arc エージェントによってデプロイヤが実行され、特定のアクションが実行されます。
- インストール
- 有効にする
- 更新する
- Disable
- アンインストール
デプロイヤは Azure Connected Machine Agent サービスのコンテキストで実行されるため、Local System
として実行されます。
拡張機能サービス
拡張機能サービスは、インベントリとデータベースのメタデータ (Windows のみ) を収集し、1 時間ごとに Azure にアップロードします。 Windows では Local System
として実行され、Linux ではルートとして実行されます。 拡張機能サービスは、Arc 対応 SQL Server サービスの一部としてさまざまな機能を提供します。
最小限の権限で実行する
最小限の権限で実行するように拡張サービスを構成できます。 このオプションは、最小権限の原則を適用するために、Windows サーバーでプレビューできます。 最小権限モードの設定方法の詳細については、「最小権限モードを有効にする (プレビュー)」を確認します。
最小限の権限で構成されている場合、拡張機能サービスは NT Service\SQLServerExtension
サービス アカウントとして実行されます。
NT Service\SQLServerExtension
アカウントは ローカルの Windows サービス アカウントです。
- 最小権限オプションが有効になっている場合、SQL Server デプロイヤの Azure 拡張機能によって作成および管理されます。
- Windows オペレーティング システムで SQL Server サービス用の Azure 拡張機能を実行するために必要な最小限のアクセス許可と権限が付与されています。 構成の読み取りと保存またはログの書き込みに使用されるフォルダーとディレクトリにのみアクセスできます。
- 必要最小限のアクセス許可を持つ、SQL Server サービス アカウントの Azure 拡張機能専用の新しいログインを使用して SQL Server に接続してクエリを実行するためのアクセス許可が付与されました。 最小アクセス許可は、有効な機能によって異なります。
- アクセス許可が不要になったときに更新されます。 たとえば、機能を無効にしたり、最小限の権限の構成を無効にしたり、SQL Server 用の Azure 拡張機能をアンインストールしたりすると、アクセス許可が取り消されます。 この取り消しにより、アクセス許可が不要になった後に残らないようになります。
アクセス許可の完全な一覧については、「Windows サービス アカウントとアクセス許可の構成」を参照してください。
クラウド通信への拡張
Arc 対応 SQL Server には、Azure Arc データ処理サービスへの送信接続が必要です。
各仮想サーバーまたは物理サーバーは、Azure と通信する必要があります。 具体的には、次の接続が必要です。
- URL:
*.<region>.arcdataservices.com
- ポート:443
- 方向: 送信
- 認証プロバイダー: Microsoft Entra ID
リージョン エンドポイントのリージョン セグメントを取得するには、Azure リージョン名からすべてのスペースを削除します。 たとえば、米国東部 2 リージョンのリージョン名は eastus2
となります。
たとえば、*.<region>.arcdataservices.com
は、米国東部 2 リージョンでは *.eastus2.arcdataservices.com
となります。
サポートされているリージョンの一覧については、「サポート対象の Azure リージョ」をご覧ください。
すべてのリージョンの一覧については、次のコマンドを実行してください。
az account list-locations -o table
機能レベルのセキュリティの側面
さまざまな機能とサービスには、特定のセキュリティ構成の側面があります。 このセクションでは、次の機能のセキュリティの側面について説明します:
- 監査アクティビティ
- ベスト プラクティス アセスメント
- 自動バックアップ
- Microsoft Defender for Cloud
- 自動更新
- 監視
- Microsoft Entra ID
- Microsoft Purview
監査アクティビティ
アクティビティ ログには、Azure portal で Azure Arc 対応の SQL Server リソースのサービス メニューからアクセスできます。 アクティビティ ログは、Azure Resource Manager の Arc 対応 SQL Server リソースの監査情報と変更履歴をキャプチャします。 詳細については、「Azure Arc 対応の SQL Server のアクティビティ ログを使用する」を参照してください。
ベスト プラクティス アセスメント
ベスト プラクティス アセスメントには、次の要件があります:
Windows ベースの SQL Server インスタンスが Azure に接続されていることを確認します。 「SQL Server を Azure Arc に自動的に接続する」の手順に従います。
Note
ベスト プラクティス アセスメントは現在、Windows マシンで実行されている SQL Server に限定されています。 現在、Linux マシン上の SQL Server on Linux には評価は適用されません。
SQL Server が単一の SQL Server インスタンスをホストしている場合は、SQL Server の Azure 拡張機能 (
WindowsAgent.SqlServer
) のバージョンが 1.1.2202.47 以降であることを確認します。サーバーが SQL Server の複数のインスタンスをホストしている場合: Azure Extension for SQL Server (
WindowsAgent.SqlServer
) のバージョンが 1.1.2231.59 以降であることを確認します。SQL Server 用の Azure 拡張機能のバージョンを確認し、最新バージョンに更新するには、「拡張機能をアップグレードする」を参照してください。
サーバーが SQL Server の名前付きインスタンスを操作する場合は、SQL Server Browser サービス が実行されている必要があります。
Log Analytics ワークスペース は、Azure Arc 対応の SQL Server リソースと同じサブスクリプション内にある必要があります。
SQL Server ベスト プラクティス アセスメントを構成するユーザーには、次のアクセス許可が必要です:
- Log Analytics ワークスペースのリソース グループまたはサブスクリプションに対する ログ分析共同作成者ロール。
- Arc 対応 SQL Server インスタンスのリソース グループまたはサブスクリプションに対する Azure Connected Machine リソース管理者ロール。
- Log Analytics ワークスペースとリソース グループまたはサブスクリプションと、Azure Arc 対応マシンのリソース グループまたはサブスクリプションに対する監視共同作成者ロール。
共同作成者や所有者などの組み込みロールに割り当てられたユーザーには、十分なアクセス許可があります。 詳細については、「Azure portal を使用して Azure ロールを割り当てる」を確認してください。
評価レポートにアクセスしたりそれを読んだりするために必要な最小限のアクセス許可は、次のとおりです。
- SQL Server - Azure Arc リソースのリソース グループまたはサブスクリプションに対する閲覧者ロール。
- Log Analytics 閲覧者。
- Log Analytics ワークスペースのリソース グループまたはサブスクリプションに対する 監視閲覧者。
評価レポートにアクセスしたり読み取ったりするためのその他の要件を次に示します:
SQL Server の組み込みログイン NT AUTHORITY\SYSTEM は、そのマシンで実行されているすべての SQL Server インスタンスに対する SQL Server sysadmin サーバー ロールのメンバーである必要があります。
ファイアウォールまたはプロキシ サーバーでアウトバウンド接続が制限されている場合は、これらの URL について TCP ポート 443 経由の Azure Arc が許可されていることを確認します:
global.handler.control.monitor.azure.com
*.handler.control.monitor.azure.com
<log-analytics-workspace-id>.ods.opinsights.azure.com
*.ingest.monitor.azure.com
SQL Server インスタンスで TCP/IP が有効になっている 必要があります。
SQL Server のベスト プラクティス アセスメントでは、Azure Monitor エージェント (AMA) を使用して、SQL Server インスタンスからデータを収集および分析します。 ベスト プラクティス アセスメントを有効にする前に SQL Server インスタンスに AMA がインストールされている場合、評価では同じ AMA エージェントとプロキシ設定が使用されます。 他に何も行う必要はありません。
SQL Server インスタンスに AMA がインストールされていない場合は、ベスト プラクティス アセスメントによってインストールされます。 ベスト プラクティス アセスメントでは、AMA のプロキシ設定は自動的に設定されません。 必要なプロキシ設定を使用して AMA を再デプロイする必要があります。
AMA ネットワークとプロキシの設定の詳細については、「プロキシの構成」を確認します。
「SQL ベスト プラクティス アセスメントを有効または無効にするように、SQL Server 拡張機能がインストールされた Arc 対応サーバーを構成する」という Azure Policy を使って、大規模 に評価を有効にする場合は、Azure Policy の割り当てを作成する必要があります。 サブスクリプションには、対象にしているスコープに対するリソース ポリシー共同作成者ロールの割り当てが必要です。 サブスクリプションまたはリソース グループをスコープにすることができます。
新しいユーザー割り当てマネージド ID を作成する予定の場合は、サブスクリプションにユーザー アクセス管理者ロールの割り当ても必要です。
詳細については、「SQL ベスト プラクティス アセスメントを構成する - Azure Arc 対応の SQL Server」を確認してください。
自動バックアップ
SQL Server 用 Azure 拡張機能は、Azure Arc 対応の SQL Server のインスタンス上のシステム データベースとユーザー データベースを自動的にバックアップできます。SQL Server 用の Azure 拡張機能内のバックアップ サービスは、NT AUTHORITY\SYSTEM
アカウントを使用してバックアップを実行します。 Azure Arc 対応の SQL Server を最小限の権限で操作している場合、ローカル Windows アカウント - NT Service\SQLServerExtension
がバックアップを実行します。
SQL Server バージョン 1.1.2504.99
以降で Azure 拡張機能を使用する場合は、NT AUTHORITY\SYSTEM
に必要なアクセス許可が自動的に付与されます。 アクセス許可を手動で割り当てる必要はありません。
権限の構成を最小限しか使用していない場合、SQL Server 組み込みログイン NT AUTHORITY\SYSTEM
は次のメンバーである必要があります:
dbcreator
サーバー レベルでのサーバー ロールmaster
、model
、msdb
、および各ユーザー データベースのdb_backupoperator
ロール (tempdb
を除く)。
既定では、自動バックアップは無効になっています。 自動バックアップが構成されると、SQL Server サービス用 Azure 拡張機能によって、既定のバックアップ場所 へのバックアップが開始されます。 バックアップはネイティブ SQL Server バックアップです。したがって、msdb
データベース内のバックアップ関連テーブルですべてのバックアップ履歴を使用できます。
Microsoft Defender for Cloud
Microsoft Defender for Cloud では、arc 対応サーバーで Azure Monitoring Agent を構成する必要があります。
詳細については、「Microsoft Defender for Cloud」を確認してください。
自動更新
自動更新は、Arc 対応サーバーで構成されている Microsoft Update の事前構成済みまたはポリシーベースの更新プログラムを上書きします。
- 重要またはクリティカルとマークされた Windows および SQL Server 更新プログラムのみがインストールされます。 「重要」または「クリティカル」とマークされていない、サービスパックや累積的な更新プログラムなどの SQL Server の更新プログラムやその他の更新は、手動またはその他の手段でインストールする必要があります。 セキュリティ アップデートの評価システムの詳細については、「セキュリティ アップデートの重大度評価システム (microsoft.com)」を参照してください。
- ホスト オペレーティング システム レベルで機能し、インストールされたすべての SQL Server インスタンスに適用されます
- 現在は Windows ホストでのみ機能します。 これにより、最終的に SQL Server インスタンスを更新するサービスである Windows Update または Microsoft Update が構成されます。
詳細については、「Azure Arc 対応 SQL Server インスタンスの自動更新を構成する」を参照します。
モニター
Azure portal 内で Azure Arc 対応の SQL Server のパフォーマンスをパフォーマンス ダッシュボードで監視できます。 パフォーマンス メトリックスは、対象となる Azure Arc 対応の SQL Server のインスタンス上の動的管理ビュー (DMV) データセットから自動的に収集され、凖リアルタイム処理のために Azure テレメトリ パイプラインに送信されます。 すべての前提条件が満たされていると仮定して、監視が自動的に行われます。
前提条件は次のとおりです:
- サーバーは
telemetry.<region>.arcdataservices.com
に接続されています。詳細については、「ネットワーク要件」を参照してください。 - SQL Server インスタンスのライセンスの種類は、
License with Software Assurance
またはPay-as-you-go
に設定されます。
Azure portal でパフォーマンス ダッシュボードを表示するには、アクション Microsoft.AzureArcData/sqlServerInstances/getTelemetry/
が割り当てられた Azure ロールが割り当てられている必要があります。 便宜上、組み込みロール Azure Hybrid データベース管理者 - 読み取り専用サービス ロール を使用できます。これには、このアクションが含まれます。 詳細については、「Azure の組み込みロールに関する詳細」を参照してください。
データ収集を有効または無効にする方法や、この機能に対して収集されたデータなど、パフォーマンス ダッシュボード機能の詳細については、「Azure portal で監視する」を参照してください。
Microsoft Entra ID
Microsoft Entra ID は、外部リソースにアクセスできるようにするクラウドベースの ID およびアクセス管理サービスです。 Microsoft Entra 認証では、従来のユーザー名とパスワード ベースの認証よりも大幅に強化されたセキュリティが提供されます。 Azure Arc 対応の SQL Server では、認証に Microsoft Entra ID が利用されます。これは SQL Server 2022 (16.x) で導入されています。 これにより、一元化された ID およびアクセス管理ソリューションが SQL Server に提供されます。
Azure Arc 対応の SQL Server は、Microsoft Entra ID の証明書を Azure Key Vault に格納します。 詳細については、以下を確認してください。
Microsoft Entra ID を設定するには、「チュートリアル: SQL Server の Microsoft Entra 認証を設定する」の手順に従います。
Microsoft Purview
Purview を使用するための主な要件:
- アクティブなサブスクリプションが含まれる Azure アカウント。
- アクティブな Microsoft Purview アカウント。
- Microsoft Purview ガバナンス ポータルでソースを登録して管理するには、データ ソース管理者 および データ閲覧者 のアクセス許可が必要です。 詳細については、「Microsoft Purview ガバナンス ポータルでのアクセス制御」を参照してください。
- 最新のセルフホステッド統合ランタイムを設定します。 詳細については、「セルフホステッド統合ランタイムの作成および管理」を参照してください。
- Azure RBAC の場合は、Microsoft Entra ID と Azure Key Vault の両方を有効にする必要があります。
ベスト プラクティス
Azure Arc によって有効になっている SQL Server のインスタンスをセキュリティで保護するための現在のベスト プラクティスに準拠するには、次の構成を実装します。
- 最小権限モード (プレビュー) を有効にします。
- SQL ベスト プラクティス アセスメントを実行します。 評価を確認し、推奨事項を適用します。
- Microsoft Entra 認証を有効にします。
- Microsoft Defender for Cloud を有効にし、Defender for SQL で指摘されている問題を解決します。
- SQL 認証を有効にしないでください。 既定では無効になっています。 SQL Server のセキュリティのベスト プラクティスを確認してください。