当前位置: 首页 > news >正文

网站推广运作怎么做wordpress w按钮

网站推广运作怎么做,wordpress w按钮,核桃编程免费100课,wordpress wp-login摘要 在SQL Server安全系列专题月报分享中#xff0c;我们已经分享了#xff1a;如何使用对称密钥实现SQL Server列加密技术、使用非对称密钥加密方式实现SQL Server列加密、使用混合密钥实现SQL Server列加密技术、列加密技术带来的查询性能问题以及相应解决方案和行级别安…摘要 在SQL Server安全系列专题月报分享中我们已经分享了如何使用对称密钥实现SQL Server列加密技术、使用非对称密钥加密方式实现SQL Server列加密、使用混合密钥实现SQL Server列加密技术、列加密技术带来的查询性能问题以及相应解决方案和行级别安全解决方案这五篇文章文章详情可以参见往期月报。本期月报我们分享使用SQL Server 2016 dynamic data masking实现隐私数据列的打码技术最佳实践。 问题引入 在平日的生活中我们或多或少都经历过广告推销、电话诈骗不厌其烦甚至更为严重到银行卡号泄漏、身份证号泄漏等更为严重的情况。这个时候于是我们就在想有没有技术手段来尽量或最大限度的保护我们隐私数据安全呢答案是肯定的SQL Server 2016版本首次引入了dynamic data masking来实现隐私数据列的打码技术让我们一起来看看如何实现类似于手机号、身份证号、驾照号等隐私数据打码技术。 原理分析 数据列打码技术的本身我们并不陌生就是将一些比较私密的数据信息隐藏起来仅开放给有较高权限的用户查看完整数据。打码技术本身并不会对数据做任何的加密、解密等操作。严格意义上讲数据打码不是一个完整的数据安全解决方案但是它可以作为安全策略中重要的一环来有效避免用户隐私数据列的泄漏。让我们一起来看看在SQL Server 2016 dynamic data masking是如何实现的。 实现方法 创建测试数据库 为了测试方便我们专门创建了测试数据库TestDb。 --Step 1 - Create MSSQL sample database USE master GO IF DB_ID(TestDb) IS NULLCREATE DATABASE [TestDb]; GO 创建测试表 首先我们创建一张常规表CustomerInfo来存放客户信息其中CustomerPhone列为用户隐私数据存放了用户的手机号码。 --Step 2 - Create Test Table, init records USE [TestDb] GO IF OBJECT_ID(dbo.CustomerInfo, U) IS NOT NULLDROP TABLE dbo.CustomerInfo CREATE TABLE dbo.CustomerInfo ( CustomerId INT IDENTITY(10000,1) NOT NULL PRIMARY KEY, CustomerName VARCHAR(100) NOT NULL, CustomerPhone CHAR(11) NOT NULL );-- Init Table INSERT INTO dbo.CustomerInfo VALUES (CustomerA,13402872514) ,(CustomerB,13880674722) ,(CustomerC,13487759293) GO 创建测试用户 为了方便观察和检查测试效果我们创建一个测试账号DemoUser。 -- Step3: Create a DemoUser to test USE [TestDb] GO CREATE USER DemoUser WITHOUT LOGIN; GRANT SELECT ON dbo.CustomerInfo TO DemoUser; GOEXECUTE AS USER DemoUser; -- Verify data SELECT * FROM dbo.CustomerInfoREVERT 常规情况下测试账号可以清清楚楚明明白白看到用户所有数据包含客户手机号这种关键的隐私数据。如果这个用户有不轨之心是非常容易将这些信息泄漏、导出的安全风险较大 客户手机号打码 于是我们想如果能够将客户隐私数据比如电话号码身份证号码、银行卡号等打码的话那么测试账号就无法查看到用户完整的数据信息了。打码方法如下 -- Step4: Alter phone column add data mask USE [TestDb] GOALTER TABLE dbo.CustomerInfo ALTER COLUMN CustomerPhone ADD MASKED WITH(FUNCTIONpartial(3, ****, 4)); 由于CustomerPhone是11位数字我们使用partial方法打码隐藏中间四位打码符号使用星号保留前三位和后四位数数字即可。 查询打码列 打码完毕我们使用系统试图查看打码列和打码函数 -- Step5. Query system view to check data mask SELECTdb_name() as database_name, SCHEMA_NAME(schema_id) AS schema_name, tbl.name as table_name, c.name as column_name, c.is_masked, c.masking_function FROM sys.masked_columns AS c WITH (NOLOCK)INNER JOIN sys.tables AS tbl WITH(NOLOCK)ON c.[object_id] tbl.[object_id] WHERE c.is_masked 1AND tbl.name CustomerInfo; 从结果可以看到我们已经将表TestDb.dbo.CustomerInfo中字段CustomerPhone打码打码函数为partial(3, **, 4)结果展示如下所示 测试用户查看数据 打码完毕后再次使用DemoUser测试账号查看打码后的数据 -- Step6: Demo user to query and verify data USE [TestDb] GO EXECUTE AS USER DemoUser; -- Verify data SELECT * FROM dbo.CustomerInfoREVERT 从查询结果展示来看客户手机号码列中间四位已经成功打码了测试账号已经无法获取到完整的客户电话号码了。 修改打码符号 有时候有的人会说我不喜欢星号能否换个打码姿势我更喜欢使用字母X。只要你喜欢随便切换方法如下 -- Step7: What if I want to change the mask sign from * to X USE [TestDb] GOALTER TABLE dbo.CustomerInfo ALTER COLUMN CustomerPhone CHAR(11) MASKED WITH(FUNCTIONpartial(3, XXXX, 4)); 现在打码符号变成了X展示如下 新增隐私打码列 现在我们需要增加一个新的列用来存放用户email地址也请同时打码。非常简单新增列的时候使用email打码函数即可如下所示 -- Step8: and I want to add a new email mask column ALTER TABLE dbo.CustomerInfo ADD Email varchar(100) MASKED WITH (FUNCTION email()) NOT NULL DEFAULT(demo.usertest.com) 查询打码列特定值 有的人可能会问手机号码被打码了这个列会影响我的WHERE语句查询吗当然不会因为data mask技术本身并没有对数据做任何修改只是在展示的时候打码隐藏掉部分信息而已。 -- Step9: Demo user to query the specified phone customer info USE [TestDb] GO EXECUTE AS USER DemoUser; -- Verify data SELECT * FROM dbo.CustomerInfo WHERE CustomerPhone 13880674722REVERT 查询结果展示手机号码和email地址始终被打码。 拷贝存在打码列的表 我们说data mask技术并没有加密、修改数据本身。到目前为止测试账号DemoUser已经无法获取到客人的关键隐私数据了那么他能够将用户数据Copy、导出吗让我们做一个简单的测试DemoUser将表CustomerInfo复制到一个新表CustomerInfo_copied中 -- Step10: Ops, if I copy a new table from the data masked table, I cant get the unmasked data now. USE [TestDb] GO GRANT CREATE TABLE TO DemoUser; GRANT ALTER ON SCHEMA::dbo TO DemoUser; EXECUTE AS USER DemoUser; -- Verify data SELECT * INTO dbo.CustomerInfo_copied FROM dbo.CustomerInfoREVERTGRANT SELECT ON dbo.CustomerInfo_copied TO DemoUser; EXECUTE AS USER DemoUser; SELECT * FROM dbo.CustomerInfo_copied REVERT DemoUser复制了客户信息数据到新表后查看新表中的数据依然是被打码的测试用户无法导出、复制客人的隐私数据。达到了安全策略保护客户隐私数据的目的展示结果如下 我想要在无码的世界 如果有一天DemoUser成了高权限用户确实需要查看客户隐私数据列这个时候我们可以给予测试账号unmask的权限他就可以看到完整的客户数据了。方法如下 -- Step 11: But, how can demo user to query the unmasked data? USE TestDB GOGRANT UNMASK TO DemoUser; EXECUTE AS USER DemoUser; SELECT * FROM dbo.CustomerInfo; REVERT; -- Removing the UNMASK permission REVOKE UNMASK TO DemoUser; 此时DemoUser查询到的数据是非常完整的客人数据。 删掉打码 删除打码让所有用户回归无码的世界。 -- Step 12: all the demos have been done, its time to drop the mask. USE TestDB GO ALTER TABLE dbo.CustomerInfo ALTER COLUMN CustomerPhone DROP MASKED; 最后总结 本期月报我们分享了使用SQL Server 2016引入的新特性dynamic data masking实现客户数据打码技术防止未授权用户查看、导出用户关键隐私数据最大限度保证用户数据安全性。 原文链接 本文为云栖社区原创内容未经允许不得转载。
http://www.yutouwan.com/news/67139/

相关文章:

  • 网站建设制作一个网站的费用软件网站开发
  • 学校网站的英文手机网站有什么
  • 梦幻创意晋城网站建设杭州发布最新消息
  • 美文的手机网站企业邮箱可以是个人qq邮箱吗
  • 文本资料分享网站 建设什么网站上做推广
  • 注册网站可以注销嘛网站子站建设
  • 做旅游景区网站东莞市网络公司
  • 网站一级域名申请优化师的工作内容
  • 东莞app培训网站建设查询建设公司业绩网站
  • 公司网站域名主机dw网页设计代码模板源代码
  • 在线视频教学网站建设360优化大师历史版本
  • 山东省建设厅教育网站wordpress登陆post
  • 英语教学网站建设意见旅游手机网站开发
  • 网站有必要使用伪静态么公司里面有人员增减要去哪个网站做登记
  • 网站空间购买哪个好河北伟创网络技术有限公司
  • 建app网站要多少钱泰安市房产交易中心官网
  • 网站建设公司用5g软件开发工程师的薪资待遇
  • 大学生做兼职的网站有哪些网站后台管理代码
  • 手机网站发布页电脑版网上商城程序
  • 如何在个人电脑用源码做网站六盘水南宁网站建设
  • 网站微信付款调用建设网站应该加什么服务器
  • 做网站需要买域名吗wordpress多站点无法访问
  • 织梦网站地图制作教程哪里可以学ps软件网课
  • 宜兴市网站建设泉州网站建设方案服务
  • 玉树网站建设公司精美个人网站
  • 域名注册网站查询安卓app是用什么语言开发的
  • 家具建设企业网站请人开发一个网站需要多少钱
  • 太原seo软件网站优化人员通常会将目标关键词放在网站首页中的
  • 门户网站开发文档钢筋网片每平米重量
  • 一个高端的网站设计什么网站可以做线上邀请函