|
1 | 1 | --- |
2 | | -title: Azure database security checklist| Microsoft Docs |
3 | | -description: Use the Azure database security checklist to make sure that you address important cloud computing security issues. |
| 2 | +title: Azure database security checklist |
| 3 | +description: Use the Azure database security checklist to ensure you address important cloud database security controls for Azure SQL Database and Azure SQL Managed Instance. |
4 | 4 | services: security |
5 | 5 | author: msmbaldwin |
6 | | -manager: rkarlin |
7 | 6 |
|
8 | 7 | ms.service: security |
9 | 8 | ms.subservice: security-fundamentals |
10 | 9 | ms.topic: article |
11 | | -ms.date: 09/29/2024 |
| 10 | +ms.date: 11/04/2025 |
12 | 11 | ms.author: mbaldwin |
13 | 12 | --- |
14 | 13 |
|
15 | 14 | # Azure database security checklist |
16 | 15 |
|
17 | | -To help improve security, Azure Database includes many built-in security controls that you can use to limit and control access. |
| 16 | +To help improve security, Azure SQL Database and Azure SQL Managed Instance include built-in security controls that you can use to limit and control access, protect data, and monitor threats. |
18 | 17 |
|
19 | 18 | Security controls include: |
20 | 19 |
|
21 | | -* A firewall that enables you to create [firewall rules](/azure/azure-sql/database/firewall-configure) limiting connectivity by IP address, |
22 | | -* Server-level firewall accessible from the Azure portal |
23 | | -* Database-level firewall rules accessible from SSMS |
24 | | -* Secure connectivity to your database using secure connection strings |
25 | | -* Use access management |
26 | | -* Data encryption |
27 | | -* SQL Database auditing |
28 | | -* SQL Database threat detection |
| 20 | +* Firewall rules limiting connectivity by IP address and virtual network |
| 21 | +* Microsoft Entra authentication for centralized identity management |
| 22 | +* Secure connectivity using TLS encryption |
| 23 | +* Access management and authorization |
| 24 | +* Data encryption at rest and in transit |
| 25 | +* Database auditing and threat detection |
| 26 | +* Advanced data security features |
29 | 27 |
|
30 | 28 | ## Introduction |
31 | | -Cloud computing requires new security paradigms that are unfamiliar to many application users, database administrators, and programmers. As a result, some organizations are hesitant to implement a cloud infrastructure for data management due to perceived security risks. However, much of this concern can be alleviated through a better understanding of the security features built into Microsoft Azure and Microsoft Azure SQL Database. |
| 29 | + |
| 30 | +Cloud computing requires new security paradigms that may be unfamiliar to many application users, database administrators, and programmers. Organizations can leverage Azure SQL's comprehensive security features to protect sensitive data and meet regulatory compliance requirements. |
32 | 31 |
|
33 | 32 | ## Checklist |
34 | | -We recommend that you read the [Azure Database Security Best Practices](/azure/azure-sql/database/security-best-practice) article prior to reviewing this checklist. You'll be able to get the most out of this checklist after you understand the best practices. You can then use this checklist to make sure that you've addressed the important issues in Azure database security. |
35 | 33 |
|
| 34 | +We recommend that you read the [Azure SQL Database security best practices](/azure/azure-sql/database/security-best-practice) article before reviewing this checklist. Understanding the best practices will help you get the most value from this checklist. Use this checklist to verify that you've addressed the important security controls in Azure database security. |
36 | 35 |
|
37 | 36 | |Checklist Category| Description| |
38 | 37 | | ------------ | -------- | |
39 | 38 | |**Protect Data**|| |
40 | | -| <br> Encryption in Motion/Transit| <ul><li>[Transport Layer Security](/windows-server/security/tls/transport-layer-security-protocol), for data encryption when data is moving to the networks.</li><li>Database requires secure communication from clients based on the [TDS(Tabular Data Stream)](/openspecs/windows_protocols/ms-tds/893fcc7e-8a39-4b3c-815a-773b7b982c50) protocol over TLS (Transport Layer Security).</li></ul> | |
41 | | -|<br>Encryption at rest| <ul><li>[Transparent Data Encryption](/azure/azure-sql/database/transparent-data-encryption-tde-overview), when inactive data is stored physically in any digital form.</li></ul>| |
| 39 | +| <br> Encryption in transit| <ul><li>[Transport Layer Security (TLS)](/windows-server/security/tls/transport-layer-security-protocol) encrypts data in motion between clients and databases. Azure SQL requires TLS 1.2 or higher for secure connections.</li><li>Database requires secure communication from clients based on the TDS (Tabular Data Stream) protocol over TLS.</li></ul> | |
| 40 | +|<br>Encryption at rest| <ul><li>[Transparent Data Encryption (TDE)](/azure/azure-sql/database/transparent-data-encryption-tde-overview) encrypts data and log files at rest. TDE is enabled by default on all new Azure SQL databases.</li><li>[Bring Your Own Key (BYOK)](/azure/azure-sql/database/transparent-data-encryption-byok-overview) allows you to manage TDE encryption keys in Azure Key Vault.</li></ul>| |
| 41 | +|<br>Encryption in use| <ul><li>[Always Encrypted](/sql/relational-databases/security/encryption/always-encrypted-database-engine) protects sensitive data by encrypting it within client applications. Encryption keys never reach the database engine, ensuring separation between data owners and data managers.</li><li>[Column-Level Encryption (CLE)](/sql/relational-databases/security/encryption/encrypt-a-column-of-data) encrypts specific columns using symmetric encryption for additional protection of sensitive data.</li></ul>| |
42 | 42 | |**Control Access**|| |
43 | | -|<br> Database Access | <ul><li>[Authentication](/azure/azure-sql/database/logins-create-manage) (Microsoft Entra authentication) AD authentication uses identities managed by Microsoft Entra ID.</li><li>[Authorization](/azure/azure-sql/database/logins-create-manage) grant users the least privileges necessary.</li></ul> | |
44 | | -|<br>Application Access| <ul><li>[Row level Security](/sql/relational-databases/security/row-level-security) (Using Security Policy, at the same time restricting row-level access based on a user's identity,role, or execution context).</li><li>[Dynamic Data Masking](/azure/azure-sql/database/dynamic-data-masking-overview) (Using Permission & Policy, limits sensitive data exposure by masking it to non-privileged users)</li></ul>| |
| 43 | +|<br> Database access | <ul><li>[Microsoft Entra authentication](/azure/azure-sql/database/authentication-aad-overview) provides centralized identity management with single sign-on (SSO) capabilities.</li><li>[SQL authentication](/sql/relational-databases/security/choose-an-authentication-mode) with strong passwords provides an alternative authentication method.</li><li>[Authorization](/azure/azure-sql/database/logins-create-manage) grants users the minimum privileges necessary using role-based access control.</li></ul> | |
| 44 | +|<br>Network access control| <ul><li>[Server-level IP firewall rules](/azure/azure-sql/database/firewall-configure) restrict access based on originating IP addresses.</li><li>[Database-level IP firewall rules](/azure/azure-sql/database/firewall-configure) provide granular access control per database.</li><li>[Virtual Network service endpoints](/azure/azure-sql/database/vnet-service-endpoint-rule-overview) allow connectivity from specific Azure virtual networks.</li><li>[Private Link](/azure/azure-sql/database/private-endpoint-overview) provides private connectivity to Azure SQL Database using a private IP address within your virtual network.</li></ul>| |
| 45 | +|<br>Application access control| <ul><li>[Row-Level Security (RLS)](/sql/relational-databases/security/row-level-security) restricts row-level access based on a user's identity, role, or execution context.</li><li>[Dynamic Data Masking](/azure/azure-sql/database/dynamic-data-masking-overview) limits sensitive data exposure by masking it to non-privileged users without changing the underlying data.</li><li>[Data Discovery and Classification](/azure/azure-sql/database/data-discovery-and-classification-overview) identifies, classifies, and labels sensitive data for improved protection and compliance.</li></ul>| |
45 | 46 | |**Proactive Monitoring**|| |
46 | | -| <br>Tracking & Detecting| <ul><li>[Auditing](/azure/azure-sql/database/auditing-overview) tracks database events and writes them to an Audit log/ Activity log in your [Azure Storage account](../../storage/common/storage-account-create.md).</li><li>Track Azure Database health using [Azure Monitor Activity Logs](/azure/azure-monitor/essentials/platform-logs-overview).</li><li>[Threat Detection](/azure/azure-sql/database/threat-detection-configure) detects anomalous database activities indicating potential security threats to the database. </li></ul> | |
47 | | -|<br>Microsoft Defender for Cloud| <ul><li>[Data Monitoring](../../security-center/security-center-remediate-recommendations.md) Use Microsoft Defender for Cloud as a centralized security monitoring solution for SQL and other Azure services.</li></ul>| |
| 47 | +| <br>Auditing and detection| <ul><li>[Auditing](/azure/azure-sql/database/auditing-overview) tracks database events and writes them to an audit log in your Azure Storage account, Log Analytics workspace, or Event Hubs.</li><li>Track Azure SQL Database health using [Azure Monitor](/azure/azure-monitor/essentials/platform-logs-overview) and diagnostic settings.</li><li>[Microsoft Defender for SQL](/azure/defender-for-cloud/defender-for-sql-introduction) detects anomalous database activities indicating potential security threats including SQL injection, brute-force attacks, and vulnerability exploits.</li></ul> | |
| 48 | +|<br>Vulnerability assessment| <ul><li>[Vulnerability Assessment](/azure/azure-sql/database/sql-vulnerability-assessment) discovers, tracks, and helps remediate potential database vulnerabilities.</li><li>Provides actionable security recommendations and risk reports for compliance.</li></ul>| |
| 49 | +|<br>Centralized security management| <ul><li>[Microsoft Defender for Cloud](/azure/defender-for-cloud/defender-for-cloud-introduction) provides centralized security monitoring and management for Azure SQL Database and other Azure services.</li><li>Security recommendations based on the [Microsoft cloud security benchmark](/security/benchmark/azure/introduction).</li></ul>| |
| 50 | +|**Data Integrity**|| |
| 51 | +|<br>Ledger capability| <ul><li>[Ledger](/sql/relational-databases/security/ledger/ledger-overview) provides tamper-evident capabilities by creating an immutable record of database transactions.</li><li>Helps meet compliance requirements for data integrity verification.</li></ul>| |
48 | 52 |
|
49 | 53 | ## Conclusion |
50 | | -Azure Database is a robust database platform, with a full range of security features that meet many organizational and regulatory compliance requirements. You can easily protect data by controlling the physical access to your data, and using various options for data security at the file-, column-, or row-level with Transparent Data Encryption, Cell-Level Encryption, or Row-Level Security. Always Encrypted also enables operations against encrypted data, simplifying the process of application updates. In turn, access to auditing logs of SQL Database activity provides you with the information you need, allowing you to know how and when data is accessed. |
| 54 | + |
| 55 | +Azure SQL Database and Azure SQL Managed Instance provide robust database platforms with comprehensive security features meeting organizational and regulatory compliance requirements. You can protect data throughout its lifecycle—at rest, in transit, and in use—using Transparent Data Encryption, Always Encrypted, and TLS. Fine-grained access controls including Row-Level Security, Dynamic Data Masking, and Microsoft Entra authentication ensure only authorized users access sensitive data. Continuous monitoring through auditing, Microsoft Defender for SQL, and Vulnerability Assessment helps identify and remediate security threats proactively. |
51 | 56 |
|
52 | 57 | ## Next steps |
53 | | -You can improve the protection of your database against malicious users or unauthorized access with just a few simple steps. In this tutorial you learn to: |
54 | 58 |
|
55 | | -* Set up [firewall rules](/azure/azure-sql/database/firewall-configure) for your server and or database. |
56 | | -* Protect your data with [encryption](/sql/relational-databases/security/encryption/sql-server-encryption). |
57 | | -* Enable [SQL Database auditing](/azure/azure-sql/database/auditing-overview). |
| 59 | +You can improve the protection of your database against malicious users or unauthorized access with a few simple steps: |
| 60 | + |
| 61 | +* Configure [firewall rules](/azure/azure-sql/database/firewall-configure) for your server and databases |
| 62 | +* Protect your data with [encryption](/sql/relational-databases/security/encryption/sql-server-encryption) |
| 63 | +* Enable [SQL Database auditing](/azure/azure-sql/database/auditing-overview) |
| 64 | +* Enable [Microsoft Defender for SQL](/azure/defender-for-cloud/defender-for-sql-introduction) for threat detection |
| 65 | +* Review [security best practices](/azure/azure-sql/database/security-best-practice) |
0 commit comments