SQL Server 2000 数据库管理

46
SQL Server 2000 数数数数数 数数 一: SQL Server 数数 数数数数数数数 SQL Server 数数数 数数数数数数数 数数数 数数数数数 数数数 数数数数数数 数数数 数数数数数 数数数 数数数数数 数数数SQL Server 数数数数 数数数 数数 数数数数数数数数数数 数数 数数 一: SQL Server 数数

description

SQL Server 2000 数据库管理. 第一章: SQL Server 概述 第二章: 准备安装 SQL Server 第三章:管理数据库文件 第四章: 管理安全性 第五章: 执行管理任务 第六章: 备份数据库 第七章: 还原数据库 第八章: SQL Server 性能监视 第九章: 数据传输 第十章: 维护高度可用性 第十一章: SQL Server 复制. 第四章: 管理安全性. 实现身份验证模式 登录账户 为用户和角色分配登录账户 为用户和角色分配权限 管理 SQL Server 安全性 管理应用程序的安全性 - PowerPoint PPT Presentation

Transcript of SQL Server 2000 数据库管理

SQL Server 2000 数据库管理 第一章: SQL Server 概述 第二章:准备安装 SQL Server

第三章:管理数据库文件 第四章:管理安全性 第五章:执行管理任务 第六章:备份数据库 第七章:还原数据库 第八章: SQL Server 性能监视 第九章:数据传输 第十章:维护高度可用性 第十一章: SQL Server 复制

第四章:管理安全性 实现身份验证模式 登录账户 为用户和角色分配登录账户 为用户和角色分配权限 管理 SQL Server 安全性 管理应用程序的安全性 在企业中管理 SQL Server 安全性 最佳实践

实现身份验证模式

身份验证处理 选择身份验证模式 使用 Kerberos 相互身份验证 模拟和委托 加密 实现身份验证模式的步骤

4.1 实现身份验证模式

身份验证处理

sysxloginssysxloginssysxloginssysxlogins

Windows 2000Windows 2000 组或用户

SQL Server登录账户

sysxloginssysxloginssysxloginssysxlogins

在 sysxlogins 表中验证验证用户;

信任 Windows 2000 验证密码

在 sysxlogins 表中验证验证用户;

信任 Windows 2000 验证密码

在 sysxlogins 表中验证用户和密码

SQL Server

4.1.1 身份验证处理

选择身份验证模式

Windows 身份验证模式的优点 高级的安全功能 像添加一个账户一样添加组 快速访问

混合模式的优点 允许非 Windows 客户端和 Internet 客户端连

接 SQL Server

4.1.2 选择身份验证模式

使用 Kerberos 相互身份验证

SQL Server

相互身份验证相互身份验证相互身份验证相互身份验证

加密数据密码

加密数据密码

用户

KerberosKerberosKerberosKerberos

4.1.3 使用 Kerberos 相互身份验证

模拟和委托

文件系统文件系统

模拟

委托

SQL Server

SQL Server

4.1.4 模拟和委托

加密

内部加密 登录密码 Transact-SQL 定义

网络加密

4.1.5 加密

实现身份验证模式的步骤

设置身份验证模式 设置身份验证模式

先停止然后重新启动 MS SQL Server 服务 先停止然后重新启动 MS SQL Server 服务

创建 Windows 2000 组和用户 创建 Windows 2000 组和用户

授权 Windows 2000 组和用户访问 SQL Server 授权 Windows 2000 组和用户访问 SQL Server

为使用非信任连接的用户创建 SQL Server 登录账户 为使用非信任连接的用户创建 SQL Server 登录账户

4.1.6 实现身份验证模式的步骤

第四章:管理安全性

实现身份验证模式 登录账户 为用户和角色分配登录账户 为用户和角色分配权限 管理 SQL Server 安全性 管理应用程序的安全性 在企业中管理 SQL Server 安全性 最佳实践

登录账户

master..sysxloginsmaster..sysxloginsmaster..sysxloginsmaster..sysxlogins

namename

BUILTIN\Administratorsaccountingdomain\payrollaccountingdomain\mariamarysa

BUILTIN\Administratorsaccountingdomain\payrollaccountingdomain\mariamarysa

dbnamedbname

masterNorthwindNorthwindpubsmaster

masterNorthwindNorthwindpubsmaster

passwordpassword

NULLNULLNULL****************

NULLNULLNULL****************

4.2 登录账户

演示:设置登录账户4.2 登录账户

实验 A  管理安全性

第四章:管理安全性

实现身份验证模式 登录账户 为用户和角色分配登录账户 为用户和角色分配权限 管理 SQL Server 安全性 管理应用程序的安全性 在企业中管理 SQL Server 安全性 最佳实践

为用户和角色分配登录账户

Northwind..sysusersNorthwind..sysusersNorthwind..sysusersNorthwind..sysusers

uiduid namename

0137

0137

publicdboINFORMATION_SCHEMApayroll

publicdboINFORMATION_SCHEMApayroll

用户存储在此表用户存储在此表权限存储在此表权限存储在此表

Northwind..sysprotectsNorthwind..sysprotectsNorthwind..sysprotectsNorthwind..sysprotects

idid

1977058079197705807919770580791977058079

1977058079197705807919770580791977058079

uiduid

0007

0007

actionaction

193195196193

193195196193

protecttypeprotecttype

205205205205

205205205205

4.3 为用户和角色分配登录在账户

为用户账户分配登录账户

添加用户账户 SQL Server 企业管理器 sp_grantdbaccess 系统存储过程

dbo 用户账户 guest 用户账户

4.3.1 为用户分配登录在账户

为角色分配登录账户

固定服务器角色 固定数据库角色 用户定义的数据库角色

4.3.2 为角色分配登录在账户

固定服务器角色

角色角色角色角色 权限权限权限权限sysadminsysadmin 执行任何活动执行任何活动

dbcreatordbcreator 创建和更改数据库创建和更改数据库

diskadmindiskadmin 管理磁盘文件管理磁盘文件

processadminprocessadmin 管理 SQL Server 过程管理 SQL Server 过程

serveradminserveradmin 配置服务器设置配置服务器设置

setupadminsetupadmin 安装复制安装复制

securityadminsecurityadmin 管理和检查服务器账户管理和检查服务器账户

bulkadminbulkadmin 执行 BULK INSERT 语句执行 BULK INSERT 语句

4.3.2 为角色分配登录在账户

固定数据库角色

角色角色角色角色 权限权限权限权限publicpublic 维护所有默认权限 维护所有默认权限

db_ownerdb_owner 执行所有数据库角色活动执行所有数据库角色活动

db_accessadmindb_accessadmin 添加和删除数据库用户 , 组及角色添加和删除数据库用户 , 组及角色

db_ddladmindb_ddladmin 添加、更改或删除数据库对象添加、更改或删除数据库对象

db_security admindb_security admin 分配语句执行和对象权限分配语句执行和对象权限

db_backupoperatordb_backupoperator 备份数据库备份数据库

db_datareaderdb_datareader 读取任何表中的数据读取任何表中的数据

db_datawriterdb_datawriter 添加、更改或删除所有表中的数据添加、更改或删除所有表中的数据

db_denydatareaderdb_denydatareader 不能读取任何表中的数据不能读取任何表中的数据

db_denydatawriterdb_denydatawriter 不能更改任何表中的数据不能更改任何表中的数据

4.3.2 为角色分配登录在账户

用户定义的数据库角色

添加角色: 有一组人需要在 SQL Server 中执行一组相同的活

动 没有管理 Windows 2000 用户账户的权限

4.3.2 为角色分配登录在账户

演示:为用户和角色分配登录账户 4.3 为用户和角色分配登录在账户

第四章:管理安全性

实现身份验证模式 登录账户 为用户和角色分配登录账户 为用户和角色分配权限 管理 SQL Server 安全性 管理应用程序的安全性 在企业中管理 SQL Server 安全性 最佳实践

为用户和角色分配权限

权限类型 授予、拒绝、废除权限

授予权限以允许访问 拒绝权限以阻止访问 废除已授予和已拒绝的权限

管理语句权限 管理对象权限

4.4 为用户和角色分配权限

权限类型

预定义预定义预定义预定义

固定角色固定角色

对象所有者对象所有者

对象对象对象对象

SELECT INSERTUPDATEDELETEREFERENCES

SELECT INSERTUPDATEDELETEREFERENCES

SELECT UPDATEREFERENCES

SELECT UPDATEREFERENCES

EXECEXEC

TABLEVIEW

COLUMN

STORED PROCEDURE

语句语句语句语句

CREATE DATABASECREATE DATABASE

CREATE TABLECREATE TABLE

CREATE VIEWCREATE VIEW

CREATE PROCEDURECREATE PROCEDURE

CREATE RULECREATE RULE

CREATE DEFAULTCREATE DEFAULT

CREATE FUNCTIONCREATE FUNCTION

BACKUP DATABASEBACKUP DATABASE

BACKUP LOGBACKUP LOG

4.4.1 权限类型

授予、拒绝、废除权限

授予:能够执行操作

授予:能够执行操作

废除:不能执行操作但

可由角色成员重新设置

废除:不能执行操作但

可由角色成员重新设置

拒绝:不能执行操作

拒绝:不能执行操作

4.4.2 授予、拒绝、废除权限

授予权限以允许访问

用户用户 // 角色角色用户用户 // 角色角色 SELECTSELECTSELECTSELECT

EvaEva

IvanIvan

DavidDavid

publicpublic

INSERTINSERTINSERTINSERT

UPDATEUPDATEUPDATEUPDATE

DELETEDELETEDELETEDELETE

DRIDRIDRIDRI

4.4.2 授予、拒绝、废除权限

拒绝权限以阻止访问

用户用户 // 角色角色用户用户 // 角色角色 SELECTSELECTSELECTSELECT

EvaEva

IvanIvan

DavidDavid

publicpublic

INSERTINSERTINSERTINSERT

UPDATEUPDATEUPDATEUPDATE

DELETEDELETEDELETEDELETE

DRIDRIDRIDRI

4.4.2 授予、拒绝、废除权限

废除已授予和已拒绝的权限

用户用户 // 角色角色用户用户 // 角色角色 SELECTSELECTSELECTSELECT

EvaEva

IvanIvan

DavidDavid

publicpublic

INSERTINSERTINSERTINSERT

UPDATEUPDATEUPDATEUPDATE

DELETEDELETEDELETEDELETE

DRIDRIDRIDRI

4.4.2 授予、拒绝、废除权限

第四章:管理安全性

实现身份验证模式 登录账户 为用户和角色分配登录账户 为用户和角色分配权限 管理 SQL Server 安全性 管理应用程序的安全性 在企业中管理 SQL Server 安全性 最佳实践

管理 SQL Server 安全性 默认登录账户

sa BUILTIN\Administrators

guest 用户账户 public 角色权限 将权限应用到角色 使用 dbo 创建对象 安全的 CmdExec 和 ActiveScripting 作业步骤

4.5 管理 SQL Server 安全性

实验 B  管理权限

第四章:管理安全性 实现身份验证模式 登录账户 为用户和角色分配登录账户 为用户和角色分配权限 管理 SQL Server 安全性 管理应用程序的安全性 在企业中管理 SQL Server 安全性 最佳实践

管理应用程序的安全性

使用视图和存储过程来管理安全性 使用应用程序角色管理客户应用程序 创建应用程序角色 激活应用程序角色

4.6 管理应用程序的安全性

使用视图和存储过程来管理安全性

EmployeesEmployeesEmployeesEmployees

EmployeeIDEmployeeID

123

123

LastNameLastName

DavolioFullerLeverling

DavolioFullerLeverling

FirstName FirstName

NancyAndrewJanet

NancyAndrewJanet

ReportsToReportsTo

2

2

2

2

... ...

SELECT * FROM EmployeesSELECT * FROM Employees

EXEC Employee_Update 1, 9EXEC Employee_Update 1, 9

SELECT * FROM Employee_ViewSELECT * FROM Employee_View

4.6.1 使用视图和存储过程来管理安全性

使用应用程序角色管理客户应用程序

OrdersOrdersOrdersOrders

OrderIDOrderID CustomerID CustomerID EmployeeIDEmployeeID

102481024910250

102481024910250

VINETTOMSPHANAR

VINETTOMSPHANAR

312

312

... ...

Microsoft ExcelMicrosoft Excel订单应用程序订单应用程序

4.6.2 使用应用程序角色管理客户应用程序

创建应用程序角色

创建应用程序角色后,就会在 sysusers 表中插入一行

管理应用程序角色权限

4.6.3 创建应用程序角色

EXEC sp_setapprole 'SalesApp',{ENCRYPT N'hg_7532LR'}, 'ODBC'EXEC sp_setapprole 'SalesApp',{ENCRYPT N'hg_7532LR'}, 'ODBC'

激活应用程序角色

用户必须指定密码 范围是当前数据库。如果用户切换到别的数据库,

他们只能根据该数据库中 guest 账户的权限执行相应的操作

在用户从 SQL Server 断开连接之前,不能停用该角色

4.6.4 激活应用程序角色

实验 C  管理应用程序安全性

第四章:管理安全性

实现身份验证模式 登录账户 为用户和角色分配登录账户 为用户和角色分配权限 管理 SQL Server 安全性 管理应用程序的安全性 在企业中管理 SQL Server 安全性 最佳实践

在企业中管理 SQL Server 安全性

使用组策略保证 SQL Server 安全性 使用代理服务器、防火墙和路由器 使用在线加密来确保数据安全性

4.7 在企业中管理 SQL Server 安全性

使用组策略保证 SQL Server 安全性

为计算机配置的安全性包括 账户策略 受限制的组 软件策略

4.7.1 使用组策略保证 SQL Server 安全性

使用代理服务器、防火墙和路由器

用户

SQL ServerSQL Server

Microsoft代理服务器

Internet

S e c u r e

4.7.2 使用代理服务器、防火墙和路由器

使用在线加密来确保数据安全性

IPSec 协议 安全套接字层

4.7.3 使用在线加密来确保数据安全性

第四章:管理安全性

实现身份验证模式 登录账户 为用户和角色分配登录账户 为用户和角色分配权限 管理 SQL Server 安全性 管理应用程序的安全性 在企业中管理 SQL Server 安全性 最佳实践

使用混合模式来连接非信任客户端或 Internet 客户端 使用混合模式来连接非信任客户端或 Internet 客户端

使用 System Administrators (sysadmin) 角色而非 sa 登录账户 使用 System Administrators (sysadmin) 角色而非 sa 登录账户

先删除 Windows 2000 账户 , 然后删除 SQL Server 账户先删除 Windows 2000 账户 , 然后删除 SQL Server 账户

dbo 用户拥有所有对象的所有权dbo 用户拥有所有对象的所有权

使用存储过程和视图来简化安全性 使用存储过程和视图来简化安全性

最佳实践4.8 最佳实践

回顾

实现 Microsoft Windows 身份验证模式和混合模式

理解登录账户为用户和角色分配权限 为用户账户和角色指定登录账户 为用户账户和角色赋予权限 管理 SQL Server 的安全性 管理应用程序安全性 在企业环境中管理 SQL Server 安全性