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.
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 hoe 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
Verbindingen met uw toegewezen SQL-pool (voorheen SQL DW) worden standaard versleuteld. Het wijzigen van de verbindingsinstellingen om versleuteling uit te schakelen, wordt genegeerd.
Authenticatie
Verificatie verwijst naar hoe u uw identiteit bewijst wanneer u verbinding maakt 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 inloggegevens kunt u zich authenticeren 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 met behulp van Microsoft Entra-verificatie voor meer informatie over het maken van verbinding via Microsoft Entra-id.
Machtiging
Autorisatie verwijst naar wat u in een database kunt doen zodra u bent geverifieerd en verbonden. Autorisatiebevoegdheden worden bepaald door rollen en machtigingen. Als best practice moet u gebruikers de minste bevoegdheden verlenen die nodig zijn. 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 bevoegd is om iets in de database te doen. Sla dit account op voor het implementeren van schema-upgrades en andere beheerbewerkingen. Gebruik het account ApplicationUser met beperktere machtigingen om vanuit 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 te beperken die in de database kunnen worden uitgevoerd.
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.
Encryptie
Transparent Data Encryption (TDE) helpt u te beschermen tegen de bedreiging van kwaadaardige activiteiten door uw data in rust 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 databaseversleutelingssleutel genoemd.
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 ten minste 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 met een toegewezen SQL-pool (voorheen SQL DW) voor meer informatie en voorbeelden over het maken van verbinding met uw magazijn met verschillende protocollen.