暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

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

Bytebase 2023-10-16
289

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 第三季度回顾



    文章转载自Bytebase,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

    评论