Megosztás:


Az Azure Arc által engedélyezett SQL Server üzemeltetése a legkisebb jogosultsággal

A következőkre vonatkozik:SQL Server

A minimális jogosultságok információbiztonsági elve azt állítja, hogy a fiókok és alkalmazások csak az általuk igényelt adatokhoz és műveletekhez férhetnek hozzá. Az Azure Arc által engedélyezett SQL Serverrel az ügynökbővítmény-szolgáltatást a legkevesebb jogosultsággal futtathatja. Ez a cikk azt ismerteti, hogyan futtatható az ügynökbővítmény-szolgáltatás a legkevésbé jogosultsággal.

Ha úgy szeretné konfigurálni a szolgáltatást, hogy a legkisebb jogosultsággal fusson, kövesse az ebben a cikkben ismertetett lépéseket. A szolgáltatás jelenleg nem fut automatikusan a legkevésbé jogosultsággal.

Windows-szolgáltatásfiókok és az SQL Serverhez készült Azure Extension engedélyeinek konfigurálása leírja az ügynökbővítmény által igényelt legkisebb jogosultságokat.

Jegyzet

Jelenleg a rendszer alapértelmezés szerint nem alkalmazza a legkevésbé kiemelt konfigurációt.

A meglévő vagy újabb verziójú 1.1.2859.223 kiszolgálókon végül a legkevésbé kiemelt konfiguráció lesz alkalmazva. Ez a bővítmény 2024 novemberében jelent meg. A minimális jogosultság automatikus alkalmazásának megakadályozása érdekében tiltsa le a bővítményfrissítéseket a következő után 1.1.2859.223.

Miután úgy konfigurálta az ügynökbővítmény-szolgáltatást, hogy a legkisebb jogosultsággal fusson, a NT Service\SQLServerExtension szolgáltatásfiókot használja.

A NT Service\SQLServerExtension fiók egy helyi Windows-szolgáltatásfiók:

  • Az SQL Server azure-bővítménye hozza létre és felügyeli, ha a minimális jogosultsági lehetőség engedélyezve van.
  • Megkapta a minimálisan szükséges engedélyeket és jogosultságokat az SQL Server-szolgáltatás Azure-bővítményének Windows operációs rendszeren való futtatásához. Csak a konfigurációk olvasásához és tárolásához vagy naplók írásához használt mappákhoz és könyvtárakhoz fér hozzá.
  • Engedélyt kapott az SQL Serveren való csatlakozásra és lekérdezésre egy olyan új bejelentkezéssel, amely kifejezetten az adott szolgáltatásfiókhoz szükséges minimális engedélyekkel rendelkezik. A minimális engedélyek az engedélyezett funkcióktól függenek.
  • Frissítve, ha már nincs szükség engedélyekre. A rendszer például visszavonja az engedélyeket, amikor letilt egy funkciót, letiltja a minimális jogosultsági konfigurációt, vagy eltávolítja az SQL Server Azure-bővítményét. A visszavonás biztosítja, hogy a már nem szükséges engedélyek ne maradjanak meg.

Előfeltételek

Ez a szakasz a jelen cikkben szereplő példa végrehajtásához szükséges rendszerkövetelményeket és eszközöket azonosítja.

Rendszerkövetelmények

A minimális jogosultsággal rendelkező konfigurációhoz a következőre van szükség:

  • Windows Server 2012 vagy újabb
  • SQL Server 2012 vagy újabb
  • Az SQL Server szolgáltatásfiókjának a sysadmin rögzített kiszolgálói szerepkör tagjának kell lennie
  • Minden adatbázisnak online állapotúnak és frissíthetőnek kell lennie

A minimális jogosultsággal rendelkező konfiguráció jelenleg nem támogatott Linux rendszeren.

Az előfeltételekben felsorolt egyéb követelmények – Az Azure Arc által engedélyezett SQL Server továbbra is érvényesek.

SQL Server-szolgáltatásfiók

Alapértelmezés szerint az SQL Server szolgáltatásfiók tagja a sysadmin rögzített kiszolgálói szerepkörnek.

Ahogy az előfeltételek között szerepel, az SQL Server szolgáltatásfiókjának az egyes SQL Server-példányokon sysadmin rögzített kiszolgálói szerepkör tagjának kell lennie. Az SQL Server Azure-bővítményének Deployer.exe nevű folyamata ideiglenesen NT AUTHORITY\SYSTEM ként fut, amikor:

  • A funkciók engedélyezve vannak vagy le vannak tiltva
  • Sql Server-példányok hozzáadása vagy eltávolítása

Deployer.exe megszemélyesíti az SQL Server-szolgáltatásfiókot, hogy csatlakozzon az SQL Serverhez, és adjon hozzá vagy távolítson el engedélyeket a kiszolgálói és adatbázis-szerepkörökben attól függően, hogy mely funkciók vannak engedélyezve vagy tiltva annak biztosítása érdekében, hogy az SQL Server Azure-bővítménye a legkevésbé szükséges jogosultságokat használja. Az engedélyek módosításához az SQL Server szolgáltatásfiókjának a sysadmin kiszolgálói szerepkör tagjának kell lennie.

Ha több vezérléssel szeretné kezelni ezt a folyamatot, hogy az SQL Server szolgáltatásfiókja nem tagja a sysadmin-kiszolgálói szerepkörnek, kövesse az alábbi lépéseket:

  1. Ideiglenesen adja hozzá az SQL Server szolgáltatásfiókot a sysadmin kiszolgálói szerepkörhöz.
  2. Engedélyezze, hogy Deployer.exe legalább egyszer fusson, hogy az engedélyek be legyenek állítva.
  3. Távolítsa el az SQL Server szolgáltatásfiókot a sysadmin szerepkörből.

Ismételje meg ezt az eljárást minden olyan esetben, amikor a funkciók engedélyezve vannak vagy le vannak tiltva, vagy az SQL Server-példányok hozzáadva lehetővé teszik Deployer.exe számára a minimálisan szükséges jogosultságok megadását.

Eszközök

A cikkben ismertetett lépések végrehajtásához a következő eszközökre van szüksége:

A minimális jogosultság engedélyezése

  1. Jelentkezzen be az Azure CLI-vel.

    az login
    
  2. Ellenőrizze a arcdata bővítmény verzióját.

    az extension list -o table
    

    Ha az eredmények tartalmazzák a arcdatatámogatott verzióját, ugorjon a következő lépésre.

    Szükség esetén telepítse vagy frissítse a arcdata Azure CLI-bővítményt.

    A bővítmény telepítése:

    az extension add --name arcdata
    

    A bővítmény frissítése:

    az extension update --name arcdata
    
  3. A minimális jogosultság engedélyezése az Azure CLI-vel.

    A minimális jogosultság engedélyezéséhez állítsa a LeastPrivilege funkciójelzőt true. A feladat elvégzéséhez futtassa a következő parancsot a <resource-group> és <machine-name>frissített értékeivel.

    az sql server-arc extension feature-flag set --name LeastPrivilege --enable true --resource-group <resource-group> --machine-name <machine-name>
    

    Az alábbi parancs például engedélyezi a myserver nevű kiszolgáló minimális jogosultságát egy myrgnevű erőforráscsoportban:

    az sql server-arc extension feature-flag set --name LeastPrivilege --enable true --resource-group myrg --machine-name myserver 
    

A legkisebb jogosultságok beállításának ellenőrzése

Annak ellenőrzése, hogy az Azure Arc által engedélyezett SQL Server úgy van-e konfigurálva, hogy a legkisebb jogosultsággal fusson:

  1. A Windows-szolgáltatásokban keresse meg Microsoft SQL Server Extension Service szolgáltatást. Ellenőrizze, hogy a szolgáltatás szolgáltatásfiókként fut-e NT Service\SqlServerExtension. 

  2. Nyissa meg a feladatütemezőt a kiszolgálón, és ellenőrizze, hogy SqlServerExtensionPermissionProvider nevű eseményvezérelt tevékenység jön-e létre a Microsoft\SqlServerExtensionalatt.

    Jegyzet

    A 2024. júliusi kiadás előtt a SqlServerExtensionPermissionProvider feladat ütemezetten szerepel. Óránként elindul.

    Nyissa meg a feladatütemezőt a kiszolgálón, és ellenőrizze, hogy egy SqlServerExtensionPermissionProvider nevű ütemezett tevékenység jön-e létre a Microsoft\SqlServerExtensionalatt.

  3. Nyissa meg az SQL Server Management Studiót, és ellenőrizze a NT Service\SqlServerExtensionnevű bejelentkezést. Ellenőrizze, hogy a fiókhoz az alábbi engedélyek tartoznak-e:

    • SQL csatlakoztatása
    • Adatbázis állapotának megtekintése
    • Kiszolgáló állapotának megtekintése
  4. Ellenőrizze az engedélyeket a következő lekérdezésekkel:

    A kiszolgálószintű engedélyek ellenőrzéséhez futtassa a következő lekérdezést:

    EXECUTE AS LOGIN = 'NT Service\SqlServerExtension'  
    SELECT * FROM fn_my_permissions (NULL, 'SERVER');
    

    Az adatbázisszintű engedélyek ellenőrzéséhez cserélje le <database name> az egyik adatbázis nevére, és futtassa a következő lekérdezést:

    EXECUTE AS LOGIN = 'NT Service\SqlServerExtension'  
    USE <database name>; 
    SELECT * FROM fn_my_permissions (NULL, 'database');