《系统安全管理》PPT课件.ppt

上传人:tian****1990 文档编号:7805073 上传时间:2020-03-24 格式:PPT 页数:51 大小:1.50MB
返回 下载 相关 举报
《系统安全管理》PPT课件.ppt_第1页
第1页 / 共51页
《系统安全管理》PPT课件.ppt_第2页
第2页 / 共51页
《系统安全管理》PPT课件.ppt_第3页
第3页 / 共51页
点击查看更多>>
资源描述
第9章系统安全管理 9 1SQLServer2008安全机制 9 2建立和管理用户账户 9 3角色管理 9 4数据库权限的管理 9 5数据库架构定义和使用 9 1SQLServer2008安全机制 9 1 1SQLServer2008身份验证模式SQLServer2008的身份验证模式是指系统确认用户的方式 SQLServer2008有两种身份验证模式 Windows验证模式和SQLServer验证模式 如图9 1所示为这两种方式登录SQLServer服务器的情形 9 1 1SQLServer2008身份验证模式 1 Windows验证模式 1 必须将Windows账户加入到SQLServer中 才能采用Windows账户登录SQLServer 2 如果使用Windows账户登录到另一个网络的SQLServer 则必须在Windows中设置彼此的托管权限 2 SQLServer验证模式在SQLServer验证模式下 SQLServer服务器要对登录的用户进行身份验证 当SQLServer在WindowsXP或Windows2003 2008等操作系统上运行时 系统管理员设定登录验证模式的类型可为Windows验证模式和混合模式 9 1 2SQLServer2008安全性机制 1 服务器级别所包含的安全对象主要有登录名 固定服务器角色等 其中 登录名用于登录数据库服务器 而固定服务器角色用于给登录名赋予相应的服务器权限 2 数据库级别所包含的安全对象主要有用户 角色 应用程序角色 证书 对称密钥 非对称密钥 程序集 全文目录 DDL事件 架构等 3 架构级别所包含的安全对象主要有表 视图 函数 存储过程 类型 同义词 聚合函数等 9 2建立和管理用户账户 9 2 1界面方式管理用户账户1 建立Windows验证模式的登录名第1步 创建Windows的用户 9 2 1界面方式管理用户账户 第2步 将Windows账户加入到SQLServer中 9 2 1界面方式管理用户账户 2 建立SQLServer验证模式的登录名步骤如下 第1步 以系统管理员身份登录SQLServerManagementStudio 在对象资源管理器中选择要登录的SQLServer服务器图标 右击鼠标 在弹出的快捷菜单中选择 属性 菜单项 打开 服务器属性 窗口 第2步 在打开的 服务器属性 窗口中选择 安全性 选项卡 选择服务器身份验证为 SQLServer和Windows身份验证模式 单击 确定 按钮 保存新的配置 重启SQLServer服务即可 9 2 1界面方式管理用户账户 3 管理数据库用户使用SSMS创建数据库用户账户的步骤如下 以PXSCJ为例 9 2 2命令方式管理用户账户 1 创建登录名在SQLServer2008中 创建登录名可以使用CREATELOGIN命令 语法格式 CREATELOGINlogin name WITHPASSWORD password HASHED MUST CHANGE WITH子句用于创建SQLServer登录名 FROM FROM子句用于创建其他登录名 WINDOWS WITH CERTIFICATEcertname ASYMMETRICKEYasym key name 9 2 2命令方式管理用户账户 其中 SID sid DEFAULT DATABASE database DEFAULT LANGUAGE language CHECK EXPIRATION ON OFF CHECK POLICY ON OFF CREDENTIAL credential name DEFAULT DATABASE database DEFAULT LANGUAGE language 9 2 2命令方式管理用户账户 例9 1 使用命令方式创建Windows登录名tao 假设Windows用户tao已经创建 本地计算机名为0BD7E57C949A420 默认数据库设为PXSCJ USEmasterGOCREATELOGIN 0BD7E57C949A420 tao FROMWINDOWSWITHDEFAULT DATABASE PXSCJ 例9 2 创建SQLServer登录名sql tao 密码为123456 默认数据库设为PXSCJ CREATELOGINsql taoWITHPASSWORD 123456 DEFAULT DATABASE PXSCJ 9 2 2命令方式管理用户账户 2 删除登录名删除登录名使用DROPLOGIN命令 语法格式 DROPLOGINlogin name 例9 3 删除Windows登录名tao DROPLOGIN 0BD7E57C949A420 tao 例9 4 删除SQLServer登录名sql tao DROPLOGINsql tao 9 2 2命令方式管理用户账户 3 创建数据库用户创建数据库用户使用CREATEUSER命令 语法格式 CREATEUSERuser name FOR FROM LOGINlogin name CERTIFICATEcert name ASYMMETRICKEYasym key name WITHOUTLOGIN WITHDEFAULT SCHEMA schema name 9 2 2命令方式管理用户账户 例9 5 使用SQLServer登录名sql tao 假设已经创建 在PXSCJ数据库中创建数据库用户tao 默认架构名使用dbo USEPXSCJGOCREATEUSERtaoFORLOGINsql taoWITHDEFAULT SCHEMA dbo 9 2 2命令方式管理用户账户 4 删除数据库用户删除数据库用户使用DROPUSER语句 语法格式 DROPUSERuser nameuser name为要删除的数据库用户名 在删除之前要使用USE语句指定数据库 例9 6 删除PXSCJ数据库的数据库用户tao USEPXSCJGODROPUSERtao 9 3角色管理 9 3 1固定服务器角色 1 sysadmin 系统管理员 角色成员可对SQLServer服务器进行所有的管理工作 为最高管理角色 这个角色一般适合于数据库管理员 DBA 2 securityadmin 安全管理员 角色成员可以管理登录名及其属性 可以授予 拒绝 撤销服务器级和数据库级的权限 3 serveradmin 服务器管理员 角色成员具有对服务器进行设置及关闭服务器的权限 4 setupadmin 设置管理员 角色成员可以添加和删除链接服务器 并执行某些系统存储过程 5 processadmin 进程管理员 角色成员可以终止SQLServer实例中运行的进程 6 diskadmin 用于管理磁盘文件 7 dbcreator 数据库创建者 角色成员可以创建 更改 删除或还原任何数据库 8 bulkadmin 可执行BULKINSERT语句 但是这些成员对要插入数据的表必须有INSERT权限 BULKINSERT语句的功能是以用户指定的格式复制一个数据文件至数据库表或视图 9 public 其角色成员可以查看任何数据库 9 3 1固定服务器角色 1 通过对象资源管理器添加服务器角色成员第1步 以系统管理员身份登录到SQLServer服务器 在对象资源管理器中展开 安全性 登录名 选择登录名 例如 0BD7E57C949A420 liu 双击或右击选择 属性 菜单项 打开 登录属性 窗口 第2步 在打开的 登录属性 窗口中选择 服务器角色 选项卡 如图9 7所示 9 3 1固定服务器角色 2 利用系统存储过程添加服务器角色成员利用系统存储过程sp addsrvrolemember可将一登录名添加到某一固定服务器角色中 使其成为固定服务器角色的成员 语法格式 sp addsrvrolemember loginame login rolename role 例9 7 将Windows登录名0BD7E57C949A420 liu添加到sysadmin固定服务器角色中 EXECsp addsrvrolemember 0BD7E57C949A420 liu sysadmin 9 3 1固定服务器角色 3 利用系统存储过程删除固定服务器角色成员利用sp dropsrvrolemember系统存储过程可从固定服务器角色中删除SQLServer登录名或Windows登录名 语法格式 sp dropsrvrolemember loginame login rolename role 参数含义 login 为将要从固定服务器角色删除的登录名 role 为服务器角色名 默认值为NULL 必须是有效的固定服务器角色名 例9 8 从sysadmin固定服务器角色中删除SQLServer登录名david EXECsp dropsrvrolemember david sysadmin 9 3 2固定数据库角色 1 使用对象资源管理器添加固定数据库角色成员第1步 以系统管理员身份登录到SQLServer服务器 在对象资源管理器中展开 数据库 PXSCJ 安全性 用户 选择一个数据库用户 例如 david 双击或单击右键选择 属性 菜单项 打开 数据库用户 窗口 第2步 在打开的窗口中 在 常规 选项卡中的 数据库角色成员身份 栏 用户可以根据需要 在数据库角色前的复选框中打勾 来为数据库用户添加相应的数据库角色 如图9 8所示 单击 确定 按钮完成添加 9 3 2固定数据库角色 9 3 2固定数据库角色 第3步 查看固定数据库角色的成员 在对象资源管理器中 在PXSCJ数据库下的 安全性 角色 数据库角色 目录下 选择数据库角色 如db owner 右击选择 属性 菜单项 在属性窗口中的 角色成员 栏下可以看到该数据库角色的成员列表 如图9 9所示 9 3 2固定数据库角色 2 使用系统存储过程添加固定数据库角色成员利用系统存储过程sp addrolemember可以将一个数据库用户添加到某一固定数据库角色中 使其成为该固定数据库角色的成员 语法格式 sp addrolemember rolename role membername security account 例9 9 将PXSCJ数据库上的数据库用户david 假设已经创建 添加为固定数据库角色db owner的成员 USEPXSCJGOEXECsp addrolemember db owner david 9 3 2固定数据库角色 3 使用系统存储过程删除固定数据库角色成员利用系统存储过程sp droprolemember可以将某一成员从固定数据库角色中去除 语法格式 sp droprolemember rolename role membername security account 例9 10 将数据库用户david从db owner中去除 USEPXSCJGOEXECsp droprolemember db owner david 9 3 3自定义数据库角色 1 通过对象资源管理器创建数据库角色第1步 创建数据库角色 以Windows系统管理员身份连接SQLServer 在对象资源管理器中展开 数据库 选择要创建角色的数据库 如PXSCJ 安全性 角色 右击鼠标 在弹出的快捷菜单中选择 新建 菜单项 在弹出的子菜单中选择 新建数据库角色 菜单项 如图9 10所示 进入 数据库角色 新建 窗口 9 3 3自定义数据库角色 第2步 将数据库用户加入数据库角色 将用户加入自定义数据库角色的方法与9 3 2小节中将用户加入固定数据库角色的方法类似 这里不再重复 如图9 11所示是将PXSCJ数据库的用户david加入ROLE1角色 9 3 3自定义数据库角色 2 通过SQL命令创建数据库角色 1 定义数据库角色 创建用户自定义数据库角色可以使用CREATEROLE语句 语法格式 CREATEROLErole name AUTHORIZATIONowner name 例9 11 如下示例在当前数据库中创建名为ROLE2的新角色 并指定dbo为该角色的所有者 USEPXSCJGOCREATEROLEROLE2AUTHORIZATIONdbo 9 3 3自定义数据库角色 2 给数据库角色添加成员 向用户定义数据库角色添加成员也使用存储过程sp addrolemember 用法与之前介绍的基本相同 例9 12 使用Windows身份验证模式的登录名 如0BD7E57C949A420 liu 创建PXSCJ数据库的用户 如0BD7E57C949A420 liu 并将该数据库用户添加到ROLE1数据库角色中 USEPXSCJGOCREATEUSER 0BD7E57C949A420 liu FROMLOGIN 0BD7E57C949A420 liu GOEXECsp addrolemember ROLE1 0BD7E57C949A420 liu 9 3 3自定义数据库角色 例9 13 将SQLServer登录名创建的PXSCJ的数据库用户wang 假设已经创建 添加到数据库角色ROLE1中 USEPXSCJGOEXECsp addrolemember ROLE1 wang 例9 14 将数据库角色ROLE2 假设已经创建 添加到ROLE1中 EXECsp addrolemember ROLE1 ROLE2 9 3 3自定义数据库角色 3 通过SQL命令删除数据库角色要删除数据库角色可以使用DROPROLE语句 语法格式 DROPROLErole name 例9 15 删除数据库角色ROLE2 在删除ROLE2之前首先需要将ROLE2中的成员删除 可以使用界面方式 也可以使用命令方式 若使用界面方式 只需在ROLE2的属性页中操作即可 命令方式在删除固定数据库成员时已经介绍 请参见前面内容 确认ROLE2可以删除后 使用以下命令删除ROLE2 DROPROLEROLE2 9 4数据库权限的管理 9 4 1授予权限 1 使用命令方式授予权限 利用GRANT语句可以给数据库用户或数据库角色授予数据库级别或对象级别的权限 语法格式 GRANT ALL PRIVILEGES permission column n n ONsecurable TOprincipal n WITHGRANTOPTION ASprincipal 例9 16 给PXSCJ数据库上的用户david和wang授予创建表的权限 以系统管理员身份登录SQLServer 新建一个查询 输入以下语句 USEPXSCJGOGRANTCREATETABLETOdavid wangGO 9 4 1授予权限 例9 17 首先在数据库PXSCJ中给public角色授予表XSB的SELECT权限 然后 将其他一些权限授予用户david和wang 使用户有对XSB表的所有操作权限 以系统管理员身份登录SQLServer 新建一个查询 输入以下语句 USEPXSCJGOGRANTSELECTONXSBTOpublicGOGRANTINSERT UPDATE DELETE REFERENCESONXSBTOdavid wangGO 9 4 1授予权限 例9 18 将CREATETABLE权限授予数据库角色ROLE1的所有成员 以系统管理员身份登录SQLServer 新建一个查询 输入以下语句 GRANTCREATETABLETOROLE1 例9 19 以系统管理员身份登录SQLServer 将表XSB的SELECT权限授予ROLE2角色 指定WITHGRANTOPTION子句 用户li是ROLE2的成员 创建过程略 在li用户上将表XSB上的SELECT权限授予用户huang 创建过程略 huang不是ROLE2的成员 首先以Windows系统管理员身份连接SQLServer 授予角色ROLE2在XSB表上的SELECT权限 USEPXSCJGOGRANTSELECTONXSBTOROLE2WITHGRANTOPTION 9 4 1授予权限 在 SQLServerManagementStudio 窗口上单击 新建查询 按钮旁边的数据库引擎查询按钮 在弹出的连接窗口中以li用户的登录名登录 如图9 12所示 9 4 1授予权限 在 查询分析器 窗口中使用如下语句将用户li在XSB表上的SELECT权限授予huang USEPXSCJGOGRANTSELECTONXSBTOhuangASROLE2 例9 20 在当前数据库PXSCJ中给public角色赋予对表XSB中 学号 姓名 字段的SELECT权限 以系统管理员身份登录SQLServer 新建一个查询 输入以下语句 USEPXSCJGOGRANTSELECT 学号 姓名 ONXSBTOpublicGO 9 4 1授予权限 2 使用界面方式授予语句权限 授予数据库上的权限 9 4 1授予权限 授予数据库对象上的权限 9 4 2拒绝权限 语法格式 DENY ALL PRIVILEGES permission column n n ONsecurable TOprincipal n CASCADE ASprincipal 例9 21 对多个用户不允许使用CREATEVIEW和CREATETABLE语句 DENYCREATEVIEW CREATETABLETOli huangGO 9 4 2拒绝权限 例9 22 拒绝用户li huang 0BD7E57C949A420 liu 对表XSB的一些权限 这样 这些用户就没有对XSB表的操作权限了 USEPXSCJGODENYSELECT INSERT UPDATE DELETEONXSBTOli huang 0BD7E57C949A420 liu GO 例9 23 对所有ROLE2角色成员拒绝CREATETABLE权限 DENYCREATETABLETOROLE2GO 9 4 3撤销权限 语法格式 REVOKE GRANTOPTIONFOR ALL PRIVILEGES permission column n n ONsecurable TO FROM principal n CASCADE ASprincipal 例9 24 取消已授予用户wang的CREATETABLE权限 REVOKECREATETABLEFROMwang 9 4 3撤销权限 例9 25 取消授予多个用户的多个语句权限 REVOKECREATETABLE CREATEDEFAULTFROMwang liGO 例9 26 取消以前对wang授予或拒绝的在XSB表上的SELECT权限 REVOKESELECTONXSBFROMwang 9 4 3撤销权限 例9 27 角色ROLE2在XSB表上拥有SELECT权限 用户li是ROLE2的成员 li使用WITHGRANTOPTION子句将SELECT权限转移给了用户huang 用户huang不是ROLE2的成员 现要以用户li的身份撤销用户huang的SELECT权限 以用户 li 的身份登录SQLServer服务器 新建一个查询 使用如下语句撤销huang的SELECT权限 USEPXSCJGOREVOKESELECTONXSBTOhuangASROLE2 9 5数据库架构定义和使用 9 5 1使用界面方式创建架构第1步 以系统管理员身份登录SQLServer 在对象资源管理器中展开 数据库 PXSCJ 安全性 选择 架构 右击鼠标 在弹出的快捷菜单中选择 新建架构 菜单项 第2步 在打开的 架构 新建 窗口中选择 常规 选项卡 在窗口右边 架构名称 下面的文本框中输入架构名称 如test 单击 搜索 按钮 在打开的 搜索角色和用户 对话框中单击 浏览 按钮 如图9 15所示 9 5 1使用界面方式创建架构 9 5 1使用界面方式创建架构 第3步 架构创建完后可以新建一个测试表来测试如何访问架构中的对象 在PXSCJ数据库中新建一个名为table 1的表 表的结构如图9 16所示 9 5 1使用界面方式创建架构 在创建表时 表的默认架构为dbo 要将其架构修改为test 在进行表结构设计时 表设计窗口右边有一个表table 1的属性窗口 在创建表时 应在表的属性窗口中将该表的架构设置成test 如图9 17所示 如果没有找到属性窗口 则单击 视图 菜单栏 选择 属性窗口 子菜单就能显示出属性窗口 设置完成后保存该表 保存后的表可以在对象资源管理器中找到 此时表名就已经变成test table 1 如图9 18所示 9 5 1使用界面方式创建架构 第4步 在对象资源管理器中展开数据库 PXSCJ 安全性 架构 选择新创建的架构test 右击鼠标 在弹出的快捷菜单中选择 属性 菜单项 打开 架构属性 窗口 在该架构属性的 权限 选项卡中 单击 搜索 按钮 选择用户owner 假设已经创建 为用户owner分配权限 如 选择 SELECT 权限 如图9 19所示 9 5 1使用界面方式创建架构 第5步 重新启动SQLServerManagementStudio 使用SQLServer身份验证方式 以用户owner的登录名连接SQLServer 在连接成功后 创建一个新的查询 在 查询分析器 窗口中输入查询表test table 1中数据的T SQL语句 USEPXSCJGOSELECT FROMtest table 1执行结果如图9 20所示 9 5 1使用界面方式创建架构 再新建一个SQL查询 在查询编辑器中输入删除表test table 1的T SQL语句 DELETEFROMtest table 1执行结果如图9 21所示 9 5 2使用命令方式创建架构 语法格式 CREATESCHEMA n 其中 schema name AUTHORIZATIONowner name schema nameAUTHORIZATIONowner name table definition view definition grant statementrevoke statement deny statement 9 5 2使用命令方式创建架构 例9 28 创建架构test schema 其所有者为用户david 以系统管理员身份登录SQLServer 新建一个查询 输入以下语句 USEPXSCJGOCREATESCHEMAtest schemaAUTHORIZATIONdavid另外 要删除可以使用DROPSCHEMA语句 例如 DROPSCHEMAtest schema
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!