查看原文
其他

30 分钟手把手带你入门数据脱敏

Adela Bytebase 2023-10-31

Bytebase 中的动态数据脱敏 (Dynamic Data Masking) 可根据上下文即时屏蔽查询结果中的敏感数据。它可以帮助企业保护敏感数据,防止其暴露给未经授权的用户。

本教程将在 30 分钟内手把手教会你如何在 Bytebase 中设置和尝试数据脱敏。

在开始教程之前请确保已安装 Docker (https://www.docker.com/)。

准备工作

1. 确保 Docker 正在运行,并使用以下命令启动 Bytebase Docker 容器:

docker run --init \ --name bytebase \ --restart always \ --publish 5678:8080 \ --health-cmd "curl --fail http://localhost:5678/healthz || exit 1" \ --health-interval 5m \ --health-timeout 60s \ --volume ~/.bytebase/data:/var/opt/bytebase \ bytebase/bytebase:2.9.1 \ --data /var/opt/bytebase \ --port 8080

2. Bytebase 已在 Docker 中成功运行,你可以通过 localhost:5678 访问它。注册一个管理员账户,它将自动被授予工作区所有者角色。

3. 登录 Bytebase ,单击左下方的开始免费试用,然后升级到企业计划


4. 单击实例,然后单击分配许可证。选择两个实例,然后单击确认,否则数据脱敏将无法在实例上激活。



未脱敏

登录 Bytebase,点击 SQL 编辑器,你将被重定向到 SQL 编辑器页面。选择 (Prod) employee > public > employee,然后运行 SELECT * FROM employee;,你会看到如下结果。针对 (Test) employee 运行相同的查询,结果相同。

全局脱敏规则

你可能想批量应用脱敏设置,例如,你想脱敏 Employee 数据库中所有表的所有出生日期列。可以使用全局脱敏规则来实现这一目的。

1. 单击右上角的设置图标。单击安全和策略 > 数据脱敏。单击全局脱敏规则,然后添加规则

2. 将规则命名为应脱敏出生日期,并选择列名,==。在输入框中填写出生日期,然后单击确认

3. 返回 SQL 编辑器页面,选择 (Prod) employee > public > employee,再次运行 SELECT * FROM employee;。你会看到出生日期被脱敏了。选择 (Test) employee,结果是一样的。

列脱敏规则

如果要脱敏特定表中的特定列,可以使用列脱敏规则

1. 单击数据库并选择 Prod 上的 employee,然后选择 salary 表。

2. 单击 amount 所在行上的编辑✏️图标,然后单击全脱敏。

3. 返回 SQL 编辑器页面,选择 (Prod) employee > public > salary,再次运行 SELECT * FROM salary;。你会发现 amount 被脱敏了。选择 (Test) employee,则没有。

向用户授予解除脱敏的访问权限

如果要向特定用户展示脱敏数据,该怎么办?你可以授予解除脱敏的访问权限。

1. 单击右上角的设置图标,然后单击成员。添加一个 DBA 用户,然后单击 + 添加。单击活动成员部分中该用户的链接,单击编辑设置密码,单击保存

2. 单击顶部的数据库并选择 Prod 上的 employee,然后选择 salary 表。

3. 单击 amount 行上的编辑✏️图标,然后单击授予访问权限。选择 新建的 DBA 用户,单击确认

4. 以 DBA 用户身份登录,进入 SQL 编辑器,选择 (Prod) Employee > public > salary,再次运行 SELECT * FROM salary;。你会发现 amount 没有被脱敏。


🎉 现在,你已经学会使用两种方法在 Bytebase 中脱敏数据:使用全局脱敏规则批量应用脱敏设置,以及使用列脱敏规则脱敏特定表中的特定列。还可以向特定用户授予解除数据脱敏访问权限。

目前 Bytebase 支持以下数据库的脱敏功能 https://www.bytebase.com/docs/introduction/supported-databases/

如果你对 Bytebase 的脱敏实现细节感兴趣,可以阅读 goInception 的数据脱敏真的能保护敏感数据吗?

Bytebase 2.9.1 - 将多个变更编排在一个变更列表中,并在一个工单里进行发布或导出
面包屑对格林童话里的兄妹没有帮助,但对你的网站有
实现基于 GitLab 的数据库 CI/CD 最佳实践

Bytebase 2023 第三季度回顾

继续滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存