Controle de acesso do Azure Synapse

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

Visão geral

O Azure Synapse fornece um sistema de controle de acesso abrangente e refinado, que integra:

  • Funções do Azure para gerenciamento de recursos e acesso a dados no armazenamento,
  • Funções do Azure Synapse para gerenciar o acesso dinâmico ao código e à execução,
  • Funções SQL para acesso de plano de dados a dados em pools de SQL e
  • Permissões do Git para controle do código-fonte, incluindo suporte à implantação e integração contínuas.

As funções do Azure Synapse fornecem conjuntos de permissões que podem ser aplicadas em escopos diferentes. Essa granularidade facilita a concessão de acesso apropriado a administradores, desenvolvedores, pessoal de segurança e operadores para computar recursos e dados.

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

Elementos de controle 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 de SQL dedicados
  • Pools do Data Explorer
  • Pools do Apache Spark
  • Runtimes de integração

Para criar esses recursos, você precisa ser 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 workspaces do Azure Synapse. Para obter mais informações sobre a autenticação somente do Microsoft Entra, confira Como desabilitar a autenticação local no Azure Synapse Analytics.

Desenvolver e executar código no Azure Synapse

O Azure Synapse dá suporte a dois modelos de desenvolvimento.

  • Desenvolvimento dinâmico do Azure Synapse. Você desenvolve e depura o código no Synapse Studio e o publica para ser salvo e executado. O serviço do Azure Synapse é a fonte de verdade para a edição e a execução de código. Qualquer trabalho não publicado é perdido quando você fecha o Synapse Studio.
  • Desenvolvimento habilitado para Git. Desenvolve e depure código no Synapse Studio e faça commit de alterações em um branch de trabalho de um repositório Git. O trabalho em um ou mais branches é integrado a uma branch de colaboração, de onde você o publica no serviço. O repositório Git é a fonte de verdade para edição de código, enquanto o serviço é a fonte de verdade para execução. O commit das alterações deve ser feito no repositório Git ou elas devem ser publicadas no serviço antes de o Synapse Studio ser fechado. Saiba mais sobre como usar o Synapse Analytics com o Git.

Nos dois 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, fazer commit de alterações no Git, executar o código e acessar dados vinculados protegidos por credenciais. Os usuários devem ter a função Colaborador do Azure (RBAC do Azure) ou maior no espaço de trabalho Synapse para configurar, editar as 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 do Azure Synapse. Funções diferentes podem permitir que você:

  • Liste artefatos de código publicados,
  • Publique artefatos de código, serviços vinculados e definições de credenciais,
  • Execute o código ou pipelines que usam recursos de computação do Azure Synapse,
  • Execute o código ou pipelines que acessam os dados vinculados protegidos por credenciais,
  • Veja saídas associadas a artefatos de código publicados,
  • Monitore o status do recurso de computação e veja logs de runtime.

As funções do Azure Synapse podem ser atribuídas no escopo do workspace 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 do Usuário do Synapse ou RBAC (controle de acesso baseado em função) do Synapse para ler artefatos de código, incluindo definições de serviço vinculado e credencial. Para fazer commit de alterações em artefatos de código no modo Git, você precisa de permissões do Git e da função de Editor de Artefatos do Synapse (RBAC do Synapse).

Acessar dados no SQL

Quando você trabalha usando pools de SQL dedicados e sem servidor, o acesso ao plano de dados é controlado usando permissões SQL.

O criador de um workspace é atribuído como o Administrador do Active Directory no workspace. Após a criação, essa função pode ser atribuída a um usuário diferente ou a um grupo de segurança no portal do Azure.

Pools de SQL sem servidor: os Administradores do Azure Synapse recebem permissões db_owner (DBO) no pool de SQL sem servidor, 'internas'. Para conceder a outros usuários acesso aos pools de SQL sem servidor, os administradores do Azure Synapse precisam executar os scripts SQL nos pools sem servidor.

Pools SQL dedicados: os administradores do Synapse têm acesso completo aos dados em pools de 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 a remoção de bancos de dados. a permissão de Administrador do Active Directory é concedida ao criador do workspace e ao MSI do workspace. A permissão para acessar os pools de SQL dedicados não é concedida automaticamente. Para conceder acesso a pools de SQL dedicados a outros usuários ou grupos, o Administrador do Active Directory ou o Administrador do Synapse precisa executar scripts SQL em cada pool de SQL dedicado.

Confira Como configurar o Controle de Acesso do Azure Synapse para obter exemplos de scripts SQL para conceder permissões SQL em pools de SQL.

Acessar dados em pools do Data Explorer

Ao trabalhar com pools do Data Explorer, o acesso ao plano de dados é controlado por meio das permissões do Data Explorer. Os Administradores do Synapse recebem permissões All Database admin em pools do Data Explorer. Para conceder acesso a pools do Data Explorer a outros usuários e grupos, os administradores do Synapse precisam conferir o Gerenciamento de funções de segurança. Para saber mais sobre o acesso ao plano de dados, confira a Visão geral do controle de acesso ao Data Explorer.

Como acessar dados gerenciados pelo sistema no armazenamento

Os pools de SQL sem servidor e as tabelas do Apache Spark armazenam os dados deles em um contêiner do ADLS Gen2 associado ao workspace. 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 workspace precisam receber acesso de Colaborador de Dados do Blob de Armazenamento a esse contêiner de armazenamento do ADLS Gen2 do workspace.

Como usar grupos de segurança como uma melhor prática

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 Azure Synapse. Esses grupos de segurança baseados em persona podem ser atribuídos a uma ou mais funções do Azure, funções do Azure Synapse, permissões SQL ou permissões do Git. Com grupos de segurança bem escolhidos, é fácil atribuir a um usuário as permissões necessárias adicionando-as ao grupo de segurança apropriado.

Observação

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

Imposição de controle de acesso no Synapse Studio

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

  • Modo dinâmico do Azure Synapse: o Synapse Studio impedirá que você veja o conteúdo publicado, que você 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 pode usar ou salvar.
  • Modo Git: se você tiver permissões do Git que permitem fazer commit de alterações no branch atual, a ação de commit será permitida se você tiver permissão para publicar alterações no serviço ativo (função de editor de artefato do Synapse).

Em alguns casos, você tem permissão para criar artefatos de código mesmo sem permissão para publicação ou commit. Isso permite que você execute o 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, confira Entender as funções necessárias para executar tarefas comuns no Azure Synapse.

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

Próximas etapas