Rôle de base de données PYPI_REPOSITORY_USER attribué au rôle PUBLIC

Les utilisateurs doivent disposer du rôle de base de données PYPI_REPOSITORY_USER pour utiliser les paquets du dépôt PyPI partagé lors de la création d’UDFs, d’UDTFs, d’UDAFs et de procédures stockées Python. Ce changement affecte les rôles qui possèdent le rôle de base de données PYPI_REPOSITORY_USER par défaut.

Avant la modification:

L’accès au dépôt PyPI partagé (snowflake.snowpark.pypi_shared_repository) est facultatif. Les administrateurs de compte doivent explicitement accorder le rôle de base de données PYPI_REPOSITORY_USER avant que les utilisateurs puissent utiliser des paquets du dépôt PyPI partagé :

GRANT DATABASE ROLE snowflake.snowpark.pypi_repository_user TO ROLE my_role;
Après la modification:

Pour les nouveaux comptes, Snowflake accorde le rôle de base données PYPI_REPOSITORY_USER au rôle PUBLIC lors de la création du compte, afin que tous les utilisateurs du compte puissent utiliser le dépôt PyPI partagé par défaut.

Pour les comptes existants, un remplissage unique accorde le rôle de base données PYPI_REPOSITORY_USER au rôle PUBLIC.

Cela signifie qu’un utilisateur peut utiliser n’importe quel rôle pour créer des fonctions et des procédures Python qui utilisent des paquets à partir du dépôt PyPI partagé sans nécessiter un octroi explicite de la part d’un administrateur de compte.

Si vous souhaitez restreindre l’accès au dépôt PyPI partagé après cette modification, vous pouvez soit vous désinscrire de manière proactive, soit révoquer l’accès de manière réactive :

-- 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;

Réf : 2280