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
SSIS Integration Runtime ve službě Azure Data Factory
Zabezpečení ve službě SQL Server Integration Services se skládá z několika vrstev, které poskytují bohaté a flexibilní prostředí zabezpečení. Mezi tyto vrstvy zabezpečení patří použití digitálních podpisů, vlastností balíčku, rolí databáze SQL Serveru a oprávnění operačního systému. Většina těchto funkcí zabezpečení spadá do kategorií identit a řízení přístupu.
Zmírnění hrozeb a zranitelností
I když integrační služby zahrnují různé mechanismy zabezpečení, balíčky a soubory, které balíčky vytvářejí nebo používají, by mohly být zneužity pro škodlivé účely.
Následující tabulka popisuje tato rizika a proaktivní kroky, které můžete podniknout, abyste snížili rizika.
| Ohrožení nebo zranitelnost | Definice | Zmírnění |
|---|---|---|
| Zdroj balíčku | Zdrojem balíčku je jednotlivec nebo organizace, která balíček vytvořila. Spuštění balíčku z neznámého nebo nedůvěryhodného zdroje může být rizikové. | Identifikujte zdroj balíčku pomocí digitálního podpisu a spusťte balíčky, které pocházejí pouze ze známých důvěryhodných zdrojů. Další informace najdete v tématu Identifikace zdroje balíčků s digitálními podpisy. |
| Obsah balíčku | Obsah balíčku obsahuje prvky v balíčku a jejich vlastnosti. Vlastnosti můžou obsahovat citlivá data, jako je heslo nebo připojovací řetězec. Prvky balíčku, jako je příkaz SQL, mohou odhalit strukturu databáze. | Pomocí následujících kroků můžete řídit přístup k balíčku a obsahu: 1) Pokud chcete řídit přístup k samotnému balíčku, použijte funkce zabezpečení SQL Serveru na balíčky uložené v databázi msdb v instanci SQL Serveru. Pokud chcete balíčky uložené v systému souborů použít funkce zabezpečení systému souborů, jako jsou seznamy řízení přístupu (ACL). 2) Pokud chcete řídit přístup k obsahu balíčku, nastavte úroveň ochrany balíčku. Další informace najdete v tématu Přehled zabezpečení (Integrační služby) a Řízení přístupu pro citlivá data v balíčcích. |
| Výstup balíčku | Když nakonfigurujete balíček tak, aby používal konfigurace, kontrolní body a protokolování, balíček uloží tyto informace mimo balíček. Informace uložené mimo balíček můžou obsahovat citlivá data. | K ochraně konfigurací a protokolů, které balíček ukládá do databázových tabulek SQL Serveru, použijte funkce zabezpečení SQL Serveru. Pokud chcete řídit přístup k souborům, použijte seznamy řízení přístupu (ACL) dostupné v systému souborů. Další informace najdete v tématu Přístup k souborům používaným balíčky. |
Funkce identit
Implementací funkcí identit v balíčcích můžete dosáhnout následujícího cíle:
Ujistěte se, že otevíráte a spouštíte balíčky pouze z důvěryhodných zdrojů.
Abyste měli jistotu, že otevřete a spouštíte balíčky pouze z důvěryhodných zdrojů, musíte nejprve identifikovat zdroj balíčků. Zdroj můžete identifikovat podepisováním balíčků s certifikáty. Když pak balíčky otevřete nebo spustíte, můžete mít integrační služby kontrolu přítomnosti a platnosti digitálních podpisů. Další informace najdete v tématu Identifikace zdroje balíčků s digitálními podpisy.
Funkce řízení přístupu
Implementací funkcí identit v balíčcích můžete dosáhnout následujícího cíle:
Ujistěte se, že balíčky otevírají a spouštějí jenom autorizovaní uživatelé.
Pokud chcete zajistit, aby balíčky otevírali a spouštěli jenom oprávnění uživatelé, musíte řídit přístup k následujícím informacím:
Řízení přístupu k obsahu balíčků, zejména citlivých dat.
Řízení přístupu k balíčkům a konfiguracím balíčků uloženým na SQL Serveru
Řízení přístupu k balíčkům a souvisejícím souborům, jako jsou konfigurace, protokoly a soubory kontrolních bodů uložené v systému souborů.
Řízení přístupu ke službě Integration Services a informací o balíčcích, které služba zobrazuje v sadě SQL Server Management Studio.
Řízení přístupu k obsahu balíčků
Chcete-li pomoci omezit přístup k obsahu balíčku, můžete šifrovat balíčky nastavením ProtectionLevel vlastnost balíčku. Tuto vlastnost můžete nastavit na úroveň ochrany, kterou balíček vyžaduje. Například v týmovém vývojovém prostředí můžete balíček zašifrovat pomocí hesla, které je známo pouze členům týmu, kteří na balíčku pracují.
Když nastavíte vlastnost ProtectionLevel balíčku, integrační služby automaticky rozpozná citlivé vlastnosti a zpracuje tyto vlastnosti podle zadané úrovně ochrany balíčku. Například nastavíte vlastnost ProtectionLevel pro balíček na úroveň, která šifruje citlivé informace heslem. Pro tento balíček integrační služba automaticky šifruje hodnoty všech citlivých vlastností a nezobrazí odpovídající data bez zadání správného hesla.
Integrační služby obvykle identifikují vlastnosti jako citlivé, pokud tyto vlastnosti obsahují informace, například heslo nebo připojovací řetězec, nebo pokud tyto vlastnosti odpovídají proměnným nebo uzlům XML generovaným úlohám. Jestli služba Integration Services považuje vlastnost za citlivou, závisí na tom, jestli vývojář komponenty Integrační služby, jako je správce připojení nebo úloha, určil vlastnost jako citlivou. Uživatelé nemohou přidávat vlastnosti ani odebírat vlastnosti ze seznamu vlastností, které jsou považovány za citlivé. Pokud píšete vlastní úlohy, správce připojení nebo komponenty toku dat, můžete určit, které vlastnosti by integrační služby měly považovat za citlivé.
Další informace naleznete v tématu Řízení přístupu pro citlivá data v balíčcích.
Řízení přístupu k balíčkům
Balíčky integrační služby můžete uložit do databáze msdb v instanci SQL Serveru nebo do systému souborů jako soubory XML, které mají příponu .dtsx. Další informace naleznete v tématu Ukládání balíčků.
Ukládání balíčků do databáze msdb
Uložení balíčků do databáze msdb pomáhá zajistit zabezpečení na úrovni serveru, databáze a tabulky. V databázi msdb jsou balíčky integračních služeb uloženy v tabulce sysssispackages. Protože balíčky jsou uloženy do sysssispackages a sysdtspackages tabulky v databázi msdb, balíčky se automaticky zálohují při zálohování databáze msdb.
Balíčky SQL Serveru uložené v databázi msdb lze také chránit použitím rolí na úrovni databáze integrační služby. Integrační služby zahrnují tři pevné role na úrovni databáze db_ssisadmin, db_ssisltduser a db_ssisoperator pro řízení přístupu k balíčkům. Ke každému balíčku může být přidružena role čtenáře a zapisovače. Můžete také definovat vlastní role na úrovni databáze, které se mají použít v balíčcích integrační služby. Role lze implementovat pouze v balíčcích, které jsou uloženy do databáze msdb v instanci SQL Serveru. Další informace najdete v tématu Role integračních služeb (služba SSIS).
Ukládání balíčků do systému souborů
Pokud balíčky ukládáte do systému souborů místo v databázi msdb, nezapomeňte zabezpečit soubory balíčku a složky, které obsahují soubory balíčku.
Řízení přístupu k souborům používaným balíčky
Balíčky nakonfigurované tak, aby používaly konfigurace, kontrolní body a protokolování generují informace uložené mimo balíček. Tyto informace můžou být citlivé a měly by být chráněné. Soubory kontrolních bodů lze uložit pouze do systému souborů, ale konfigurace a protokoly lze uložit do systému souborů nebo do tabulek v databázi SQL Serveru. Konfigurace a protokoly uložené na SQL Serveru podléhají zabezpečení SQL Serveru, ale informace zapsané do systému souborů vyžadují další zabezpečení.
Další informace naleznete v tématu Přístup k souborům používaným balíčky.
Bezpečné ukládání konfigurací balíčků
Konfigurace balíčků lze uložit do tabulky v databázi SQL Serveru nebo do systému souborů.
Konfigurace se dají uložit do jakékoli databáze SQL Serveru, nejen databáze msdb. Proto můžete určit, která databáze slouží jako úložiště konfigurací balíčků. Můžete také zadat název tabulky, která bude obsahovat konfigurace, a integrační služby automaticky vytvoří tabulku se správnou strukturou. Uložení konfigurací do tabulky umožňuje zajistit zabezpečení na úrovni serveru, databáze a tabulky. Kromě toho se konfigurace uložené na SQL Serveru automaticky zálohují při zálohování databáze.
Pokud ukládáte konfigurace v systému souborů namísto SQL Serveru, nezapomeňte zabezpečit složky, které obsahují konfigurační soubory balíčku.
Další informace o konfiguracích naleznete v tématu Konfigurace balíčků.
Řízení přístupu ke službě Integration Services
SQL Server Management Studio používá službu SQL Server k výpisu uložených balíčků. Chcete-li zabránit neoprávněným uživatelům v prohlížení informací o balíčcích uložených na místních a vzdálených počítačích a tím i učení soukromých informací, omezte přístup k počítačům, na kterých běží služba SQL Serveru.
Další informace najdete v tématu Přístup ke službě Integration Services.
Přístup k souborům používaným balíčky
Úroveň ochrany balíčku nechrání soubory uložené mimo balíček. Mezi tyto soubory patří:
Konfigurační soubory
Soubory kontrolních bodů
Soubory protokolu
Tyto soubory musí být chráněné samostatně, zejména pokud obsahují citlivé informace.
Konfigurační soubory
Pokud máte citlivé informace v konfiguraci, jako jsou přihlašovací údaje a heslo, měli byste zvážit uložení konfigurace na SQL Server nebo použít seznam řízení přístupu (ACL) k omezení přístupu k umístění nebo složce, kam ukládáte soubory, a povolit přístup pouze k určitým účtům. Obvykle byste udělili přístup k účtům, které povolíte spouštět balíčky, a účtům, které spravují a řeší potíže s balíčky, které můžou zahrnovat kontrolu obsahu konfigurace, kontrolního bodu a souborů protokolů. SQL Server poskytuje bezpečnější úložiště, protože nabízí ochranu na úrovni serveru a databáze. Pokud chcete uložit konfigurace na SQL Server, použijte typ konfigurace SQL Serveru. Chcete-li soubor uložit do systému souborů, použijte typ konfigurace XML.
Další informace najdete v tématu Konfigurace balíčků, Vytváření konfigurací balíčků a aspekty zabezpečení pro instalaci SQL Serveru.
Soubory kontrolních bodů
Podobně platí, že pokud soubor kontrolního bodu, který balíček používá, obsahuje citlivé informace, měli byste k zabezpečení umístění nebo složky, kam soubor ukládáte, použít seznam řízení přístupu (ACL). Soubory kontrolních bodů ukládají informace o aktuálním stavu a průběhu balíčku, stejně jako aktuální hodnoty proměnných. Balíček může například obsahovat vlastní proměnnou, která obsahuje telefonní číslo. Další informace naleznete v tématu Restartování balíčků pomocí kontrolních bodů.
Soubory protokolu
Položky protokolu zapsané do systému souborů by také měly být zabezpečeny pomocí seznamu řízení přístupu (ACL). Položky protokolu lze také ukládat v tabulkách SQL Serveru a chránit je zabezpečením SQL Serveru. Položky protokolu mohou obsahovat citlivé informace, například pokud balíček obsahuje úlohu Execute SQL, která vytváří příkaz SQL odkazující na telefonní číslo, položka protokolu pro příkaz SQL obsahuje telefonní číslo. Příkaz SQL může také odhalit soukromé informace o názvech tabulek a sloupců v databázích. Další informace naleznete v tématu Integrace služeb (SSIS) protokolování.
Přístup ke službě Integration Services
Úrovně ochrany balíčků můžou omezit, kdo smí upravovat a spouštět balíček. K omezení, kdo může zobrazit seznam balíčků aktuálně spuštěných na serveru, a kdo může přestat aktuálně spouštět balíčky v aplikaci SQL Server Management Studio, je potřeba další ochrana.
SQL Server Management Studio používá službu SQL Server k výpisu spuštěných balíčků. Členové skupiny Správci systému Windows můžou zobrazit a zastavit všechny aktuálně spuštěné balíčky. Uživatelé, kteří nejsou členy skupiny Administrators, můžou zobrazit a zastavit pouze balíčky, které spustili.
Je důležité omezit přístup k počítačům, na kterých běží služba SQL Serveru, zejména ke službě SQL Serveru, která může vytvořit výčet vzdálených složek. Každý ověřený uživatel může požádat o výčet balíčků. I když služba službu nenajde, služba vytvoří výčet složek. Tyto názvy složek můžou být užitečné pro škodlivého uživatele. Pokud správce nakonfiguroval službu tak, aby zobrazovala výčet složek na vzdáleném počítači, uživatelé můžou vidět také názvy složek, které by normálně neviděli.
Související úkoly
Následující seznam obsahuje odkazy na témata, která ukazují, jak provést určitou úlohu související se zabezpečením.