Suporte de replicação para o privilégio CREATE <class_name>¶
Atenção
Essa mudança de comportamento está no pacote 2024_04.
Para saber o status atual do pacote, consulte Histórico do pacote.
O privilégio CREATE <nome_da_classe> é concedido em um esquema para uma função. Uma função com esse privilégio pode ser usada para criar uma instância de classe <nome_da_classe>.
Por exemplo, a seguinte instrução concede à função budget_creator
o privilégio de criar instâncias da classe SNOWFLAKE.CORE.BUDGET no esquema budgets_db.budgets_schema
:
GRANT CREATE SNOWFLAKE.CORE.BUDGET
ON SCHEMA budgets_db.budgets_schema
TO ROLE budget_creator;
Nota
Os privilégios concedidos às funções são replicados para contas de destino somente se o tipo de objeto ROLES estiver incluído na lista OBECT_TYPES para um grupo de replicação ou failover. O objeto ao qual o privilégio é concedido também deve ser replicado.
A replicação do privilégio CREATE <nome_da_classe> se comporta da seguinte maneira:
- Antes da mudança:
Se uma função receber o privilégio CREATE <nome_da_classe> em um esquema em uma conta de origem, essa concessão de privilégio não é replicada para contas de destino.
Por exemplo, o privilégio CREATE SNOWFLAKE.ML.FORECAST é concedido usando a seguinte instrução em uma conta de origem:
GRANT CREATE SNOWFLAKE.ML.FORECAST ON SCHEMA admin_db.admin_schema TO ROLE analyst;
Se o banco de dados
admin_db
e as funções forem replicadas para uma conta de destino, a concessão do privilégio CREATE SNOWFLAKE.ML.FORECAST não é replicada. A funçãoanalyst
não consegue criar instâncias da classe SNOWFLAKE.ML.FORECAST na conta de destino.- Após a mudança:
Se uma função receber o privilégio CREATE <nome_da_classe> em um esquema em uma conta de origem, a concessão de privilégio será replicada para a conta de destino se os seguintes objetos estiverem incluídos no grupo de replicação ou failover:
O banco de dados que contém o esquema no qual o privilégio é concedido.
O tipo de objeto ROLES está incluído na lista OBJECT_TYPES.
Um usuário que recebeu a função com o privilégio CREATE <nome_da_classe> em uma conta de destino pode criar uma instância de <nome_da_classe> no esquema replicado na conta de destino.
Por exemplo, o privilégio CREATE SNOWFLAKE.ML.FORECAST é concedido usando a seguinte instrução em uma conta de origem:
GRANT CREATE SNOWFLAKE.ML.FORECAST ON SCHEMA admin_db.admin_schema TO ROLE analyst;
Se o banco de dados
admin_db
e as funções forem replicadas para uma conta de destino, a concessão do privilégio CREATE SNOWFLAKE.ML.FORECAST é replicada. A funçãoanalyst
consegue criar instâncias da classe SNOWFLAKE.ML.FORECAST na conta de destino.
Para obter uma lista de classes Snowflake disponíveis, consulte Referência de classe SQL.
Ref: 1607