SQL Server 安全性
SQL Server sa 登录名是服务器级的主体。默认情况下,它是在安装时创建的。在 SQL Server 2005 或以上,sa 的默认数据库为
master。这是对早期版本的 SQL Server 的行为的改变。
创建数据库时,数据库默认包含 guest 用户。授予 guest 用户的权限由在数据库中没有用户帐号的用户继承。不能删除 guest 用户,但可通过撤消该用户的 CONNECT 权限将其停用。可以通过在 master 或 tempdb 以外的任何数据库中运行 REVOKE CONNECT FROM GUEST 来撤消 CONNECT 权限。
在 SQL Server,权限的概念是使用主体及安全对象。主体是个人、组、及授予访问 SQL Server 的进程。安全对象是服务器、数据库及数据库包含的对象。主体也可以按层次结构排列。要简易地管理你的数据库里的权限,SQL Server 提供了若干角色,这些角色是用于分组其他主体的安全主体。数据库是在数据库层级角色的权限范围之内。
Windows 层级主体
Windows 域登录
Windows 本机登录 SQL Server 层级主体
SQL Server 登录数据库层级主体
数据库用户
数据库角色
应用程序角色
登录
SQL Server 使用两种方法来验证到 SQL Server 数据库的连接:Windows 验证和 SQL Server 验证。SQL Server 验证使用登录记录以验证连接。一个登录对象公开一个 SQL Server 登录记录。
服务器角色
服务器层级角色也称为固定服务器角色,因为你不能创建新的服务器层级角色和固定服务器角色的权限不能改变。你可以添加 SQL
Server 登录名、Windows 帐号和 Windows 组到服务器层级角色。固定服务器角色的每个成员都可以向其所属角色添加其他登录名。
数据库用户
若要获取对数据库的访问权限,必须将一个登录识别为数据库用户。数据库用户通常与登录具有相同的名,但也可以使用不同的名来创建数据库用户(为登录)。
数据库角色
固定数据库角色是在数据库层级定义的。你可以向数据库层级角色中添加任何数据库帐号和其他 SQL Server 角色。固定数据库角色的每个成员都可向同一个角色添加其他登录名。
应用程序角色
应用程序角色是一个数据库主体,它使应用程序能够用其自身的、类似用户的权限来运行。使用应用程序角色,可以只允许通过特定应用程序连接的用户访问特定数据。与数据库角色不同的是,应用程序角色在默认情况下不包含任何成员,而且是非活动的。
SQL Server 2000 的常规属性登录名
设置登录的名。
验证类型
选择验证类型。
SQL Server Authentication | 密码 设置 密码 并在 确认密码 文本框重新输入。 |
指定旧密码 勾选这个选项以输入这个帐号使用的旧密码。 | |
默认数据库 选择登录时的默认数据库。 | |
默认语言 选择登录时的默认语言。 | |
Windows | 默认数据库 |
Authentication | 选择登录时的默认数据库。 |
默认语言 | |
选择登录时的默认语言。 |
已启用
勾选以启用登录。
SQL Server 2005 或以上的常规属性
登录名
设置登录的名。
验证类型
选择验证类型。
SQL Server Authentication | 密码 设置 密码 并在 确认密码 文本框重新输入。 |
指定旧密码 勾选这个选项以输入这个帐号使用的旧密码。 | |
强制密码策略 你可以勾选这个选项以强制密码跟从 SQL Server 密码策略。 | |
强制密码过期 你可以勾选这个选项以强制密码有期限。 | |
用户必须在下次登录时更改密码 你可以勾选这个选项以强制用户在每次登录时更改密码。 | |
默认数据库 选择登录时的默认数据库。 | |
默认语言 选择登录时的默认语言。 | |
Windows | 默认数据库 |
Authentication | 选择登录时的默认数据库。 |
默认语言 | |
选择登录时的默认语言。 | |
Mapped to Certificate | 证书名 选择证书名。 |
Mapped to Asymmetric Key | 非对称密钥名 选择非对称密钥名。 |
注意: SQL Server 包含的相关功能允许你创建和管理用于服务器和数据库的证书和非对称密钥。你可以使用外部生成的证书,也可以由 SQL Server 生成证书。证书和非对称密钥都属于非对称加密的使用方式。 这两种机制的加密算法及相同密钥长度的加密强度没有差异。
已启用
勾选以启用登录。
凭据
你可以为这个登录新建凭据到特定角色。凭据是包含连接到 SQL Server 外部资源所需的身份验证信息(凭据)的记录。此信息由 SQL Server 在内部使用。
SQL Azure 的常规属性登录名
设置登录的名。
密码
设置 密码 并在 确认密码 文本框重新输入。
指定旧密码
勾选这个选项以输入这个帐号使用的旧密码。
已启用
勾选以启用登录。
角色
在网格里,勾选服务器角色以指定这个服务器登录成为已选择服务器角色的成员。可以授予多个角色。
注意: 每个 SQL Server 登录名都属于 public 服务器角色。如果未向某个服务器主体授予或拒绝对某个安全对象的特定权限,该用户将继承授予该对象的 public 角色的权限。只有在希望全部用户都能使用对象时,才在对象上分配
public 权限。
SQL Azure 不支持。
用户对应
在网格里,勾选 数据库 及输入 用户 及 默认模式 以创建登录到数据库的用户,并指定第一个由服务器搜索的模式。注意:SQL Azure 不支持。
服务器权限
你可以对照在 权限 列出的服务器权限,勾选 授予、含授予选项 或 拒绝 选项以指定这个登录有这个权限。可以授予多个权限。
注意:SQL Server 2005 或以上版本支持。
端点权限
你可以对照在 端点 列出的端点权限,勾选 修改、连接、控制、取得拥有权 或 查看定义 以指定这个登录有这个端点权限。可以授予多个权限。
注意:SQL Server 2005 或以上版本支持。
登录权限
你可以对照在 登录 列出的服务器登录,勾选 修改、控制、模拟 或 查看定义 以指定这个服务器登录有这个登录权限。可以授予多个权限。
注意:SQL Server 2005 或以上版本支持。
常规属性
在 角色成员 网格中,勾选服务器角色以指定已选择的服务器角色成为这个服务器角色的成员。可以授予多个角色。注意:SQL Azure 不支持服务器角色。
SQL Server 2000 的常规属性用户名
设置数据库用户的名。
登录名
指定这个数据库用户使用的 SQL Server 登录。当这个 SQL Server 登录进入数据库,它会取得这个数据库用户的数据。
SQL Server 2005 或以上和 SQL Azure 的常规属性用户名
设置数据库用户的名。
用户类型
选择数据库用户的类型。
For Login | 登录名 指定这个数据库用户使用的 SQL Server 登录。当这个 SQL Server 登录进入数据库,它会取得这个数据库用户的数据。 默认模式 你可以为这个数据库用户指定第一个由服务器搜索的模式。 |
For Certificate | 证书名 指定数据库用户的证书。 注意:SQL Azure 不支持。 |
For Asymmetric | 非对称密钥名 |
Key | 指定数据库用户的非对称密钥。 注意:SQL Azure 不支持。 |
Without Login | 默认模式 你可以为这个数据库用户指定第一个由服务器搜索的模式。 |
角色
在网格里,勾选角色以指定这个数据库用户成为已选择数据库角色的成员。可以授予多个角色。
每一个数据库用户属于 public 数据库角色。当尚未对某个用户授予或拒绝对安全对象的特定权限时,则该用户将继承授予让安全对象的 public 角色的权限。
拥有模式
你可以勾选在 拥有模式 选项卡列出的模式以改变模式的拥有权予这个数据库用户。注意:SQL Server 2005 或以上版本和 SQL Azure 支持。
数据库权限
在网格里,对照在 权限 列出的数据库权限,勾选 授予、含授予选项 或 拒绝 选项以指定这个用户有这个权限。可以授予多个权限。
对象权限
要编辑一个数据库用户的特定对象权限,点击
添加权限 以打开窗口并按照下列步骤进行:
在查看树展开节点直至到达目标对象。
勾选对象以显示网格在右边的面板上。
在网格里,对照在 权限 列出的权限,勾选 授予、含授予选项 或 拒绝 选项以指定这个数据库用户有这个权限。可以授予多个权限。
常规属性角色名
设置数据库角色的名。
拥有者
你可以输入这个数据库角色的拥有者。这个拥有者可以是数据库用户或数据库角色。 假如拥有者没有指定,这个数据库角色将会由运行 CREATE ROLE 的用户拥有。
注意:SQL Server 2005 或以上版本和 SQL Azure 支持。
在 角色成员 网格里,勾选数据库用户以指定已选择的数据库用户成为这个数据库角色的成员。可以授予多个角色。
拥有模式
你可以勾选在 拥有模式 选项卡列出的模式以改变模式的拥有权予这个数据库角色。注意:SQL Server 2005 或以上版本和 SQL Azure 支持。
对象权限
要编辑一个数据库角色的特定对象权限,点击
添加权限 以打开窗口并按照下列步骤进行:
在查看树展开节点直至到达目标对象。
勾选对象以显示网格在右边的面板上。
在网格里,对照在 权限 列出的权限,勾选 授予、含授予选项 或 拒绝 选项以指定这个数据库角色有这个权限。可以授予多个权限。
常规属性角色名
设置角色的名。
默认模式
你可以为这个应用程序角色指定第一个由服务器搜索的模式。注意:SQL Server 2005 或以上版本支持。
密码
设置 密码 并在 确认密码 文本框重新输入。
拥有模式
你可以勾选在 拥有的模式 选项卡列出的模式以改变模式的拥有权予这个应用程序角色。注意:SQL Server 2005 或以上版本支持。
对象权限
要编辑一个应用程序角色的特定对象权限,点击
添加权限 以打开窗口并按照下列步骤进行:
在查看树展开节点直至到达目标对象。
勾选对象以显示网格在右边的面板上。
在网格里,对照在 权限 列出的权限,勾选 授予、含授予选项 或 拒绝 选项以指定这个应用程序角色有这个权限。可以授予多个权限。
注意: SQL Azure 不支持应用程序角色。