Funcionamiento de SQL Server habilitado para Azure Arc con privilegios mínimos
Se aplica a: SQL Server
El principio de seguridad de la información de privilegios mínimos establece que a los usuarios y las aplicaciones se les debe conceder acceso solo a los datos y las operaciones que necesitan. Con SQL Server habilitado por Azure Arc, puede ejecutar el servicio de extensión del agente con privilegios mínimos. En este artículo se explica cómo ejecutar el servicio de extensión del agente con privilegios mínimos.
Para configurar opcionalmente el servicio para que se ejecute con privilegios mínimos, siga los pasos descritos en este artículo. Actualmente, el servicio no se ejecuta automáticamente con privilegios mínimos.
Configurar las cuentas de servicio de Windows y los permisos para la extensión de Azure para SQL Server describe los permisos con privilegios mínimos para el servicio de extensión del agente.
Nota:
Los servidores existentes con la extensión de la versión de noviembre de 2024 o posterior tendrán aplicada automáticamente la configuración de privilegios mínimos. Esta aplicación se realizará gradualmente.
Para evitar la aplicación automática de privilegios mínimos, bloquee las actualizaciones de extensión a la versión de noviembre de 2024.
Después de configurar el servicio de extensión del agente para que se ejecute con privilegios mínimos, usa la cuenta de servicio NT Service\SQLServerExtension
.
La cuenta NT Service\SQLServerExtension
es una cuenta de servicio de Windows local:
- Creada y administrada por la extensión de Azure para SQL Server cuando está habilitada la opción con privilegios mínimos.
- Se conceden los permisos y privilegios mínimos necesarios para ejecutar la extensión de Azure para el servicio SQL Server en el sistema operativo Windows. Solo tiene acceso a carpetas y directorios usados para leer y almacenar registros de configuración o escritura.
- Se concede permiso para conectarse y consultar en SQL Server con un nuevo inicio de sesión específico para esa cuenta de servicio que tenga los permisos mínimos necesarios. Los permisos mínimos dependen de las características habilitadas.
- Se actualiza cuando los permisos ya no son necesarios. Por ejemplo, los permisos se revocan al deshabilitar una característica, deshabilitar la configuración con privilegios mínimos o desinstalar la extensión de Azure para SQL Server. La revocación garantiza que no permanezcan permisos después de que ya no sean necesarios.
Requisitos previos
En esta sección se identifican los requisitos y las herramientas del sistema que necesita para completar el ejemplo de este artículo.
Requisitos del sistema
La configuración con privilegios mínimos requiere:
- Windows Server 2012 o superior
- SQL Server 2012 o posterior
- La cuenta de servicio de SQL Server debe ser miembro del rol del servidor fijo
sysadmin
- Todas las bases de datos deben estar en línea y se deben poder actualizar
La configuración con privilegios mínimos no se admite actualmente en Linux.
Otros requisitos, como se muestra en Requisitos previos: SQL Server habilitado por Azure Arc se siguen aplicando.
Herramientas
Necesitará las siguientes herramientas para completar los pasos de este artículo:
- CLI de Azure
arcdata
La extensión CLI de Azure versión1.5.9
o posterior- Extensión de Azure para la versión de SQL Server
1.1.2504.99
o posterior
Habilitar privilegios mínimos
Inicio de sesión con la CLI de Azure.
az login
Compruebe la versión de la extensión
arcdata
.az extension list -o table
Si los resultados incluyen una versión compatible de
arcdata
, vaya al paso siguiente.Si fuera necesario, instale o actualice la extensión de la CLI de Azure
arcdata
.Para instalar la extensión:
az extension add --name arcdata
Para actualizar la extensión:
az extension update --name arcdata
Habilite el privilegio mínimo con la CLI de Azure.
Para habilitar el privilegio mínimo, establezca la marca de característica
LeastPrivilege
entrue
. Para completar esta tarea, ejecute el siguiente comando con valores actualizados para<resource-group>
y<machine-name>
.az sql server-arc extension feature-flag set --name LeastPrivilege --enable true --resource-group <resource-group> --machine-name <machine-name>
Por ejemplo, el siguiente comando habilita los privilegios mínimos para un servidor denominado
myserver
en un grupo de recursos denominadomyrg
:az sql server-arc extension feature-flag set --name LeastPrivilege --enable true --resource-group myrg --machine-name myserver
Verificar la configuración de privilegios mínimos
Para comprobar que SQL Server habilitado para Azure Arc está configurado para ejecutarse con privilegios mínimos:
En los servicios de Windows, busque el servicio de extensión de Microsoft SQL Server. Compruebe que el servicio se ejecuta como la cuenta de servicio
NT Service\SqlServerExtension
.Abra el programador de tareas en el servidor y compruebe que se ha creado una tarea controlada por eventos con el nombre
SqlServerExtensionPermissionProvider
enMicrosoft\SqlServerExtension
.Nota:
Antes de la versión de julio de 2024,
SqlServerExtensionPermissionProvider
es una tarea programada. Se ejecuta cada hora.Abra el programador de tareas en el servidor y compruebe que se crea una tarea programada con el nombre
SqlServerExtensionPermissionProvider
enMicrosoft\SqlServerExtension
.Abra SQL Server Management Studio y compruebe el inicio de sesión denominado
NT Service\SqlServerExtension
. Compruebe que la cuenta tiene asignados estos permisos:- Conectar SQL
- Ver estado de base de datos
- Ver el estado del servidor
Valide los permisos con las siguientes consultas:
Para comprobar los permisos de nivel de servidor, ejecute la consulta siguiente:
EXECUTE AS LOGIN = 'NT Service\SqlServerExtension' SELECT * FROM fn_my_permissions (NULL, 'SERVER");
Para comprobar los permisos de nivel de base de datos, reemplace
<database name>
por el nombre de una de las bases de datos y ejecute la consulta siguiente:EXECUTE AS LOGIN = 'NT Service\SqlServerExtension' USE <database name>; SELECT * FROM fn_my_permissions (NULL, 'database");