数据库安全性实验

  • 格式:doc
  • 大小:1.45 MB
  • 文档页数:8

步骤:1、服务器登录名,分配(让它属于)一个服务器角色。

2、在一数据库中,创建架构。

(注:SQLServer2000中没有这个步骤)3、在同一数据库中,创建一个数据库用户,让它对应(映射)一个登录名,分配(让它属于)一个数据库角色。

(注:也可以先创建一个数据库角色,然后把用户包含进去)4、为数据库用户连接一个架构。

5、在登录名的属性的“用户映射”中,勾选特定数据库,选择用户名,选择默认架构。

(设置默认构架的方法)SQL 五大安全性设置实验:1、新建登录名Login1,SQL Server身份验证。

3、新建DB1的架构Schema1。

4、新建DB1的用户User1,登录名对于Login1,默认架构选择Schema1,角色选择db_owner。

5、在登录名Login1的属性窗口里选择“用户映射”,勾选DB1,在用户里填写User1,默认架构选择“Schema1”。

6、至此,新建表名会是Schema1.Table1,其他对象也如此。

实验A——关于在域环境下添加windows用户,并设置登录,自行阅读。

实验B实验环境参照五大安全设置实验创建实验环境(注:该环境跳过架构设置,使用默认值):1)创建服务器登录名carl、kathy,登录方式为SQL Server登录,测试登录。

注:A)创建服务登录名时,默认的登录数据库为master,测试登录发现:可以登录,但无法操作数据库。

B)若修改默认的登录数据库为AdventureWorks_new,测试登录发现:无法登录,这是要配置该服务器登录名的服务器角色为sysadmin。

请以A的环境创建carl,以B的环境创建kathy。

2)打开AdventureWorks_new数据库,为该数据库创建数据库用户carl、kathy (同服务器登录名),让它们分别对应(映射)服务器登录名carl、kathy,不分配数据库角色。

3)如果,为服务器登录名(例如kathy)设置过服务器角色sysadmin,则重新进入登录名属性,将该分配的服务器角色(sysadmin)取消。

1、创建自定义数据库角色。

(以管理员用户登录)1)打开AdventureWorks_new数据库,依次单击“安全性”和“角色”。

2)右击单击“数据库角色”,选择“新建数据库角色”。

3)角色名称:cust_mgmt,单击“添加”,在“选择数据库用户和角色”对话框中,单击“浏览”,在“查找对象”对话框中,选择“carl”、“kathy”,一直单击“确定”,退出“新建数据库角色”窗口。

2、分配语句权限(以管理员用户登录)1)右击AdventureWorks_new数据库,依次单击“属性”和“权限”选项卡。

2)为kathy选择“创建视图”,再单击“确定”来授权。

3)单击“新建查询”,以kathy登录名,登录测试:Use salesGoCreate view testview asSelect firstname,lastnameFrom employees提问:是否能够执行成功?为什么?***Use salesCreate table testable (column1 int not null, column2 char(10) not null)提问:是否能够执行成功?为什么?3、分配对象权限(以管理员用户登录)1)按下列表中信息为用户和角色授予、废除和拒绝在AdventureWorks_new数据库对象上的权限。

对象用户/角色权限Person.Contact Public 全部授予Sales.Customer Kathy 全部拒绝Sales.Customer Cust_mgmt 全部授予Sales.Customer Public 全部废除HumanResources.Employee Public 全部废除Sales.SalesOrderDetail Public 全部废除Sales.SalesOrderHeader Public 全部废除Production.Product Public 全部废除2)单击“新建查询”,分别以carl和kathy登录名登录,测试:select * from HumanResources.Employeeselect * from Sales.Customerselect * from Person.Contactselect * from Production.Productcarl和kathy分别能查询哪些表?不能查询哪些?为什么?(完成下表)对象用户能否访问原因HumanResources.Employee carlSales.Customer carlPerson.Contact carlProduction.Product carlHumanResources.Employee kathySales.Customer kathyPerson.Contact kathyProduction.Product kathy实验C1、创建和激活应用程序角色(以管理员用户登录)1)打开AdventureWorks_new数据库,依次单击“安全性”和“角色”。

2)右击单击“应用程序角色”,选择“新建应用程序角色”。

3)角色名称:order_entry,输入密码:123。

4)选择“安全对象”,单击“添加”,在“选择对象”对话框中,单击“对象类型”,在“选择对象类型”对话框中,选择“表”,单击“确定”;回到“选择对象类型”窗口,单击“浏览”,在“查找对象”窗口中选择:Person.Contact、Sales.Customer、Sales.SalesOrderDetail、Sales.SalesOrderHeader、Production.Product。

一直点击“确定”,回到“新建应用程序角色”对话框。

5)按下表内容,在“新建应用程序角色”窗口中为每个表选择不同权限。

单击“确定”,退出“新建应用程序角色”窗口。

表权限Person.Contact selectSales.Customer Select、insert、updateSales.SalesOrderDetail Select、insert、updateSales.SalesOrderHeader Select、insert、updateProduction.Product select6)单击“新建查询”,以carl用户登录。

在新建查询编辑器中,输入:exec sp_setapprole 'order_entry','123'7)执行:select * from production.productselect * from person.Address用户可以查询吗?为什么?2、通过视图和存储过程实现权限1)选择服务器(管理员权限登录的)。

2)在AdventureWorks_new数据库中,创建视图Employee_Views:表HumanResource.Employee,列选择EmployeeID、Title、ModifiedDate。

3)创建存储过程:Create procedure employee_proc asSelect EmployeeID,Title,ModifiedDateFrom HumanResource.Employee4)执行以下语句:Grant select on employees_view to publicGrant exec on employee_proc to public5)单击“新建查询”,以carl用户登录。

在新建查询编辑器中,输入:Select * from employee_viewsExec employee_procSelect * from HumanResource.Employee用户可以查询吗?为什么?1 利用SQL Server 2005数据库邮件,首先启用数据库邮件服务,如下:打开SQL Server“配置工具”中的“外围应用配置器”,选择“功能的外围应用配置器”。

在弹出的对话框中选择数据库邮件,并选择“启用数据库邮件存储过程”。

1 利用SQL Server 2005数据库邮件,首先启用数据库邮件服务,如下:打开SQL Server“配置工具”中的“外围应用配置器”,选择“功能的外围应用配置器”。

在弹出的对话框中选择数据库邮件,并选择“启用数据库邮件存储过程”。

2 什么是数据库邮件的配置文件?数据库邮件的配置文件是一个或多个数据库邮件账户的集合。

当无法访问电子邮件服务器时,配置文件可以使用提供其他的数据库邮件账户来提高可靠性。

在创建数据库邮件的配置文件时,至少需要一个数据库邮件账户3 用网易163帐户,没有任何问题的。

其发送邮件服务器为: 端口按默认的“25”即可!4 创建操作员操作员中的“电子邮件名称”相当于发送邮件时的目的邮件地址。

其中“Net send地址”为IP地址。

也就是net send 命令,如:net send 192.168.1.1 i am guoqiang如果要启用net send命令,一定要启用“Messenger”服务,操作系统默认是禁止的。

5 Net Send 用法作用:向网络的其他用户、计算机或通信名发送消息。

命令格式:Net send {name | * | /domain[:name] | /users} message有关参数说明:·name要接收发送消息的用户名、计算机名或通信名·* 将消息发送到组中所有名称·/domain[:name]将消息发送到计算机域中的所有名称·/users将消息发送到与服务器连接的所有用户·message作为消息发送的文本net send 机器名内容net send ip地址内容6 如果job要使用数据库邮件,首先要配置SQL Server代理以使用数据库邮件(1)启动【SQL Server Management Studio】,连接上数据库实例,在【对象资源管理器】里右击【SQL Server 代理】选项,在弹出的快捷菜单里选择【属性】选项。

(2)在弹出的【SQL Server代理属性】对话框里选择【警报系统】标签。

如图24.21所示,在【邮件会话】区域选择【启用邮件配置文件】复选框,然后在【邮件系统】下拉列表框里选择“数据库邮件”选项;在【邮件配置文件】下拉列表框里选择前面测试成功的邮件配置文件。

(3)重要:由于在修改了警报系统配置之后要重启SQL Server代理后才能起效,所以在修改完毕后一定要重新启动SQL Server代理。

7 如果job要使用数据库邮件时,可以在“通知”一栏中勾选“电子邮件”并配置好。