次の方法で共有


SQL Server 用の Azure 拡張機能の Windows サービス アカウントとアクセス許可を構成する

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 特権では、 次の機能が有効になっている場合に拡張機能によって付与されるアクセス許可の詳細が示されます。

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_CreateManagedInstanceLinkSqlServerAvailabilityGroups_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 リンク移行の [完全なカットオーバー] オプションを選択すると、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 リンク移行の [移行のキャンセル] オプションを選択すると、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 アクセス許可が使用されています。

Additional permissions

  • 拡張機能サービスにアクセスし、自動回復を構成するためのサービス アカウントへのアクセス許可。
  • サービス アカウントに対するサービスとしてのログオン権限。