其他
0 门槛带你体验 Bytebase 中访问控制以及数据脱敏
本文手把手带你体验在 Bytebase 的企业版中,如何进行数据库访问控制和数据脱敏的。用户可以在不提供额外信息(包括支付方式)的情况下,一键开启企业版 14 天试用。
准备阶段
rm -rf ~/.bytebase/data
第一步 启动及注册
复制粘贴以下语句用 Docker 启动 1个 Bytebase。
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:1.10.0 \
--data /var/opt/bytebase \
--port 8080
复制粘贴以下语句用 Docker 启动 2 个 MySQL ,稍后将分别用作 Test 和 Prod 对应环境的实例。
docker run --name mysqldtest \
--publish 3307:3306 \
-e MYSQL_ROOT_HOST=172.17.0.1 \
-e MYSQL_ROOT_PASSWORD=testpwd1 \
mysql/mysql-server:8.0
docker run --name mysqldprod \
--publish 3308:3306 \
-e MYSQL_ROOT_HOST=172.17.0.1 \
-e MYSQL_ROOT_PASSWORD=testpwd1 \
mysql/mysql-server:8.0
注册管理员账号 A,后面使用 DBA 指代该账号。该账号将会被赋予 工作空间所有者
的权限。更多权限相关请查看 https://www.bytebase.com/docs/concepts/roles-and-permissions
退出再次注册账号 B,后面使用开发者指代该账号。该账号将被赋予 工作空间开发者
的权限。
第二步 配置
根据提示或点击添加实例,在实例里添加针对于 Test 环境的实例,配置如下图,用户名/密码为 root/testpwd1
根据提示或点击创建项目,建立项目 TestAcess。
根据提示或进入该项目点击创建数据库,建立数据库 dbDemo。该操作会生成一个自动执行的工单,因为是在 Test 环境上,默认配置为无需手动审核。点击解决。
重复「1」,添加实例 MySQL Prod,并且对应到 Prod 环境
重复「3」,在 Prod 实例上添加数据库 dbDemo,需要注意的是,因为位于 Prod 环境上,根据默认配置,该工单需要手动批准。点击批准。点击解决。
第三步 数据
在项目 TestAccess 主页点击 变更 Schema。
选择 Test 和 Prod,点击下一步。
通过 Schema 编辑器,为 Test 和 Prod 的实例添加表 t1。
点击预览工单后,会形成同时包括变更 Test 和 Prod 环境的流水线,Test 阶段会自动执行,Prod 阶段需要手动批准。点击批准。点击解决。
点击 TestAccess 回到项目首页,这次选择变更数据。
再次选择 Test 和 Prod 两个环境,进入到新建工单页面,填充 SQL,点击应用到其它任务。点击创建。
点击批准和解决。
第一步 开启企业版试用
通过 DBA 账号登录,点击左下角免费版,根据提示点击开启14天试用。
此时开启的为团队版试用,为了再升级至企业版,点击顶部栏的环境。点击 Prod,勾选标记为受保护的环境,下滑,点击更新。
此时会询问是否升级为企业版,点击升级试用。即可升级为企业版,此时 Prod 环境标题旁多了一个小盾牌,代表受保护的环境。
第三步 由 DBA 配置,对开发者进行访问控制
通过 DBA 账号登录,点击顶部栏的环境。点击 Prod,去除标记为受保护的环境,下滑,点击更新。再次回到本页面,可以看到 Prod 旁边已经没有了小盾牌。意味着该环境未受保护。
通过开发者账号进入 SQL 编辑器,可以看到 Prod 环境下的的数据库。
通过 DBA 账号登录,点击顶部栏的环境。点击 Prod,选择标记为受保护的环境,下滑,点击更新。如果再次回到该页面,可以看到 Prod 环境旁的小盾牌。意味着该环境收到了保护。
通过开发者账号进入 SQL 编辑器,无法看到 Prod 环境下的的数据库。
通过 DBA 账户登录,点击顶部设置 ,点击工作空间 > 访问控制。点击添加规则。
选择 Prod 环境对应的数据库,点击添加。这种情况下,DBA 将 Prod 环境设为保护,但开启了白名单,添加规则的数据库仍可见。
再次通过开发者账户进入 SQL 编辑器,可以看到虽然 Prod 环境有小盾牌,但是依然可见。
第四步 由 DBA 配置,对开发者可见数据进行脱敏
通过开发者账号,在 SQL 编辑器里查询 Prod 环境下的数据。在这里,我们希望对 mobile 这个字段进行脱敏处理。
通过 DBA 账户登陆,通过找到 Prod 环境下的 dbDemo,进入 t1 表内。勾选 mobile 这列。之后也可以通过设置 > 敏感数据,对各规则进行管理。
再次通过开发者账户登陆,可以看到,系统已经对 mobile 列已经进行了脱敏处理。