SQL Server 数据库引擎和 Azure SQL 数据库的安全

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例Azure Synapse AnalyticsAnalytics Platform System (PDW)

本页提供的链接可帮助你找到有关 SQL Server 数据库引擎和 Azure SQL 数据库中的安全性和保护的必要信息。

图例

Screenshot of the legend that explains the feature availability icons.

身份验证:你是谁?

功能 链接
谁进行身份验证?

Windows 身份验证

SQL Server 身份验证

Microsoft Entra ID(以前称为 Azure Active Directory
谁进行身份验证? (Windows 或 SQL Server)

选择身份验证模式

使用 Microsoft Entra 身份验证连接到 Azure SQL
在哪里进行身份验证?

在 master 数据库:登录名和 DB 用户

在用户数据库:包含的 DB 用户
在 master 数据库进行身份验证(登录名和数据库用户)

创建 SQL Server 登录名

在 Azure SQL 数据库中管理数据库和登录名

创建数据库用户



在用户数据库进行身份验证

包含的数据库用户 - 使数据库可移植
使用其他标识

凭据

以其他登录身份执行

以其他数据库用户身份执行
凭据(数据库引擎)

作为另一个登录名执行

作为另一个数据库用户执行

授权:你可以做什么?

功能 链接。
授予、撤消和拒绝权限

安全对象类

具体服务器权限

具体数据库权限
权限层次结构(数据库引擎)

权限

安全对象

数据库引擎权限入门
按角色分类的安全性

服务器级别角色

数据库级别角色
服务器级别角色

数据库级别的角色
限制对所选数据元素的数据访问

使用视图/过程限制数据访问

行级安全性

动态数据掩码

签名的对象
使用 视图过程限制数据访问

行级别安全性 (SQL Server)

行级别安全性 (Azure SQL Database)

动态数据掩码 (SQL Server)

动态数据掩码 (Azure SQL Database)

签名的对象

加密:存储机密数据

功能 链接。
加密文件

BitLocker 加密(驱动器级别)

NTFS 加密(文件夹级别)

透明数据加密(文件级别)

备份加密(文件级别)
BitLocker(驱动器级别)

NTFS 加密(文件夹级别)

透明数据加密(文件级别)

备份加密(文件级别)
加密源

可扩展密钥管理模块

Azure Key Vault 中存储的密钥

Always Encrypted
可扩展密钥管理模块

Azure 密钥保管库中存储的密钥

Always Encrypted
列、数据和密钥加密

使用证书进行加密

使用对称密钥进行加密

使用非对称密钥进行加密

使用密码进行加密
使用证书进行加密

使用非对称密钥进行加密

使用对称密钥进行加密

使用密码进行加密

加密数据列

连接安全:限制和保护

功能 链接。
防火墙保护

Windows 防火墙设置

Azure 服务防火墙设置

数据库防火墙设置
为数据库引擎访问配置 Windows 防火墙

Azure SQL 数据库防火墙设置

Azure 服务防火墙设置
在传输过程中加密数据

强制的 SSL 连接

可选的 SSL 连接
启用数据库引擎的加密连接

启用与数据库引擎建立加密连接网络安全

针对 Microsoft SQL Server 的 TLS 1.2 支持

审核:记录访问

功能 链接。
自动审核

SQL Server 审核(服务器和 DB 级别)

SQL 数据库审核(数据库级别)

检测威胁


SQL Server 审核(数据库引擎)

SQL 数据库审核

SQL 数据库高级威胁防护入门

SQL 数据库漏洞评估
自定义审核

触发器
自定义审核实现:创建 DDL TriggersDML Triggers
合规性

合规性
SQL Server:
通用准则

SQL 数据库:
Microsoft Azure 信任中心:合规性(按功能)

SQL 注入

SQL 注入是一种攻击方式,可将恶意代码插入字符串中,稍后这些字符串会传递到数据库引擎进行分析和执行。 构成 SQL 语句的任何过程都应进行注入漏洞审阅,因为 SQL Server 将执行其接收到的所有语法有效的查询。 所有的数据库系统都会面临一些受到 SQL 注入攻击的风险,并会受到正在查询数据库引擎的应用程序中引入的许多安全漏洞的威胁。 你可以防止受到 SQL 注入攻击,具体方法为使用存储过程和参数化命令,避免使用动态 SQL,并限制所有用户的权限。 有关详细信息,请参阅 SQL Injection

向应用程序程序员提供的其他链接:

另请参阅

数据库引擎权限入门
保护 SQL Server
主体(数据库引擎)
SQL Server 证书和非对称密钥
SQL Server 加密
外围应用配置器
强密码
TRUSTWORTHY 数据库属性
数据库引擎功能和任务
保护 SQL Server 知识产权

获取帮助