Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Dica
Microsoft Fabric Data Warehouse é um armazém relacional de escala empresarial baseado numa base de data lake, com uma arquitetura pronta para o futuro, IA incorporada e novas funcionalidades. Se és novo no data warehousing, começa pelo Fabric Data Warehouse. As cargas de trabalho existentes de pool SQL dedicado podem atualizar para o Fabric para acessar novas capacidades em ciência de dados, análise em tempo real e relatórios.
Aplica-se a: Pools SQL dedicados do Azure Synapse Analytics
As regras de rede virtual são uma funcionalidade de segurança de firewall que controla se o servidor lógico para as bases de dados do seu pool SQL dedicado (anteriormente SQL DW) no Azure Synapse Analytics aceita comunicações enviadas de sub-redes específicas em redes virtuais. Este artigo explica porque é que as regras de rede virtual são, por vezes, a melhor opção para permitir a comunicação segura com o seu pool SQL dedicado.
Para criar uma regra de rede virtual, deve primeiro existir um endpoint de serviço de rede virtual para a regra referenciar.
Criar uma regra de rede virtual
Se quiser apenas criar uma regra de rede virtual, pode avançar para os passos e explicações mais adiante neste artigo.
Detalhes sobre regras de rede virtual
Esta secção descreve vários detalhes sobre regras de redes virtuais.
Apenas uma região geográfica
Cada endpoint de serviço de rede virtual aplica-se apenas a uma região do Azure. O ponto de extremidade não permite que outras regiões aceitem comunicações da sub-rede.
Qualquer regra de rede virtual está limitada à região a que o seu endpoint subjacente se aplica.
Ao nível do servidor, não ao nível da base de dados
Cada regra de rede virtual aplica-se a todo o seu servidor, não apenas a uma base de dados específica no servidor. Por outras palavras, as regras de rede virtual aplicam-se ao nível do servidor, não ao nível da base de dados.
Funções de administração de segurança
Existe uma separação dos papéis de segurança na administração dos endpoints de serviços de rede virtual. É exigida ação de cada uma das seguintes funções:
- Administrador de Rede (função de Contribuidor de Rede ): Ativar o endpoint.
- Administrador de Base de Dados (função de Contribuidor do SQL Server): Atualize a lista de controlo de acesso (ACL) para adicionar a sub-rede dada ao servidor.
Alternativa ao Azure RBAC
As funções de Administrador de Rede e Administrador de Base de Dados têm mais capacidades do que o necessário para gerir as regras da rede virtual. Apenas um subconjunto das suas capacidades é necessário.
Tem a opção de usar controlo de acesso baseado em funções (RBAC) no Azure para criar uma única função personalizada que tenha apenas o subconjunto necessário de capacidades. A função personalizada poderia ser usada em vez de envolver o Administrador de Rede ou o Administrador de Base de Dados. A superfície da sua exposição de segurança é menor se adicionar um utilizador a uma função personalizada em comparação com adicionar o utilizador às outras duas funções principais de administrador.
Note
Em alguns casos, o pool SQL dedicado e a sub-rede virtual estão em subscrições diferentes. Nesses casos, deve garantir as seguintes configurações:
- O utilizador tem as permissões necessárias para iniciar operações, como ativar endpoints de serviço e adicionar uma sub-rede virtual ao servidor em questão.
- Ambas as subscrições devem ter o
Microsoft.Sqlprovedor registado.
Limitations
Para pools SQL dedicados autónomos, a funcionalidade de regras de rede virtual tem as seguintes limitações:
- No firewall do teu servidor lógico, cada regra de rede virtual faz referência a uma sub-rede. Todas as sub-redes referenciadas devem estar alojadas na mesma região geográfica do pool SQL dedicado.
- Cada servidor pode ter até 128 entradas ACL para qualquer rede virtual.
- As regras de redes virtuais aplicam-se apenas a redes virtuais do Azure Resource Manager e não às redes do modelo de implementação clássico.
- No firewall, os intervalos de endereços IP aplicam-se aos seguintes itens de rede, mas o mesmo não acontece com as regras de rede virtual:
- Rede privada virtual (VPN) site-to-site (S2S)
- No local através de Azure ExpressRoute
- Ambas as subscrições devem estar no mesmo tenant Microsoft Entra.
Considerações ao utilizar endpoints de serviço
Quando usar endpoints de serviço para um pool SQL dedicado, reveja as seguintes considerações:
- É necessário acesso de saída a IPs públicos do Azure Synapse Analytics. Os grupos de segurança de rede (NSGs) devem permitir a conectividade aos IPs de serviço. Pode usar a
Sqletiqueta de serviço NSG.
ExpressRoute
Se usar o ExpressRoute a partir das suas instalações, para peering público ou Microsoft, terá de identificar os endereços IP NAT que são utilizados. Para peering público, cada circuito ExpressRoute utiliza por defeito dois endereços IP NAT aplicados ao tráfego de serviço do Azure quando este entra na espinha dorsal da rede Microsoft Azure. Para peering Microsoft, os endereços IP NAT usados são fornecidos pelo cliente ou pelo fornecedor de serviços. Para permitir o acesso aos recursos do serviço, tem de permitir estes endereços IP públicos na configuração de firewall de IP dos recursos. Para encontrar os endereços IP do circuito ExpressRoute com peering público, abra um ticket de suporte com o ExpressRoute através do portal Azure. Para saber mais sobre NAT para peering público e peering da Microsoft do ExpressRoute, consulte os requisitos de NAT para peering público do Azure.
Para permitir a comunicação do seu circuito para o Azure Synapse Analytics, deve criar regras de rede IP para os endereços IP públicos do seu NAT.
Impacto da utilização de pontos finais de serviço de rede virtual com o Armazenamento do Azure
O Armazenamento do Azure implementou a mesma funcionalidade que permite limitar a conetividade à sua conta do Armazenamento do Azure. Se usar esta funcionalidade com uma conta do Armazenamento do Azure que o Azure Synapse Analytics utiliza, pode ter problemas.
As secções seguintes discutem as funcionalidades afetadas do Azure Synapse Analytics.
Azure Synapse Analytics PolyBase e COPY statement
O PolyBase e a instrução COPY são frequentemente usados para carregar dados no Azure Synapse Analytics a partir do Armazenamento do Azure para ingestão de dados de alto rendimento. Se a conta do Armazenamento do Azure de onde está a carregar dados limitar o acesso apenas a um conjunto de sub-redes virtuais, a conectividade ao usar o PolyBase e a instrução COPY para a conta de armazenamento vai falhar. Para permitir cenários de importação e exportação usando COPY e PolyBase, com o Azure Synapse Analytics a ligar-se ao Armazenamento do Azure que está protegido numa rede virtual, siga os passos desta secção.
Prerequisites
- Instale o Azure PowerShell. Para obter mais informações, veja Instalar o módulo Azure Az do PowerShell.
- Se tem uma conta de uso geral v1 ou uma conta do Armazenamento de Blobs do Azure, deve primeiro atualizar para a v2 de uso geral seguindo os passos em Atualizar para uma conta de armazenamento v2 de uso geral.
- Deve ter ativado o modo Permitir que os serviços Microsoft confiáveis acedam a esta conta de armazenamento no menu de definições de Firewalls e redes virtuais da conta de armazenamento do Azure. Ativar esta configuração permitirá que o PolyBase e a instrução COPY se liguem à conta de armazenamento utilizando autenticação forte, mantendo o tráfego de rede na infraestrutura de backbone do Azure. Para mais informações, consulte este guia.
Importante
O módulo PowerShell Azure Resource Manager (AzureRM) foi preterido em 29 de fevereiro de 2024. Todo o desenvolvimento futuro deve usar o módulo Az.Sql. Os usuários são aconselhados a migrar do AzureRM para o módulo Az PowerShell para garantir suporte e atualizações contínuos. O módulo AzureRM não é mais mantido ou suportado. Os argumentos para os comandos no módulo Az PowerShell e nos módulos AzureRM são substancialmente idênticos. Para obter mais informações sobre sua compatibilidade, consulte Apresentando o novo módulo do Az PowerShell.
Steps
Se tiver um pool SQL dedicado autónomo (anteriormente SQL DW), registe o seu servidor SQL com o Microsoft Entra ID usando o PowerShell:
Connect-AzAccount Select-AzSubscription -SubscriptionId <subscriptionId> Set-AzSqlServer -ResourceGroupName your-database-server-resourceGroup -ServerName your-SQL-servername -AssignIdentityEste passo não é obrigatório para os pools SQL dedicados dentro de um espaço de trabalho do Azure Synapse Analytics. A identidade gerenciada atribuída ao sistema (SA-MI) do espaço de trabalho é um membro da função Synapse Administrator e, portanto, tem privilégios elevados nos pools SQL dedicados do espaço de trabalho.
Crie uma Conta de Armazenamento v2 de uso geral seguindo os passos em Criar uma conta de armazenamento.
- Se tiver uma conta de uso geral v1 ou uma conta Armazenamento de Blobs, deve primeiro atualizar para a v2 seguindo os passos em Atualizar para uma conta de armazenamento de uso geral v2.
- Para problemas conhecidos com Azure Data Lake Storage Gen2, veja Problemas conhecidos com Azure Data Lake Storage Gen2.
Na página da sua conta de armazenamento, selecione Controlo de Acesso (IAM).
Selecione Adicionar>Adicionar atribuição de função para abrir a Adicionar atribuição de função página.
Atribua a seguinte função. Para obter etapas detalhadas, consulte Atribuir funções do Azure usando o portal do Azure.
Setting Valor Role Contribuidor de Dados de Storage Blob Atribuir acesso a Usuário, grupo ou entidade de serviço Members Servidor ou espaço de trabalho que aloja o seu pool SQL dedicado que registou no Microsoft Entra ID
Note
Só os membros com privilégio de proprietário na conta de armazenamento podem realizar este passo. Para várias funções incorporadas do Azure, veja Azure built-in roles.
Para permitir a conectividade PolyBase à conta Armazenamento do Azure:
Cria uma chave mestra para a base de dados se ainda não criaste uma antes.
CREATE MASTER KEY [ENCRYPTION BY PASSWORD = '<password>'];Crie uma credencial com âmbito de base de dados com IDENTITY = 'Managed Service Identity'.
CREATE DATABASE SCOPED CREDENTIAL msi_cred WITH IDENTITY = 'Managed Service Identity';Não é necessário especificar o SECRET com uma chave de acesso do Armazenamento do Azure porque este mecanismo usa Identidade Gerida por baixo. Este passo não é obrigatório para os pools SQL dedicados dentro de um espaço de trabalho do Azure Synapse Analytics. A identidade gerenciada atribuída ao sistema (SA-MI) do espaço de trabalho é um membro da função Synapse Administrator e, portanto, tem privilégios elevados nos pools SQL dedicados do espaço de trabalho.
O nome IDENTITY deve ser 'Managed Service Identity' para que a conectividade PolyBase funcione com uma conta Armazenamento do Azure segura numa rede virtual.
Crie uma fonte de dados externa com o
abfss://esquema para se ligar à sua conta de armazenamento v2 de uso geral usando PolyBase.CREATE EXTERNAL DATA SOURCE ext_datasource_with_abfss WITH (TYPE = hadoop, LOCATION = 'abfss://myfile@mystorageaccount.dfs.core.windows.net', CREDENTIAL = msi_cred);- Se já tens tabelas externas associadas a uma conta v1 ou Armazenamento de Blobs de uso geral, deves primeiro eliminar essas tabelas externas. Depois elimina a fonte de dados externa correspondente. De seguida, crie uma fonte de dados externa com o esquema
abfss://que se liga a uma conta de armazenamento v2 de uso geral, como já foi mostrado. Depois, recrie todas as tabelas externas usando esta nova fonte de dados externa. Podes usar o Assistente de Geração e Publicação de Scripts para gerar scripts de criação para todas as tabelas externas, para facilitar. - Para mais informações sobre o
abfss://esquema URI, veja Use o URI do Azure Data Lake Storage Gen2. - Para mais informações sobre os comandos T-SQL, consulte CREATE EXTERNAL DATA SOURCE.
- Se já tens tabelas externas associadas a uma conta v1 ou Armazenamento de Blobs de uso geral, deves primeiro eliminar essas tabelas externas. Depois elimina a fonte de dados externa correspondente. De seguida, crie uma fonte de dados externa com o esquema
Consulta normalmente usando tabelas externas.
Auditoria do Azure Synapse Analytics para blob storage
A auditoria do Azure Synapse Analytics pode gravar registos de auditoria SQL na sua própria conta de armazenamento. Se esta conta de armazenamento usar a funcionalidade de pontos finais de serviço de rede virtual, veja como gravar auditoria numa conta de armazenamento atrás da VNet e da firewall.
Adicione uma regra de firewall de rede virtual ao seu servidor SQL do pool de SQL dedicado
Há muito tempo, antes desta funcionalidade ser melhorada, era necessário ativar os endpoints de serviço de rede virtual antes de poder implementar uma regra de rede virtual ativa no firewall. Os endpoints relacionam uma dada sub-rede virtual a um pool SQL dedicado. Desde janeiro de 2018, pode contornar este requisito definindo a flag IgnoreMissingVNetServiceEndpoint . Agora, pode adicionar uma regra de firewall de rede virtual ao seu servidor sem ativar os endpoints de serviço de rede virtual.
Simplesmente definir uma regra de firewall não ajuda a proteger o servidor. Também deve ativar os endpoints de serviço da rede virtual para que a segurança tenha efeito. Quando ativa os endpoints de serviço, a sua sub-rede virtual sofre tempo de inatividade até completar a transição de desligado para ligado. Este período de inatividade verifica-se sobretudo no contexto de grandes redes virtuais. Pode usar a flag IgnoreMissingVNetServiceEndpoint para reduzir ou eliminar o tempo de inatividade durante a transição.
Podes definir a IgnoreMissingVNetServiceEndpoint flag usando o PowerShell. Para mais informações, consulte New-AzSqlServerVirtualNetworkRule.
Use o portal Azure para criar uma regra de rede virtual
Note
Estas instruções de regras de rede virtual aplicam-se a pools SQL dedicados autónomos. Para a configuração da rede do espaço de trabalho, consulte as regras do firewall IP do Azure Synapse Analytics.
Nesta secção, aprenda como pode usar o portal do Azure para criar uma regra de rede virtual para um pool SQL dedicado independente. A regra diz ao servidor lógico para aceitar comunicação de uma sub-rede específica que foi marcada como um endpoint de serviço de rede virtual.
Note
Se pretende adicionar um endpoint de serviço às regras do firewall de rede virtual do seu servidor, certifique-se primeiro de que os endpoints de serviço estão ativados para a sub-rede.
Se os endpoints de serviço não estiverem ativados para a subrede, o portal pede-te para os ativares. Seleciona o botão Ativar no mesmo painel onde adicionas a regra.
Prerequisites
Deve já ter uma sub-rede marcada com o endpoint de serviço de rede virtual nome do tipo usado pelo Azure Synapse Analytics.
- O nome relevante do tipo de endpoint é
Microsoft.Sql. - Se a sua sub-rede não estiver marcada com o nome do tipo, veja Verificar se o endpoint de serviço está ativado.
Passos no portal do Azure
Inicie sessão no portal Azure.
Procura e seleciona servidores SQL e depois seleciona o teu servidor. Em Segurança, selecione Rede.
No separador de acesso público, assegure que o acesso à rede pública está definido como Selecionar redes, caso contrário as definições de redes virtuais ficam ocultas. Selecione + Adicionar rede virtual existente na secção Redes virtuais.
No novo painel de Criar/Atualizar, preenche as caixas com os nomes dos teus recursos do Azure.
Dica
Deve incluir o prefixo de endereço correto para a sua sub-rede. Pode encontrar o prefixo de Endereço no portal. Ir a Todos os recursos>Todos os tipos>Redes virtuais. O filtro mostra as tuas redes virtuais. Selecione a sua rede virtual e depois selecione Sub-redes. A coluna ADDRESS RANGE tem o prefixo de endereço que precisa.
Veja a regra de rede virtual resultante no painel Firewall.
Defina Permitir que os serviços e recursos do Azure acedam a este servidor como Não.
Importante
Se deixar Permitir serviços e recursos Azure aceder a este servidor ativado, o seu servidor aceita comunicação de qualquer sub-rede dentro do limite do Azure. Trata-se da comunicação que se origina de um dos endereços IP reconhecidos como dentro dos intervalos definidos para centros de dados do Azure. Deixar o controlo ativado pode conceder acesso excessivo do ponto de vista da segurança. A funcionalidade de endpoint do serviço Rede Virtual do Microsoft Azure, juntamente com as regras de rede virtual do Azure Synapse Analytics, pode reduzir a sua superfície de ataque.
Seleciona o botão OK perto do fundo do painel.
Note
Os seguintes estados aplicam-se às regras:
- Pronto: Indica que a operação que iniciaste foi bem-sucedida.
- Falhada: Indica que a operação que iniciaste falhou.
-
Eliminado: Aplica-se apenas à
Deleteoperação e indica que a regra foi eliminada e já não se aplica. - InProgress: Indica que a operação está em curso. A antiga regra aplica-se enquanto a operação está neste estado.
Use o PowerShell para criar uma regra de rede virtual
Um script também pode criar regras de rede virtual usando o cmdlet PowerShell New-AzSqlServerVirtualNetworkRule ou az network vnet create. Para mais informações, consulte New-AzSqlServerVirtualNetworkRule.
Utilize a API REST para criar uma regra de rede virtual
Internamente, os cmdlets PowerShell para ações de rede virtual do Synapse SQL chamam APIs REST. Pode invocar diretamente as APIs REST. Para mais informações, consulte Regras de Rede Virtual: Operações.
Resolução de erros 40914 e 40615
O erro de ligação 40914 relaciona-se com regras de rede virtual, conforme especificado no painel Firewall do portal Azure.
O erro 40615 é semelhante, exceto que está relacionado com as regras de endereço IP no firewall.
Erro 40914
Texto da mensagem: "Não é possível abrir o servidor '[server-name]' solicitado pelo login. O cliente não tem permissão para aceder ao servidor."
Descrição do erro: O cliente está numa sub-rede que possui endpoints de servidor de rede virtual. Mas o servidor não tem uma regra de rede virtual que conceda à sub-rede o direito de comunicar com a base de dados.
Resolução de erros: No painel Firewall do portal Azure, use o controlo de regras de rede virtual para adicionar uma regra de rede virtual para a sub-rede.
Erro 40615
Texto da mensagem: "Não é possível abrir o servidor '{0}' solicitado pelo login. O cliente com o endereço IP "{1}" não tem permissão para aceder ao servidor."
Descrição do erro: O cliente está a tentar ligar-se a partir de um endereço IP que não está autorizado a ligar-se ao servidor. O firewall do servidor não tem uma regra de endereço IP que permita a um cliente comunicar a partir do endereço IP indicado com a base de dados.
Resolução de erros: Insira o endereço IP do cliente como regra de IP. Use o painel Firewall no portal do Azure para fazer este passo.