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
Pokud chcete chránit data v balíčku integrační služby, můžete nastavit úroveň ochrany, která pomáhá chránit pouze citlivá data nebo všechna data v balíčku. Kromě toho můžete tato data zašifrovat heslem nebo uživatelským klíčem nebo spoléhat na databázi k šifrování dat. Úroveň ochrany, kterou používáte pro balíček, není nutně statická, ale mění se v průběhu životního cyklu balíčku. Během vývoje a druhé úrovně ochrany často nastavíte jednu úroveň ochrany, jakmile balíček nasadíte.
Poznámka:
Kromě úrovní ochrany popsaných v tomto tématu můžete použít pevné role na úrovni databáze k ochraně balíčků uložených na serveru integračních služeb.
Definice citlivých informací
V balíčku integrační služby jsou definovány následující informace jako citlivé:
Část hesla připojovacího řetězce. Pokud ale vyberete možnost, která zašifruje všechno, bude celý připojovací řetězec považován za citlivý.
Uzly XML generované úlohou, které jsou označené jako citlivé. Označování uzlů XML je řízeno integračními službami a nemůže je měnit uživatelé.
Libovolná proměnná, která je označená jako citlivá. Označení proměnných je řízeno integračními službami.
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é.
Šifrování
Šifrování, které se používá na úrovních ochrany balíčků, se provádí pomocí rozhraní MICROSOFT Data Protection API (DPAPI), které je součástí rozhraní API kryptografie (CryptoAPI).
Úrovně ochrany balíčků, které šifrují balíčky pomocí hesel, vyžadují také zadání hesla. Pokud změníte úroveň ochrany z úrovně, která nepoužívá heslo, na úroveň, která dělá, zobrazí se výzva k zadání hesla.
Pro úrovně ochrany, které používají heslo, integrační služby používají šifrovací algoritmus AES s délkou klíče 256 bitů, který je k dispozici v knihovně tříd rozhraní .NET Framework (FCL).
Poznámka:
Integrační služby 2016 používají algoritmus trojité šifrování DES s délkou klíče 192 bitů.
Úrovně ochrany
Následující tabulka popisuje úrovně ochrany, které integrační služby poskytují. Hodnoty v závorkách jsou hodnoty z výčtu DTSProtectionLevel . Tyto hodnoty se zobrazí v okně Vlastnosti, které slouží ke konfiguraci vlastností balíčku při práci s balíčky v SQL Server Data Tools (SSDT).
| Úroveň ochrany | Popis |
|---|---|
| Neukládejte citlivá data (Bez rozlišení DontSaveSensitive) | Potlačí hodnoty citlivých vlastností v balíčku při uložení balíčku. Tato úroveň ochrany se nešifruje, ale zabraňuje tomu, aby vlastnosti, které jsou označené jako citlivé, nebyly uloženy v balíčku, a proto jsou citlivá data pro ostatní uživatele nedostupná. Pokud balíček otevře jiný uživatel, budou citlivé informace nahrazeny prázdnými hodnotami a uživatel musí poskytnout citlivé informace. Při použití s nástrojem dtutil (dtutil.exe), tato úroveň ochrany odpovídá hodnotě 0. |
| Šifrování všech pomocí hesla (EncryptAllWithPassword) | Používá heslo k šifrování celého balíčku. Balíček se zašifruje pomocí hesla, které uživatel zadá při vytvoření nebo exportu balíčku. Pokud chcete balíček otevřít v nástroji SSIS Designer nebo spustit balíček pomocí nástroje příkazového řádku dtexec , musí uživatel zadat heslo balíčku. Bez hesla nemůže uživatel získat přístup k balíčku ani ho spustit. Při použití s nástrojem dtutil tato úroveň ochrany odpovídá hodnotě 3. |
| Šifrování všech pomocí uživatelského klíče (EncryptAllWithUserKey) | Používá klíč založený na aktuálním profilu uživatele k šifrování celého balíčku. Balíček může otevřít pouze uživatel, který balíček vytvořil nebo vyexportoval, v nástroji SSIS Designer nebo spustit balíček pomocí nástroje příkazového řádku dtexec . Při použití s nástrojem dtutil tato úroveň ochrany odpovídá hodnotě 4. Poznámka: Pro úrovně ochrany, které používají uživatelský klíč, používají integrační služby standardy DPAPI. Další informace o rozhraní DPAPI naleznete v knihovně MSDN na adrese https://msdn.microsoft.com/library. |
| Šifrovat citlivé pomocí hesla (EncryptSensitiveWithPassword) | Používá heslo k šifrování pouze hodnot citlivých vlastností v balíčku. K tomuto šifrování se používá rozhraní DPAPI. Citlivá data se ukládají jako součást balíčku, ale tato data se šifrují pomocí hesla, které aktuální uživatel zadá při vytvoření nebo exportu balíčku. Pokud chcete balíček otevřít v nástroji SSIS Designer, musí uživatel zadat heslo balíčku. Pokud heslo není zadané, balíček se otevře bez citlivých dat a aktuální uživatel musí zadat nové hodnoty citlivých dat. Pokud se uživatel pokusí spustit balíček bez zadání hesla, spuštění balíčku se nezdaří. Další informace o heslech a provádění příkazového řádku naleznete v tématu dtexec Utility. Při použití s nástrojem dtutil tato úroveň ochrany odpovídá hodnotě 2. |
| Šifrování citlivé na klíč uživatele (EncryptSensitiveWithUserKey) | Používá klíč založený na aktuálním profilu uživatele k šifrování pouze hodnot citlivých vlastností v balíčku. Balíček může načíst pouze stejný uživatel, který používá stejný profil. Pokud balíček otevře jiný uživatel, citlivé informace se nahradí prázdnými hodnotami a aktuální uživatel musí pro citlivá data zadat nové hodnoty. Pokud se uživatel pokusí balíček spustit, spuštění balíčku se nezdaří. K tomuto šifrování se používá rozhraní DPAPI. Při použití s nástrojem dtutil tato úroveň ochrany odpovídá hodnotě 1. Poznámka: Pro úrovně ochrany, které používají uživatelský klíč, používají integrační služby standardy DPAPI. Další informace o rozhraní DPAPI naleznete v knihovně MSDN na adrese https://msdn.microsoft.com/library. |
| Spoléhat se na úložiště serveru pro šifrování (ServerStorage) | Chrání celý balíček pomocí databázových rolí SQL Serveru. Tato možnost se podporuje, když je balíček uložen do databáze msdb SQL Serveru. Kromě toho katalog SSISDB používá úroveň ochrany ServerStorage . Tato možnost není podporována, pokud je balíček uložen do systému souborů z SQL Server Data Tools (SSDT). |
Nastavení úrovně ochrany a katalog SSISDB
Katalog SSISDB používá úroveň ochrany ServerStorage . Když nasadíte projekt Integrační služby na server Integrační služby, katalog automaticky zašifruje data balíčku a citlivé hodnoty. Katalog také automaticky dešifruje data při jejich načtení.
Pokud exportujete projekt (soubor .ispac) ze serveru integrační služby do systému souborů, systém automaticky změní úroveň ochrany na EncryptSensitiveWithUserKey. Pokud importujete projekt pomocí Průvodce importem projektu integrační služby v SQL Server Data Tools (SSDT), Vlastnost ProtectionLevel v okně Vlastnosti zobrazí hodnotu EncryptSensitiveWithUserKey.
Nastavení úrovně ochrany na základě životního cyklu balíčku
Úroveň ochrany balíčku SSIS (SQL Server Integration Services) nastavíte při prvním vývoji v nástrojích SQL Server Data Tools (SSDT). Později, když se balíček nasadí, naimportuje nebo exportuje ze služby Integration Services v aplikaci SQL Server Management Studio nebo zkopíruje z SQL Server Data Tools (SSDT) do SQL Serveru, úložiště balíčků SSIS nebo systému souborů, můžete aktualizovat úroveň ochrany balíčků. Pokud například vytvoříte a uložíte balíčky na počítači s jednou z možností na úrovni ochrany uživatelského klíče, budete pravděpodobně chtít změnit úroveň ochrany, když balíček udělíte jiným uživatelům; jinak nemohou balíček otevřít.
Úroveň ochrany, jak je uvedeno v následujících krocích, obvykle změníte:
Během vývoje ponechte úroveň ochrany balíčků nastavenou na výchozí hodnotu EncryptSensitiveWithUserKey. Toto nastavení pomáhá zajistit, aby v balíčku viděli jenom citlivé hodnoty. Nebo můžete zvážit použití EncryptAllWithUserKey nebo DontSaveSensitive.
Když je čas nasadit balíčky, musíte změnit úroveň ochrany na úroveň, která nezávisí na uživatelském klíči vývojáře. Proto obvykle musíte vybrat EncryptSensitiveWithPassword nebo EncryptAllWithPassword. Zašifrujte balíčky přiřazením dočasného silného hesla, které je také známé provoznímu týmu v produkčním prostředí.
Po nasazení balíčků do produkčního prostředí může provozní tým znovu zašifrovat nasazené balíčky přiřazením silného hesla, které je známé jenom jim. Nebo mohou šifrovat nasazené balíčky výběrem EncryptSensitiveWithUserKey nebo EncryptAllWithUserKey a použitím místních přihlašovacích údajů účtu, který tyto balíčky spustí.
Nastavení nebo změna úrovně ochrany balíčků
Chcete-li řídit přístup k obsahu balíčků a citlivým hodnotám, které obsahují, například hesla, nastavte hodnotu ProtectionLevel vlastnost. Balíčky obsažené v projektu musí mít pro sestavení projektu stejnou úroveň ochrany jako projekt. Pokud v projektu změníte nastavení vlastnosti ProtectionLevel , musíte ručně aktualizovat nastavení vlastnosti pro balíčky.
Přehled funkcí zabezpečení v integračních službách najdete v tématu Přehled zabezpečení (Integrační služby).
Postupy v tomto tématu popisují, jak použít SQL Server Data Tools (SSDT) nebo nástroj příkazového řádku dtutil změnit Vlastnost ProtectionLevel .
Poznámka:
Kromě postupů v tomto tématu můžete při importu nebo exportu balíčku obvykle nastavit nebo změnit vlastnost ProtectionLevel balíčku. Vlastnost ProtectionLevel balíčku můžete také změnit při uložení balíčku pomocí Průvodce importem a exportem SYSTÉMU SQL Server.
Nastavení nebo změna úrovně ochrany balíčku v nástrojích SQL Server Data Tools
Zkontrolujte dostupné hodnoty vlastnosti ProtectionLevel v části Úrovně ochrany a určete odpovídající hodnotu pro váš balíček.
V nástrojích SQL Server Data Tools (SSDT) otevřete projekt Integrační služby, který obsahuje balíček.
Otevřete balíček v návrháři SSIS.
Pokud okno Vlastnosti nezobrazuje vlastnosti balíčku, klikněte na návrhovou plochu.
V okně Vlastnosti ve skupině Zabezpečení vyberte odpovídající hodnotu pro ProtectionLevel vlastnost.
Pokud vyberete úroveň ochrany, která vyžaduje heslo, zadejte heslo jako hodnotu Vlastnosti PackagePassword .
V nabídce Soubor vyberte Uložit vybrané položky a uložte upravený balíček.
Nastavení nebo změna úrovně ochrany balíčků na příkazovém řádku
Zkontrolujte dostupné hodnoty vlastnosti ProtectionLevel v části Úrovně ochrany a určete odpovídající hodnotu pro váš balíček.
Zkontrolujte mapování pro možnost Encrypt v tématu, dtutil Utility a určete příslušné celé číslo, které se má použít jako hodnota vybrané ProtectionLevel vlastnost.
Otevřete okno příkazového řádku.
Na příkazovém řádku přejděte do složky, která obsahuje balíček nebo balíčky, pro které chcete nastavit Vlastnost ProtectionLevel .
Příklady syntaxe uvedené v následujícím kroku předpokládají, že tato složka je aktuální složkou.
Nastavte nebo změňte úroveň ochrany balíčku nebo balíčků pomocí příkazu podobného jednomu z následujících příkladů:
Následující příkaz nastaví vlastnost ProtectionLevel jednotlivého balíčku v systému souborů na úroveň 2, "Šifrovat citlivé pomocí hesla", s heslem, "strongpassword":
dtutil.exe /file "C:\Package.dtsx" /encrypt file;"C:\Package.dtsx";2;strongpasswordNásledující příkaz nastaví vlastnost ProtectionLevel všech balíčků v určité složce v systému souborů na úrovni 2, "Šifrovat citlivé pomocí hesla", s heslem, "strongpassword":
for %f in (*.dtsx) do dtutil.exe /file %f /encrypt file;%f;2;strongpasswordPokud v dávkovém souboru použijete podobný příkaz, zadejte zástupný symbol souboru "%f", jako "%%f" v dávkovém souboru.
Dialogové okno Úroveň ochrany projektu balíčku
Pomocí dialogového okna Úroveň ochrany balíčku aktualizujte úroveň ochrany balíčku. Úroveň ochrany určuje metodu ochrany, heslo nebo uživatelský klíč a rozsah ochrany balíčků. Ochrana může zahrnovat pouze všechna data nebo citlivá data.
Pokud chcete porozumět požadavkům a možnostem zabezpečení balíčků, může být užitečné se podívat na přehled zabezpečení (Integrační služby).
Možnosti
Úroveň ochrany balíčků
V seznamu vyberte úroveň ochrany.
Heslo
Pokud používáte Šifrovat citlivá data pomocí hesla nebo Šifrovat všechna data s úrovní ochrany heslem , zadejte heslo.
Opětovné zadání hesla
Znovu zadejte heslo.
Dialogové okno Heslo balíčku
Pomocí dialogového okna Heslo balíčku zadejte heslo balíčku pro balíček, který je šifrovaný heslem. Heslo musíte zadat, pokud balíček používá šifrování citlivé na heslo nebo Zašifrovat vše s úrovní ochrany heslem .
Možnosti
Heslo
Zadejte heslo.
Viz také
Balíčky SSIS (Integration Services)
Přehled zabezpečení (Integrační služby)
nástroj dtutil