Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Observação
Este artigo faz parte da série de artigos do white paper de segurança do Azure Synapse Analytics. Para obter uma visão geral da série, consulte o white paper de segurança do Azure Synapse Analytics.
Dependendo de como os dados foram modelados e armazenados, a governança de dados e o controle de acesso podem exigir que desenvolvedores e administradores de segurança usem abordagens diferentes, ou combinação de técnicas, para implementar uma base de segurança robusta.
O Azure Synapse dá suporte a uma ampla gama de recursos para controlar quem pode acessar quais dados. Esses recursos são desenvolvidos com base em um conjunto de recursos avançados de controle de acesso, incluindo:
- Segurança no nível do objeto
- Segurança ao nível da linha
- Segurança ao nível da coluna
- Mascaramento dinâmico de dados
- Synapse: controlo de acesso baseado em função
Segurança no nível do objeto
Cada objeto num pool SQL dedicado tem permissões associadas que podem ser atribuídas a um principal. No contexto de utilizadores e contas de serviço, é assim que tabelas individuais, vistas, procedimentos armazenados e funções são protegidas. Permissões de objeto, como SELECT, podem ser concedidas a contas de usuário (logons SQL, usuários ou grupos do Microsoft Entra) e funções de banco de dados, o que fornece flexibilidade para administradores de banco de dados. Além disso, as permissões concedidas em tabelas e exibições podem ser combinadas com outros mecanismos de controle de acesso (descritos abaixo), como segurança em nível de coluna, segurança em nível de linha e mascaramento dinâmico de dados.
No Azure Synapse, todas as permissões são concedidas a usuários e funções no nível de banco de dados. Além disso, qualquer usuário que tenha recebido a função RBAC Synapse Administrator interna no nível do espaço de trabalho recebe automaticamente acesso total a todos os pools SQL dedicados.
Além de proteger tabelas SQL no Azure Synapse, o pool SQL dedicado (anteriormente SQL DW), o pool SQL sem servidor e as tabelas Spark também podem ser protegidos. Por padrão, os usuários atribuídos à função de Colaborador de Dados de Blob de Armazenamento de data lakes conectados ao espaço de trabalho têm permissões de LEITURA, GRAVAÇÃO e EXECUÇÃO em todas as tabelas criadas pelo Spark quando os usuários executam código de forma interativa em notebooks. Chama-se Microsoft Entra pass-through e aplica-se a todos os data lakes ligados ao espaço de trabalho. No entanto, se o mesmo utilizador executar o mesmo notebook por meio de um pipeline, o Managed Service Identity (MSI) do espaço de trabalho será usado para autenticação. Portanto, para que o pipeline execute com êxito o MSI do espaço de trabalho, ele também deve pertencer à função de Colaborador de Dados de Blob de Armazenamento do data lake acessado.
Segurança ao nível de linha
A segurança em nível de linha permite que os administradores de segurança estabeleçam e controlem o acesso refinado a linhas de tabela específicas com base no perfil de um usuário (ou um processo) executando uma consulta. As características do perfil ou do usuário podem se referir à associação ao grupo ou ao contexto de execução. A segurança em nível de linha ajuda a impedir o acesso não autorizado quando os usuários consultam dados das mesmas tabelas, mas precisam ver subconjuntos de dados diferentes.
Observação
A segurança em nível de linha é suportada no Azure Synapse e no pool SQL dedicado (anteriormente SQL DW), mas não é suportada pelo pool Apache Spark e pelo pool SQL sem servidor.
Segurança a nível de coluna
A segurança em nível de coluna permite que os administradores de segurança definam permissões que limitam quem pode acessar colunas confidenciais em tabelas. Ele é definido no nível do banco de dados e pode ser implementado sem a necessidade de alterar o design do modelo de dados ou da camada de aplicativo.
Observação
A segurança ao nível de coluna é suportada no Azure Synapse, nas visualizações de SQL pool sem servidor e no SQL pool dedicado (anteriormente SQL DW), mas não é suportada para tabelas externas de SQL pool sem servidor e no Apache Spark pool. No caso de um pool SQL sem servidor, pode-se aplicar uma solução alternativa para tabelas externas criando uma vista sobre uma dessas tabelas.
Mascaramento dinâmico de dados
O mascaramento dinâmico de dados permite que os administradores de segurança restrinjam a exposição de dados confidenciais mascarando-os na leitura para usuários sem privilégios. Ele ajuda a impedir o acesso não autorizado a dados confidenciais, permitindo que os administradores determinem como os dados são exibidos no momento da consulta. Com base na identidade do usuário autenticado e sua atribuição de grupo no pool SQL, uma consulta retorna dados mascarados ou desmascarados. O mascaramento é sempre aplicado independentemente de os dados serem acessados diretamente de uma tabela ou usando um modo de exibição ou procedimento armazenado.
Observação
O mascaramento de dados dinâmicos é suportado no Azure Synapse e no pool SQL dedicado (anteriormente SQL DW), mas não é suportado para o pool Apache Spark e o pool SQL sem servidor.
Controle de acesso baseado em funções do Synapse
O Azure Synapse também inclui funções de controlo de acesso baseado em funções (RBAC) do Synapse para gerir diferentes aspetos do Synapse Studio. Aproveite essas funções internas para atribuir permissões a usuários, grupos ou outras entidades de segurança para gerenciar quem pode:
- Publique artefatos de código e liste ou acesse artefatos de código publicados.
- Execute código nos clusters Apache Spark e runtimes de integração.
- Acesse serviços vinculados (dados) protegidos por credenciais.
- Monitore ou cancele execuções de tarefas, reveja a saída e os logs de execução das tarefas.
Próximos passos
No próximo artigo desta série de white papers, saiba mais sobre autenticação.