角色:GRANTS_TO_USERS 视图中记录重新授权的方式的变更¶
记录了 GRANTS_TO_USERS 视图在授权同一用户相同角色时的输出变化:
- 之前:
该视图包含一行,分别表示向同一用户授权相同角色的每次授权。对于包含活动授权的行,DELETED_ON 列值为 NULL。发生重新授权时,包含上一个授权的行的 DELETED_ON 列值将更新为重新授权发生时的时间戳。
- 现在:
该视图包括一行,用于向同一用户授权相同的角色。向同一用户重新授权同一角色不会记录为新行。当授权处于活动状态时,DELETED_ON 列将保留 NULL,当角色 REVOKED 来自用户时,列值将更新。
从用户处撤消角色后,将向同一用户授权相同角色的权限记录在新行中。在此新行中,DELETED_ON 列值为 NULL,因为授权现在处于活动状态。
使用以下查询来帮助确定您的账户在视图中是否有会受到影响的记录:
TRUE:视图中的记录会受到影响。
FALSE:视图中没有会受到影响的记录。
SELECT
COUNT(*) > 0 AS IS_IMPACTED
FROM
SNOWFLAKE.ACCOUNT_USAGE.GRANTS_TO_USERS AS GL
INNER JOIN SNOWFLAKE.ACCOUNT_USAGE.GRANTS_TO_USERS AS GR
ON GL.ROLE = GR.ROLE
AND GL.GRANTED_TO = GR.GRANTED_TO
AND GL.GRANTEE_NAME = GR.GRANTEE_NAME
AND GL.GRANTED_BY = GR.GRANTED_BY
AND GL.DELETED_ON = GR.CREATED_ON
AND GR.DELETED_ON IS NOT NULL;
参考:1132