怎么优雅的解决 员工对线上数据库的访问 考虑多实例、账号权限(只读)、及时创建和收回权限

2022-03-09 09:23:33 +08:00
 dzdh

有啥系统啥的嘛

或者有啥好用的中间件,支持数据库或 http auth 认证的那种的中间件 比如当个 mysql 实例使用,然后连接他输入用户名密码他会通过 http 请求指定某个 http 服务验证有没有权限访问啥的

又或者有没有什么系统能实现这些需求(比如用过 yearning ,但是操作太麻烦了)

查看库、表结构,查看数据(带脱敏功能)啥的

几十台实例上万个数据库(是 database 不是 table)

2052 次点击
所在节点    问与答
17 条回复
Reficul
2022-03-09 09:56:32 +08:00
LDAP
LLaMA2
2022-03-09 10:05:43 +08:00
很多 ORM 都支持逆向生成实体。比如 spring Hibernat JPA 。js 的 TypeORM 。然后快速生成 restful 接口,1 天时间足够了,你只需要他自动生成的 CURD 而已
LLaMA2
2022-03-09 10:08:30 +08:00
phpMyAdmin
dzdh
2022-03-09 12:42:16 +08:00
@ye4tar 大数据量操作容易卡死。这点不如 navicat 呀。 还有内网数据库 必须要经过跳板机连的。phpmyadmin 一上是不是就直接公开了。加个统一的 basic ?加层 vpn ?加 vpn 本地网络还咋搞?不统一走 vpn 出网了
dzdh
2022-03-09 12:43:23 +08:00
@Reficul 云数据库么的 ldap 插件
FrankAdler
2022-03-09 13:00:27 +08:00
yearning 算是比较好用的了
masterclock
2022-03-09 13:09:34 +08:00
hashicorp boundary ?
LLaMA2
2022-03-09 13:17:01 +08:00
题外话,内网的机器可以使用跳板机部署 nginx 做反代。
我还能让内网的服务器连上互联网更新系统呢,哈哈。
你们是不是做托管的 IDC ,卖客户服务的。
为什么有这种需求,线上的数据库为什么要让他们访问?
dzdh
2022-03-09 13:53:25 +08:00
@ye4tar
1. 知道跳板机的 ip ,却并不知道内网里的数据库的 host ,所以并没有什么影响。但是 nginx phpmyadmin 就.......
2. 不再话题内
3. 不是鸭
4. saas 方案客户独库,自己人开发更新库查数据啥的要进数据库筛数据赛~
dzdh
2022-03-09 14:01:43 +08:00
@masterclock

有内味了,但是针对 mysql 怎么做到上万个库分布在不同物理实例 同时修改某个账号的可访问权限呢?
masterclock
2022-03-09 14:17:20 +08:00
@dzdh 这么复杂么
https://goteleport.com/ 是这个的活?
dzdh
2022-03-09 14:22:45 +08:00
@masterclock 这玩意儿能直接暴漏出来个端口通过三方工具连接么 然后前提还是受他保护
LLaMA2
2022-03-09 14:24:09 +08:00
spring data jpa 快速生成 api , 生成的时候屏蔽不必要的 api
masterclock
2022-03-09 14:56:10 +08:00
@dzdh 可以选 tls 或者 端口模式
tianzhou
2022-12-12 01:36:24 +08:00
可以用 https://github.com/bytebase/bytebase ,一站式收口员工对于数据库的变更和查询。
dzdh
2022-12-12 09:13:18 +08:00
@tianzhou 可以支持客户端吗。

比如有些人用 heidisql 。有些人用 navicat 。直接使用客户端和自己的用户名访问 [guard] 。通过 [guard] 判定鉴权再使用内置账号链接对应数据库实例。

现在用的是阿里云的解决方案。
tianzhou
2022-12-21 01:03:08 +08:00
@dzdh Bytebase 有自己的 SQL Editor ,可以覆盖这部分能力。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/839013

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX