Controle de acesso para qualidade de dados¶
As seções a seguir descrevem os requisitos de controle de acesso para ações relacionadas à qualidade de dados e funções de métrica de dados (DMFs).
Tarefas comuns¶
Nota
O privilégio USAGE no banco de dados e no esquema pai é necessário para executar operações em qualquer objeto de um esquema. Observe que uma função com privilégio concedido em um esquema permite que essa função resolva o esquema. Por exemplo, uma função com privilégio CREATE concedido em um esquema pode criar objetos nesse esquema sem também ter USAGE concedido nesse esquema.
Tarefa |
Privilégios/funções necessários |
Notas |
|---|---|---|
Associação de uma DMF a uma tabela ou exibição |
EXECUTE DATAMETRICFUNCTION na conta |
|
Privilégio USAGE na DMF |
All users have USAGE on system DMFs [1]. For custom DMFs, see Concessão de privilégios em uma DMF personalizada. |
|
Um dos seguintes:
|
Para obter mais informações sobre a propriedade EXECUTE AS ROLE, consulte Privilégio obrigatório na tabela ou exibição. |
|
Visualização de associações entre objetos e DMFs |
Privilégio USAGE na DMF |
All users have USAGE on system DMFs [1]. For custom DMFs, see Concessão de privilégios em uma DMF personalizada. |
Privilégio SELECT para a tabela ou exibição associada à DMF |
||
Crie uma DMF |
Privilégio CREATE DATA METRICFUNCTION no esquema |
|
Chame uma DMF manualmente |
Privilégio USAGE na DMF |
All users have USAGE on system DMFs [1]. For custom DMFs, see Concessão de privilégios em uma DMF personalizada. |
Privilégio SELECT na tabela ou exibição especificada na chamada |
Visualização de resultados de qualidade de dados¶
Visualização de opção |
Privilégios/funções necessários |
Notas |
|---|---|---|
Tabela de eventos DATA_QUALITY_MONITORING_RESULTS_RAW |
Função de aplicativo DATA_QUALITY_MONITORING_ADMIN |
|
Exibição DATA_QUALITY_MONITORING_RESULTS |
Um dos seguintes:
|
|
Função DATA_QUALITY_MONITORING_RESULTS |
Um dos seguintes:
|
|
Privilégio USAGE na DMF |
All users have USAGE on system DMFs [2]. For custom DMFs, see Concessão de privilégios em uma DMF personalizada. |
|
Privilégio OWNERSHIP ou SELECT para tabela associada à DMF |
||
Se a propriedade EXECUTE AS ROLE da associação especificar uma função, ela deve estar ativa em sua sessão. |
If you want to revoke the USAGE privilege on system DMFs, contact Snowflake Support.
Privilégio obrigatório na tabela ou exibição¶
Um dos requisitos de controle de acesso para associar uma DMF a uma tabela ou exibição é ter o privilégio apropriado nessa tabela ou exibição. Para associar uma DMF a um objeto, sua função deve ter um dos seguintes privilégios:
Privilégio OWNERSHIP na tabela ou visualização
Privilégio SELECT na tabela ou visualização
A propriedade EXECUTE AS ROLE de uma associação entre uma função de métrica de dados e um objeto é um recurso em versão preliminar.
Se você quiser funções com o privilégio SELECT em um objeto para poder associar DMFs ao objeto, é necessário definir a propriedade EXECUTE AS ROLE ao definir a associação. Esta propriedade especifica a função com que a DMF é executada. Por exemplo, suponha que a função analyst_role tenha o privilégio SELECT na tabela t1. Para associar a DMF positive_number_count à tabela t1, de modo que ela seja executada com a função analyst_role, execute o seguinte comando:
ALTER TABLE t1
ADD DATA METRIC FUNCTION governance.dfms.positive_number_count on (c1, c2, c3)
EXECUTE AS ROLE analyst_role;
Esse comando pode ser executado por um usuário com a função analyst_role ou por um usuário com uma função superior na hierarquia de funções (por exemplo, a função ACCOUNTADMIN).
Se a propriedade EXECUTE AS ROLE não for especificada, a DMF será executada com a função de proprietário da tabela. A função com que a DMF é executada é importante porque pode afetar políticas de governança de dados que se comportam de maneira diferente dependendo da função do usuário atual.
Benefícios da propriedade EXECUTE AS ROLE¶
A propriedade EXECUTE AS ROLE permite que um não proprietário associe e execute uma DMF em uma tabela ou exibição. Isso permite que um controlador de dados crie verificações de qualidade de dados sem precisar ser proprietário da tabela.
Limitações¶
Não é possível usar a cláusula MODIFY DATA METRIC FUNCTION para mudar a função especificada pela propriedade EXECUTE AS ROLE. Você deve descartar a associação e depois recriá-la com uma nova função EXECUTE AS ROLE.
Concessão de privilégios em uma DMF personalizada¶
Os comandos GRANT e REVOKE exigem que você especifique os argumentos da DMF personalizada criada por você. Por exemplo:
GRANT USAGE ON FUNCTION
governance.dmfs.count_positive_numbers(TABLE(NUMBER, NUMBER, NUMBER))
TO data_engineer;
