Radu Dumbrăveanu Asked: 2019-04-23 23:32:54 +0800 CST2019-04-23 23:32:54 +0800 CST 2019-04-23 23:32:54 +0800 CST 临时角色/特权 772 在 PostgreSQL 中是否可以临时授予用户角色/权限?当需要解决问题并且用户可能仅在短时间内需要某些特定角色/特权(甚至是超级用户)时,我认为这是一种解决方案。 postgresql security 1 个回答 Voted Best Answer Erwin Brandstetter 2019-04-23T23:53:59+08:002019-04-23T23:53:59+08:00 GRANT没有到期日期,但角色有。所以: CREATE ROLE foo VALID UNTIL '2019-05-01 00:00+02'; GRANT my_privilege_bundle TO foo; 并且my_privilege_bundle将是捆绑所有必需权限的组角色。 手册: VALID UNTIL 'timestamp' 该VALID UNTIL子句设置了角色密码不再有效的日期和时间。如果省略此子句,则密码将始终有效。 请注意,这不会结束现有会话。该角色在到期日期之后无法使用密码建立新连接。再看一次说明书 该VALID UNTIL子句仅定义密码的到期时间,而不是角色本身的到期时间。特别是,使用非基于密码的身份验证方法登录时,不强制执行过期时间。
GRANT
没有到期日期,但角色有。所以:并且
my_privilege_bundle
将是捆绑所有必需权限的组角色。手册:
请注意,这不会结束现有会话。该角色在到期日期之后无法使用密码建立新连接。再看一次说明书