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 |
|
|
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 |
|
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 |
|
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:
|
|
Se estiver usando a função de aplicativo DATA_QUALITY_MONITORING_LOOKUP, você também precisa de:
|
|
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
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 do privilégio USAGE em DMFs do sistema¶
A associação e a execução de uma DMF do sistema requer o privilégio USAGE na DMF do sistema. Você pode conceder a função de banco de dados SNOWFLAKE.DATA_METRIC_USER para oferecer aos usuários o privilégio USAGE em todas as DMFs do sistema.
Por exemplo, para permitir que usuários com a função data_governor trabalhem com as DMFs do sistema, execute o seguinte comando:
GRANT DATABASE ROLE snowflake.data_metric_user TO ROLE data_governor;
Como alternativa, as opções de controle de acesso a seguir também concedem o privilégio USAGE nas DMFs do sistema. Tenha cuidado porque essas opções fornecem acesso a mais do que apenas às DMFs do sistema.
Conceda IMPORTED PRIVILEGES no banco de dados SNOWFLAKE à função de proprietário da tabela. Para obter mais informações, consulte Habilitando outras funções para usar esquemas no banco de dados SNOWFLAKE.
Use a função ACCOUNTADMIN.
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;