Partilhar via


Documento Técnico de Segurança do Azure Synapse Analytics: Controle de Acesso

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

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.