Applies to:SQL Server
This article lists the permissions the Azure extension for SQL Server grants to the NT Service\SQLServerExtension
account when least privilege is used for SQL Server instances enabled by Azure Arc. With the least privilege configuration, the extension only grants necessary permissions when you enable features in the Azure portal.
Note
NT Authority\System
には、一覧表示されているディレクトリとレジストリ キーに対するアクセス許可を変更するためのアクセス許可が必要です。 これは、 NT Authority\System
が最小限の特権モードで NT Service\SqlServerExtension
アカウントに必要なアクセス権を付与できるようにするために必要です。
Overview
When SQL Server is connected to Azure Arc with least privilege enabled, the Azure Arc extension grants its service account, NT SERVICE\SQLServerExtension
, only the permissions required by each feature at the moment that feature is enabled. これらのアクセス許可は、機能が後で無効になった場合に自動的に取り消され、非アクティブな機能には関連付けられているアクセス許可が付与されません。
エージェント アカウントのアクセス許可を手動で設定することはできません。
Note
現時点では、最小特権構成は既定では適用されません。
拡張機能バージョンが 1.1.2859.223
以上の既存のサーバーでは、最終的に最小限の特権構成が適用されます。 この拡張機能は、2024 年 11 月にリリースされました。 最小特権の自動適用を防ぐには、 1.1.2859.223
後に拡張機能のアップグレードをブロックします。
機能別の SQL 特権では、 次の機能が有効になっている場合に拡張機能によって付与されるアクセス許可の詳細が示されます。
- 拡張機能の既定のアクセス許可
- Automated backups
- Availability groups
- ベスト プラクティス アセスメント
- データベース移行 (プレビュー)
- 移行評価 (プレビュー)
- ポイントインタイム リストア
- Purview
Directory permissions
Directory path | Required permissions | Details | Feature |
---|---|---|---|
<SystemDrive>\Packages\Plugins\Microsoft.AzureData.WindowsAgent.SQLServer |
Full control | 拡張子に関連する dlls ファイルと exe ファイル。 | Default |
C:\Packages\Plugins\Microsoft.AzureData.WindowsAgent.SqlServer\<extension_version>\RuntimeSettings |
Full control | 拡張機能の設定ファイル。 | Default |
C:\Packages\Plugins\Microsoft.AzureData.WindowsAgent.SqlServer\<extension_version>\status |
Full control | 拡張機能の状態ファイル。 | Default |
C:\ProgramData\GuestConfig\extension_logs\Microsoft.AzureData.WindowsAgent.SqlServer |
Full control | 拡張ログ ファイル。 | Default |
C:\Packages\Plugins\Microsoft.AzureData.WindowsAgent.SqlServer\<extension_version>\status\HeartBeat.Json |
Full control | 拡張ハートビート ファイル。 | Default |
%ProgramFiles%\Sql Server Extension |
Full control | 拡張サービス ファイル。 | Default |
<SystemDrive>\Windows\system32\extensionUpload |
Full control | 課金に必要な使用状況ファイルを書き込むには必要です。 | Default |
<SystemDrive>\Windows\system32\ExtensionHandler.log |
Full control | 拡張機能によって作成されたログ前フォルダー。 | Default |
<ProgramData>\AzureConnectedMachineAgent\Config |
Read | Arc 構成ファイル ディレクトリ。 | Default |
C:\Windows\System32\config\systemprofile\AppData\Local\Microsoft SQL Server Extension Agent |
Full control | 評価レポートと状態を記述するために必要です。 | Default |
SQL log directory (as set in registry) 1 :C:\Program Files\Microsoft SQL Server\MSSQL<base_version>.<instance_name>\MSSQL\log |
Read | SQL ログから SQL 仮想コア情報を抽出するために必要です。 | Default |
SQL backup directory (as set in registry) 1 :C:\Program Files\Microsoft SQL Server\MSSQL<base_version>.<instance_name>\MSSQL\Backup |
ReadAndExecute/Write /Delete | バックアップに必要 | Backup |
1 For more information, see File Locations and Registry Mapping.
Registry permissions
基本キー: HKEY_LOCAL_MACHINE
Registry key | Required permission | Details | Feature |
---|---|---|---|
SOFTWARE\Microsoft\Microsoft SQL Server |
Read |
installedInstances などの SQL Server プロパティを読み取ります。 |
Default |
SOFTWARE\Microsoft\Microsoft SQL Server\<InstanceRegistryName>\MSSQLSERVER |
Full control | Microsoft Entra ID と Purview。 | Microsoft Entra ID Purview |
SOFTWARE\Microsoft\SystemCertificates |
Full control | Microsoft Entra ID に必要です。 | Microsoft Entra ID |
SYSTEM\CurrentControlSet\Services |
Read | SQL Server アカウント名。 | Default |
SOFTWARE\Microsoft\AzureDefender\SQL |
Read | Azure Defender の状態と最終更新時刻。 | Default |
SOFTWARE\Microsoft\SqlServerExtension |
Full control | 拡張機能に関連する値。 | Default |
SOFTWARE\Policies\Microsoft\Windows |
読み取りと書き込み | 拡張機能を使用して Windows の自動更新を有効にする。 | Automatic updates |
Group permissions
NT Service\SQLServerExtension
は、ハイブリッド エージェント拡張機能アプリケーションに追加されます。 これにより、Azure Instance Metadata Service (IMDS) ハンドシェイクは、データ処理サービス (DPS) や課金の使用状況、拡張機能ログ、ダッシュボード データ収集の監視のために Azure データ プレーン サービスと通信するために必要なマシン リソースマネージド ID トークンを取得できます。
SQL permissions
NT Service\SQLServerExtension
アカウントが追加されます。
- マシンに現在存在するすべてのインスタンスへの SQL ログインとして
- 各データベースのユーザーとして
拡張機能は、機能が有効になっているとき、インスタンス オブジェクトとデータベース オブジェクトへのアクセス許可も付与します。
Note
最小アクセス許可は、有効な機能によって異なります。 アクセス許可は、不要になったときに更新されます。 機能が有効になっている場合、必要なアクセス許可が付与されます。
機能別の SQL 特権
次の表に、Azure Extension for SQL Server によって付与されるアクセス許可を制御する機能の既定の動作を示します。
Feature | Default behavior |
---|---|
既定の拡張機能のアクセス許可 | 既定で有効 |
Automated backups | 既定では無効になっています |
Availability groups | 既定で有効 |
ベスト プラクティス アセスメント | 既定では無効になっています |
データベース移行 (プレビュー) | 既定で有効 |
移行評価 (プレビュー) | 既定で有効 |
ポイントインタイム リストア | 既定では無効になっています |
Purview | 既定では無効になっています |
既定の拡張機能のアクセス許可
次の既定のアクセス許可は、Azure Extension for SQL Server によって提供される基本的な機能レベルの最小要件であり、適用する必要があります。
Object type | データベースまたはオブジェクト名 | Privilege |
---|---|---|
Database | master |
VIEW DATABASE STATE |
Database | msdb |
ALTER ANY SCHEMA |
Database | msdb |
CREATE TABLE |
Database | msdb |
CREATE TYPE |
Database | msdb |
DB DATA READER |
Database | msdb |
DB DATA WRITER |
Database | msdb |
EXECUTE |
Database | msdb |
SELECT dbo.backupfile |
Database | msdb |
SELECT dbo.backupmediaset |
Database | msdb |
SELECT dbo.backupmediafamily |
Database | msdb |
SELECT dbo.backupset |
Database | msdb |
SELECT dbo.syscategories |
Database | msdb |
SELECT dbo.sysjobactivity |
Database | msdb |
SELECT dbo.sysjobhistory |
Database | msdb |
SELECT dbo.sysjobs |
Database | msdb |
SELECT dbo.sysjobsteps |
Database | msdb |
SELECT dbo.syssessions |
Database | msdb |
SELECT dbo.sysoperators |
Database | msdb |
SELECT dbo.suspectpages |
Server | CONNECT ANY DATABASE |
|
Server | CONNECT SQL |
|
Server | VIEW ANY DATABASE |
|
Server | VIEW ANY DEFINITION |
|
Server | VIEW SERVER STATE |
Automated backups
Automated backups are disabled by default. バックアップのアクセス許可は、自動バックアップが有効になっているすべてのデータベースに付与されます。 Enabling the backup feature also enables the point-in-time restore feature, so the permission to create a database is also granted.
機能が有効になっている場合、次のアクセス許可が自動的に付与されます。
Object type | データベースまたはオブジェクト名 | Privilege |
---|---|---|
Database | All databases | DB BACKUP OPERATOR |
Server | CREATE ANY DATABASE |
|
Server | master |
DB CREATOR |
Availability groups
Availability group discovery and management features such as failing over are enabled by default, but they can be disabled through the AvailabilityGroupDiscovery
feature flag.
この機能が有効になっている場合、次のアクセス許可が自動的に付与されます。
Object type | データベースまたはオブジェクト名 | Privilege |
---|---|---|
Server | ALTER ANY AVAILABILITY GROUP |
|
Server | VIEW ANY DEFINITION |
ベスト プラクティス アセスメント
ベスト プラクティスの評価は、既定では無効になっています。
この機能が有効になっている場合、次のアクセス許可が自動的に付与されます。
Object type | データベースまたはオブジェクト名 | Privilege |
---|---|---|
Database | master |
SELECT |
Database | master |
VIEW DATABASE STATE |
Database | msdb |
SELECT |
Server | VIEW ANY DATABASE |
|
Server | VIEW ANY DEFINITION |
|
Server | VIEW SERVER STATE |
|
StoredProcedure | EnumErrorLogsSP | EXECUTE |
StoredProcedure | ReadErrorLogsSP | EXECUTE |
Database migration
データベース移行 (プレビュー) 機能は既定で有効になっており、既定の拡張機能のアクセス許可に記載されているアクセス許可のみが必要ですが、データベース移行 (プレビュー) 機能で使用される一部のアクセス許可には、特定の移行アクションの実行時に Just-In-Time アクセス許可が付与されます。
次のアクションでは、Just-In-Time が付与される追加のアクセス許可が必要です。
Note
Azure の SqlServerAvailabilityGroups_CreateManagedInstanceLink
、 SqlServerAvailabilityGroups_failoverMiLink
、および SqlServerAvailabilityGroups_deleteMiLink
のアクセス許可を持つユーザーは、移行プロセス中に データベース移行 (プレビュー) ページでアクションを実行できます。このページでは、拡張機能によって使用されるアカウントの SQL Server アクセス許可 ( sysadmin
ロールを含む) が昇格されます。
マネージド インスタンス リンクの移行を作成する
On the Migrate data step, just-in-time permissions are granted when you select Start data migration on the Review + Create tab for a Managed Instance link migration. 分散型可用性グループを構成するには、昇格されたアクセス許可が必要です。 分散型可用性グループが作成され、Azure portal に表示されるデプロイが完了状態になると、アクセス許可は取り消されます。 別の移行が同時に実行されている場合、アクセス許可は、最後の分散型可用性グループが作成されるまで取り消されません。
Managed Instance リンク移行を作成するアクションは、作成要求の期間中、次のアクセス許可を取得します。
Object type | データベースまたはオブジェクト名 | Privilege |
---|---|---|
Server | CREATE AVAILABILITY GROUP |
|
Server | ALTER ANY AVAILABILITY GROUP |
|
Server | ALTER ANY DATABASE |
|
Server | CREATE ENDPOINT |
|
Server | ALTER ANY ENDPOINT |
|
Server | CREATE CERTIFICATE |
|
Database | master |
IMPERSONATE ON USER::[dbo] |
Managed Instance リンク移行の完全なカットオーバー
監視とカットオーバーの手順では、Managed Instance リンク移行の [完全なカットオーバー] オプションを選択すると、Just-In-Time アクセス許可が付与されます。 カットオーバーが完了すると、アクセス許可は取り消されます。
Managed Instance リンク移行のカットオーバーを完了するアクションは、要求全体の間、次のアクセス許可を取得します。
Object type | データベースまたはオブジェクト名 | Privilege |
---|---|---|
Server | CREATE AVAILABILITY GROUP |
|
Server | ALTER ANY AVAILABILITY GROUP |
|
Server | ALTER ANY DATABASE |
|
Server |
sysadmin
1 |
1 If least privilege is enabled, the complete cutover action also grants the sysadmin
role to the NT Service\SQLServerExtension
account for the duration of the cutover. このロールは、Azure SQL Managed Instance へのカットオーバーのために分散型可用性グループをフェールオーバーするために必要です。
Managed Instance リンクの移行を取り消す
監視とカットオーバーの手順では、Managed Instance リンク移行の [移行のキャンセル] オプションを選択すると、Just-In-Time アクセス許可が付与されます。 移行が取り消された後、アクセス許可は取り消されます。
Managed Instance リンクの移行を取り消すアクションは、キャンセル要求の期間中、次のアクセス許可を取得します。
Object type | データベースまたはオブジェクト名 | Privilege |
---|---|---|
Server | ALTER ANY AVAILABILITY GROUP |
|
Server | ALTER ANY DATABASE |
|
Server |
sysadmin
1 |
1 If least privilege is enabled, the cancel action also grants the sysadmin
role to the NT Service\SQLServerExtension
account for the duration of the cancel request. このロールは、分散型可用性グループを削除するときに必要です。
Migration assessment
移行評価 (プレビュー) は既定で有効になっています。
この機能が無効になっている場合、他の有効な機能で必要な場合を除き、次のアクセス許可は取り消されます。
Object type | データベースまたはオブジェクト名 | Privilege |
---|---|---|
Database | All databases | SELECT sys.sqlexpressiondependencies |
Database | msdb |
EXECUTE dbo.agentdatetime |
Database | msdb |
SELECT dbo.syscategories |
Database | msdb |
SELECT dbo.sysjobhistory |
Database | msdb |
SELECT dbo.sysjobs |
Database | msdb |
SELECT dbo.sysjobsteps |
Database | msdb |
SELECT dbo.sysmailaccount |
Database | msdb |
SELECT dbo.sysmailprofile |
Database | msdb |
SELECT dbo.sysmailprofileaccount |
Database | msdb |
SELECT dbo.syssubsystems |
Purview
The Purview features are disabled by default.
この機能が有効になっている場合、次のアクセス許可が自動的に付与されます。
Object type | データベースまたはオブジェクト名 | Privilege |
---|---|---|
Database | All databases | EXECUTE |
Database | All databases | SELECT |
Server | CONNECT ANY DATABASE |
|
Server | VIEW ANY DATABASE |
Just-In-Time SQL アクセス許可
一部の SQL アクセス許可は、特定のアクションを実行するために必要な時点でのみ割り当てられ、アクセス許可を必要とする操作が完了するとすぐに取り消されます。 失効の実行に失敗した場合、50 分ごとに実行されるバックグラウンド クリーンアップ ジョブは、古くなったアクセス許可を自動的に取り消します。
Just-In-Time アクセス許可がサービス アカウントに割り当てられます。
-
NT Service\SQLServerExtension
最小特権が有効な場合 - 最小特権が無効になっている場合は、ローカル システム アカウント。
現在、次の機能では Just-In-Time アクセス許可が使用されています。
- Database migration when using the Managed Instance link migration option.
Additional permissions
- 拡張機能サービスにアクセスし、自動回復を構成するためのサービス アカウントへのアクセス許可。
- サービス アカウントに対するサービスとしてのログオン権限。