Controle de acesso do Azure Synapse

Este artigo fornece uma visão geral dos mecanismos disponíveis para controlar o acesso aos recursos e dados de computação do Azure Synapse.

Descrição geral

O Azure Synapse proporciona um sistema de controlo de acesso abrangente e detalhado, que integra:

  • Funções Azure para gestão de recursos e acesso a dados no armazenamento,
  • Funções do Synapse para gerir o acesso em direto ao código e à execução,
  • Funções do SQL para acesso do plano de dados aos dados nos conjunto de SQL e
  • Permissões do Git para controlo de código fonte, incluindo integração contínua e suporte de implementação.

As funções do Azure Synapse proporcionam conjuntos de permissões que podem ser aplicados a diferentes âmbitos. Esta granularidade facilita a concessão de acesso adequado a administradores, programadores, pessoal de segurança e operadores para calcular recursos e dados.

O controle de acesso pode ser simplificado usando grupos de segurança alinhados com as funções de trabalho das pessoas. Você só precisa adicionar e remover usuários de grupos de segurança apropriados para gerenciar o acesso.

Elementos de controlo de acesso

Criar e gerenciar recursos de computação do Azure Synapse

As funções do Azure são usadas para controlar o gerenciamento de:

  • Pools SQL dedicados
  • Pools do Data Explorer
  • Conjuntos do Apache Spark
  • Tempos de execução de integração

Para criar esses recursos, você precisa ser um Proprietário ou Colaborador do Azure no grupo de recursos. Para gerenciá-los depois de criados, você precisa ser um Proprietário ou Colaborador do Azure no grupo de recursos ou nos recursos individuais.

Um Proprietário ou Colaborador do Azure pode habilitar ou desabilitar a autenticação somente do Microsoft Entra, para espaços de trabalho do Azure Sinapse. Para obter mais informações sobre a autenticação somente Microsoft Entra, consulte Desabilitando a autenticação local no Azure Synapse Analytics.

Desenvolver e executar código no Azure Synapse

Synapse suporta dois modelos de desenvolvimento.

  • Sinapse desenvolvimento ao vivo. Você desenvolve e depura código no Synapse Studio e, em seguida, publica-o para salvar e executar. O serviço Synapse é a fonte da verdade para edição e execução de código. Qualquer trabalho inédito é perdido quando você fecha o Synapse Studio.
  • Desenvolvimento habilitado para Git. Você desenvolve e depura código no Synapse Studio e confirma alterações em uma ramificação de trabalho de um repositório Git. O trabalho de uma ou mais ramificações é integrado em uma ramificação de colaboração, de onde você o publica no serviço. O repositório Git é a fonte da verdade para a edição de código, enquanto o serviço é a fonte da verdade para a execução. As alterações devem ser confirmadas no repositório Git ou publicadas no serviço antes de fechar o Synapse Studio. Saiba mais sobre como usar o Synapse Analytics com o Git.

Em ambos os modelos de desenvolvimento, qualquer usuário com acesso ao Synapse Studio pode criar artefatos de código. No entanto, você precisa de permissões adicionais para publicar artefatos no serviço, ler artefatos publicados, confirmar alterações no Git, executar código e acessar dados vinculados protegidos por credenciais. Os usuários devem ter a função de Colaborador do Azure (Azure RBAC) ou superior no espaço de trabalho Synapse para definir, editar configurações e desconectar um repositório Git com Synapse.

Funções do Azure Synapse

As funções do Azure Synapse são usadas para controlar o acesso ao serviço Synapse. Diferentes funções podem permitir-lhe:

  • Listar artefatos de código publicados,
  • Publicar artefatos de código, serviços vinculados e definições de credenciais,
  • Execute código ou pipelines que usam recursos de computação Synapse,
  • Executar código ou pipelines que acessam dados vinculados protegidos por credenciais,
  • Exibir saídas associadas a artefatos de código publicados,
  • Monitore o status dos recursos de computação e visualize os logs de tempo de execução.

As funções do Azure Synapse podem ser atribuídas no escopo do espaço de trabalho ou em escopos mais refinados para limitar as permissões concedidas a recursos específicos do Azure Synapse.

Permissões do Git

Ao usar o desenvolvimento habilitado para Git no modo Git, você precisa de permissões do Git além das funções Synapse User ou Synapse RBAC (controle de acesso baseado em função) para ler artefatos de código, incluindo definições de serviço vinculado e credenciais. Para confirmar alterações em artefatos de código no modo Git, você precisa de permissões Git e da função Synapse Artifact Publisher (Synapse RBAC).

Acessar dados em SQL

Ao trabalhar com pools SQL dedicados e sem servidor, o acesso ao plano de dados é controlado usando permissões SQL.

O criador de uma área de trabalho é atribuído como o administrador do Active Directory na área de trabalho. Após a criação, esta função pode ser atribuída a um utilizador diferente ou a um grupo de segurança no portal do Azure.

Pools SQL sem servidor: os administradores Synapse recebem db_owner permissões (DBO) no pool SQL sem servidor, 'Built-in'. Para conceder a outros usuários acesso ao pool SQL sem servidor, os administradores do Synapse precisam executar scripts SQL no pool sem servidor.

Pools SQL dedicados: Os administradores Synapse têm acesso total aos dados em pools SQL dedicados e a capacidade de conceder acesso a outros usuários. Os administradores do Synapse também podem executar atividades de configuração e manutenção em pools dedicados, exceto para descartar bancos de dados. A permissão de Administrador do Ative Directory é concedida ao criador do espaço de trabalho e do MSI do espaço de trabalho. A permissão para acessar pools SQL dedicados não é concedida automaticamente. Para conceder a outros usuários ou grupos acesso a pools SQL dedicados, o Administrador do Ative Directory ou o Administrador Synapse deve executar scripts SQL em cada pool SQL dedicado.

Consulte Como configurar o Synapse Access Control para obter exemplos de scripts SQL para conceder permissões SQL em pools SQL.

Acessando dados em pools do Data Explorer

Ao trabalhar com pools do Data Explorer, o acesso ao plano de dados é controlado por meio de permissões do Data Explorer. Os administradores do Synapse recebem All Database admin permissões em pools do Data Explorer. Para conceder a outros usuários ou grupos acesso a pools do Data Explorer, os administradores do Synapse devem consultar Gerenciamento de funções de segurança. Para obter mais informações sobre o acesso ao plano de dados, consulte Visão geral do controle de acesso do Data Explorer.

Acesso a dados gerenciados pelo sistema no armazenamento

Pools SQL sem servidor e tabelas Apache Spark armazenam seus dados em um contêiner ADLS Gen2 associado ao espaço de trabalho. As bibliotecas do Apache Spark instaladas pelo usuário também são gerenciadas na mesma conta de armazenamento. Para habilitar esses casos de uso, os usuários e o MSI do espaço de trabalho devem receber acesso do Contribuidor de Dados de Blob de Armazenamento a este contêiner de armazenamento ADLS Gen2 do espaço de trabalho.

Usando grupos de segurança como prática recomendada

Para simplificar o gerenciamento do controle de acesso, você pode usar grupos de segurança para atribuir funções a indivíduos e grupos. Os grupos de segurança podem ser criados para espelhar personas ou funções de trabalho em sua organização que precisam de acesso a recursos ou artefatos do Synapse. Esses grupos de segurança baseados em persona podem receber uma ou mais funções do Azure, funções Synapse, permissões SQL ou permissões Git. Com grupos de segurança bem escolhidos, é fácil atribuir a um usuário as permissões necessárias adicionando-os ao grupo de segurança apropriado.

Nota

Se estiver usando grupos de segurança para gerenciar o acesso, haverá latência adicional introduzida pelo ID do Microsoft Entra antes que as alterações entrem em vigor.

Aplicação do controle de acesso no Synapse Studio

Synapse Studio irá se comportar de forma diferente com base em suas permissões e no modo atual:

  • Modo ao vivo Synapse: o Synapse Studio impedirá que você veja conteúdo publicado, publique conteúdo ou execute outras ações se você não tiver a permissão necessária. Em alguns casos, você será impedido de criar artefatos de código que não podem ser usados ou salvos.
  • Modo Git: Se você tiver permissões do Git que permitem confirmar alterações na ramificação atual, a ação de confirmação será permitida se você tiver permissão para publicar alterações no serviço ao vivo (função Synapse Artifact Publisher).

Em alguns casos, você tem permissão para criar artefatos de código mesmo sem permissão para publicar ou confirmar. Isso permite que você execute código (com as permissões de execução necessárias). Para obter mais informações sobre as funções necessárias para tarefas comuns, consulte Compreender as funções necessárias para executar tarefas comuns no Azure Synapse.

Se um recurso estiver desativado no Synapse Studio, uma dica de ferramenta indicará a permissão necessária. Use o guia de funções Synapse RBAC para procurar qual função é necessária para fornecer a permissão ausente.

Próximos passos