丨权限管理如何控制数据库访问消除安全隐患_第1页
丨权限管理如何控制数据库访问消除安全隐患_第2页
丨权限管理如何控制数据库访问消除安全隐患_第3页
丨权限管理如何控制数据库访问消除安全隐患_第4页
丨权限管理如何控制数据库访问消除安全隐患_第5页
已阅读5页,还剩6页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

我们把具有相同数据范围和程度的用户归成不同的类别,这种类别就叫角色。通过角色,管理用户对数据库的范围和程度就更加方便了。这也就是对用户的数据权限恰当的权限设定,可以确保数据的安全性,这是至关重要的户,怎么直接给户授权,从而帮助你管理好用户的权限,提升数据库的安全性。角色是在MySQL8.0引入的新功能,相当于一个权限的集合。引入角色的目的是方便管下面我举个超市项目中的例子,来具体说明一下如何通过角色管理用户超市项目中有库管、营运和财务等不同的模块,它们各自对应不同的数据表。比如库存模块中的盘点表(demo.invot)dest还有财务模块中的应付账款表(demo.sttment)盘点表商品信息表应付账款表工数权限的管理,从而保证数据的安全性。这样说有点抽象,下面我们具体操作一下角色和用首先,我们要创建一个角色,为后面的做好准备如何创建角色 中的角色名称由角色名称加主机名称组成。创建角色的语法结代代1CREATEROLE角色名假设我们现在需要创建一个经理的角色,就可以用下面的代代代mysql>CREATEROLEQueryOK,0rowsaffected(0.06这里的意思是,创建一个角色,角色名称是“manager”,角色可以登录的主“localhost”“manag”:代代mysql>CREATEROLEQueryOK,0rowsaffected(0.01如果不写主机名,MySQL认是通配符“%”,意思是这个账号可以从任何一台主机上登同样道理,如果我们要创建库管的角色,就可以用下面的代代代mysql>CREATEROLEQueryOK,0rowsaffected(0.02创建角色之后,默认这个角色是没有任何权限的,我们需要给角色怎么给角色赋予权给角色的语法结构是代代1GRANT权限ON表名TO角色名代代12345678mysql>GRANTSELECTONdemo.settlementTOQueryOK,0rowsaffected(0.03mysql>GRANTSELECTONdemo.goodsmasterTO'manager';QueryOK,0rowsaffected(0.01sec)mysql>GRANTSELECTONdemo.invcountTO'manager';QueryOK,0rowsaffected(0.01sec)代代12345mysql>GRANTSELECT,INSERT,DELETE,UPDATEONdemo.invcountTOQueryOK,0rowsaffected(0.02mysql>GRANTSELECTONdemo.goodsmasterTOQueryOK,0rowsaffected(0.02查看角色权赋予角色权限之后,我们可以通过SHOWGRANTS语句,来查看权限是否创建成功了代代1mysql>SHOWGRANTSFOR223456789+|Grantsformanager@%+|GRANTUSAGEON*.*TO`manager`@`%`++|GRANTSELECTON`demo`.`goodsmaster`TO`manager`@`%`|GRANTSELECTON`demo`.`invcount`TO`manager`@`%`|GRANTSELECTON`demo`.`settlement`TO`manager`@`%`+4rowsinset(0.00+只要你创建了一个角色,系统就会自动给你一个“USAG“manager”赋予的权限,也就是对商品信息表、盘点表和应付账款表的只读权限。再来看看库管角色的权限代代123456789mysql>SHOWGRANTSFOR+|Grantsforstocker@%+|GRANTUSAGEON*.*TO`stocker`@`%`|GRANTSELECTON`demo`.`goodsmaster`TO`stocker`@`%`++|GRANTSELECT,INSERT,UPDATE,DELETEON`demo`.`invcount`TO`stocker`@`%`+3rowsinset(0.00+结果显示,库管角色拥有商品信息表的只读权限和盘点表的增删改查权删除角删除角色的操作很简单,你只要掌握语法结构就行代代1DROPROLE角色名称这个操作十分简单,我就不多说到这里,关于角色的操作,我就介绍完了,下面我们来看看关于用户的创建用创建用户的语法结构是这样的代代1CREATEUSER用户名[IDENTIFIED“[]”表示可选,也就是说,可以指定用户登录时需要验证,也可以不指定验举个例子,假设我们要给创建一个用户,用户名是“zhangsan”,代代mysql>CREATEUSER'zhangsan'IDENTIFIEDBYQueryOK,0rowsaffected(0.02这样,的用户就创建成功了给用代给用户的方式有2种,分别是通过把角色赋予用户给用户,和直接给用户。代11举个小例子,我们想要给赋予库管的角色,可以通过下面的代码实现代代mysql>GRANT'stocker'TOQueryOK,0rowsaffected(0.01我们也可以直接给用户,语法结构如下代代1GRANT权限ON表名TO用户名这种方式简单直接,我就不多说了。下面我们来查看一下这个用户的权限有哪查看用户权查看用户权限的语法结构代代1SHOWGRANTSFOR用户名我们可以通过下面的代码来查看的权限代代12345678mysql>SHOWGRANTSFOR+|Grantsforzhangsan@%+|GRANTUSAGEON*.*TO`zhangsan`@`%`++|GRANT`stocker`@`%`TO`zhangsan`@`%`+2rowsinset(0.00+结果显示,拥有库管角色的权限说到这里,我必须要提醒你一个常如果现在你用的这个用户去登录,你会发现,这个账号是没有任何权限的。你是不是户“zhangsan”应该有角色“stocker”的权限啊。其实,这是因为,MySQL创建了代代1SETglobal这条SQL句的意思是,对所有角色永久激活。运行这条语句之后,用下面我们就用的账号登录,确认一下他有没有相应的权限代代123456789H:\>mysql-uzhangsan-pEnterpassword:*****etotheMySQLmonitor.Commandsendwith;orYourMySQLconnectionidisServerversion:8.0.23MySQLCommunityServer-Copyright(c)2000,2021,Oracleand/oritsOracleisaregisteredtrademarkofOracleCorporationand/oritsaffiliates.OthernamesmaybetrademarksoftheirrespectiveType'help;'or'\h'forhelp.Type'\c'toclearthecurrentinputmysql>select*from+++++++|itemnumber|barcode|goodsname|specification|unit|salesprice|+++++++|1|0001|书|16开|本|89.00|31.00|2|0002|笔|NULL|包|5.00|2.87+++++++2rowsinset(0.02结果显示,我们可以正常登录,并且可以查询商品信息表的内删除用代代1DROPUSER用户名角色是权限的集合。你可以直接给用户授予数据库的权限,也可以通过把角色授予用户,从而把角色对数据库的权限全部授予给用户。而用户是数据库的使用者,我们可以通过给用户授予数据库中资源的权限,来控制使用者对数据库的,消除安全隐我知道,有一些程序员喜欢使用Root超级用户来数据库,完全把权限控制放在应用层面实现。这样当然也是可以的。不过我建议你,尽量使用数据库自己的角色和用户机制来控制权限,不要轻易用Root账号。因为Root号代码不安一旦,数据库就会完全失去保护。而且,SQL“accoutat”备这些权限。给会计“创建一个用户账号“lisi”财务的角色获得对应付账款表增删改查的权限,和对商品信息

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论