Visão geral do controle de acesso do workspace 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.
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
- 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 pode habilitar ou desabilitar a autenticação somente do Microsoft Entra para os espaços de trabalho do Azure Synapse. Para obter mais informações sobre a autenticação somente do Microsoft Entra, consulte Usar a autenticação do Microsoft Entra para autenticação com SQL do Synapse.
Desenvolver e executar código no Azure Synapse
O Azure Synapse dá suporte a dois modelos de desenvolvimento.
Desenvolvimento ao vivo do Synapse: Você desenvolve e depura o código no Synapse Studio e depois 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: Você desenvolve e depura o código no Synapse Studio e confirma as alterações em uma ramificação 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. Para saber mais sobre como usar o Synapse Analytics com o Git, consulte Integração e entrega contínuas para um espaço de trabalho do Azure Synapse Analytics.
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 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ê:
- Listar os artefatos de código publicados
- Publicar os artefatos de código, serviços vinculados e definições de credenciais
- Executar o código ou pipelines que usam recursos de computação do Azure Synapse
- Executar o código ou pipelines que acessam os dados vinculados protegidos por credenciais
- Exibir saídas associadas a artefatos de código publicados
- Monitorar o status do recurso de computação e exibir os 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
Para 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 confirmar as 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.
Acessar dados no SQL
Para 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 Synapse recebem permissões
db_owner
(DBO) no pool de SQL sem servidor, Integrado. 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.
Para obter exemplos de scripts SQL para conceder permissões SQL em pools de SQL, consulte Como configurar o controle de acesso para o seu espaço de trabalho do Azure Synapse.
Acessar dados em pools do Data Explorer
Para 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, consulte Visão geral do Controle de Acesso.
Acessar dados gerenciados pelo sistema no armazenamento
Os pools de SQL sem servidor e as tabelas do Apache Spark armazenam seus dados em um contêiner Azure Data Lake Storage 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 workspace precisam receber acesso de Colaborador de Dados do Blob de Armazenamento a esse contêiner do Azure Data Lake Storage no espaço de trabalho.
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ê usa grupos de segurança para gerenciar o acesso, há 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 comporta de maneira diferente com base em suas permissões e no modo atual:
- Modo ao vivo do Synapse: O Synapse Studio impede que você veja o conteúdo publicado, publique conteúdo ou realize outras ações se você não tiver a permissão necessária. Em alguns casos, você é 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 lhe permitam confirmar alterações no branch atual, a ação de confirmação será permitida se você tiver permissão para publicar alterações no serviço ativo (função 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 indica 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.