Rollen: Änderungen beim Erfassen von erneut erteilten Berechtigungen in der Ansicht GRANTS_TO_USERS

Achtung

Diese Verhaltensänderung ist in Bundle 2023_04 enthalten.

Den aktuellen Status des Bundles finden Sie unter Bundle-Verlauf.

Die Ausgabe der Ansicht GRANTS_TO_USERS hat sich dahingehend geändert, wie die Berechtigungszuweisungen der gleichen Rolle an den gleichen Benutzer erfasst werden:

Bisher

Die Ansicht fügte eine Zeile für jede Zuweisung derselben Rolle an denselben Benutzer hinzu. Der Wert der Spalte DELETED_ON ist NULL für die Zeile mit der aktiven Berechtigungszuweisung. Wenn eine erneute Berechtigungszuweisung erfolgt, wird in der Zeile mit der vorherigen Berechtigungszuweisung der Wert der Spalte DELETED_ON auf den Zeitstempel des Zeitpunkts der erneuten Berechtigungszuweisung aktualisiert.

Jetzt

Die Ansicht fügt genau eine Zeile für die Berechtigungszuweisung derselben Rolle an denselben Benutzer ein. Die erneute Berechtigungszuweisung derselben Rolle an denselben Benutzer wird nicht in einer neuen Zeile erfasst. Die Spalte DELETED_ON bleibt solange NULL, wie die Berechtigungszuweisung aktiv ist. Der Spaltenwert wird aktualisiert, wenn die Rolle dem Benutzer entzogen wird (REVOKED).

Nachdem Sie dem Benutzer die Rolle entzogen haben, wird die Berechtigungszuweisung derselben Rolle an denselben Benutzer in einer neuen Zeile erfasst. In dieser neuen Zeile wird in der Spalte DELETED_ON der Wert NULL erfasst, da die Berechtigungszuweisung jetzt aktiv ist.

Verwenden Sie die folgende Abfrage, um herauszufinden, ob für Ihr Konto in dieser Ansicht Datensätze vorliegen, die davon betroffen sind:

  • TRUE: Es gibt Datensätze in der Ansicht, die davon betroffen sind.

  • FALSE: Es gibt keine Datensätze in der Ansicht, die davon betroffen sind.

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

Ref.: 1132