Een toegewezen SQL-pool (voorheen SQL DW) beveiligen in Azure Synapse Analytics

In dit artikel worden de basisbeginselen beschreven van het beveiligen van uw toegewezen SQL-pool (voorheen SQL DW). In dit artikel wordt u met name aan de slag gegaan met resources voor het beperken van de toegang, het beveiligen van gegevens en het bewaken van activiteiten met behulp van een toegewezen SQL-pool (voorheen SQL DW).

Verbindingsbeveiliging

Verbindingsbeveiliging verwijst naar de manier waarop u verbindingen met uw database beperkt en beveiligt met behulp van firewallregels en verbindingsversleuteling.

Firewallregels worden gebruikt door zowel de logische SQL-server als de bijbehorende databases om verbindingspogingen te weigeren van IP-adressen die niet expliciet zijn goedgekeurd. Als u verbindingen wilt toestaan vanaf het openbare IP-adres van uw toepassing of clientcomputer, moet u eerst een firewallregel op serverniveau maken met behulp van de Azure-portal, REST API of PowerShell.

Als best practice moet u de IP-adresbereiken beperken die zijn toegestaan via uw firewall op serverniveau, zo veel mogelijk. Als u toegang wilt krijgen tot uw toegewezen SQL-pool (voorheen SQL DW) vanaf uw lokale computer, moet u ervoor zorgen dat de firewall op uw netwerk en lokale computer uitgaande communicatie op TCP-poort 1433 toestaat.

Toegewezen SQL-pool (voorheen SQL DW) maakt gebruik van IP-firewallregels op serverniveau. Ip-firewallregels op databaseniveau worden niet ondersteund. Zie Azure SQL Database-firewallregels voor meer informatie

Verbinding maken ions naar uw toegewezen SQL-pool (voorheen SQL DW) worden standaard versleuteld. Het wijzigen van de verbindingsinstellingen om versleuteling uit te schakelen, wordt genegeerd.

Verificatie

Verificatie verwijst naar hoe u uw identiteit bewijst bij het maken van verbinding met de database. Toegewezen SQL-pool (voorheen SQL DW) ondersteunt momenteel SQL Server-verificatie met een gebruikersnaam en wachtwoord en met Microsoft Entra-id.

Toen u de server voor uw database hebt gemaakt, hebt u een 'serverbeheerder'-aanmelding met een gebruikersnaam en wachtwoord opgegeven. Met deze referenties kunt u zich verifiëren bij elke database op die server als database-eigenaar of 'dbo' via SQL Server-verificatie.

Als best practice moeten de gebruikers van uw organisatie echter een ander account gebruiken om te verifiëren. Op deze manier kunt u de machtigingen beperken die aan de toepassing worden verleend en de risico's van schadelijke activiteiten verminderen als uw toepassingscode kwetsbaar is voor een SQL-injectieaanval.

Als u een geverifieerde SQL Server-gebruiker wilt maken, maakt u verbinding met de hoofddatabase op uw server met de aanmeldgegevens van de serverbeheerder en maakt u een nieuwe serveraanmelding. Het is een goed idee om ook een gebruiker te maken in de hoofddatabase. Als u een gebruiker in de master maakt, kan een gebruiker zich aanmelden met hulpprogramma's zoals SSMS zonder een databasenaam op te geven. Hiermee kunnen ze ook de objectverkenner gebruiken om alle databases op een server weer te geven.

-- Connect to master database and create a login
CREATE LOGIN ApplicationLogin WITH PASSWORD = 'Str0ng_password';
CREATE USER ApplicationUser FOR LOGIN ApplicationLogin;

Maak vervolgens verbinding met uw toegewezen SQL-pool (voorheen SQL DW) met de aanmelding van uw serverbeheerder en maak een databasegebruiker op basis van de serveraanmelding die u hebt gemaakt.

-- Connect to the database and create a database user
CREATE USER ApplicationUser FOR LOGIN ApplicationLogin;

Als u een gebruiker toestemming wilt geven om aanvullende bewerkingen uit te voeren, zoals het maken van aanmeldingen of het maken van nieuwe databases, wijst u de gebruiker toe aan de Loginmanager en dbmanager rollen in de hoofddatabase.

Zie Databases en aanmeldingen beheren in Azure SQL Database voor meer informatie over deze aanvullende rollen en verificatie bij een SQL Database. Zie Verbinding maken ing met behulp van Microsoft Entra-verificatie voor meer informatie over het maken van verbinding met behulp van Microsoft Entra-id.

Autorisatie

Autorisatie verwijst naar wat u in een database kunt doen zodra u bent geverifieerd en verbonden. Autorisatiebevoegdheden worden bepaald door rollidmaatschappen en machtigingen. Het wordt aanbevolen om gebruikers de minimaal benodigde bevoegdheden te verlenen. Als u rollen wilt beheren, kunt u de volgende opgeslagen procedures gebruiken:

EXEC sp_addrolemember 'db_datareader', 'ApplicationUser'; -- allows ApplicationUser to read data
EXEC sp_addrolemember 'db_datawriter', 'ApplicationUser'; -- allows ApplicationUser to write data

Het serverbeheerdersaccount waarmee u verbinding maakt is lid van db_owner, die geautoriseerd is om alle bewerkingen binnen de database uit te voeren. Gebruik dit account voor het implementeren van schema-updates en andere beheerbewerkingen. Gebruik het 'ApplicationUser'-account met beperktere machtigingen om vanuit van uw toepassing verbinding te maken met de database met de minste bevoegdheden die nodig zijn voor uw toepassing.

Er zijn manieren om verder te beperken wat een gebruiker in de database kan doen:

  • Met gedetailleerde machtigingen kunt u bepalen welke bewerkingen u kunt uitvoeren voor afzonderlijke kolommen, tabellen, weergaven, schema's, procedures en andere objecten in de database. Gebruik gedetailleerde machtigingen om de meeste controle te hebben en de minimale machtigingen te verlenen die nodig zijn.
  • Andere databaserollen dan db_datareader en db_datawriter kunnen worden gebruikt om krachtigere gebruikersaccounts voor toepassingen of minder krachtige beheeraccounts te maken. De ingebouwde vaste databaserollen bieden een eenvoudige manier om machtigingen te verlenen, maar kunnen ertoe leiden dat er meer machtigingen worden verleend dan nodig is.
  • Opgeslagen procedures kunnen worden gebruikt om de acties die op de database kunnen worden uitgevoerd te beperken.

In het volgende voorbeeld verleent u leestoegang tot een door de gebruiker gedefinieerd schema.

--CREATE SCHEMA Test
GRANT SELECT ON SCHEMA::Test to ApplicationUser

Het beheren van databases en servers vanuit Azure Portal of het gebruik van de Azure Resource Manager-API wordt beheerd door de roltoewijzingen van uw portalgebruikersaccount. Zie voor meer informatie Azure-rollen toewijzen met behulp van de Azure-portal.

Versleuteling

Transparent Data Encryption (TDE) helpt u te beschermen tegen de bedreiging van schadelijke activiteiten door uw data-at-rest te versleutelen en ontsleutelen. Wanneer u uw database versleutelt, worden gekoppelde back-ups en transactielogboekbestanden versleuteld zonder dat er wijzigingen in uw toepassingen nodig zijn. TDE versleutelt de opslag van een hele database met behulp van een symmetrische sleutel (de zogenaamde databaseversleutelingssleutel).

In SQL Database wordt de versleutelingssleutel van de database beveiligd met een ingebouwd servercertificaat. Het ingebouwde servercertificaat is uniek voor elke server. Microsoft draait deze certificaten automatisch om de 90 dagen. Het gebruikte versleutelingsalgoritmen zijn AES-256. Zie Transparent Data Encryption voor een algemene beschrijving van TDE.

U kunt uw database versleutelen met behulp van Azure Portal of T-SQL.

Volgende stappen

Zie Verbinding maken naar een toegewezen SQL-pool (voorheen SQL DW) voor meer informatie en voorbeelden over het maken van verbinding met uw magazijn met verschillende protocollen.