Megosztás:


Hozzáférés-vezérlés bizalmas adatokhoz a csomagokban

A következőkre vonatkozik:SQL Server SSIS Integrációs Modul az Azure Data Factory-ben

Az Integration Services-csomagok adatainak védelméhez beállíthat egy védelmi szintet, amely segít megvédeni csak a bizalmas adatokat vagy a csomag összes adatát. Emellett jelszóval vagy felhasználói kulccsal is titkosíthatja ezeket az adatokat, vagy az adatbázisra támaszkodva titkosíthatja az adatokat. A csomaghoz használt védelmi szint nem feltétlenül statikus, hanem a csomag életciklusa során változik. A fejlesztés során gyakran beállít egy védelmi szintet, egy másikat pedig a csomag üzembe helyezésekor.

Jegyzet

A jelen témakörben ismertetett védelmi szintek mellett rögzített adatbázisszintű szerepkörök is használhatók az Integration Services-kiszolgálóra mentett csomagok védelmére.

Bizalmas információk definíciója

Az Integration Services csomagban a következő információk ki vannak jelölve mint bizalmas:

  • A kapcsolati karakterlánc jelszó része. Ha azonban olyan beállítást választ, amely mindent titkosít, a rendszer a teljes kapcsolati sztringet bizalmasnak tekinti.

  • A tevékenység által létrehozott XML-csomópontok, amelyek bizalmasként vannak megjelölve. Az XML-csomópontok címkézését az Integration Services szabályozza, és a felhasználók nem módosíthatják.

  • Minden olyan változó, amely bizalmasként van megjelölve. A változók megjelölését az Integration Services szabályozza.

Az, hogy az Integration Services bizalmasnak tekinti-e a tulajdonságot, attól függ, hogy az Integration Services-összetevő fejlesztője, például egy kapcsolatkezelő vagy feladat bizalmasként jelölte-e meg a tulajdonságot. A felhasználók nem adhatnak hozzá tulajdonságokat, és nem távolíthatnak el tulajdonságokat a bizalmasnak ítélt tulajdonságok listájából.

Titkosítás

A csomagvédelmi szintek által használt titkosítás a Microsoft Data Protection API (DPAPI) használatával történik, amely a Titkosítási API (CryptoAPI) része.

A jelszavak használatával a csomagokat titkosító csomagvédelmi szintek megkövetelik a jelszó megadását is. Ha olyan szintről módosítja a védelmi szintet, amely nem használ jelszót, akkor a rendszer jelszót kér.

A jelszót használó védelmi szintek esetében az Integration Services az AES titkosítási algoritmust használja 256 bites kulcshosszsal, amely elérhető a .NET-keretrendszer osztálykönyvtárában (FCL).

Jegyzet

Az Integration Services 2016 192 bites kulcshosszúságú Triple DES titkosítási algoritmust használ.

Védelmi szintek

Az alábbi táblázat az Integration Services által biztosított védelmi szinteket ismerteti. A zárójelben szereplő értékek a DTSProtectionLevel enumerálás értékei. Ezek az értékek megjelennek a Tulajdonságok ablakban, amellyel konfigurálhatja a csomag tulajdonságait, amikor az SQL Server Data Tools (SSDT) csomagokkal dolgozik.

Védelmi szint Leírás
Ne mentsen bizalmas adatokat (DontSaveSensitive) Letiltja a csomag bizalmas tulajdonságainak értékeit a csomag mentésekor. Ez a védelmi szint nem titkosítja, hanem megakadályozza, hogy a bizalmasként megjelölt tulajdonságok a csomaggal együtt legyenek mentve, így a bizalmas adatok nem lesznek elérhetők a többi felhasználó számára. Ha egy másik felhasználó megnyitja a csomagot, a bizalmas adatok üresek lesznek, és a felhasználónak meg kell adnia a bizalmas információkat.

Ha a dtutil segédprogrammal (dtutil.exe) használja, ez a védelmi szint a 0 értéknek felel meg.
Titkosíts mindent jelszóval (EncryptAllWithPassword) Jelszóval titkosítja a teljes csomagot. A csomag titkosítása jelszóval történik, amelyet a felhasználó a csomag létrehozásakor vagy exportálásakor ad meg. Az SSIS Designerben való csomagmegnyitáshoz vagy a dtexec parancssori segédprogram használatával történő csomagfuttatáshoz a felhasználónak meg kell adnia a csomag jelszavát. A jelszó nélkül a felhasználó nem tudja elérni vagy futtatni a csomagot.

A dtutil segédprogrammal együtt használva ez a védelmi szint a 3 értéknek felel meg.
Az összes titkosítása felhasználói kulccsal (EncryptAllWithUserKey) Az aktuális felhasználói profilon alapuló kulccsal titkosítja a teljes csomagot. Csak a csomagot létrehozó vagy exportáló felhasználó nyithatja meg a csomagot az SSIS Designerben, vagy futtathatja a csomagot a dtexec parancssori segédprogram használatával.

Ha a dtutil segédprogrammal használja, ez a védelmi szint a 4-es értéknek felel meg.

Megjegyzés: A felhasználói kulcsot használó védelmi szintek esetében az Integration Services DPAPI-szabványokat használ. A DPAPI-ról további információt az MSDN könyvtárban talál a https://msdn.microsoft.com/library.
Bizalmas titkosítás jelszóval (EncryptSensitiveWithPassword) Jelszóval csak a csomagban lévő bizalmas tulajdonságok értékeit titkosítja. Ehhez a titkosításhoz DPAPI-t használunk. A bizalmas adatok a csomag részeként lesznek mentve, de az adatok titkosítva lesznek egy jelszóval, amelyet az aktuális felhasználó a csomag létrehozásakor vagy exportálásakor biztosít. A csomag SSIS Designerben való megnyitásához a felhasználónak meg kell adnia a csomag jelszavát. Ha a jelszó nincs megadva, a csomag a bizalmas adatok nélkül nyílik meg, és az aktuális felhasználónak új értékeket kell megadnia a bizalmas adatokhoz. Ha a felhasználó jelszó megadása nélkül próbálja végrehajtani a csomagot, a csomag végrehajtása meghiúsul. További információ a jelszavakról és a parancssori végrehajtásról: dtexec Utility.

Ha a dtutil segédprogrammal használja, ez a védelmi szint a 2 értéknek felel meg.
Bizalmas titkosítás felhasználói kulccsal (EncryptSensitiveWithUserKey) Az aktuális felhasználói profilon alapuló kulccsal csak a csomag bizalmas tulajdonságainak értékeit titkosítja. A csomagot csak ugyanaz a felhasználó töltheti be, aki ugyanazt a profilt használja. Ha egy másik felhasználó megnyitja a csomagot, a bizalmas adatok üresek lesznek, és az aktuális felhasználónak új értékeket kell megadnia a bizalmas adatokhoz. Ha a felhasználó megpróbálja végrehajtani a csomagot, a csomag végrehajtása meghiúsul. Ehhez a titkosításhoz DPAPI-t használunk.

A dtutil segédprogrammal együtt használva ez a védelmi szint az 1 értéknek felel meg.

Megjegyzés: A felhasználói kulcsot használó védelmi szintek esetében az Integration Services DPAPI-szabványokat használ. A DPAPI-ról további információt az MSDN könyvtárban talál a https://msdn.microsoft.com/library.
Titkosításhoz használja a kiszolgálótárolót (ServerStorage) A teljes csomag védelme SQL Server-adatbázisszerepkörökkel. Ez a beállítás akkor támogatott, ha egy csomagot az SQL Server msdb adatbázisába mentik. Emellett az SSISDB-katalógus a ServerStorage védelmi szintet használja

Ez a beállítás nem támogatott, ha egy csomagot az SQL Server Data Tools (SSDT) rendszerből ment a fájlrendszerbe.

Védelmi szint beállítása és az SSISDB-katalógus

Az SSISDB-katalógus a ServerStorage védelmi szintet használja. Amikor integrációs szolgáltatási projektet helyez üzembe az Integration Services-kiszolgálón, a katalógus automatikusan titkosítja a csomagadatokat és a bizalmas értékeket. A katalógus a lekéréskor automatikusan visszafejti az adatokat.

Ha exportálja a projektet (.ispac fájlt) az Integration Services-kiszolgálóról a fájlrendszerbe, a rendszer automatikusan a védelmi szintet EncryptSensitiveWithUserKeyértékre módosítja. Ha az SQL Server Data Tools (SSDT) Integrációs szolgáltatások projekt importálása varázslóval importálja a projektet, a Tulajdonságok ablakban a ProtectionLevel tulajdonság a EncryptSensitiveWithUserKeyértékét jeleníti meg.

Védelmi szint beállítása a csomag életciklusa alapján

Az SQL Server Integration Services-csomagok védelmi szintjét az SQL Server Data Tools (SSDT) első fejlesztésekor állítja be. Később, amikor a csomagot üzembe helyezi, importálja vagy exportálja az SQL Server Management Studióban az Integration Services szolgáltatásból, vagy az SQL Server Data Tools (SSDT) eszközről az SQL Serverre, az SSIS csomagtárolóba vagy a fájlrendszerbe másolja, frissítheti a csomagvédelmi szintet. Ha például a felhasználókulcs védelmi szintjének egyik beállításával hoz létre és ment csomagokat a számítógépen, valószínűleg módosítania kell a védelmi szintet, amikor a csomagot más felhasználóknak adja át; ellenkező esetben nem tudják megnyitni a csomagot.

A védelmi szintet általában az alábbi lépésekben leírtak szerint módosíthatja:

  1. A fejlesztés során hagyja meg az alapértelmezett értékre állított csomagok védelmi szintjét, EncryptSensitiveWithUserKey. Ezzel a beállítással biztosítható, hogy csak a fejlesztő lát bizalmas értékeket a csomagban. Használhatja EncryptAllWithUserKeyvagy DontSaveSensitive.

  2. Ha ideje üzembe helyezni a csomagokat, a védelmi szintet olyanra kell módosítania, amely nem függ a fejlesztő felhasználói kulcsától. Ezért általában ki kell választania EncryptSensitiveWithPassword, vagy EncryptAllWithPassword. Titkosítsa a csomagokat egy ideiglenes erős jelszó hozzárendelésével, amely az éles környezetben az operatív csapat számára is ismert.

  3. Miután üzembe helyezték a csomagokat az éles környezetben, az operatív csapat újra titkosíthatja az üzembe helyezett csomagokat egy olyan erős jelszó hozzárendelésével, amely csak számukra ismert. Vagy titkosíthatják az üzembe helyezett csomagokat a EncryptSensitiveWithUserKey vagy EncryptAllWithUserKeykiválasztásával, valamint a csomagokat futtató fiók helyi hitelesítő adataival.

A csomagok védelmi szintjének beállítása vagy módosítása

A csomagok tartalmához és a bennük található bizalmas értékekhez( például jelszavakhoz) való hozzáférés szabályozásához állítsa be a ProtectionLevel tulajdonság értékét. A projektben található csomagoknak a projekttel megegyező védelmi szinttel kell rendelkezniük a projekt létrehozásához. Ha módosítja a projekt ProtectionLevel tulajdonságbeállítását, manuálisan kell frissítenie a csomagok tulajdonságbeállítását.

Az Integrációs szolgáltatások biztonsági funkcióinak áttekintéséért lásd: Biztonsági áttekintés (Integration Services).

A jelen témakör eljárásai azt ismertetik, hogyan módosíthatja az ProtectionLevel tulajdonságot az SQL Server Data Tools (SSDT) vagy a dtutil parancssori segédprogram használatával.

Jegyzet

A jelen témakör eljárásain kívül általában beállíthatja vagy módosíthatja a csomag ProtectionLevel tulajdonságát a csomag importálása vagy exportálása során. A csomag ProtectionLevel tulajdonságát is módosíthatja, ha az SQL Server Importálás és exportálás varázslóval ment egy csomagot.

Csomag védelmi szintjének beállítása vagy módosítása az SQL Server Data Toolsban

  1. Tekintse át a ProtectionLevel tulajdonság rendelkezésre álló értékeit a Védelmi szintekszakaszban, és határozza meg a csomag megfelelő értékét.

  2. Az SQL Server Data Tools (SSDT) alkalmazásban nyissa meg a csomagot tartalmazó Integration Services-projektet.

  3. Nyissa meg a csomagot az SSIS-tervezőben.

  4. Ha a Tulajdonságok ablak nem jeleníti meg a csomag tulajdonságait, kattintson a tervezőfelületre.

  5. A Tulajdonságok ablak Biztonsági csoportjában válassza ki a megfelelő értéket a ProtectionLevel tulajdonsághoz.

    Ha jelszót igénylő védelmi szintet választ, adja meg a jelszót a PackagePassword tulajdonság értékeként.

  6. A Fájl menüben válassza a Kijelölt elemek mentése lehetőséget a módosított csomag mentéséhez.

A csomagok védelmi szintjének beállítása vagy módosítása a parancssorban

  1. Tekintse át a ProtectionLevel tulajdonság rendelkezésre álló értékeit a Védelmi szintekszakaszban, és határozza meg a csomag megfelelő értékét.

  2. Tekintse át a témakör Titkosítás beállításának leképezéseit, dtutil utility, és határozza meg a megfelelő egész számot a kiválasztott ProtectionLevel tulajdonság értékeként.

  3. Nyisson meg egy parancssori ablakot.

  4. A parancssorban keresse meg azt a mappát, amely tartalmazza azokat a csomagokat vagy csomagokat, amelyekhez be szeretné állítani a ProtectionLevel tulajdonságot.

    Az alábbi lépésben látható szintaxisbeli példák feltételezik, hogy ez a mappa az aktuális mappa.

  5. Állítsa be vagy módosítsa a csomag vagy csomagok védelmi szintjét az alábbi példákhoz hasonló paranccsal:

    • Az alábbi parancs a fájlrendszerben lévő egyes csomagok ProtectionLevel tulajdonságát 2. szintűre állítja, "Bizalmas titkosítás jelszóval", a "strongpassword" jelszóval:

      dtutil.exe /file "C:\Package.dtsx" /encrypt file;"C:\Package.dtsx";2;strongpassword

    • Az alábbi parancs a fájlrendszer egy adott mappájában lévő összes csomag ProtectionLevel tulajdonságát a "Bizalmas titkosítás jelszóval" 2. szintre állítja a "strongpassword" jelszóval:

      for %f in (*.dtsx) do dtutil.exe /file %f /encrypt file;%f;2;strongpassword

      Ha egy kötegfájlban hasonló parancsot használ, a fájlban levő helyőrzőt "%f" alakban "%%f" formában adja meg a kötegfájlban.

Párbeszédpanel a csomagprojekt védelmi szintjéről

A Csomagvédelmi szint párbeszédpanelen frissítheti a csomagok védelmi szintjét. A védelmi szint határozza meg a védelmi módszert, a jelszót vagy a felhasználói kulcsot, valamint a csomagvédelem hatókörét. A védelem csak az összes adatot vagy bizalmas adatot tartalmazhatja.

A csomagbiztonság követelményeinek és beállításainak megismeréséhez hasznos lehet Biztonsági áttekintés (Integration Services)megtekintése.

Beállítások

csomagvédelmi szint
Válasszon egy védelmi szintet a listából.

jelszó
Ha a Bizalmas adatok titkosítása jelszóval vagy a Az összes adat titkosítása jelszóval védelmi szintet használja, írjon be egy jelszót.

jelszó újraírása
Írja be újra a jelszót.

Csomagjelszó párbeszédpanel

A Csomagjelszó párbeszédpanelt használja a jelszóval titkosított csomag jelszavának megadásához. Jelszót kell megadnia, ha a csomag a Bizalmas adatok titkosítása jelszóval vagy Mindegyik titkosítása jelszóval védelmi szintet használ.

Beállítások

jelszó
Adja meg a jelszót.

Lásd még:

Integration Services (SSIS) csomagok
Biztonsági áttekintés (Integrációs szolgáltatások)
dtutil segédprogram