Datenbankrolle PYPI_REPOSITORY_USER wurde der PUBLIC-Rolle zugewiesen

Benutzende müssen über die Datenbankrolle PYPI_REPOSITORY_USER verfügen, um Pakete aus dem freigegebenem PyPI-Repository beim Erstellen von Python-UDFs, -UDTFs, -UDAFs und gespeicherte Prozeduren zu verwenden. Diese Änderung wirkt sich darauf aus, welche Rollen standardmäßig die Datenbankrolle PYPI_REPOSITORY_USER haben.

Vor der Änderung:

Zugriff auf das freigegebene PyPI-Repository (snowflake.snowpark.pypi_shared_repository ) ist optional. Kontoadmins müssen explizit die Datenbankrolle PYPI_REPOSITORY_USER gewähren, bevor Benutzende Pakete aus dem freigegebenen PyPI-Repository verwenden können:

GRANT DATABASE ROLE snowflake.snowpark.pypi_repository_user TO ROLE my_role;
Nach der Änderung:

Für neue Konten gewährt Snowflake der Rolle PUBLIC die Datenbankrolle PYPI_REPOSITORY_USER bei der Erstellung eines Kontos, damit alle Benutzenden des Kontos das freigegebene PyPI-Repository verwenden können.

Für bestehende Konten wird durch ein einmaliges Backfilling der Rolle PUBLIC die Datenbankrolle PYPI_REPOSITORY_USER gewährt.

Das bedeutet, dass ein Benutzender eine beliebige Rolle verwenden kann, um Python-Funktionen und -Prozeduren zu erstellen, die Pakete aus dem freigegebenen PyPI-Repository verwenden, ohne dass eine explizite Berechtigung von einem Kontoadmin erforderlich ist.

Wenn Sie den Zugriff auf das freigegebene PyPI-Repository nach dieser Änderung einschränken möchten, können Sie entweder proaktiv den Zugriff deaktivieren oder reaktiv widerrufen:

-- Proactive opt-out via account parameter (only available before the change is rolled out)
ALTER ACCOUNT SET ENABLE_PYPI_REPOSITORY_USER_PUBLIC_GRANT = FALSE;

-- Reactive revocation
REVOKE DATABASE ROLE snowflake.snowpark.pypi_repository_user FROM ROLE PUBLIC;

-- Optionally grant to specific roles
GRANT DATABASE ROLE snowflake.snowpark.pypi_repository_user TO ROLE data_science;

Ref: 2280