您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > SQLSERVER--4-安全性
1SQLSERVER教程SQLSERVER数据库管理系统SQLSERVER教程2第六章安全管理•SQLServer2005安全架构•身份验证模式•登录管理•用户管理•角色管理•权限管理SQLSERVER教程36.1SQLServer安全架构•两个安全阶段:身份验证和权限验证•视图安全机制•加密方法:–加密机制:证书、对称密钥、非对称密钥–用户架构分离–安全与加密函数–withencryption子句•审核SQLServerProfiler(事件跟踪)SQLSERVER教程46.2SQLServer的验证模式•Windows身份验证模式•混合身份验证模式(即SQLServer身份验证模式)•设置验证模式SQLSERVER教程51Windows身份验证模式•WINDOWS身份验证模式是指通过Windows用户帐户连接到SQLServer,用户身份由Windows系统验证•优点:–高级安全特性–访问速度快SQLSERVER教程62SQLServer身份验证模式•混合身份验证模式允许用户使用Windows和SQLServer身份进行连接,由SQLServer检验登录和密码的正确性•优点:–非Windows客户、Internet客户能够通过混合模式建立连接–增加了安全性的选择SQLSERVER教程73设置验证模式•方法一:在“已注册的服务器”选择服务器,单击鼠标右键,在弹出的菜单上选择“属性”项,在“编辑”窗口进行设置。•方法二:在“对象资源管理器”中,右键单击服务器,再单击选择“属性”项。在“安全性”页上的“服务器身份验证”下进行设置。SQLSERVER教程8身份验证过程sysxloginsWindowsWindowsGrouporUserSQLServerLoginAccountsysxlogins受信任连接验证登录名和密码SQLServerSQLSERVER教程96.3登录管理•系统管理员登录账号•使用ManagementStudio管理登录帐户•用T-SQL管理登录帐户SQLSERVER教程101系统管理员登录账号•两个默认的系统管理员登录帐号,可以在服务器中执行任何活动–sa–BUILTIN\Administrators(本地管理员组)•注:应给sa账号指定口令SQLSERVER教程112用ManagementStudio管理登录账户•创建登录账户•查看、修改或删除登录帐户SQLSERVER教程122用ManagementStudio管理登录账户•创建登录账户:–1)选择服务器,展开“安全性”、“登录名”,并选择“新建登录名”,进入对话框。–2)选择验证模式,根据需要输入帐户名称、密码–3)单击“服务器角色”,查看固定服务器角色中的成员–4)单击“用户映射”,查看登录到数据库用户的映射–5)最后按“确定”按钮。SQLSERVER教程132用ManagementStudio管理登录账户•查看、修改登录账户:–1)选择服务器,展开“安全性”、“登录名。–2)单击“登录名”下某一登录帐户,在弹出菜单上单击“属性”项,可查看该帐户信息–3)单击“删除”,能删除该登录帐户。SQLSERVER教程143用T-SQL管理登录账户•新建登录账户:CreateLOGINlogin_name{WITHoption_list}sp_addlogin•修改登录帐户:ALTERLOGIN;•删除帐户:DROPLOGIN;sp_droplogin;sp_revokeloginSQLSERVER教程153用T-SQL管理登录账户•新建登录账户:CreateLOGINlogin_name{WITHoption_list|FROMsource}sp_addlogin•修改登录帐户:ALTERLOGIN;•删除帐户:DROPLOGIN;sp_droplogin;sp_revokeloginSQLSERVER教程166.4用户管理•登录名与数据库用户名的关系•使用ManagementStudio管理用户•用T-SQL管理用户SQLSERVER教程171登录名与数据库用户名的关系•登录名是访问SQLServer的通行证,要访问具体的数据库,还要有该数据库的用户名•默认情况下,用户名和登录名使用相同的名称•一个登录帐户可以映射到不同的数据库,一个数据库用户只能映射到一个登录帐户•一个登录名在一个数据库中只能有一个用户SQLSERVER教程182使用ManagementStudio管理用户•在创建登录帐户时,可指定该帐户允许访问的数据库,同时生成该登录帐户在数据库中的用户•步骤:–1)选择服务器和要设置的数据库,展开“安全性”、“用户”–2)选择“新建数据库用户”,在弹出的对话框输入用户名字及对应的登录名,按“确定”完成。SQLSERVER教程193用T-SQL管理用户•CREATEUSER语句;sp_adduser•ALTERUSER•DROPUSER;sp_revokeaccessSQLSERVER教程203用T-SQL管理用户•例1:创建名为AborHam且密码为340$Uxwp7Mcxo7Khy的服务器登录名,然后在Sales中创建对应的数据库用户AborHam。CREATELOGINAborHamWITHPASSWORD=‘340$Uxwp7Mcxo7Khy’USESalesCREATEUSERAborHamSQLSERVER教程21dbo和guest用户•dbo用户dbo是特殊的数据库用户,它是数据库所有者,可在数据库中执行所有的操作。服务器角色sysadmin的任何成员都会对应到每个数据库内的一个dbo用户,且服务器角色sysadmin任何成员创建的任何对象自动属于dbo。dbo无法删除。•guest用户由系统创建数据库后自动生成,它的作用是让未经授权的或未明确定义的用户具有一定的权限,guest也无法删除。SQLSERVER教程226.5角色管理•public角色•固定服务器角色:在服务器级别定义•数据库角色:在数据库级别定义•用户定义的角色•应用程序角色SQLSERVER教程231public角色•public角色在每个数据库中都存在,是系统预定义的角色。每个数据库用户都自动是此角色的成员,无法在此角色中添加或删除用户。•public角色提供数据库中用户的默认权限,不能删除。用户将继承授予public角色的权限。SQLSERVER教程242固定服务器角色RolePermission系统管理员sysadmin可以执行任何活动数据库创建者Dbcreator创建更改和删除数据库磁盘管理员diskadmin管理磁盘文件进程管理员processadmin管理在SQLServer中运行的进程服务器管理员serveradmin设置服务器范围的配置选项,关闭服务器安装管理员setupadmin可以安装复制安全管理员securityadmin管理和审计登录帐号大容量管理员Bulkadmin执行BULKINSERT语句SQLSERVER教程25固定服务器角色•固定服务器角色具有服务器级别上的管理权限,存储在master.syslogins系统表中•为固定服务器角色添加/删除登录帐号:–设置登录帐号属性–系统存储过程:sp_addsrvrolemembers;sp_dropsrvrolemembers–用managementstudio添加/删除角色成员•查看固定服务器角色的成员:sp_helpsrvrolemembersSQLSERVER教程26使用ManagementStudio添加/删除角色成员•方法一:选择服务器和要设置的数据库,展开“安全性”-“服务器角色”,在某固定服务器角色上单击右键,选择菜单中的“属性”项,单击“添加”或“删除”按钮选择成员。•方法二:选择服务器和要设置的数据库,展开“安全性”-“登录名”,在某登录名上右击,选择“属性”,出现“登录属性”对话框。单击“服务器角色”选项卡,直接多项选择该登录名所属的固定服务器角色。SQLSERVER教程27固定服务器角色•例1:将登录名HelenS添加到sysadmin固定服务器角色–EXECsp_addsrvrolemember‘HelenS’–用managementstudio添加•例2:查看sysadmin固定服务器角色的成员sp_helpsrvrolemember‘sysadmin’SQLSERVER教程283固定数据库角色RolePermissionpublicMaintainalldefaultpermissionsdb_ownerPerformanydatabaseroleactivitydb_accessadminAddorremovedatabaseusers,groups,androlesdb_ddladminAdd,modify,ordropdatabaseobjectsdb_securityadminAssignstatementandobjectpermissionsdb_backupoperatorBackupdatabasedb_datareaderReaddatafromanytabledb_datawriterAdd,change,ordeletedatafromalltablesdb_denydatareaderCannotreaddatafromanytabledb_denydatawriterCannotchangedatainanytableSQLSERVER教程293固定数据库角色RolePermissionpublic提供数据库中用户的默认权限db_owner(dbo)可以执行数据库所有的维护和配置活动db_accessadmin可为登录帐户添加或删除访问权限db_ddladmin可以在数据库中运行任何数据定义语言(DDL)db_securityadmin可以修改角色成员身份和管理权限db_backupoperator可以备份该数据库db_datareader可以读取所有用户表中的所有数据db_datawriter可以在所有用户表中添加、删除或更改数据db_denydatareader不能读取用户表中的任何数据db_denydatawriter不能添加、删除或更改用户表中的任何数据SQLSERVER教程30固定数据库角色•为固定数据库角色添加/删除用户:–系统存储过程:sp_addrolemembers;sp_droprolemembers–用managementstudio添加/删除角色成员•查看固定数据库角色的成员:sp_helprolemembersSQLSERVER教程31使用ManagementStudio添加/删除角色成员•选择要处理的固定数据库角色,右击后选择“属性”。在对话框中,单击“添加”按钮,选择要加入数据库角色的用户名。按“确定”完成。SQLSERVER教程324用户自定义角色•用于组织数据库用户的安全•当一组用户在SQLServer中有相同的权限时,可建用户角色•用户定义的角色只适用于数据库级别SQLSERVER教程33(1)用户角色的创建、修改或删除•用managementstudio创建、删除角色•用T-SQL创建、删除角色–CREATEROLErole_name[AUTHORIZATIONowner_name];sp_addrole–ALTERROLErole_nameWITHNAME=new_name–DROPROLE–sp_helprole返回当前数据库中的所有角色SQLSERVER教程34使用ManagementStudio创建、删除角色•选择服务器和要设置的数据库,展开“安全性”-“角色”-“数据库角色”,在数据库角色目录上单击右键,选择菜单中的“新建数据库角色”项,指定角色名与所有者,单击“确定”完成。•在某数据库角色上单击右键,选择菜单中的“属性”项,可查阅或修改角色信息。单击“删除”项完成删除。注:角色成员必须为空才能删除。SQLSERVER教程35用户自定义角色•例1:创建用户Mil
本文标题:SQLSERVER--4-安全性
链接地址:https://www.777doc.com/doc-3226565 .html