第12章 SQL Server2000数据库 的安全性管理 12.1对 SQL Server的访问 12.2数据库的安全性权限 12.3角色 12.4与安全有关的 Transact-s0L语包 12.5视图与数据访 12.6存储过程与数据访
第12章 SQL Server 2000数据库 的安全性管理 12.1对SQL Server的访问 12.2数据库的安全性权限 12.3角色 12.4与安全有关的Transact-SQL语句 12.5 视图与数据访问 12.6存储过程与数据访问
第12章 SQL Server2000数据库的安全性管理 SQL Server的安全性管理是建立在登录验证和权限许可的基础上 的。登录验证是指核对连接到 SQL Server实例的登录帐户名和密 码是否正确,以此确定用户是否具有连接到 SQL Server实例的权 限。通过了登录验证,并不意味着用户能够访问 SQL Server实例 中的各个数据库。用户只有在被授于访问数据库的权限许可之后 才能够对服务器上的数据库进行权限许可下的各种操作。 SQL Server还引入了角色的概念,来简化对权限许可的管理, 在 SQL Server中,安全性管理可以通过企业管理器的图形界面进 行,但对于熟练的DBA来说,使用 Transact-SQ语句进行安全性 管理可能更有效率。 在 SQL Server中,通过使用视图和存储过程也可以控制用户对数 据的访问,实现对数据安全管理。 返回目录
第12章 SQL Server 2000数据库的安全性管理 • SQL Server的安全性管理是建立在登录验证和权限许可的基础上 的。登录验证是指核对连接到SQL Server实例的登录帐户名和密 码是否正确,以此确定用户是否具有连接到SQL Server实例的权 限。通过了登录验证,并不意味着用户能够访问SQL Server实例 中的各个数据库。用户只有在被授于访问数据库的权限许可之后 才能够对服务器上的数据库进行权限许可下的各种操作。 • SQL Server还引入了角色的概念,来简化对权限许可的管理, • 在SQL Server中,安全性管理可以通过企业管理器的图形界面进 行,但对于熟练的DBA来说,使用Transact-SQL语句进行安全性 管理可能更有效率。。 • 在SQL Server中,通过使用视图和存储过程也可以控制用户对数 据的访问,实现对数据安全管理。 • 返回目录
121对 SQL Server的访问 在 SQL Server2000中,用登录帐户来控制用户是否具有连接到 SQL Server实例的权限。用数据库用户帐户来控制用户是否具有 操纵 SQL Server实例中的各个数据库的权限。而对用户身份的验 证,是通过核对登录帐户名和密码是否正确来完成的 1.身份验证模式( Authentication modes) SQL Serveri能在两种身份验证模式下运行: Windows身份验证模式 和混合模式。在 Windows身份验证模式下, SQL Server依靠 Windows身份验证来验证用户的身份。在混合模式下,SQL Server依靠 Windows身份验证或 SQL Server身份验证来验证用户的 身份 (1) Windows身份验证模式 (2)混合模式 在混合模式下,用户既可以使用 Windows身份验证,也可以使用 SQL Server身份验证。 使用 SQL Server身份验证时,用户必须提供登录帐户名和密码, 这里的登录帐户是数据库管理员在 SQL Server中创建并分配给用 户的 (3)配置身份验证模式
12.1对SQL Server的访问 • 在SQL Server 2000中,用登录帐户来控制用户是否具有连接到 SQL Server实例的权限。用数据库用户帐户来控制用户是否具有 操纵SQL Server实例中的各个数据库的权限。而对用户身份的验 证,是通过核对登录帐户名和密码是否正确来完成的。 • 1.身份验证模式(Authentication Modes) • SQL Server能在两种身份验证模式下运行:Windows身份验证模式 和混合模式。在Windows身份验证模式下,SQL Server依靠 Windows 身份验证来验证用户的身份。在混合模式下,SQL Server依靠Windows 身份验证或SQL Server身份验证来验证用户的 身份。 • (1)Windows身份验证模式 • (2)混合模式 • 在混合模式下,用户既可以使用 Windows 身份验证,也可以使用 SQL Server身份验证。 • 使用SQL Server身份验证时,用户必须提供登录帐户名和密码, 这里的登录帐户是数据库管理员在SQL Server中创建并分配给用 户的 • (3) 配置身份验证模式 返回目录
2.登录帐户( logins)和数据库用户帐户( database users SQL Server用数据库用户帐户来指出哪一个人可以访问哪一个数据库。用 户对数据的访问权限以及与数据库对象的所有关系都是通过用户账号来 控制的。数据库用户帐户通常是由数据库管理员在 SQL Server实例的各个 数据库中创建的。 个登录账号总是与一个或多个数据库用户账号相关联。这个关联工作 由数据库管理员在为用户新建登录账户或修改登录帐户属性时完成的 但对于一些特殊登录帐户,这个过程是由SQL服务器自动完成的。如:sa 是 SQL Server内置的管理员登录账号,sa登录账号自动与每一个数据库的 dbo用户相关联。 数据库用户账号总是与某一登录账号相关联的,但有一个例外,那就是 guest用户。 Guest,用户不具体与某一登录帐户相关联,但 Guest用户允许没 有与用户帐户关联的登录帐户访问数据库。 ·用户访问 SQL Server实例中的某一数据库, SQL Server检査该登录用户是 否与该数据库中的某一用户帐户相关联,如果有,则允许它以该用户帐 户访问数据库;如果没有,则 SQL Server检查该数据库中是否有 guest用户, 如果有,则允许用户以 guest用户来访问该数据库,如果没有,则该用户 对该数据库的访问被拒绝。在安装 SQL Server时,系统自动在 master pubs、 tempdb和 Northwind数据库中创建 guest用
• 2.登录帐户(logins)和数据库用户帐户(database users) • SQL Server用数据库用户帐户来指出哪一个人可以访问哪一个数据库。用 户对数据的访问权限以及与数据库对象的所有关系都是通过用户账号来 控制的。数据库用户帐户通常是由数据库管理员在SQL Server实例的各个 数据库中创建的。 • 一个登录账号总是与一个或多个数据库用户账号相关联。这个关联工作, 由数据库管理员在为用户新建登录账户或修改登录帐户属性时完成的。 但对于一些特殊登录帐户,这个过程是由SQL服务器自动完成的。如:sa 是SQL Server内置的管理员登录账号,sa登录账号自动与每一个数据库的 dbo用户相关联。 • 数据库用户账号总是与某一登录账号相关联的,但有一个例外,那就是 guest用户。Guest用户不具体与某一登录帐户相关联,但Guest用户允许没 有与用户帐户关联的登录帐户访问数据库。 • 用户访问SQL Server实例中的某一数据库,SQL Server检查该登录用户是 否与该数据库中的某一用户帐户相关联,如果有,则允许它以该用户帐 户访问数据库;如果没有,则SQL Server检查该数据库中是否有guest用户, 如果有,则允许用户以guest用户来访问该数据库,如果没有,则该用户 对该数据库的访问被拒绝。在安装SQL Server时,系统自动在master、 pubs、 tempdb 和 Northwind 数据库中创建guest用户。 • 返回目录
(1)创建登录帐户 ·创建登录帐户的方法有三种:使用企业管理器、使用 Transact-SQL语句、使用创建登录向导。 (2)授予 Windows nt2000用户或组连接 SQL Server的 权限 在 Windows nt/2000帐户(用户或组)可以访问数据库之 前,必须授予它们连接到 SQL Server实例的权限。 (3)创建数据库用户帐户 可以使用企业管理器或 Transact-SQL语句来创建数据库 用户帐户,也可以使用企业管理器来创建数据库用户帐 户。为了创建一个新的数据库用户帐户,必须事先确 定一个将与该数据库用户相关的登录帐户
• (1) 创建登录帐户 • 创建登录帐户的方法有三种:使用企业管理器、使用 Transact-SQL语句、使用创建登录向导。 • (2) 授予Windows NT/2000用户或组连接SQL Server的 权限 • 在Windows NT/2000帐户(用户或组)可以访问数据库之 前,必须授予它们连接到 SQL Server实例的权限。 • (3) 创建数据库用户帐户 • 可以使用企业管理器或Transact-SQL语句来创建数据库 用户帐户,也可以使用企业管理器来创建数据库用户帐 户。为了创建一个新的数据库用户帐户,必须事先确 定一个将与该数据库用户相关的登录帐户。 • 返回目录