역할: GRANTS_TO_USERS 뷰에 권한 재부여가 기록되는 방식의 변경 사항

주의

이 동작 변경 사항은 2023_04 번들에 있습니다.

번들의 현재 상태는 번들 기록 섹션을 참조하십시오.

동일한 사용자에게 동일한 역할을 부여하는 측면에서 변경된 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;
Copy

참조: 1132