460 likes | 634 Vues
SQL Server 2000 数据库管理. 第一章: SQL Server 概述 第二章: 准备安装 SQL Server 第三章:管理数据库文件 第四章: 管理安全性 第五章: 执行管理任务 第六章: 备份数据库 第七章: 还原数据库 第八章: SQL Server 性能监视 第九章: 数据传输 第十章: 维护高度可用性 第十一章: SQL Server 复制. 第四章: 管理安全性. 实现身份验证模式 登录账户 为用户和角色分配登录账户 为用户和角色分配权限 管理 SQL Server 安全性 管理应用程序的安全性
E N D
SQL Server 2000数据库管理 • 第一章:SQL Server 概述 • 第二章:准备安装 SQL Server • 第三章:管理数据库文件 • 第四章:管理安全性 • 第五章:执行管理任务 • 第六章:备份数据库 • 第七章:还原数据库 • 第八章:SQL Server 性能监视 • 第九章:数据传输 • 第十章:维护高度可用性 • 第十一章:SQL Server 复制
第四章:管理安全性 • 实现身份验证模式 • 登录账户 • 为用户和角色分配登录账户 • 为用户和角色分配权限 • 管理SQL Server 安全性 • 管理应用程序的安全性 • 在企业中管理SQL Server 安全性 • 最佳实践
实现身份验证模式 4.1 实现身份验证模式 • 身份验证处理 • 选择身份验证模式 • 使用Kerberos相互身份验证 • 模拟和委托 • 加密 • 实现身份验证模式的步骤
在sysxlogins 表 中验证验证用户; 信任 Windows 2000 验证密码 sysxlogins Windows 2000 Windows 2000 组或用户 SQL Server sysxlogins 在 sysxlogins 表 中验证用户和 密码 SQL Server 登录账户 身份验证处理 4.1.1 身份验证处理
选择身份验证模式 4.1.2 选择身份验证模式 • Windows 身份验证模式的优点 • 高级的安全功能 • 像添加一个账户一样添加组 • 快速访问 • 混合模式的优点 • 允许非Windows 客户端和 Internet 客户端连接SQL Server
Kerberos 加密 数据 密码 相互身份验证 SQL Server 用户 使用Kerberos 相互身份验证 4.1.3 使用Kerberos 相互身份验证
文件 系统 模拟 SQL Server 委托 SQL Server 模拟和委托 4.1.4 模拟和委托
加密 4.1.5 加密 • 内部加密 • 登录密码 • Transact-SQL 定义 • 网络加密
设置身份验证模式 先停止然后重新启动MS SQL Server 服务 创建Windows 2000 组和用户 授权Windows 2000 组和用户访问SQL Server 为使用非信任连接的用户创建SQL Server 登录账户 实现身份验证模式的步骤 4.1.6 实现身份验证模式的步骤
第四章:管理安全性 • 实现身份验证模式 • 登录账户 • 为用户和角色分配登录账户 • 为用户和角色分配权限 • 管理SQL Server 安全性 • 管理应用程序的安全性 • 在企业中管理SQL Server 安全性 • 最佳实践
master..sysxlogins name dbname password BUILTIN\Administrators accountingdomain\payroll accountingdomain\maria mary sa master Northwind Northwind pubs master NULL NULL NULL ******** ******** 登录账户 4.2 登录账户
演示:设置登录账户 4.2 登录账户
第四章:管理安全性 • 实现身份验证模式 • 登录账户 • 为用户和角色分配登录账户 • 为用户和角色分配权限 • 管理SQL Server 安全性 • 管理应用程序的安全性 • 在企业中管理SQL Server 安全性 • 最佳实践
Northwind..sysprotects id uid action protecttype 1977058079 1977058079 1977058079 1977058079 0 0 0 7 193 195 196 193 205 205 205 205 权限存储在此表 用户存储在此表 Northwind..sysusers uid name 0 1 3 7 public dbo INFORMATION_SCHEMApayroll 为用户和角色分配登录账户 4.3 为用户和角色分配登录在账户
为用户账户分配登录账户 4.3.1 为用户分配登录在账户 • 添加用户账户 • SQL Server 企业管理器 • sp_grantdbaccess系统存储过程 • dbo用户账户 • guest用户账户
为角色分配登录账户 4.3.2 为角色分配登录在账户 • 固定服务器角色 • 固定数据库角色 • 用户定义的数据库角色
角色 权限 sysadmin 执行任何活动 dbcreator 创建和更改数据库 diskadmin 管理磁盘文件 processadmin 管理 SQL Server 过程 serveradmin 配置服务器设置 setupadmin 安装复制 securityadmin 管理和检查服务器账户 bulkadmin 执行 BULK INSERT 语句 固定服务器角色 4.3.2 为角色分配登录在账户
角色 权限 public 维护所有默认权限 db_owner 执行所有数据库角色活动 db_accessadmin 添加和删除数据库用户, 组及角色 db_ddladmin 添加、更改或删除数据库对象 db_security admin 分配语句执行和对象权限 db_backupoperator 备份数据库 db_datareader 读取任何表中的数据 db_datawriter 添加、更改或删除所有表中的数据 db_denydatareader 不能读取任何表中的数据 db_denydatawriter 不能更改任何表中的数据 固定数据库角色 4.3.2 为角色分配登录在账户
用户定义的数据库角色 4.3.2 为角色分配登录在账户 添加角色: • 有一组人需要在SQL Server 中执行一组相同的活动 • 没有管理Windows 2000 用户账户的权限
演示:为用户和角色分配登录账户 4.3 为用户和角色分配登录在账户
第四章:管理安全性 • 实现身份验证模式 • 登录账户 • 为用户和角色分配登录账户 • 为用户和角色分配权限 • 管理SQL Server 安全性 • 管理应用程序的安全性 • 在企业中管理SQL Server 安全性 • 最佳实践
为用户和角色分配权限 4.4 为用户和角色分配权限 • 权限类型 • 授予、拒绝、废除权限 • 授予权限以允许访问 • 拒绝权限以阻止访问 • 废除已授予和已拒绝的权限 • 管理语句权限 • 管理对象权限
语句 对象 预定义 SELECT INSERT UPDATE DELETEREFERENCES 固定角色 CREATE DATABASE 对象所有者 CREATE TABLE TABLE VIEW CREATE VIEW CREATE PROCEDURE SELECT UPDATE REFERENCES CREATE RULE CREATE DEFAULT COLUMN CREATE FUNCTION BACKUP DATABASE EXEC BACKUP LOG STORED PROCEDURE 权限类型 4.4.1 权限类型
废除: 不能执行操作但 可由角色成员重新设置 拒绝:不能执行操作 授予:能够执行操作 授予、拒绝、废除权限 4.4.2 授予、拒绝、废除权限
用户/角色 SELECT INSERT UPDATE DELETE DRI Eva Ivan David public 授予权限以允许访问 4.4.2 授予、拒绝、废除权限
用户/角色 SELECT INSERT UPDATE DELETE DRI Eva Ivan David public 拒绝权限以阻止访问 4.4.2 授予、拒绝、废除权限
用户/角色 SELECT INSERT UPDATE DELETE DRI Eva Ivan David public 废除已授予和已拒绝的权限 4.4.2 授予、拒绝、废除权限
第四章:管理安全性 • 实现身份验证模式 • 登录账户 • 为用户和角色分配登录账户 • 为用户和角色分配权限 • 管理SQL Server 安全性 • 管理应用程序的安全性 • 在企业中管理SQL Server 安全性 • 最佳实践
管理SQL Server 安全性 4.5 管理SQL Server 安全性 • 默认登录账户 • sa • BUILTIN\Administrators • guest 用户账户 • public 角色权限 • 将权限应用到角色 • 使用 dbo 创建对象 • 安全的 CmdExec 和ActiveScripting 作业步骤
第四章:管理安全性 • 实现身份验证模式 • 登录账户 • 为用户和角色分配登录账户 • 为用户和角色分配权限 • 管理SQL Server 安全性 • 管理应用程序的安全性 • 在企业中管理SQL Server 安全性 • 最佳实践
管理应用程序的安全性 4.6 管理应用程序的安全性 • 使用视图和存储过程来管理安全性 • 使用应用程序角色管理客户应用程序 • 创建应用程序角色 • 激活应用程序角色
Employees EmployeeID LastName FirstName ReportsTo ... Davolio Fuller Leverling Nancy Andrew Janet 2 2 1 2 3 使用视图和存储过程来管理安全性 4.6.1 使用视图和存储过程来管理安全性 SELECT * FROM Employee_View SELECT * FROM Employees EXEC Employee_Update 1, 9
订单应用程序 Microsoft Excel Orders OrderID CustomerID EmployeeID ... 10248 10249 10250 VINET TOMSP HANAR 3 1 2 使用应用程序角色管理客户应用程序 4.6.2 使用应用程序角色管理客户应用程序
创建应用程序角色 4.6.3 创建应用程序角色 • 创建应用程序角色后,就会在sysusers 表中插入一行 • 管理应用程序角色权限
激活应用程序角色 4.6.4 激活应用程序角色 • 用户必须指定密码 • 范围是当前数据库。如果用户切换到别的数据库,他们只能根据该数据库中guest 账户的权限执行相应的操作 • 在用户从SQL Server 断开连接之前,不能停用该角色 EXEC sp_setapprole 'SalesApp',{ENCRYPT N'hg_7532LR'}, 'ODBC'
第四章:管理安全性 • 实现身份验证模式 • 登录账户 • 为用户和角色分配登录账户 • 为用户和角色分配权限 • 管理SQL Server 安全性 • 管理应用程序的安全性 • 在企业中管理SQL Server 安全性 • 最佳实践
在企业中管理SQL Server安全性 4.7 在企业中管理 SQL Server安全性 • 使用组策略保证SQL Server安全性 • 使用代理服务器、防火墙和路由器 • 使用在线加密来确保数据安全性
使用组策略保证SQL Server安全性 4.7.1 使用组策略保证 SQL Server安全性 • 为计算机配置的安全性包括 • 账户策略 • 受限制的组 • 软件策略
SQL Server Internet 用户 Microsoft 代理服务器 S e c u r e 使用代理服务器、防火墙和路由器 4.7.2 使用代理服务器、防火墙和路由器
使用在线加密来确保数据安全性 4.7.3 使用在线加密来确保数据安全性 • IPSec 协议 • 安全套接字层
第四章:管理安全性 • 实现身份验证模式 • 登录账户 • 为用户和角色分配登录账户 • 为用户和角色分配权限 • 管理SQL Server 安全性 • 管理应用程序的安全性 • 在企业中管理SQL Server 安全性 • 最佳实践
使用混合模式来连接非信任客户端或 Internet 客户端 使用System Administrators (sysadmin) 角色而非sa 登录账户 先删除 Windows 2000 账户, 然后删除 SQL Server 账户 dbo 用户拥有所有对象的所有权 使用存储过程和视图来简化安全性 最佳实践 4.8 最佳实践
回顾 • 实现Microsoft Windows 身份验证模式和混合模式 • 理解登录账户为用户和角色分配权限 • 为用户账户和角色指定登录账户 • 为用户账户和角色赋予权限 • 管理SQL Server的安全性 • 管理应用程序安全性 • 在企业环境中管理SQL Server 安全性