SQL Server安全性简介 - 第1部分

转帖|行业资讯|编辑:况鱼杰|2019-06-24 17:54:54.660|阅读 35 次

概述:安全性通常被认为是数据库管理员最重要的职责。SQL Server具有许多用于安全性和保护数据的强大功能,但需要进行规划和努力才能正确实现它们。在本文中,作为系列文章的第一篇,Robert Sheldon回顾了许多可用于保护和保护SQL Server数据库的组件。

    Red Gate SQL Monitor监视你的 SQL Servers的健康状况和活动, 通过电子邮件的形式在一个直观的界面中为你提供智能的警告和建议。

点击下载SQL Monitor试用版


在管理SQL Server实例时,安全性可能是最复杂的问题之一,但它也是最重要的问题之一,尤其是当个人数据在线时。事实上,对于许多组织而言,安全是他们的首要任务。

SQL Server包含各种用于保护数据免遭盗窃,破坏和其他类型恶意行为的工具。本文是关于SQL Server安全性的系列文章的第一篇中,将会介绍许多这些工具,目的是为客户提供可用于保护数据的选项的概述。在随后的文章中,也将深入研究不同的技术,更深入地了解它们的工作方式以及保护SQL Server实例需要做些什么。

SQL Server身份验证和授权 

    保护数据始于对用户进行身份验证并授权他们访问特定数据的能力。在SQL Server中,包括用于验证尝试连接到SQL Server实例的用户身份的身份验证机制,以及用于确定授权用户可以访问哪些数据资源,以及可以执行哪些操作的授权机制。  

    通过安全主体,安全性和权限的组合,在SQL Server中实现身份的验证和授权。在这之前,重要的是要注意SQL Server支持两种身份验证模式:Windows身份验证(有时称为集成安全性)和SQL Server和Windows身份验证(有时称为混合模式)。  

    Windows身份验证与Windows用户和组帐户集成,从而可以使用本地或Windows帐户登录SQL Server。当Windows用户连接到SQL Server实例时,数据库引擎会根据Windows主体l验证登录凭据,从而无需单独的SQL Server凭据。建议尽可能使用Windows身份验证。

    但是,在某些情况下,可能需要SQL Server身份验证。在这种情况下,您可以使用SQL Server中内置的登录机制,而无需链接到Windows帐户。用户提供用户名和密码以连接到SQL Server实例,完全绕过Windows身份验证 。

    您可以在设置SQL Server实例时指定身份验证模式,也可以在实现后通过服务器的属性进行更改,如下图所示:

word-image-218.png

    身份验证和授权机制的核心是必须配置的主体,安全性和权限,以使用户能够访问所需的数据,同时防止未经授权的用户访问他们不应访问的数据。

    可以使用内置GUI工具或可用的T-SQL语句,通过SQL Server Management Studio(SSMS)查看和使用主体,安全性和权限。下图显示对象资源管理器与膨胀的SSMS 安全文件夹WideWorldImporters数据库,低于,扩大安全的SQL Server实例的文件夹。

 

word-image-213.png

    委托人是在服务器级别或数据库级别被授予对SQL Server实例的访问权限的个人,组。服务器级主体包括登录名和服务器角色,这些角色列在Security文件夹的Logins和Server Roles子文件夹中:

  • 登录是用于登录SQL Server实例的单个用户帐户。登录可以是本地或域Windows帐户或SQL Server帐户。

  • 服务器角色是一组共享一组通用服务器级权限的用户。SQL Server支持固定服务器角色和用户定义的服务器角色,您可以将登录分配给固定服务器角色,但不能更改其权限。

    数据库级主体包括用户和数据库角色,这些角色列在数据库的Security文件夹的Users and Roles子文件夹中:

  • 数据库用户是用于登录特定数据库的单个用户帐户。数据库用户通常映射到相应的服务器登录,以便提供对SQL Server实例以及数据本身的访问。但是,您可以创建独立于任何登录的数据库用户,这对于开发和测试数据驱动的应用程序以及实现包含的数据库非常有用。

  • 数据库角色是一组共享一组通用数据库级权限的用户。与服务器角色一样,SQL Server支持固定和用户定义的数据库角色。

    对于每个安全主体,都可以授予允许该主体访问或修改一组安全性的权限。Securables是构成数据库和服务器环境的对象。它们包括从函数到数据库用户到端点的任何内容。SQL Server在服务器,数据库和模式级别按层次结构对象:  

  • 服务器级安全性包括数据库以及登录,服务器角色和可用性组等对象。

  • 数据库级安全性包括模式以及数据库用户,数据库角色和全文目录等对象。 

  • 模式级别的安全性包括诸如表,视图,函数和存储过程之类的对象。 

    权限定义允许主体对特定安全性的访问级别。您可以在服务器,数据库或架构级别授予或拒绝对securables的权限。

    安全性上配置多个原则的权限可能是一个复杂的,有时令人沮丧的过程。如果您做得不对,最终可能会拒绝对应该有权访问特定数据的用户的权限,或者更糟糕的是,拒绝授予不应该访问的用户的权限。最安全的做法是遵循最小特权原则,在特定情况下最精确地工作。  

    如有疑问,请点击咨询在线客服>>

    年中活动持续进行当中,优惠多多,点击就可领取 MyEclipse 、.NET ReactorFastReport .NetVMProtect等超多在线订购产品优惠券!



标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果

文章转载自:red gat https://www.red-gate.com/simple-talk/sysadmin/data-protection-and-privacy/introduction-to-sql-server-security-part-1/

登录 慧都网发表评论


暂无评论...

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
在线客服 在线QQ 电话咨询
400-700-1020
反馈
在线客服系统
live chat