SQL Server için Azure Uzantısı için Windows hizmet hesaplarını ve izinlerini yapılandırma

Şunlar için geçerlidir: SQL Server

Bu makalede, Azure Arc tarafından etkinleştirilen SQL Server örnekleri için kullandığınızda SQL Server için Azure Uzantısının hesabına verdiği izinler listelenir. En az ayrıcalık yapılandırmasıyla, uzantı yalnızca Azure portalında özellikleri etkinleştirdiğinizde gerekli izinleri verir.

Note

NT AUTHORITY\SYSTEM listelenen dizinlerde ve kayıt defteri anahtarlarında izinleri değiştirme erişimine sahip olmalıdır. Bu erişim, hesaba en az ayrıcalık modu için gerekli erişimi NT AUTHORITY\SYSTEM verebilmesi için gereklidirNT SERVICE\SqlServerExtension.

Ayrıca, NT AUTHORITY\SYSTEM her SQL Server örneğinde CONNECT SQL iznine sahip etkin bir SQL Server oturum açma iznine sahip olmalıdır. Dağıtıcı, bu makalede açıklanan tüm SQL düzeyinde izinleri yapılandırmak için SQL Server NT AUTHORITY\SYSTEM olarak bağlanır. Bu oturum açma devre dışı bırakıldıysa, kaldırıldıysa veya CONNECT SQL reddedildiyse, Dağıtıcı SQL izinlerini standart veya en düşük ayrıcalık modunda yapılandıramaz. Bkz. Doğrulama adımları için önkoşullar .

Overview

SQL Server'ı en az ayrıcalık etkinleştirilmiş olarak Azure Arc'a bağladığınızda, Azure Arc uzantısı hizmet hesabına NT SERVICE\SqlServerExtensionyalnızca bu özelliği etkinleştirdiğinizde her özelliğin ihtiyaç duyduğu izinleri verir. Özelliği devre dışı bırakırsanız uzantı bu izinleri otomatik olarak kaldırır. Bir özellik etkin değilse, uzantı bu özellik için herhangi bir izin vermez.

Aracı hesabının izinlerinin el ile ayarlanması desteklenmez.

Note

Şu anda en az ayrıcalıklı yapılandırma varsayılan olarak uygulanmamıştır.

Uzantı sürümü 1.1.2859.223 veya üzeri olan mevcut sunucular, sonunda en az ayrıcalıklı yapılandırmaya sahip olur. Bu uzantı Kasım 2024'te yayımlandı. 1.1.2859.223 ardından otomatik en az ayrıcalıklı uygulamayı önlemek için uzantı yükseltmelerini engelleyin.

Özelliğe göre SQL ayrıcalıkları bölümünde, aşağıdaki özellikleri etkinleştirdiğinizde uzantının verdiği izinler açıklanmaktadır:

Dizin izinleri

Dizin yolu Gerekli izinler Details Feature
<SystemDrive>\Packages\Plugins\Microsoft.AzureData.WindowsAgent.SQLServer Tam denetim Uzantıyla ilgili DLL ve EXE dosyaları. Default
C:\Packages\Plugins\Microsoft.AzureData.WindowsAgent.SqlServer\<extension_version>\RuntimeSettings Tam denetim Uzantı ayarları dosyası. Default
C:\Packages\Plugins\Microsoft.AzureData.WindowsAgent.SqlServer\<extension_version>\status Tam denetim Uzantı durum dosyası. Default
C:\ProgramData\GuestConfig\extension_logs\Microsoft.AzureData.WindowsAgent.SqlServer Tam denetim Uzantı günlük dosyaları. Default
C:\Packages\Plugins\Microsoft.AzureData.WindowsAgent.SqlServer\<extension_version>\status\HeartBeat.Json Tam denetim Uzantı sinyal dosyası. Default
%ProgramFiles%\Sql Server Extension Tam denetim Uzantı hizmeti dosyaları. Default
<SystemDrive>\Windows\system32\extensionUpload Tam denetim Faturalama için gereken kullanım dosyasını yazmak için gereklidir. Default
<SystemDrive>\Windows\system32\ExtensionHandler.log Tam denetim Uzantı tarafından oluşturulan günlük öncesi klasör. Default
<ProgramData>\AzureConnectedMachineAgent\Config Read Arc yapılandırma dosyaları dizini. Default
C:\Windows\System32\config\systemprofile\AppData\Local\Microsoft SQL Server Extension Agent Tam denetim Değerlendirme raporları ve durumu yazmak için gereklidir. Default
SQL günlük dizini (kayıt defterinde ayarlandığı gibi) 1 :
C:\Program Files\Microsoft SQL Server\MSSQL<base_version>.<instance_name>\MSSQL\log
Read SQL günlüklerinden SQL sanal çekirdek bilgilerini ayıklamak için gereklidir. Default
SQL yedekleme dizini (kayıt defterinde ayarlandığı gibi) 1 :
C:\Program Files\Microsoft SQL Server\MSSQL<base_version>.<instance_name>\MSSQL\Backup
ReadAndExecute/Write /Delete Yedeklemeler için gerekli Backup

1 Daha fazla bilgi için bkz. Dosya Konumları ve Kayıt Defteri Eşlemesi.

Kayıt defteri izinleri

Temel anahtar: HKEY_LOCAL_MACHINE

Kayıt defteri anahtarı Gerekli izin Details Feature
SOFTWARE\Microsoft\Microsoft SQL Server Read gibi installedInstancesSQL Server özelliklerini okuyun. Default
SOFTWARE\Microsoft\Microsoft SQL Server\<InstanceRegistryName>\MSSQLSERVER Tam denetim Microsoft Entra Id ve Purview. Microsoft Entra Kimliği

Purview
SOFTWARE\Microsoft\SystemCertificates Tam denetim Microsoft Entra Kimliği için gereklidir. Microsoft Entra Kimliği
SYSTEM\CurrentControlSet\Services Read SQL Server hesap adı. Default
SOFTWARE\Microsoft\AzureDefender\SQL Read Azure Defender durumu ve son güncelleştirme zamanı. Default
SOFTWARE\Microsoft\SqlServerExtension Tam denetim Uzantıyla ilgili değerler. Default
SOFTWARE\Policies\Microsoft\Windows Okuma ve Yazma Uzantı aracılığıyla otomatik Windows güncelleştirmesini etkinleştirme. Otomatik güncelleştirmeler

Grup izinleri

NT SERVICE\SqlServerExtension Karma aracı uzantısı uygulamalarına eklenir. Bu, Azure Örnek Meta Veri Hizmeti (IMDS) el sıkışmasının Veri İşleme Hizmeti (DPS) ve faturalama kullanımı, uzantı günlükleri ve izleme panosu veri toplama için telemetri uç noktası gibi Azure veri düzlemi hizmetleriyle iletişim kurmak için gereken Makine kaynağı yönetilen kimlik belirtecini almasını sağlar.

SQL izinleri

Hesap NT SERVICE\SqlServerExtension eklenir:

  • Makinedeki tüm örneklerde SQL oturumu açma olarak
  • Her veritabanında kullanıcı olarak

Uzantı, özellikler etkinleştirildiğinden örnek ve veritabanı nesnelerine de izin verir.

Note

En düşük izinler etkin özelliklere bağlıdır. Uzantı artık gerekli olmadığında izinleri güncelleştirir. Özellikleri etkinleştirdiğinizde gerekli izinleri verir. Roller en az ayrıcalık moduyla kullanılmaz.

NT SERVICE\SqlServerExtension hesabı izin ayrıntıları

Kayıt Defteri Yolu İzin Hesabın NT SERVICE\SqlServerExtension gizliliği ihlal edilirse izinlerle ilgili risk
SOFTWARE\Microsoft\Microsoft SQL Server Read Uzantı, hangi SQL Server sürümlerinin yüklü olduğunu görebilir.
SOFTWARE\Microsoft\Microsoft SQL Server\\MSSQLSERVER Tam denetim Yalnızca Microsoft Entra kimlik doğrulaması veya Purview etkinleştirildiğinde gereklidir. Uzantı SQL Server yapılandırmasını değiştirebilir.
SOFTWARE\Microsoft\SystemCertificates Tam denetim Yalnızca Microsoft Entra kimlik doğrulaması etkinleştirildiğinde gereklidir. Uzantı, güvenilen kök sertifika yetkililerinin yerini alabilir.
SYSTEM\CurrentControlSet\Services Read Uzantı, hizmet hesabı adlarını görebilir.
SOFTWARE\Microsoft\AzureDefender\SQL Read Uzantı, Microsoft Defender durumunu ve güncelleştirme zamanlarını öğrenebilir.
SOFTWARE\Microsoft\SqlServerExtension Tam denetim Uzantı, uzantı ayarlarını değiştirebilir.
SOFTWARE\Policies\Microsoft\Windows Okuma ve Yazma Yalnızca Otomatik güncelleştirme etkinleştirildiğinde gereklidir. Uzantı, Windows Update ilkelerini değiştirebilir ve kod bütünlüğünü ve sanallaştırma tabanlı güvenliği denetleyen Device Guard'ı devre dışı bırakabilir ve eksik düzeltme ekleri nedeniyle genişletilmiş açığa çıkabilir.

Özelliğe göre SQL ayrıcalıkları

Aşağıdaki tabloda, SQL Server için Azure Uzantısı tarafından verilen izinleri denetleen özellikler için varsayılan davranış listelenmiştir:

Feature Varsayılan davranış
Varsayılan uzantı izinleri Varsayılan olarak etkin
Otomatik yedeklemeler Varsayılan olarak devre dışı
Kullanılabilirlik grupları Varsayılan olarak etkin
En iyi yöntemler değerlendirmesi Varsayılan olarak devre dışı
Geçiş değerlendirmesi Varsayılan olarak etkin
Veritabanı geçişi Varsayılan olarak etkin
Belirli bir noktaya geri yükleme Varsayılan olarak devre dışı
Purview Varsayılan olarak devre dışı

Varsayılan uzantı izinleri

Aşağıdaki varsayılan izinler, SQL Server için Azure Uzantısı tarafından sağlanan temel işlevsellik düzeyi için en düşük gereksinimdir ve uygulanmalıdır:

Nesne türü Veritabanı veya nesne adı 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

Otomatik yedeklemeler

Otomatik yedeklemeler varsayılan olarak devre dışı bırakılır. Uzantı, otomatik yedeklemelerin etkinleştirildiği tüm veritabanlarına yedekleme izinleri verir. Yedekleme özelliğinin etkinleştirilmesi belirli bir noktaya geri yükleme özelliğini de etkinleştirir, bu nedenle veritabanı oluşturma izni de verilir.

Özellikler etkinleştirilirse uzantı otomatik olarak aşağıdaki izinleri verir:

Nesne türü Veritabanı veya nesne adı Privilege
Database Tüm veritabanları DB BACKUP OPERATOR
Server CREATE ANY DATABASE
Server master DB CREATOR

Kullanılabilirlik grupları

Kullanılabilirlik grubu bulma ve yük devretme gibi yönetim özellikleri varsayılan olarak etkinleştirilir, ancak bunları özellik bayrağı aracılığıyla AvailabilityGroupDiscovery devre dışı bırakabilirsiniz.

Özellik etkinleştirilirse uzantı otomatik olarak aşağıdaki izinleri verir:

Nesne türü Veritabanı veya nesne adı Privilege
Server ALTER ANY AVAILABILITY GROUP
Server VIEW ANY DEFINITION

En iyi yöntemler değerlendirmesi

En iyi yöntem değerlendirmesi varsayılan olarak devre dışıdır.

Özellik etkinleştirilirse uzantı otomatik olarak aşağıdaki izinleri verir:

Nesne türü Veritabanı veya nesne adı 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

Veritabanı geçişi

Veritabanı geçiş özelliği varsayılan olarak etkindir ve yalnızca varsayılan uzantı izinlerinde listelenen izinleri gerektirir, ancak belirli bir geçiş eylemi gerçekleştirildiğinde bazı izinler tam zamanında verilir.

Aşağıdaki eylemler, uzantının tam zamanında vermesi için ek izinler gerektirir:

Note

SqlServerAvailabilityGroups_CreateManagedInstanceLink sahip kullanıcılar, Azure SqlServerAvailabilityGroups_failoverMiLink ve SqlServerAvailabilityGroups_deleteMiLink izinleri, sysadmin sabit sunucu rolü dahil olmak üzere uzantı tarafından kullanılan hesabın SQL Server izinlerini yükselten geçiş işlemi sırasında Database geçişi sayfasında eylemler gerçekleştirebilir.

Verileri geçir adımında, Yönetilen Örnek bağlantısı geçişi için Gözden Geçir + Oluştur sekmesinde Veri geçişini başlat'ı seçtiğinizde uzantı tam zamanında izinler verir. Hizmet hesabının, dağıtılmış kullanılabilirlik grubunu (AG) yapılandırmak için yükseltilmiş izinlere sahip olması gerekir. Dağıtılmış AG oluşturulduktan ve Azure portalında görünen dağıtım tamamlandı durumunda olduğunda izinleri iptal eder. Aynı anda başka bir geçiş çalışıyorsa, uzantı son dağıtılmış AG oluşturulana kadar izinleri iptal etmez.

Managed Instance bağlantı geçişi oluşturma eylemi, oluşturma isteği sırasında aşağıdaki izinleri alır:

Nesne türü Veritabanı veya nesne adı 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]

İzleme ve tam geçiş adımında, Yönetilen Örnek bağlantısı geçişi için Tam tam geçiş seçeneğini belirlediğinizde uzantı tam zamanında izinler verir. Tam geçiş tamamlandıktan sonra uzantı izinleri iptal eder.

Managed Instance bağlantı geçişinin tam geçişini tamamlama eylemi, tam istek sırasında aşağıdaki izinleri alır:

Nesne türü Veritabanı veya nesne adı Privilege
Server CREATE AVAILABILITY GROUP
Server ALTER ANY AVAILABILITY GROUP
Server ALTER ANY DATABASE
Server sysadmin1

1 En az ayrıcalık etkinleştirilirse tam tam geçiş eylemi, tam geçiş sırasında hesaba sysadmin sabit sunucu rolü NT SERVICE\SqlServerExtension de verir. Bu rol, Azure SQL Yönetilen Örneği tam geçiş için dağıtılmış AG'ye yük devretmek için gereklidir.

İzleme ve tam geçiş adımında, Yönetilen Örnek bağlantı geçişi için Geçişi iptal et seçeneğini belirlediğinizde uzantı tam zamanında izinler verir. Uzantı, geçiş iptal edildikten sonra izinleri iptal eder.

Managed Instance bağlantı geçişini iptal etme eylemi, iptal isteği sırasında aşağıdaki izinleri alır:

Nesne türü Veritabanı veya nesne adı Privilege
Server ALTER ANY AVAILABILITY GROUP
Server ALTER ANY DATABASE
Server sysadmin1

1 En az ayrıcalık etkinleştirilirse iptal eylemi, iptal isteği sırasında hesaba sysadmin sabit sunucu rolü NT SERVICE\SqlServerExtension de verir. Dağıtılmış AG silinirken bu rol gereklidir.

Geçiş değerlendirmesi

Geçiş değerlendirmeleri varsayılan olarak etkindir.

Özellik devre dışı bırakılırsa, diğer etkin özellikler gerekli olmadıkça uzantı aşağıdaki izinleri iptal eder:

Nesne türü Veritabanı veya nesne adı Privilege
Database Tüm veritabanları SELECT sys.sql_expression_dependencies
Database msdb EXECUTE dbo.agent_datetime
Database msdb SELECT dbo.syscategories
Database msdb SELECT dbo.sysjobhistory
Database msdb SELECT dbo.sysjobs
Database msdb SELECT dbo.sysjobsteps
Database msdb SELECT dbo.sysmail_account
Database msdb SELECT dbo.sysmail_profile
Database msdb SELECT dbo.sysmail_profileaccount
Database msdb SELECT dbo.syssubsystems

Purview

Purview özellikleri varsayılan olarak devre dışıdır.

Özellik etkinleştirilirse uzantı otomatik olarak aşağıdaki izinleri verir:

Nesne türü Veritabanı veya nesne adı Privilege
Database Tüm veritabanları EXECUTE
Database Tüm veritabanları SELECT
Server CONNECT ANY DATABASE
Server VIEW ANY DATABASE

Tam zamanında SQL izinleri

Bazı SQL izinleri yalnızca belirli bir eylemi gerçekleştirmeleri gerektiğinde atanır ve izin gerektiren işlem tamamlandığında iptal edilir. İptal işlemi yürütülemezse, 50 dakikada bir çalışan bir arka plan temizleme işi eski izinleri otomatik olarak iptal eder.

Hizmet hesabına tam zamanında izinler atanır:

  • NT SERVICE\SqlServerExtension en az ayrıcalık etkinleştirildiyse
  • En az ayrıcalık devre dışıysa Yerel Sistem hesabı.

Şu anda aşağıdaki özellik tam zamanında izinleri kullanır:

  • Yönetilen Örnek bağlantı geçişi seçeneği kullanılırken veritabanı geçişi.

Ek izinler

Hizmet hesabı aşağıdaki izinleri gerektirir:

  • Uzantı hizmetine erişin ve otomatik kurtarmayı yapılandırın.
  • Hizmet olarak oturum açın.