Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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.
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.
Minimo privilegio abilitato di default
Il privilegio minimo è abilitato di default nelle seguenti versioni di Azure Extension for SQL Server:
- Versione 1.1.3453.436
- Versione 1.1.3518.465 e versioni successive
Il privilegio minimo non è abilitato di default nelle versioni precedenti a 1.1.3453.436 o nelle versioni 1.1.3464.439, 1.1.3494.451 e 1.1.3500.453. Per queste versioni, segui i passaggi di questo articolo per abilitare manualmente il minor privilegio.
Nota
Per i server esistenti che utilizzano 1.1.2859.223 o versioni successive, quando l'aggiornamento automatico è abilitato, la configurazione a privilegio minimo viene applicata come parte degli aggiornamenti automatici. Per evitare l'applicazione automatica della configurazione dei privilegi minimi, blocca gli aggiornamenti dell'estensione dopo 1.1.2859.223.
Quando il minimo privilegio è abilitato, l'estensione Azure per SQL Server crea e gestisce NT SERVICE\SqlServerExtension automaticamente come account locale di servizio Windows e login SQL Server:
- L'estensione concede all'account solo i permessi Windows necessari per leggere e memorizzare i registri di configurazione e scrittura.
- L'estensione concede al login i permessi minimi di SQL Server richiesti dalle funzionalità abilitate.
- L'estensione revoca i permessi quando non sono più necessari, ad esempio quando disabiliti una funzione.
- L'estensione rimuove l'account quando disinstalli Azure Extension for SQL Server o disabiliti il privilegio minimo.
Prerequisiti
Questa sezione identifica i requisiti di sistema e gli strumenti necessari per abilitare o disabilitare il privilegio minimo.
Requisiti di sistema
Configurare il privilegio minimo richiede:
- Windows Server 2016 o versioni successive.
- SQL Server 2014 (12.x) o versioni successive.
- L'account del servizio SQL Server deve essere membro del ruolo predefinito del server sysadmin.
- Tutti i database devono essere online e aggiornabili.
Attualmente il minimo privilegio non è supportato su Linux.
Strumenti
Per completare i passaggi in questo articolo, sono necessari gli strumenti seguenti:
- Interfaccia della riga di comando di Azure
-
arcdataEstensione CLI di Azure versione1.5.9o successiva - Azure Extension per versione
1.1.2859.223SQL Server o versioni successive per abilitare manualmente il minor privilegio.
Abilita o disabilita il minor privilegio
Accedere tramite l'interfaccia della riga di comando di Azure.
az loginVerificare la versione dell'estensione
arcdata.az extension list -o tableSe 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 arcdataPer aggiornare l'estensione:
az extension update --name arcdataAbilitare privilegi minimi con l'interfaccia della riga di comando di Azure.
Per abilitare i privilegi minimi, impostare il flag di funzionalità
LeastPrivilegesutrue. Per disabilitare, imposta il flag della funzione sufalse. Per completare questa attività, esegui il seguente comando con i valori corrispondenti a<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
myserverin 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 abilitata tramite Azure Arc sia configurata per l'esecuzione con privilegi minimi:
In Servizi, localizza Microsoft SQL Server Extension Service. Verificare che il servizio venga eseguito con l'account di servizio
NT SERVICE\SqlServerExtension.Apri il Task Scheduler sul server. Verifica che un compito guidato dagli eventi denominato
SqlServerExtensionPermissionProvideresista sottoMicrosoft\SqlServerExtension.Aprire SQL Server Management Studio e controllare l'account di accesso denominato
NT SERVICE\SqlServerExtension. Verifica che all'account siano assegnati questi permessi di base:CONNECT SQLVIEW DATABASE STATEVIEW SERVER STATE
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'); REVERT;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'); REVERT;
Opzionale: Gestisci l'account del servizio del motore di database di SQL Server
Usa la configurazione predefinita dell'account di servizio per la maggior parte degli ambienti. Usa la procedura seguente solo se devi rimuovere l'account del servizio Motore di database di SQL Server dal ruolo predefinito del server sysadmin tra un'operazione di estensione e l'altra.
Per utilizzare la modalità con privilegi minimi, l'account del servizio del motore di database di SQL Server deve essere membro del ruolo del server predefinito sysadmin su ogni istanza di SQL Server. Questa appartenenza consente al sistema di concedere o revocare automaticamente i permessi. Per impostazione predefinita, l'account del servizio Motore di database di SQL Server è membro del ruolo del server fisso sysadmin.
L'estensione di Azure per SQL Server esegue un processo temporaneo denominato Deployer.exe come NT AUTHORITY\SYSTEM quando:
- Abiliti o disabiliti le funzionalità
- Si aggiungono o si rimuovono istanze di SQL Server
- Installi o aggiorni l'estensione
Deployer.exe rappresenta l'account del servizio SQL Server quando si connette a SQL Server. Dopo la connessione, aggiunge o rimuove le autorizzazioni nei ruoli del server e del database a seconda delle funzionalità abilitate o disabilitate. Questo processo garantisce che l'estensione Azure per SQL Server usi i privilegi minimi necessari.
Se si vuole gestire questo processo con un maggiore controllo, in modo che l'account del servizio SQL Server non sia membro del sysadmin ruolo predefinito del server, seguire questa procedura:
- Prima di installare o aggiornare l'estensione, abilitare o disabilitare una funzionalità, o aggiungere o rimuovere un'istanza di SQL Server, aggiungi temporaneamente l'account del servizio del motore database SQL Server al ruolo di server fisso sysadmin.
- Consentire
Deployer.exel'esecuzione almeno una volta in modo che siano impostate le autorizzazioni. - Rimuovere l'account del servizio SQL Server dal ruolo predefinito del server sysadmin.
Ripeti questa procedura ogni volta che installi o aggiorni l'estensione, abiliti o disabiliti una funzionalità, o aggiungi o rimuovi un'istanza di SQL Server. Questa procedura consente Deployer.exe di concedere il minimo di privilegi richiesti.
Poiché devi ripetere questa procedura per ogni aggiornamento delle estensioni, considera di disabilitare gli aggiornamenti automatici. Puoi poi usare uno script che esegue questi passaggi e aggiorna l'estensione.
Importante
L'estensione Azure per SQL Server Deployer.exe richiede che NT AUTHORITY\SYSTEM sia in grado di connettersi a SQL Server, con l'autorizzazione CONNECT SQL, sia nelle modalità standard che in least privilege. Questo requisito esiste perché Deployer.exe viene sempre eseguito sotto l'account LocalSystem, indipendentemente dall'account usato dall'estensione dopo il provisioning.
Se CONNECT SQL. Per verificare, vedi Prerequisiti.
Se l'account del servizio del motore di database di SQL Server non dispone del ruolo predefinito del server sysadmin, non è possibile concedere le autorizzazioni JIT.
Per dettagli su quando questi permessi vengono utilizzati, vedi Configura account e permessi di servizio Windows per Azure Extension for SQL Server.