Função de banco de dados PYPI_REPOSITORY_USER concedida à função PUBLIC

Os usuários devem ter a função de banco de dados PYPI_REPOSITORY_USER para usar pacotes do repositório PyPI compartilhado ao criar UDFs, UDTFs, UDAFs e procedimentos armazenados Python. Essa mudança afeta quais funções têm a função de banco de dados PYPI_REPOSITORY_USER por padrão.

Antes da mudança:

O acesso ao repositório PyPI compartilhado (snowflake.snowpark.pypi_shared_repository) é opcional. Os administradores de conta devem conceder explicitamente a função de banco de dados PYPI_REPOSITORY_USER para que os usuários possam usar pacotes do repositório PyPI compartilhado:

GRANT DATABASE ROLE snowflake.snowpark.pypi_repository_user TO ROLE my_role;
Após a mudança:

Para novas contas, o Snowflake concede a função de banco de dados PYPI_REPOSITORY_USER à função PUBLIC durante a criação da conta, para que todos os usuários da conta possam usar o repositório PyPI compartilhado por padrão.

Para contas existentes, um preenchimento único concede a função de banco de dados PYPI_REPOSITORY_USER à função PUBLIC.

Isso significa que o usuário pode usar qualquer função para criar funções e procedimentos Python que usam pacotes do repositório PyPI compartilhado sem exigir a concessão explícita por um administrador de conta.

Se você quiser restringir o acesso ao repositório PyPI compartilhado após essa alteração, poderá desativar proativamente ou revogar reativamente o acesso:

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