Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
van toepassing op:SQL Server
SSIS Integration Runtime in Azure Data Factory
Beveiliging in SQL Server Integration Services bestaat uit verschillende lagen die een uitgebreide en flexibele beveiligingsomgeving bieden. Deze beveiligingslagen omvatten het gebruik van digitale handtekeningen, pakketeigenschappen, SQL Server-databaserollen en machtigingen voor het besturingssysteem. De meeste van deze beveiligingsfuncties vallen in de categorieën identiteits- en toegangsbeheer.
Bedreiging en Kwetsbaarheid Mitigatie
Hoewel Integration Services verschillende beveiligingsmechanismen bevat, kunnen pakketten en de bestanden die pakketten maken of gebruiken, worden misbruikt voor schadelijke doeleinden.
In de volgende tabel worden deze risico's en de proactieve stappen beschreven die u kunt nemen om de risico's te verminderen.
| Bedreiging of beveiligingsprobleem | Definitie | Mitigatie |
|---|---|---|
| Pakketbron | De bron van een pakket is de persoon of organisatie die het pakket heeft gemaakt. Het uitvoeren van een pakket vanuit een onbekende of niet-vertrouwde bron kan riskant zijn. | Identificeer de bron van een pakket met behulp van een digitale handtekening en voer pakketten uit die afkomstig zijn van alleen bekende, vertrouwde bronnen. Zie De bron van pakketten identificeren met digitale handtekeningen voor meer informatie. |
| Inhoud van pakket | Pakketinhoud bevat de elementen in het pakket en de bijbehorende eigenschappen. De eigenschappen kunnen gevoelige gegevens bevatten, zoals een wachtwoord of een verbindingsreeks. Pakketelementen zoals een SQL-instructie kunnen de structuur van uw database onthullen. | Beheer de toegang tot een pakket en de inhoud door de volgende stappen uit te voeren: 1) Als u de toegang tot het pakket zelf wilt beheren, past u SQL Server-beveiligingsfuncties toe op pakketten die zijn opgeslagen in de msdb-database in een exemplaar van SQL Server. Voor pakketten die zijn opgeslagen in het bestandssysteem, past u beveiligingsfuncties van het bestandssysteem toe, zoals toegangsbeheerlijsten (ACL's). 2) Als u de toegang tot de inhoud van het pakket wilt beheren, stelt u het beveiligingsniveau van het pakket in. Zie Beveiligingsoverzicht (Integration Services) en toegangsbeheer voor gevoelige gegevens in pakketten voor meer informatie. |
| Pakketuitvoer | Wanneer u een pakket configureert voor het gebruik van configuraties, controlepunten en logboekregistratie, slaat het pakket deze informatie buiten het pakket op. De informatie die buiten het pakket wordt opgeslagen, kan gevoelige gegevens bevatten. | Gebruik sql Server-beveiligingsfuncties om configuraties en logboeken te beveiligen die door het pakket worden opgeslagen in SQL Server-databasetabellen. Als u de toegang tot bestanden wilt beheren, gebruikt u de toegangsbeheerlijsten (ACL's) die beschikbaar zijn in het bestandssysteem. Zie Toegang tot bestanden die worden gebruikt door pakketten voor meer informatie |
Identiteitskenmerken
Door identiteitsfuncties in uw pakketten te implementeren, kunt u het volgende doel bereiken:
Zorg ervoor dat u alleen pakketten opent en uitvoert vanuit vertrouwde bronnen.
Om ervoor te zorgen dat u alleen pakketten opent en uitvoert vanuit vertrouwde bronnen, moet u eerst de bron van pakketten identificeren. U kunt de bron identificeren door pakketten te ondertekenen met certificaten. Wanneer u de pakketten vervolgens opent of uitvoert, kunt u integration services laten controleren op de aanwezigheid en geldigheid van de digitale handtekeningen. Zie De bron van pakketten identificeren met digitale handtekeningen voor meer informatie.
Functies voor toegangsbeheer
Door identiteitsfuncties in uw pakketten te implementeren, kunt u het volgende doel bereiken:
Zorg ervoor dat alleen geautoriseerde gebruikers pakketten openen en uitvoeren.
Om ervoor te zorgen dat alleen geautoriseerde gebruikers pakketten openen en uitvoeren, moet u de toegang tot de volgende informatie beheren:
De toegang tot de inhoud van pakketten beheren, met name gevoelige gegevens.
Beheer de toegang tot pakketten en pakketconfiguraties die zijn opgeslagen in SQL Server.
Beheer de toegang tot pakketten en gerelateerde bestanden, zoals configuraties, logboeken en controlepuntbestanden die zijn opgeslagen in het bestandssysteem.
Beheer de toegang tot de Integration Services-service en de informatie over pakketten die de service weergeeft in SQL Server Management Studio.
Toegang tot de inhoud van pakketten beheren
Als u de toegang tot de inhoud van een pakket wilt beperken, kunt u pakketten versleutelen door de eigenschap ProtectionLevel van het pakket in te stellen. U kunt deze eigenschap instellen op het beveiligingsniveau dat uw pakket nodig heeft. In een teamontwikkelingsomgeving kunt u bijvoorbeeld een pakket versleutelen met behulp van een wachtwoord dat alleen bekend is bij de teamleden die aan het pakket werken.
Wanneer u de eigenschap ProtectionLevel van een pakket instelt, detecteert Integration Services automatisch gevoelige eigenschappen en verwerkt deze eigenschappen op basis van het opgegeven pakketbeveiligingsniveau. U stelt bijvoorbeeld de eigenschap ProtectionLevel voor een pakket in op een niveau dat gevoelige informatie versleutelt met een wachtwoord. Voor dit pakket versleutelt Integration Services automatisch de waarden van alle gevoelige eigenschappen en worden de bijbehorende gegevens niet weergegeven zonder dat het juiste wachtwoord wordt opgegeven.
Integration Services identificeert eigenschappen als gevoelig als deze eigenschappen informatie bevatten, zoals een wachtwoord of een verbindingsreeks, of als deze eigenschappen overeenkomen met variabelen of door taken gegenereerde XML-knooppunten. Of Integration Services een eigenschapsgevoelig beschouwt, is afhankelijk van of de ontwikkelaar van het Integration Services-onderdeel, zoals een verbindingsbeheerder of -taak, de eigenschap als gevoelig heeft aangewezen. Gebruikers kunnen geen eigenschappen toevoegen aan, noch kunnen ze eigenschappen verwijderen uit de lijst met eigenschappen die als gevoelig worden beschouwd. Als u aangepaste taken, verbindingsmanagers of gegevensstroomonderdelen schrijft, kunt u opgeven welke eigenschappen Integration Services als gevoelig moeten worden behandeld.
Zie toegangsbeheer voor gevoelige gegevens in pakkettenvoor meer informatie.
Toegang tot pakketten beheren
U kunt Integration Services-pakketten opslaan in de msdb-database in een exemplaar van SQL Server of in het bestandssysteem als XML-bestanden met de extensie .dtsx. Zie Save Packages voor meer informatie.
Pakketten opslaan in de msdb-database
Als u de pakketten opslaat in de msdb-database, kunt u beveiliging bieden op server-, database- en tabelniveau. In de msdb-database worden Integration Services-pakketten opgeslagen in de tabel sysssispackages. Omdat de pakketten worden opgeslagen in de tabellen sysssispackages en sysdtspackages in de msdb-database, wordt er automatisch een back-up van de pakketten gemaakt wanneer u een back-up maakt van de msdb-database.
SQL Server-pakketten die zijn opgeslagen in de msdb-database kunnen ook worden beveiligd door de rollen op databaseniveau van Integration Services toe te passen. Integration Services bevat drie rollen op databaseniveau db_ssisadmin, db_ssisltduser en db_ssisoperator voor het beheren van de toegang tot pakketten. Een lezer en een schrijverrol kunnen aan elk pakket worden gekoppeld. U kunt ook aangepaste rollen op databaseniveau definiëren voor gebruik in Integration Services-pakketten. Rollen kunnen alleen worden geïmplementeerd op pakketten die zijn opgeslagen in de msdb-database in een exemplaar van SQL Server. Zie Integration Services Roles (SSIS Service) voor meer informatie.
Pakketten opslaan in het bestandssysteem
Als u pakketten opslaat in het bestandssysteem in plaats van in de msdb-database, moet u ervoor zorgen dat u de pakketbestanden en de mappen met pakketbestanden beveiligt.
Toegang tot bestanden beheren die worden gebruikt door pakketten
Pakketten die zijn geconfigureerd voor het gebruik van configuraties, controlepunten en logboekregistratie genereren informatie die buiten het pakket is opgeslagen. Deze informatie kan gevoelig zijn en moet worden beveiligd. Controlepuntbestanden kunnen alleen worden opgeslagen in het bestandssysteem, maar configuraties en logboeken kunnen worden opgeslagen in het bestandssysteem of in tabellen in een SQL Server-database. Configuraties en logboeken die worden opgeslagen in SQL Server, zijn onderhevig aan SQL Server-beveiliging, maar informatie die naar het bestandssysteem wordt geschreven, vereist extra beveiliging.
Zie Toegang tot bestanden die worden gebruikt door pakketten voor meer informatie.
Pakketconfiguraties veilig opslaan
Pakketconfiguraties kunnen worden opgeslagen in een tabel in een SQL Server-database of in het bestandssysteem.
Configuraties kunnen worden opgeslagen in elke SQL Server-database, niet alleen de msdb-database. U kunt dus opgeven welke database fungeert als de opslagplaats van pakketconfiguraties. U kunt ook de naam opgeven van de tabel die de configuraties bevat en Integration Services maakt automatisch de tabel met de juiste structuur. Als u de configuraties opslaat in een tabel, kunt u beveiliging bieden op server-, database- en tabelniveau. Bovendien worden configuraties die in SQL Server worden opgeslagen, automatisch geback-upt wanneer u de database back-upt.
Als u configuraties opslaat in het bestandssysteem in plaats van in SQL Server, moet u ervoor zorgen dat u de mappen beveiligt die de pakketconfiguratiebestanden bevatten.
Zie Pakketconfiguraties voor meer informatie over configuraties.
Toegang tot de Integration Services-service beheren
SQL Server Management Studio maakt gebruik van de SQL Server-service om opgeslagen pakketten weer te geven. Als u wilt voorkomen dat onbevoegde gebruikers informatie bekijken over pakketten die zijn opgeslagen op lokale en externe computers en zo persoonlijke gegevens leren, beperkt u de toegang tot computers waarop de SQL Server-service wordt uitgevoerd.
Zie Toegang tot de Integration Services-service voor meer informatie.
Toegang tot bestanden die worden gebruikt door pakketten
Het pakketbeveiligingsniveau beveiligt geen bestanden die buiten het pakket zijn opgeslagen. Deze bestanden omvatten het volgende:
Configuratiebestanden
Controlepuntbestanden
Logboekbestanden
Deze bestanden moeten afzonderlijk worden beveiligd, met name als ze gevoelige informatie bevatten.
Configuratiebestanden
Als u gevoelige informatie in een configuratie hebt, zoals aanmeldings- en wachtwoordgegevens, kunt u overwegen de configuratie op te slaan in SQL Server of een toegangsbeheerlijst (ACL) te gebruiken om de toegang tot de locatie of map waar u de bestanden opslaat te beperken en alleen toegang tot bepaalde accounts toe te staan. Normaal gesproken verleent u toegang tot de accounts die u toestaat om pakketten uit te voeren, en aan de accounts die pakketten beheren en problemen oplossen, waaronder het controleren van de inhoud van configuratie-, controlepunt- en logboekbestanden. SQL Server biedt de veiligere opslag, omdat deze beveiliging biedt op server- en databaseniveau. Als u configuraties wilt opslaan in SQL Server, gebruikt u het configuratietype SQL Server. Als u wilt opslaan in het bestandssysteem, gebruikt u het XML-configuratietype.
Zie Pakketconfiguraties, Pakketconfiguraties maken en Beveiligingsoverwegingen voor een SQL Server-installatie voor meer informatie.
Controlepuntbestanden
Als het controlepuntbestand dat door het pakket wordt gebruikt gevoelige informatie bevat, moet u ook een toegangsbeheerlijst (ACL) gebruiken om de locatie of map waar u het bestand opslaat te beveiligen. Controlepuntbestanden slaan de huidige statusinformatie op over de voortgang van het pakket en de huidige waarden van variabelen. Het pakket kan bijvoorbeeld een aangepaste variabele bevatten die een telefoonnummer bevat. Zie Pakketten opnieuw opstarten met behulp van controlepuntenvoor meer informatie.
Logboekbestanden
Logboekvermeldingen die naar het bestandssysteem worden geschreven, moeten ook worden beveiligd met behulp van een ACL (Access Control List). Logboekvermeldingen kunnen ook worden opgeslagen in SQL Server-tabellen en worden beveiligd door SQL Server-beveiliging. Logboekvermeldingen kunnen gevoelige informatie bevatten, bijvoorbeeld als het pakket een SQL-taak uitvoeren bevat waarmee een SQL-instructie wordt samengesteld die verwijst naar een telefoonnummer, bevat de logboekvermelding voor de SQL-instructie het telefoonnummer. De SQL-instructie bevat mogelijk ook persoonlijke informatie over tabel- en kolomnamen in databases. Zie Integration Services (SSIS) Loggingvoor meer informatie.
Toegang tot de Integration Services-service
Met pakketbeveiligingsniveaus kunt u beperken wie een pakket mag bewerken en uitvoeren. Er is extra beveiliging nodig om te beperken wie de lijst met pakketten kan bekijken die momenteel worden uitgevoerd op een server en wie kan stoppen met het uitvoeren van pakketten in SQL Server Management Studio.
SQL Server Management Studio maakt gebruik van de SQL Server-service om actieve pakketten weer te geven. Leden van de groep Windows-beheerders kunnen alle actieve pakketten bekijken en stoppen. Gebruikers die geen lid zijn van de groep Administrators kunnen alleen pakketten bekijken en stoppen die ze hebben gestart.
Het is belangrijk om de toegang tot computers met een SQL Server-service te beperken, met name een SQL Server-service die externe mappen kan inventariseren. Elke geverifieerde gebruiker kan de opsomming van pakketten aanvragen. Zelfs als de service de service niet vindt, worden mappen door de service opgesomd. Deze mapnamen kunnen nuttig zijn voor een kwaadwillende gebruiker. Als een beheerder de service heeft geconfigureerd voor het inventariseren van mappen op een externe computer, kunnen gebruikers mogelijk ook mapnamen zien die ze normaal gesproken niet kunnen zien.
Gerelateerde taken
De volgende lijst bevat koppelingen naar onderwerpen die laten zien hoe u een bepaalde taak uitvoert die betrekking heeft op de beveiliging.