如何只允许特定用户访问数据库?
How to give access to a database to only specific users?
这可能是一个愚蠢的问题,我确定这是我的思维模型的问题。
最终,我想为一个角色设置权限,以便该角色中的任何其他角色都可以对所有当前表进行 CRUD 访问,并自动永久地访问该数据库的所有未来表。但只有那些明确添加到 'group role'.
中的角色
不清楚如何做到这一点。
没有办法准确得到你想要的,但你可以接近。
处理现有表非常简单:只需撤销已授予表的所有权限并授予对您的组角色的访问权限。使这变得简单的命令是
GRANT/REVOKE ALL
ON ALL TABLES IN SCHEMA ... TO/FROM ...;
为了处理未来的表格,您必须将可能创建表格的用户圈子限制在少数,并且对于他们每个人 运行
ALTER DEFAULT PRIVILEGES FOR ROLE creating_user
GRANT ALL ON TABLES TO ...;
如果您无法枚举可以创建表的用户,则在每个 CREATE
语句末尾的事件触发器 运行ning 可能是替代方法。
这可能是一个愚蠢的问题,我确定这是我的思维模型的问题。
最终,我想为一个角色设置权限,以便该角色中的任何其他角色都可以对所有当前表进行 CRUD 访问,并自动永久地访问该数据库的所有未来表。但只有那些明确添加到 'group role'.
中的角色不清楚如何做到这一点。
没有办法准确得到你想要的,但你可以接近。
处理现有表非常简单:只需撤销已授予表的所有权限并授予对您的组角色的访问权限。使这变得简单的命令是
GRANT/REVOKE ALL
ON ALL TABLES IN SCHEMA ... TO/FROM ...;
为了处理未来的表格,您必须将可能创建表格的用户圈子限制在少数,并且对于他们每个人 运行
ALTER DEFAULT PRIVILEGES FOR ROLE creating_user
GRANT ALL ON TABLES TO ...;
如果您无法枚举可以创建表的用户,则在每个 CREATE
语句末尾的事件触发器 运行ning 可能是替代方法。