Gestire SQL Server abilitato da Azure Arc con privilegi minimi
Si applica a: SQL Server
Il principio di sicurezza delle informazioni dei privilegi minimi afferma che gli account e le applicazioni hanno accesso solo ai dati e alle operazioni necessari. Con SQL Server abilitato da Azure Arc, è possibile eseguire il servizio di estensione dell'agente con privilegi minimi. Questo articolo illustra come eseguire il servizio di estensione dell'agente con privilegi minimi.
Per configurare facoltativamente il servizio per l'esecuzione con privilegi minimi, seguire i passaggi descritti in questo articolo. Attualmente, il servizio non viene eseguito in automatico con privilegi minimi.
Configurare gli account del servizio Windows e le autorizzazioni per l'estensione Azure per SQL Server descrive le autorizzazioni con privilegi minimi per il servizio di estensione dell'agente.
Nota
I server esistenti con l’estensione da novembre 2024 o versioni successive avranno automaticamente la configurazione con privilegi minimi. Questa applicazione verrà eseguita gradualmente.
Per impedire l'applicazione automatica dei privilegi minimi, bloccare gli aggiornamenti dell'estensione alla versione di novembre 2024.
Dopo aver configurato il servizio di estensione dell'agente per l'esecuzione con privilegi minimi, viene usato l'account del servizio NT Service\SQLServerExtension
.
L'account NT Service\SQLServerExtension
è un account del servizio di Windows locale:
- Creato e gestito dall'estensione Azure per SQL Server quando l'opzione con privilegi minimi è abilitata.
- A cui sono stati concessi le autorizzazioni e i privilegi minimi necessari per eseguire l'estensione Azure per il servizio SQL Server nel sistema operativo Windows. Dispone dell'accesso solo a cartelle ed elenchi usati per leggere e archiviare log di configurazione o scrittura.
- A cui è stata concessa l'autorizzazione per connettersi ed eseguire query in SQL Server con un nuovo account di accesso specifico per l'account del servizio che dispone delle autorizzazioni minime necessarie. Le autorizzazioni minime dipendono dalle funzionalità abilitate.
- Aggiornato quando le autorizzazioni non sono più necessarie. Ad esempio, le autorizzazioni vengono revocate quando si disabilita una funzionalità, si disabilita la configurazione con privilegi minimi o si disinstalla l'estensione Azure per SQL Server. La revoca garantisce che non rimangano autorizzazioni dopo che non sono più necessarie.
Prerequisiti
Questa sezione identifica i requisiti di sistema e gli strumenti necessari per completare l'esempio in questo articolo.
Requisiti di sistema
La configurazione con privilegi minimi richiede:
- Windows Server 2012 o versioni successive
- SQL Server 2012 o versione successiva
- L'account del servizio SQL Server deve essere membro del ruolo predefinito del
sysadmin
server - Tutti i database devono essere online e aggiornabili
La configurazione con privilegi minimi non è attualmente supportata in Linux.
Altri requisiti, come indicato in Prerequisiti - SQL Server abilitato da Azure Arc sono ancora applicabili.
Account di servizio SQL Server
Per impostazione predefinita, l'account del servizio SQL Server è membro del ruolo predefinito del sysadmin
server.
Come indicato nei prerequisiti, l'account del servizio SQL Server deve essere membro del ruolo predefinito del sysadmin
server in ogni istanza di SQL Server. L'estensione di Azure per SQL Server ha un processo denominato Deployer.exe
che viene eseguito temporaneamente come NT AUTHORITY\SYSTEM
quando:
- Le funzionalità sono abilitate o disabilitate
- Le istanze di SQL Server vengono aggiunte o rimosse
Deployer.exe
rappresenta l'account del servizio SQL Server per connettersi a SQL Server e aggiungere o rimuovere autorizzazioni nei ruoli del server e del database a seconda delle funzionalità abilitate o disabilitate per garantire che l'estensione di Azure per SQL Server usi i privilegi minimi necessari. Per modificare queste autorizzazioni, l'account del servizio SQL Server deve essere membro del ruolo del sysadmin
server.
Se si vuole gestire questo processo con un maggiore controllo, in modo che l'account del servizio SQL Server non sia sempre membro del ruolo del server sysadmin, seguire questa procedura:
- Aggiungere temporaneamente l'account del servizio SQL Server al ruolo del server sysadmin.
- Consentire
Deployer.exe
l'esecuzione almeno una volta in modo che siano impostate le autorizzazioni. - Rimuovere l'account del servizio SQL Server dal ruolo sysadmin.
Ripetere questa procedura ogni volta che le funzionalità sono abilitate o disabilitate o vengono aggiunte istanze di SQL Server per consentire Deployer.exe
di concedere i privilegi minimi necessari.
Strumenti
Per completare i passaggi in questo articolo, sono necessari gli strumenti seguenti:
- Interfaccia della riga di comando di Azure
arcdata
Estensione dell'interfaccia della riga di comando di Azure1.5.9
versione o successiva- Estensione Azure per SQL Server versione
1.1.2504.99
o successiva
Abilitare i privilegi minimi
Accedere con l'interfaccia della riga di comando di Azure.
az login
Verificare la versione dell'estensione
arcdata
.az extension list -o table
Se i risultati includono una versione supportata di
arcdata
, passare al passaggio successivo.Se necessario, installare o aggiornare l'estensione dell'interfaccia della riga di comando di Azure
arcdata
.Per installare l'estensione:
az extension add --name arcdata
Per aggiornare l'estensione:
az extension update --name arcdata
Abilitare privilegi minimi con l'interfaccia della riga di comando di Azure.
Per abilitare i privilegi minimi, impostare il flag di funzionalità
LeastPrivilege
sutrue
. Per completare questo task, eseguire il comando seguente con i valori aggiornati per<resource-group>
e<machine-name>
.az sql server-arc extension feature-flag set --name LeastPrivilege --enable true --resource-group <resource-group> --machine-name <machine-name>
Ad esempio, il comando seguente abilita i privilegi minimi per un server denominato
myserver
in un gruppo di risorse denominatomyrg
:az sql server-arc extension feature-flag set --name LeastPrivilege --enable true --resource-group myrg --machine-name myserver
Verificare la configurazione dei privilegi minimi
Per verificare che l'istanza di SQL Server abilitato da Azure Arc sia configurata per l'esecuzione con privilegi minimi:
Nei servizi di Windows, ricercare il Servizio di estensione di Microsoft SQL Server. Verificare che il servizio sia in esecuzione nell'account del servizio
NT Service\SqlServerExtension
.Aprire l'utilità di pianificazione nel server e verificare che venga creato un task guidato dagli eventi con nome
SqlServerExtensionPermissionProvider
inMicrosoft\SqlServerExtension
.Nota
Prima della versione di luglio 2024,
SqlServerExtensionPermissionProvider
è un'attività pianificata. Viene eseguito ogni ora.Aprire l'utilità di pianificazione nel server e verificare che venga creato un task pianificato con nome
SqlServerExtensionPermissionProvider
inMicrosoft\SqlServerExtension
.Aprire SQL Server Management Studio e controllare l'account di accesso denominato
NT Service\SqlServerExtension
. Verificare che all'account siano assegnate queste autorizzazioni:- Connessione a SQL
- Visualizzazione dello stato del database
- Visualizzazione dello stato del server
Convalidare le autorizzazioni con le query seguenti:
Per verificare le autorizzazioni a livello di server, eseguire la query seguente:
EXECUTE AS LOGIN = 'NT Service\SqlServerExtension' SELECT * FROM fn_my_permissions (NULL, 'SERVER");
Per verificare le autorizzazioni a livello di database, sostituire
<database name>
con il nome di uno dei database ed eseguire la query seguente:EXECUTE AS LOGIN = 'NT Service\SqlServerExtension' USE <database name>; SELECT * FROM fn_my_permissions (NULL, 'database");