Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Princip zabezpečení informací s nejnižšími oprávněními potvrzuje, že účty a aplikace mají přístup pouze k datům a operacím, které vyžadují. S SQL Serverem povoleným službou Azure Arc můžete spustit službu rozšíření agenta s nejnižšími oprávněními. Tento článek vysvětluje, jak spustit službu rozšíření agenta s nejnižšími možnými oprávněními.
Konfigurace účtů a oprávnění služby Windows pro rozšíření Azure pro SQL Server popisuje nejnižší oprávnění pro službu rozšíření agenta.
Princip nejmenších oprávnění je ve výchozím nastavení povolen
Nejmenší oprávnění je ve výchozím nastavení povoleno v následujících verzích rozšíření Azure pro SQL Server:
- Verze 1.1.3453.436
- Verze 1.1.3518.465 a pozdější verze
Nejmenší oprávnění není ve verzích starších než 1.1.3453.436 ani ve verzích 1.1.3464.439, 1.1.3494.451 a 1.1.3500.453 zapnuto. Pro tyto verze postupujte podle kroků v tomto článku pro manuální povolení režimu nejmenších privilegií.
Poznámka
U stávajících serverů, které používají 1.1.2859.223 nebo novější verze, se při automatické aktualizaci postupně aplikuje konfigurace s nejmenším oprávněním jako součást automatických upgradů. Aby se zabránilo automatickému použití konfigurace podle principu nejmenších oprávnění, zablokujte aktualizace rozšíření po 1.1.2859.223.
Když je povoleno nejmenší oprávnění, rozšíření Azure for SQL Server automaticky vytvoří a spravuje NT SERVICE\SqlServerExtension jako lokální účet služby Windows a přihlašovací údaje do SQL Server:
- Rozšíření účtu uděluje pouze Windows oprávnění potřebná ke čtení a ukládání konfigurací a zápisu logů.
- Rozšíření uděluje přihlášení minimální oprávnění pro SQL Server požadovaná povolenými funkcemi.
- Rozšíření odebírá oprávnění, když už nejsou potřeba, například když deaktivujete nějakou funkci.
- Rozšíření odstraní účet při odinstalaci Azure Extension for SQL Server nebo při vypnutí nejmenších oprávnění.
Požadavky
Tato sekce identifikuje systémové požadavky a nástroje, které potřebujete k povolení nebo vypnutí nejmenších privilegií.
Požadavky na systém
Konfigurace principu nejmenších privilegií vyžaduje:
- Windows Server 2016 nebo novější verze.
- SQL Server 2014 (12.x) nebo pozdější verze.
- Účet služby SQL Server musí být členem sysadmin pevné role serveru.
- Všechny databáze musí být online a aktualizovatelné.
Princip nejmenších oprávnění není v současnosti v systému Linux podporován.
Nářadí
K dokončení kroků v tomto článku potřebujete následující nástroje:
- Azure CLI
-
arcdatarozšíření Azure CLI verze1.5.9nebo novější - Azure Extension pro verzi
1.1.2859.223SQL Server nebo novější verze pro ruční povolení režimu nejmenších oprávnění.
Povolit nebo zakázat možnost najmenšího privilegování
Přihlaste se pomocí Azure CLI.
az loginOvěřte verzi rozšíření
arcdata.az extension list -o tablePokud výsledky obsahují podporovanou verzi
arcdata, přejděte k dalšímu kroku.V případě potřeby nainstalujte nebo aktualizujte rozšíření
arcdataAzure CLI.Instalace rozšíření:
az extension add --name arcdataAktualizovat rozšíření:
az extension update --name arcdataPovolení nejnižšího oprávnění pomocí Azure CLI
Pokud chcete povolit nejnižší oprávnění, nastavte příznak funkce
LeastPrivilegenatrue. Pro deaktivaci nastavte příznak funkce nafalse. Pro dokončení tohoto úkolu spusťte následující příkaz s hodnotami pro<resource-group>a<machine-name>.az sql server-arc extension feature-flag set --name LeastPrivilege --enable true --resource-group <resource-group> --machine-name <machine-name>Následující příkaz například povolí nejnižší oprávnění pro server s názvem
myserverve skupině prostředků s názvemmyrg:az sql server-arc extension feature-flag set --name LeastPrivilege --enable true --resource-group myrg --machine-name myserver
Ověření konfigurace nejnižších oprávnění
Pokud chcete ověřit, že sql Server povolený službou Azure Arc je nakonfigurovaný tak, aby běžel s nejnižšími oprávněními:
V sekci Služby najděte Microsoft SQL Server Extension Service. Ověřte, že služba běží pod tímto servisním účtem
NT SERVICE\SqlServerExtension.Otevřete Task Scheduler na serveru. Ověřte, že v části
Microsoft\SqlServerExtensionexistuje úloha řízená událostmi s názvemSqlServerExtensionPermissionProvider.Otevřete APLIKACI SQL Server Management Studio a zkontrolujte přihlašovací jméno
NT SERVICE\SqlServerExtension. Ověřte, že účet má přiřazená tato základní oprávnění:CONNECT SQLVIEW DATABASE STATEVIEW SERVER STATE
Ověřte oprávnění pomocí následujících dotazů:
Pokud chcete ověřit oprávnění na úrovni serveru, spusťte následující dotaz:
EXECUTE AS LOGIN = 'NT SERVICE\SqlServerExtension'; SELECT * FROM fn_my_permissions(NULL, 'SERVER'); REVERT;Pokud chcete ověřit oprávnění na úrovni databáze, nahraďte
<database-name>názvem jedné z vašich databází a spusťte následující dotaz:EXECUTE AS LOGIN = 'NT SERVICE\SqlServerExtension'; USE [<database-name>]; SELECT * FROM fn_my_permissions(NULL, 'database'); REVERT;
Volitelné: Správa účtu služby databázového enginu SQL Server
Pro většinu prostředí použijte výchozí konfiguraci servisního účtu. Následující postup použijte pouze pokud potřebujete odstranit účet služby databázového enginu SQL Server z role pevného serveru správce systému mezi operacemi rozšíření.
Pro použití režimu nejmenších oprávnění musí být účet služby databázového enginu SQL Server členem role pevného serveru správce systému na každé instanci SQL Server. Toto členství umožňuje systému automaticky udělovat nebo odebírat oprávnění. Ve výchozím nastavení je účet služby databázového enginu SQL Server členem role pevného serveru správce systému.
Rozšíření Azure pro SQL Server spouští dočasný proces nazývaný Deployer.exe jako NT AUTHORITY\SYSTEM když:
- Funkce povolujete nebo zakážete
- Přidáváte nebo odebíráte instance SQL Server
- Instalujete nebo vylepšujete rozšíření
Deployer.exe převezme identitu účtu služby SQL Server při připojení k SQL Serveru. Po připojení přidá nebo odebere oprávnění v serverových a databázových rolích v závislosti na tom, které funkce jsou povolené nebo zakázané. Tento proces zajišťuje, aby rozšíření Azure pro SQL Server používalo minimální požadovaná oprávnění.
Pokud chcete tento proces spravovat s větší kontrolou, aby účet služby SQL Server nebyl členem sysadmin pevné role serveru po celou dobu, postupujte takto:
- Než nainstalujete nebo upgradujete rozšíření, povolíte nebo zakážete nějakou funkci, nebo přidáte či odeberete instanci SQL Server, dočasně přidejte účet služby databázového enginu SQL Server do role pevného správce systému.
- Povolte spuštění
Deployer.exealespoň jednou, aby byla nastavena oprávnění. - Odeberte účet služby SQL Server z pevné role serveru sysadmin.
Tento postup opakujte pokaždé, když instalujete nebo upgradujete rozšíření, povolujete nebo deaktivujete funkci, nebo přidáváte či odebíráte instanci SQL Server. Tento postup umožňuje Deployer.exe udělit nejmenší požadovaná oprávnění.
Protože tento postup musíte opakovat u každé aktualizace rozšíření, zvažte vypnutí automatických upgradů. Pak můžete použít skript, který tyto kroky provede a rozšíření aktualizuje.
Důležité
Rozšíření Azure pro SQL Server Deployer.exe vyžaduje, aby se NT AUTHORITY\SYSTEM mohl připojit k SQL Server s oprávněním CONNECT SQL v režimech standard i least privilege. Tento požadavek existuje, protože Deployer.exe vždy běží pod LocalSystem účtem bez ohledu na to, který účet služby rozšíření používá po zřízení.
Pokud se NT AUTHORITY\SYSTEM nemůže připojit k SQL Server, Deployer.exe nemůže vytvořit přihlášení NT SERVICE\SqlServerExtension nebo udělit požadovaná oprávnění. Před povolením režimu nejnižších oprávnění ověřte, že NT AUTHORITY\SYSTEM má aktivní SQL Server přihlášení s oprávněním CONNECT SQL. Pro ověření viz Předpoklady.
Pokud účet služby databázového stroje SQL Server nemá pevnou roli serveru sysadmin, oprávnění just-in-time nelze udělit.
Podrobnosti o tom, kdy jsou tato oprávnění používána, viz Konfigurovat účty a oprávnění služeb Windows pro rozšíření Azure pro SQL Server.