如何在不使用owner的情况下操作表,及owner与用户一致时的正确配置?

同一主体场景下的正确配置操作
- 无需额外做跨账号授权,首先确认当前账号同时持有该表的Owner身份和普通用户访问身份
- 若使用的是Hive、MySQL、Snowflake等数据库产品,直接开启同主体权限自动复用配置即可,绝大多数云厂商数据库默认该配置已开启
- 配置完成后可执行测试命令验证:
SELECT * FROM 目标表名 LIMIT 1,无权限报错即为配置生效
不使用Owner身份访问表的实现方案
- 单独给当前用户授予对应表的访问权限,SQL示例如下:
-- 按需替换权限类型,可选SELECT/INSERT/UPDATE/DELETE/ALL等 GRANT SELECT ON 数据库名.表名 TO '目标用户名'@'访问IP'; -- MySQL等数据库需执行权限刷新 FLUSH PRIVILEGES;
- 若有批量授权需求,可通过角色组实现:
-- 创建权限角色 CREATE ROLE 表访问角色; GRANT SELECT ON 数据库名.表名 TO 表访问角色; -- 给用户绑定角色 GRANT 表访问角色 TO '目标用户名'@'访问IP';
- 若为同主体多身份场景,可配置身份模拟能力,允许普通用户模拟其他有表访问权限的非Owner身份访问资源,无需泄露Owner账号的密钥信息
内容的提问来源于stack exchange,提问作者Ronaldo
相关产品推荐
相关产品推荐

