当前位置: 首页> 玩家福利> 正文

是时候使用数据隐私保险库了

admin 2025-08-07 154

如果您处理敏感数据,使用数据隐私保险库是保护该数据而不牺牲数据实用性的好方法。我教你怎么做

在我职业生涯的早期,我们的整个开发团队都自愿帮助报告团队验证他们的服务的一些主要更新。我们当中没有人对暂停当前的优先事项感到兴奋,但是我们都意识到这是正确的事情。

在我运行第一个报告之后,似乎连接到应用程序的数据可能是生产数据的副本。通过根据我自己的工作相关费用运行报告,我能够快速地验证这个假设。

这个发现让我意识到,一个侵犯消费者隐私的行为出人意料地发生了,潜在地为真实数据被泄露到组织外部铺平了道路——现在它存在于一个访问更加开放和不受严密监控的环境中。

我知道报告团队不应该复制生产数据,但我也记得他们在提供成功解决方案的巨大压力下。显然,创建测试数据或模糊个人身份信息(pII)所需的时间没有包括在原始的项目计划中。

多年以后,我仍然看到一些公司存在问题,他们将敏感数据用作“测试数据”。这让我想知道像谷歌、苹果和Netflix这样的科技巨头是如何处理敏感数据的。

数据隐私保险库的价值

报告团队选择的更大的问题是,他们用于测试的敏感数据很容易复制到另一个数据源上。尽管我在报告系统中游走的时间令人大开眼界,但这种判断失误本可能导致更糟糕的后果。

那些被要求遵守有关个人身份信息(pII)、支付卡信息(PCI)和医疗记录的法规的公司,已经熟悉遵守有关隔离、加密和使用敏感数据的指导方针和标准。根据我的经验,这些实现主要集中在数据库层。

数据隐私保险库的概念不仅仅是一个数据库。通过加密静止的信息来保护数据,并使用允许对加密数据进行某些操作的加密技术来保持数据的可用性。所有这些都包装在一个基于云的服务提供中。

资料私隐库服务供应商提供以下优点:

安全-隐私已经作为服务设计的一部分进行了处理

隔离-每个客户工作在自己的空间,访问受限

存储-高可用性,关键任务,具有类似SQL的访问

Manage-粒度访问控制列表和策略

使用-数据只能以保护隐私的方式使用

一个示例用例

去年,我和妻子建造了我们的新家,这对我们俩来说都是一次全新的经历。从我们签订新的建筑合同到我们收到钥匙的时间差不多是11个月。在大多数时间里,我们的个人信息掌握在多个实体手中,这些实体使我们的梦想家园成为现实。

对于抵押贷款公司来说,可能有三种类型(或角色)可以访问我们的个人信息。为简单起见,我们可以假定角色如下:

客户代表:这个角色可以添加和编辑单独的记录,完全访问所有敏感数据。

抵押贷款分析师:此角色能够查看所有信息,但敏感数据被屏蔽或隐藏。

ReportingSystem:此角色可以查看信息,但完全看不到密码列。

现在,让我们看看数据隐私保险库的实现是如何为这家抵押贷款公司工作的。

了解Skyflow

Skyflow成立于2019年,他们的使命是通过一个简单而优雅的API提供数据隐私保护库,这样每个客户都可以拥有最好的数据隐私。

下面是一个简单的例子,展示了Skyflow如何与应用程序和服务集成:

通过设计,Skyflow成为客户机可以利用的另一个服务层源。当需要保护数据时,客户机或使用者直接与SkyflowRESTfulAPI交互。

当向Skyflow平台提交新数据时,新记录的不同令牌会返回给消费者,然后这些令牌可以包含在对其他RESTfulAPI的链接请求中,以便在服务之间提供链接。

其他服务层应用程序和服务通常使用目的驱动的服务帐户(如上面提到的ReportingSystem角色)直接将API调用到Skyflow。由于帐户与角色绑定,因此将始终返回适当级别的数据。

尝试Skyflow

通过使用抵押贷款公司的用例,我决定使用Skyflow进行一次测试,方法是发布以下URL:

在填写了一些基本信息之后,我收到了一封电子邮件,帮助我免费开始使用Skyflow。注册之后,我来到了SkyflowStudioUI。

创建自定义保险库

我要做的第一件事就是为抵押公司的数据隐私保险库创建一个新的保险库。我在SkyflowUI中使用了CreateVault|StartFromScratch选项。

我给我的新保险库命名为morgageCompany,并将默认的表名改为客户名。

接下来,我定义了一个新的模式来管理以下属性:

社会保障号码

密码(密码)

Skyflow包括常见的PII元素(称为Skyflow数据类型),这是我决定用于SSN的。

对于Passcode属性,我使用了基本的字符串数据类型。

设置了这两个属性后,我单击CreateVault按钮来完成这个过程。

我使用InsertRecord选项将五个新条目添加到这个新的customer表中:

Skyflow_id列表示访问存储在Skyflow中MORgageCompany保险库的客户中的数据的独特键。此键将被添加到链接到此数据的数据存储区中的相应记录中。

例如,关系数据库中的PEOPLE表不再包含SSN和PASSCODE列,而是将SKYFLOW_ID作为连接PEOPLE表中每条记录到SKYFLOW的桥梁。

配置IAM

我导航到SkyflowStudioUI的Settings|Vault屏幕,建立了上面提到的三个角色:

这些作用包括以下政策:

CustomerRep:ALLOWALLONcustomers.*WITHREDACTION=PLAIN_TEXTMortgageAnalyst:ALLOWREADONcustomers.*WITHREDACTION=DEFAULTReportingSystem:_idWITHREDACTION==DEFAULT

从那里,我可以在morgageCompany保险库中创建用户和服务帐户,并为他们在团队中的位置授予最佳角色。

我没有创建多个帐户,而是访问了SkyflowStudioUI中的Settings|Account屏幕,向我的Gmail帐户发送了邀请,然后为一个名叫JohnJVester的新用户分配了InteropUser的IAM角色。

一旦我的第二个帐户被激活,我就能够导航到SkyflowStudioUI中的设置|Vault屏幕,并使用ShareVault按钮授权访问客户代表角色的JohnJVester。

接下来,我可以使用JohnjVester帐户使用基本的cURL命令对Skyflow进行RESTfulAPI调用。

SkyflowinAction

为了与SkyflowRESTfulAPI交互,我们需要创建一个承载令牌。使用JohnJVester帐户登录到SkyflowStudioUI时,我单击右上角的用户图标,选择GenerateAPIBearerToken:

接下来,我生成了一个短期令牌,通过它们的RESTfulAPI访问Skyflow:

使用我的持有人令牌,以下cURL可以作为客户代表直接从Skyflow检索数据:

curl--location--requestGET''\--header'Authorization:Bearerey…Dnt-w'

接收到一个200(OK)HTTP响应,以及以下有效负载数据:

{"records":[{"fields":{"passcode":"CDEF","skyflow_id":"0bd21a25-7d03-423b-b4da-699cdfbc2742","ssn":"345-67-8901"}},{"fields":{"passcode":"EFGH","skyflow_id":"4c51fd3a-b137-479e-a85e-7931f6497e4c","ssn":"567-89-0123"}},{"fields":{"passcode":"DEFG","skyflow_id":"72ac4e20-a88b-4add-9baa-56f9ae5c10d8","ssn":"456-78-9012"}},{"fields":{"passcode":"ABCD","skyflow_id":"9124be90-aad6-4ba5-93e8-61c8d247f577","ssn":"123-45-6789"}},{"fields":{"passcode":"BCDE","skyflow_id":"fb0b30c1-0ac7-40d7-a1b8-1be9c81ea89b","ssn":"234-56-7890"}}]}

如您所见,CustomerRep角色可以访问密码和SSN列的纯文本值。

接下来,我访问了SkyflowStudioUI中的Settings|Vault|Users屏幕,并将JohnJVester的角色更改为住房抵押贷款分析师。

我重新运行了相同的cURL命令,但这次敏感数据被屏蔽或部分编辑了:

{"records":[{"fields":{"passcode":"*REDACTED*","skyflow_id":"0bd21a25-7d03-423b-b4da-699cdfbc2742","ssn":"XXX-XX-8901"}},{"fields":{"passcode":"*REDACTED*","skyflow_id":"4c51fd3a-b137-479e-a85e-7931f6497e4c","ssn":"XXX-XX-0123"}},{"fields":{"passcode":"*REDACTED*","skyflow_id":"72ac4e20-a88b-4add-9baa-56f9ae5c10d8","ssn":"XXX-XX-9012"}},{"fields":{"passcode":"*REDACTED*","skyflow_id":"9124be90-aad6-4ba5-93e8-61c8d247f577","ssn":"XXX-XX-6789"}},{"fields":{"passcode":"*REDACTED*","skyflow_id":"fb0b30c1-0ac7-40d7-a1b8-1be9c81ea89b","ssn":"XXX-XX-7890"}}]}

Skyflow平台立即对Vault设置的更改进行操作,并将结果限制为住房抵押贷款代表角色。

最后,我访问了SkyflowStudioUI中的Settings|Vault|Users屏幕,并将JohnJVester的角色更改为ReportingSystem角色。

由于ReportingSystem角色不能访问密码列,因此cURL被更新为如下所示,将结果限制为只显示skyflow_id和编校的SSN值:

curl--location--requestGET';fields=ssn'\--header'Authorization:BearereyDnt-w'

正如预期的那样,只返回了被屏蔽的SSN值:

{"records":[{"fields":{"skyflow_id":"0bd21a25-7d03-423b-b4da-699cdfbc2742","ssn":"XXX-XX-8901"}},{"fields":{"skyflow_id":"4c51fd3a-b137-479e-a85e-7931f6497e4c","ssn":"XXX-XX-0123"}},{"fields":{"skyflow_id":"72ac4e20-a88b-4add-9baa-56f9ae5c10d8","ssn":"XXX-XX-9012"}},{"fields":{"skyflow_id":"9124be90-aad6-4ba5-93e8-61c8d247f577","ssn":"XXX-XX-6789"}},{"fields":{"skyflow_id":"fb0b30c1-0ac7-40d7-a1b8-1be9c81ea89b","ssn":"XXX-XX-7890"}}]}

当然,这只是一个简单的例子,用于概述DataPrivacyVaultAPI可以为受保护的数据提供的好处。

Skyflow还为你的保险库提供了一个预先配置了RESTFulAPI的PostmanCollection,你可以在插头图标菜单中找到它:

一旦导入Postman,保险库查询如下所示:

结论

Skyflow提出了这样一个问题:“如果隐私有一个API会怎样?”并提供一个成熟的平台,允许任何规模的客户通过一系列适合访问的角色来保护他们的敏感数据。

在用例示例中,我演示了如何使用Skyflow快速创建一个DataPrivacyVault,这样就可以轻松地与任何现有的应用程序和服务集成。这与数据库驱动的方法形成了鲜明的对比,数据库驱动的方法通常涉及一系列手动驱动的任务。

自去年以来,我一直试图遵循以下使命宣言,我认为这些宣言可以应用于任何IT专业人士:

Skyflow当然坚持我的个人使命,让特性和服务团队的开发人员能够轻松利用SkyflowDataPrivacyVault和附带的API,这样他们就可以专注于满足新的目标。

如果您的应用程序环境需要符合PCI、PII、PHI、GDPR或HIPAA,并且您正在通过使用手动或遗留过程来管理敏感信息,那么可能是时候考虑将Skyflow添加到您的短期API采用路线图中了。

祝你今天过得愉快!

同类文章
  • 最新文章
  • 热门文章
  • 随机阅读
友情链接