Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a:SQL Server
En este artículo se enumeran los permisos que concede la extensión Azure para SQL Server a la cuenta de NT SERVICE\SqlServerExtension cuando se usa privilegios para SQL Server instancias habilitadas por Azure Arc. Con la configuración de privilegios mínimos, la extensión solo concede permisos necesarios al habilitar características en el portal de Azure.
Note
NT AUTHORITY\SYSTEM debe tener acceso para modificar permisos en directorios enumerados y claves del Registro. Este acceso es necesario para que NT AUTHORITY\SYSTEM pueda conceder acceso necesario a la NT SERVICE\SqlServerExtension cuenta para el modo de privilegios mínimos.
Además, NT AUTHORITY\SYSTEM debe tener un inicio de sesión de SQL Server activo con el permiso CONNECT SQL en cada instancia de SQL Server. El implementador se conecta a SQL Server como NT AUTHORITY\SYSTEM para configurar todos los permisos de nivel de SQL descritos en este artículo. Si este inicio de sesión está deshabilitado, quitado o CONNECT SQL denegado, el implementador no puede configurar los permisos de SQL en modo estándar o con privilegios mínimos. Consulte Requisitos previos para conocer los pasos de comprobación.
Overview
Al conectar SQL Server a Azure Arc con privilegios mínimos habilitados, la extensión de Azure Arc concede su cuenta de servicio, , NT SERVICE\SqlServerExtensionsolo los permisos que necesita cada característica al habilitar esa característica. La extensión quita automáticamente esos permisos si deshabilita la característica. Si una característica está inactiva, la extensión no concede ningún permiso para esa característica.
No se admite la configuración manual de los permisos de la cuenta del agente.
Note
Actualmente, la configuración con privilegios mínimos no se aplica de forma predeterminada.
Los servidores existentes con la versión 1.1.2859.223 de extensión o posterior tendrán aplicada la configuración con menos privilegios. Esta extensión se publicó en noviembre de 2024. Para evitar la aplicación automática de menor privilegio, bloquee las actualizaciones de extensión después de 1.1.2859.223.
En la sección Privilegios de SQL por característica se explican los permisos que concede la extensión al habilitar las siguientes características:
- Permisos predeterminados para la extensión
- Copias de seguridad automatizadas
- Grupos de disponibilidad
- Valoración de procedimientos recomendados
- Evaluación de la migración
- Migración de bases de datos
- Restauración a un momento dado
- Purview
Permisos de directorio
| Ruta de acceso del directorio | Permisos necesarios | Details | Feature |
|---|---|---|---|
<SystemDrive>\Packages\Plugins\Microsoft.AzureData.WindowsAgent.SQLServer |
Control total | Archivos DLL y EXE relacionados con la extensión. | Default |
C:\Packages\Plugins\Microsoft.AzureData.WindowsAgent.SqlServer\<extension_version>\RuntimeSettings |
Control total | Archivo de configuración de extensión. | Default |
C:\Packages\Plugins\Microsoft.AzureData.WindowsAgent.SqlServer\<extension_version>\status |
Control total | Archivo de estado de extensión. | Default |
C:\ProgramData\GuestConfig\extension_logs\Microsoft.AzureData.WindowsAgent.SqlServer |
Control total | Archivos de registro de extensión. | Default |
C:\Packages\Plugins\Microsoft.AzureData.WindowsAgent.SqlServer\<extension_version>\status\HeartBeat.Json |
Control total | Archivo de latido de extensión. | Default |
%ProgramFiles%\Sql Server Extension |
Control total | Archivos de servicio de extensión. | Default |
<SystemDrive>\Windows\system32\extensionUpload |
Control total | Necesario para escribir el archivo de uso necesario para la facturación. | Default |
<SystemDrive>\Windows\system32\ExtensionHandler.log |
Control total | Carpeta anterior al registro creada por extensión. | Default |
<ProgramData>\AzureConnectedMachineAgent\Config |
Read | Directorio de archivos de configuración de Arc. | Default |
C:\Windows\System32\config\systemprofile\AppData\Local\Microsoft SQL Server Extension Agent |
Control total | Necesario para escribir informes de evaluación y estado. | Default |
Directorio de registro de SQL (como se establece en el Registro) 1 :C:\Program Files\Microsoft SQL Server\MSSQL<base_version>.<instance_name>\MSSQL\log |
Read | Necesario para extraer información de núcleos virtuales de SQL de los registros de SQL. | Default |
Directorio de copia de seguridad de SQL (como se establece en el Registro) 1 :C:\Program Files\Microsoft SQL Server\MSSQL<base_version>.<instance_name>\MSSQL\Backup |
ReadAndExecute/Write /Delete | Necesario para las copias de seguridad | Backup |
1 Para obtener más información, vea Ubicaciones de archivos y asignación del Registro.
Permisos del Registro
Clave base: HKEY_LOCAL_MACHINE
| Clave del Registro | Permiso necesario | Details | Feature |
|---|---|---|---|
SOFTWARE\Microsoft\Microsoft SQL Server |
Read | Lea las propiedades de SQL Server como installedInstances. |
Default |
SOFTWARE\Microsoft\Microsoft SQL Server\<InstanceRegistryName>\MSSQLSERVER |
Control total | Microsoft Entra ID y Purview. | Microsoft Entra ID Purview |
SOFTWARE\Microsoft\SystemCertificates |
Control total | Se requiere para el identificador de Entra de Microsoft. | Microsoft Entra ID |
SYSTEM\CurrentControlSet\Services |
Read | Nombre de la cuenta de SQL Server. | Default |
SOFTWARE\Microsoft\AzureDefender\SQL |
Read | Estado de Azure Defender y hora de última actualización. | Default |
SOFTWARE\Microsoft\SqlServerExtension |
Control total | Valores relacionados con la extensión. | Default |
SOFTWARE\Policies\Microsoft\Windows |
Lectura y escritura | Habilitación de la actualización automática Windows a través de la extensión. | Actualizaciones automáticas |
Permisos de grupo
NT SERVICE\SqlServerExtension se agrega a las aplicaciones de extensión del agente híbrido. Esto permite que el protocolo de enlace de Azure Instance Metadata Service (IMDS) recupere el token de identidad administrada de recursos de máquina necesario para comunicarse con los servicios del plano de datos de Azure, como el servicio de procesamiento de datos (DPS) y el punto de conexión de telemetría para el uso de facturación, los registros de extensión y la recopilación de datos del panel de supervisión.
Permisos de SQL
La NT SERVICE\SqlServerExtension cuenta se agrega:
- Como inicio de sesión de SQL en todas las instancias de la máquina
- Como usuario de cada base de datos
La extensión también concede permisos a los objetos de instancia y de base de datos a medida que se habilitan las características.
Note
Los permisos mínimos dependen de las características habilitadas. La extensión actualiza los permisos cuando ya no son necesarios. Concede permisos necesarios al habilitar características. Los roles no se usan con el modo de privilegios mínimos.
Detalles del permiso de cuenta NT SERVICE\SqlServerExtension
| Ruta de acceso del Registro | Permiso | Riesgo asociado en los permisos si la NT SERVICE\SqlServerExtension cuenta está en peligro. |
|---|---|---|
SOFTWARE\Microsoft\Microsoft SQL Server |
Read | La extensión puede ver qué versiones de SQL Server están instaladas. |
SOFTWARE\Microsoft\Microsoft SQL Server\\MSSQLSERVER |
Control total | Solo es necesario cuando la autenticación de Microsoft Entra o Purview está habilitada. La extensión podría modificar la configuración de SQL Server. |
SOFTWARE\Microsoft\SystemCertificates |
Control total | Solo es necesario cuando la autenticación de Microsoft Entra está habilitada. La extensión podría reemplazar las entidades de certificación raíz de confianza. |
SYSTEM\CurrentControlSet\Services |
Read | La extensión puede ver los nombres de las cuentas de servicio. |
SOFTWARE\Microsoft\AzureDefender\SQL |
Read | La extensión puede aprender los tiempos de actualización y estado de Microsoft Defender. |
SOFTWARE\Microsoft\SqlServerExtension |
Control total | La extensión podría cambiar la configuración de la extensión. |
SOFTWARE\Policies\Microsoft\Windows |
Lectura y escritura | Solo es necesario cuando la actualización automática está habilitada. La extensión podría cambiar las directivas de Windows Update y deshabilitar Device Guard, que controla la integridad del código y la seguridad basada en virtualización, la exposición ampliada debido a revisiones perdidas. |
Privilegios de SQL por característica
En la tabla siguiente se muestra el comportamiento predeterminado de las características que controlan los permisos concedidos por la extensión de Azure para SQL Server:
| Feature | Comportamiento predeterminado |
|---|---|
| Permisos de extensión predeterminados | Habilitado de forma predeterminada |
| Copias de seguridad automatizadas | Deshabilitado de manera predeterminada |
| Grupos de disponibilidad | Habilitado de forma predeterminada |
| Valoración de procedimientos recomendados | Deshabilitado de manera predeterminada |
| Evaluación de la migración | Habilitado de forma predeterminada |
| Migración de bases de datos | Habilitado de forma predeterminada |
| Restauración a un momento dado | Deshabilitado de manera predeterminada |
| Purview | Deshabilitado de manera predeterminada |
Permisos de extensión predeterminados
Los siguientes permisos predeterminados son el requisito mínimo para el nivel básico de funcionalidad proporcionado por la extensión de Azure para SQL Server y se debe aplicar:
| Tipo de objeto | Nombre de la base de datos o del objeto | 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 |
Copias de seguridad automatizadas
Las copias de seguridad automatizadas están deshabilitadas de forma predeterminada. La extensión concede permisos de copia de seguridad a cualquier base de datos que tenga habilitadas las copias de seguridad automatizadas. La habilitación de la característica de copia de seguridad también habilita la característica de restauración a un momento dado , por lo que también se concede el permiso para crear una base de datos.
Si las características están habilitadas, la extensión concede automáticamente los siguientes permisos:
| Tipo de objeto | Nombre de la base de datos o del objeto | Privilege |
|---|---|---|
| Database | Todas las bases de datos | DB BACKUP OPERATOR |
| Server | CREATE ANY DATABASE |
|
| Server | master |
DB CREATOR |
Grupos de disponibilidad
Las características de administración y detección de grupos de disponibilidad, como la conmutación por error, están habilitadas de forma predeterminada, pero puede deshabilitarlas a través de la marca de AvailabilityGroupDiscovery características.
Si la característica está habilitada, la extensión concede automáticamente los siguientes permisos:
| Tipo de objeto | Nombre de la base de datos o del objeto | Privilege |
|---|---|---|
| Server | ALTER ANY AVAILABILITY GROUP |
|
| Server | VIEW ANY DEFINITION |
Valoración de procedimientos recomendados
La evaluación de procedimientos recomendados está deshabilitada de forma predeterminada.
Si la característica está habilitada, la extensión concede automáticamente los siguientes permisos:
| Tipo de objeto | Nombre de la base de datos o del objeto | 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 |
Migración de bases de datos
La característica Migración de base de datos está habilitada de forma predeterminada y solo requiere los permisos enumerados en los permisos de extensión predeterminados, aunque se conceden algunos permisos Just-In-Time cuando se realiza una acción de migración específica.
Las siguientes acciones requieren permisos adicionales que la extensión concede Just-In-Time:
- Creación de una migración de vínculos de Instancia administrada
- Migración completa de vínculos de Instancia administrada
- Cancelación de la migración de vínculos de Instancia administrada
Note
Usuarios con el
Creación de una migración de vínculos de Instancia administrada
En el paso Migrar datos , la extensión concede permisos Just-In-Time al seleccionar Iniciar migración de datos en la pestaña Revisar y crear para una migración de vínculos de Instancia administrada. La cuenta de servicio necesita permisos elevados para configurar el grupo de disponibilidad distribuido (AG). Revoca los permisos una vez creado el grupo de disponibilidad distribuido y la implementación visible en el portal de Azure está en estado completado. Si se ejecuta otra migración al mismo tiempo, la extensión no revoca los permisos hasta que se cree el último grupo de disponibilidad distribuido.
La acción para crear una migración de vínculo de Instancia administrada adquiere los permisos siguientes durante la solicitud de creación:
| Tipo de objeto | Nombre de la base de datos o del objeto | 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] |
Migración completa de vínculos de Instancia administrada
En el paso Supervisión y transición , la extensión concede permisos Just-In-Time al seleccionar la opción Completar transición para una migración de vínculos de Instancia administrada. La extensión revoca los permisos una vez completada la transición.
La acción para completar la migración de un vínculo de Instancia administrada adquiere los siguientes permisos durante la solicitud completa:
| Tipo de objeto | Nombre de la base de datos o del objeto | Privilege |
|---|---|---|
| Server | CREATE AVAILABILITY GROUP |
|
| Server | ALTER ANY AVAILABILITY GROUP |
|
| Server | ALTER ANY DATABASE |
|
| Server | sysadmin1 |
1 Si el privilegio mínimo está habilitado, la acción de transición completa también concede el rol fijo de servidor sysadmin a la cuenta durante la NT SERVICE\SqlServerExtension transición. Este rol es necesario para conmutar por error el grupo de disponibilidad distribuido para la migración a la Azure SQL Managed Instance.
Cancelación de la migración de vínculos de Instancia administrada
En el paso Supervisión y transición, la extensión concede permisos Just-In-Time al seleccionar la opción Cancelar migración para una migración de vínculo de Instancia administrada. La extensión revoca los permisos después de cancelar la migración.
La acción para cancelar una migración de vínculo de Instancia administrada adquiere los permisos siguientes durante la solicitud de cancelación:
| Tipo de objeto | Nombre de la base de datos o del objeto | Privilege |
|---|---|---|
| Server | ALTER ANY AVAILABILITY GROUP |
|
| Server | ALTER ANY DATABASE |
|
| Server | sysadmin1 |
1 Si el privilegio mínimo está habilitado, la acción cancelar también concede el rol fijo de servidor sysadmin a la NT SERVICE\SqlServerExtension cuenta durante la solicitud de cancelación. Este rol es necesario al eliminar un grupo de disponibilidad distribuido.
Evaluación de migraciones
Las evaluaciones de migración están habilitadas de forma predeterminada.
Si la característica está deshabilitada, la extensión revoca los siguientes permisos a menos que otras características habilitadas las requieran:
| Tipo de objeto | Nombre de la base de datos o del objeto | Privilege |
|---|---|---|
| Database | Todas las bases de datos | 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
Las características de Purview están deshabilitadas de forma predeterminada.
Si la característica está habilitada, la extensión concede automáticamente los siguientes permisos:
| Tipo de objeto | Nombre de la base de datos o del objeto | Privilege |
|---|---|---|
| Database | Todas las bases de datos | EXECUTE |
| Database | Todas las bases de datos | SELECT |
| Server | CONNECT ANY DATABASE |
|
| Server | VIEW ANY DATABASE |
Permisos Just-In-Time de SQL
Algunos permisos de SQL solo se asignan cuando se necesitan para realizar una acción específica y se revocan tan pronto como se complete la operación que requiere los permisos. Si la revocación no se ejecuta, un trabajo de limpieza en segundo plano que se ejecuta cada 50 minutos revoca automáticamente los permisos obsoletos.
Los permisos Just-In-Time se asignan a la cuenta de servicio:
-
NT SERVICE\SqlServerExtensionsi el privilegio mínimo está habilitado - Cuenta del sistema local si el privilegio mínimo está deshabilitado.
Actualmente, la siguiente característica usa permisos Just-In-Time:
- Migración de base de datos al usar la opción de migración de vínculos de Instancia administrada.
Permisos adicionales
La cuenta de servicio requiere los permisos siguientes:
- Acceda al servicio de extensión y configure la conmutación automática.
- Inicie sesión como servicio.