数据库安全性实验
- 格式: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要使用数据库邮件时,可以在“通知”一栏中勾选“电子邮件”并配置好。