Os pontos de extremidade de serviço de rede virtual permitem limitar o acesso à rede a alguns recursos de serviço do Azure para uma sub-rede da rede virtual. Você também pode remover o acesso à Internet para os recursos. Os pontos de extremidade de serviço fornecerão conexão direta de sua rede virtual a um serviço do Azure, permitindo que você use o espaço de endereço privado da sua rede virtual para acessar os serviços do Azure compatíveis. O tráfego destinado aos recursos do Azure por meio de pontos de extremidade de serviço sempre fica na rede de backbone do Microsoft Azure.
Neste tutorial, você aprenderá a:
- Criar uma rede virtual com uma sub-rede
- Adicionar uma sub-rede e habilitar um ponto de extremidade de serviço
- Criar um recurso do Azure e permitir o acesso à rede para ele apenas de uma sub-rede
- Implantar uma VM (máquina virtual) para cada sub-rede
- Confirmar o acesso a um recurso por meio de uma sub-rede
- Confirmar se o acesso é negado para um recurso por meio de uma sub-rede e da Internet
Pré-requisitos
Se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.
Azure Cloud Shell
O Azure hospeda o Azure Cloud Shell, um ambiente de shell interativo que pode ser usado por meio do navegador. É possível usar o bash ou o PowerShell com o Cloud Shell para trabalhar com os serviços do Azure. É possível usar os comandos pré-instalados do Cloud Shell para executar o código neste artigo, sem precisar instalar nada no seu ambiente local.
Para iniciar o Azure Cloud Shell:
Opção |
Exemplo/Link |
Selecione Experimentar no canto superior direito de um bloco de código ou de comando. Selecionar Experimentar não copia automaticamente o código nem o comando para o Cloud Shell. |
|
Acesse https://shell.azure.com ou selecione o botão Iniciar o Cloud Shell para abri-lo no navegador. |
|
Selecione o botão Cloud Shell na barra de menus no canto superior direito do portal do Azure. |
|
Para usar o Azure Cloud Shell:
Inicie o Cloud Shell.
Selecione o botão Copiar em um bloco de código (ou bloco de comando) para copiar o código ou o comando.
Cole o código ou comando na sessão do Cloud Shell selecionando Ctrl+Shift+V no Windows e no Linux, ou selecionando Cmd+Shift+V no macOS.
Selecione Enter para executar o código ou o comando.
Se você optar por instalar e usar o PowerShell localmente, este artigo exigirá o módulo do Azure PowerShell versão 1.0.0 ou posterior. Execute Get-Module -ListAvailable Az
para localizar a versão instalada. Se você precisa atualizar, consulte Instalar o módulo do Azure PowerShell. Se você estiver executando o PowerShell localmente, também precisará executar o Connect-AzAccount
para criar uma conexão com o Azure.
Se você ainda não tiver uma conta do Azure, crie uma conta gratuita antes de começar.
Use o ambiente Bash no Azure Cloud Shell. Para obter mais informações, confira Introdução ao Azure Cloud Shell.
Se preferir executar os comandos de referência da CLI localmente, instale a CLI do Azure. Para execuções no Windows ou no macOS, considere executar a CLI do Azure em um contêiner do Docker. Para obter mais informações, confira Como executar a CLI do Azure em um contêiner do Docker.
Se estiver usando uma instalação local, entre com a CLI do Azure usando o comando az login. Para concluir o processo de autenticação, siga as etapas exibidas no terminal. Para obter outras opções de entrada, consulte Autenticar no Azure usando a CLI do Azure.
Quando solicitado, instale a extensão da CLI do Azure no primeiro uso. Para obter mais informações sobre extensões, confira Usar e gerenciar extensões com a CLI do Azure.
Execute az version para localizar a versão e as bibliotecas dependentes que estão instaladas. Para fazer a atualização para a versão mais recente, execute az upgrade.
- Este artigo exige a versão 2.0.28 ou posterior da CLI do Azure. Se você está usando o Azure Cloud Shell, a versão mais recente já está instalada.
Habilitar um ponto de extremidade de serviço
Criar uma rede virtual e um host do Azure Bastion
O seguinte procedimento cria uma rede virtual com uma sub-rede de recurso, uma sub-rede do Azure Bastion e um host do Bastion:
No portal do Azure, pesquise e selecione Redes virtuais.
Na página Redes virtuais, selecione + Criar.
Na guia Informações Básicas em Criar rede virtual, insira ou selecione as seguintes informações:
Configuração |
Valor |
Detalhes do projeto |
|
Subscrição |
Selecione sua assinatura. |
Grupo de recursos |
Selecione Criar novo.
Insira test-rg para o nome.
Selecione . |
Detalhes da instância |
|
Nome |
Insira vnet-1. |
Região |
Selecione Leste dos EUA 2. |
Selecione Avançar para prosseguir para a guia Segurança.
Na seção Azure Bastion, selecione Habilitar o Azure Bastion.
O Bastion usa seu navegador para se conectar às VMs em sua rede virtual por meio do Secure Shell (SSH) ou do Protocolo de Área de Trabalho Remota (RDP) usando os respectivos endereços IP privados. As VMs não precisam de endereços IP públicos, software cliente ou configuração especial. Para obter mais informações, confira O que é o Azure Bastion?.
Observação
Os preços por hora começam a partir do momento em que o Bastion é implantado, independentemente do uso de dados de saída. Para saber mais, confira Preços e SKUs. Se estiver implantando o Bastion como parte de um tutorial ou teste, recomendamos que você exclua esse recurso após terminar de usá-lo.
Em Azure Bastion, digite ou selecione as seguintes informações:
Configuração |
Valor |
Nome do host do Azure Bastion |
Insira bastion. |
Endereço IP público do Azure Bastion |
Selecione Criar um endereço IP público.
Insira public-ip-bastion em Nome.
Selecione . |
Selecione Avançar para prosseguir para a guia Endereços IP.
Na caixa de espaço de endereço em Sub-redes, selecione a sub-rede padrão.
Em Editar sub-rede, insira ou selecione as seguintes informações:
Configuração |
Valor |
Finalidade da sub-rede |
Mantenha o padrão como Padrão. |
Nome |
Insira sub-rede-1. |
IPv4 |
|
Intervalo de endereços IPv4 |
Mantenha o padrão de 10.0.0.0/16. |
Endereço inicial |
Deixe o padrão de 10.0.0.0. |
Tamanho |
Deixe o padrão de /24 (256 endereços). |
Selecione Salvar.
Selecione Examinar + criar na parte inferior da página. Quando a validação for aprovada na validação, selecione Criar.
Pontos de extremidade de serviço são habilitados por serviço, por sub-rede.
Na caixa de pesquisa na parte superior do portal, pesquise Rede virtual. Selecione Redes virtuais nos resultados da pesquisa.
Em Redes virtuais, selecione vnet-1.
Na seção Configurações de vnet-1, selecione Sub-redes.
Selecione + Sub-rede.
Na página Adicionar sub-rede, insira ou selecione as seguintes informações:
Configuração |
Valor |
Nome |
sub-rede privada |
Intervalo de endereços da sub-rede |
Matenha o padrão de 10.0.2.0/24. |
PONTOS DE EXTREMIDADE DE SERVIÇO |
|
Serviços |
Selecione Microsoft.Storage |
Selecione Salvar.
Criar uma rede virtual
Antes de criar uma rede virtual, será necessário criar um grupo de recursos para a rede virtual e todos os outros recursos criados neste artigo. Crie um grupo de recursos com New-AzResourceGroup. O seguinte exemplo cria um grupo de recursos chamado test-rg:
$rg = @{
ResourceGroupName = "test-rg"
Location = "westus2"
}
New-AzResourceGroup @rg
Crie uma rede virtual com New-AzVirtualNetwork. O exemplo a seguir cria uma rede virtual chamada vnet-1 com o prefixo de endereço 10.0.0.0/16.
$vnet = @{
ResourceGroupName = "test-rg"
Location = "westus2"
Name = "vnet-1"
AddressPrefix = "10.0.0.0/16"
}
$virtualNetwork = New-AzVirtualNetwork @vnet
Crie uma configuração de sub-rede com New-AzureRmVirtualNetworkSubnetConfig. O seguinte exemplo cria uma configuração de sub-rede para uma sub-rede denominada subnet-public:
$subpub = @{
Name = "subnet-public"
AddressPrefix = "10.0.0.0/24"
VirtualNetwork = $virtualNetwork
}
$subnetConfigPublic = Add-AzVirtualNetworkSubnetConfig @subpub
Crie a sub-rede na rede virtual gravando a configuração de sub-rede na rede virtual com Set-AzVirtualNetwork:
$virtualNetwork | Set-AzVirtualNetwork
Crie outra sub-rede na rede virtual. Neste exemplo, uma sub-rede denominada subnet-private é criada com um ponto de extremidade de serviço para Microsoft.Storage:
$subpriv = @{
Name = "subnet-private"
AddressPrefix = "10.0.2.0/24"
VirtualNetwork = $virtualNetwork
ServiceEndpoint = "Microsoft.Storage"
}
$subnetConfigPrivate = Add-AzVirtualNetworkSubnetConfig @subpriv
$virtualNetwork | Set-AzVirtualNetwork
Implantar o Azure Bastion
O Azure Bastion usa seu navegador para se conectar a VMs em sua rede virtual por Secure Shell (SSH) ou Remote Desktop Protocol (RDP) usando seus endereços IP privados. As VMs não precisam de endereços IP públicos, software cliente ou configuração especial. Para obter mais informações sobre o Bastion, consulte O que é o Azure Bastion?.
Os preços por hora começam a partir do momento em que o Bastion é implantado, independentemente do uso de dados de saída. Para saber mais, confira Preços e SKUs. Se estiver implantando o Bastion como parte de um tutorial ou teste, recomendamos que você exclua esse recurso após terminar de usá-lo.
Configure uma sub-rede do Bastion para sua rede virtual. Essa sub-rede é reservada exclusivamente para recursos do Bastion e deve ser chamada AzureBastionSubnet.
$subnet = @{
Name = 'AzureBastionSubnet'
VirtualNetwork = $virtualNetwork
AddressPrefix = '10.0.1.0/26'
}
$subnetConfig = Add-AzVirtualNetworkSubnetConfig @subnet
Defina a configuração:
$virtualNetwork | Set-AzVirtualNetwork
Crie um endereço IP público para o Bastion. O Bastion host usa o IP público para acessar SSH e RDP pela porta 443.
$ip = @{
ResourceGroupName = 'test-rg'
Name = 'public-ip'
Location = 'westus2'
AllocationMethod = 'Static'
Sku = 'Standard'
Zone = 1,2,3
}
New-AzPublicIpAddress @ip
Use o comando New-AzBastion para criar um Bastion host Standard em AzureBastionSubnet:
$bastion = @{
Name = 'bastion'
ResourceGroupName = 'test-rg'
PublicIpAddressRgName = 'test-rg'
PublicIpAddressName = 'public-ip'
VirtualNetworkRgName = 'test-rg'
VirtualNetworkName = 'vnet-1'
Sku = 'Basic'
}
New-AzBastion @bastion -AsJob
A implantação dos recursos do Bastion leva cerca de 10 minutos. É possível criar VMs na próxima seção enquanto o Bastion é implantado na rede virtual.
Criar uma rede virtual
Antes de criar uma rede virtual, será necessário criar um grupo de recursos para a rede virtual e todos os outros recursos criados neste artigo. Crie um grupo de recursos com az group create. O exemplo a seguir cria um grupo de recursos chamado test-rg na localização westus2.
az group create \
--name test-rg \
--location westus2
Crie uma rede virtual com uma sub-rede com az network vnet create.
az network vnet create \
--name vnet-1 \
--resource-group test-rg \
--address-prefix 10.0.0.0/16 \
--subnet-name subnet-public \
--subnet-prefix 10.0.0.0/24
Você pode habilitar pontos de extremidade de serviço apenas para serviços que oferecem suporte a pontos de extremidade de serviço. Exiba os serviços habilitados para ponto de extremidade de serviço em um local do Azure com az network vnet list-endpoint-services. O exemplo a seguir retorna uma lista de serviços habilitados para ponto de extremidade de serviço disponíveis na região westus2. A lista de serviços retornados aumentará ao longo do tempo, visto que mais serviços do Azure se tornam habilitados para ponto de extremidade de serviço.
az network vnet list-endpoint-services \
--location westus2 \
--out table
Crie outra sub-rede adicional na rede virtual com az network vnet subnet create. Neste exemplo, um ponto de extremidade de serviço para Microsoft.Storage
o qual é criado para a sub-rede:
az network vnet subnet create \
--vnet-name vnet-1 \
--resource-group test-rg \
--name subnet-private \
--address-prefix 10.0.1.0/24 \
--service-endpoints Microsoft.Storage
Restringir o acesso à rede de uma sub-rede
Por padrão, todas as instâncias de máquina virtual em uma sub-rede podem se comunicar com qualquer recurso. Você pode limitar a comunicação com todos os recursos em uma sub-rede, criando um grupo de segurança de rede e o associando à sub-rede.
Na caixa de pesquisa na parte superior da página do portal, procure Grupo de segurança de rede. Selecione Grupos de segurança de rede nos resultados da pesquisa.
Em Grupos de segurança de rede, selecione + Criar.
Em Criar grupo de segurança de rede, insira ou selecione estas informações na guia Básico:
Configuração |
Valor |
Detalhes do projeto |
|
Subscrição |
Selecione sua assinatura. |
Grupo de recursos |
Selecione test-rg. |
Detalhes da instância |
|
Nome |
Insira nsg-storage. |
Região |
Selecione Leste dos EUA 2. |
Selecione Examinar + criare Criar.
Crie um grupo de segurança de rede com New-AzNetworkSecurityGroup. O seguinte exemplo cria um grupo de segurança de rede chamado nsg-private.
$nsgpriv = @{
ResourceGroupName = 'test-rg'
Location = 'westus2'
Name = 'nsg-private'
}
$nsg = New-AzNetworkSecurityGroup @nsgpriv
Crie um grupo de segurança de rede com az network nsg create. O seguinte exemplo cria um grupo de segurança de rede chamado nsg-private.
az network nsg create \
--resource-group test-rg \
--name nsg-private
Criar regras de NSG (grupo de segurança de rede) de saída
Na caixa de pesquisa na parte superior da página do portal, procure Grupo de segurança de rede. Selecione Grupos de segurança de rede nos resultados da pesquisa.
Selecione nsg-storage.
Selecione Regras de segurança de saída em Configurações.
Selecione + Adicionar.
Crie uma regra que permita a comunicação de saída para o serviço de Armazenamento do Azure. Insira ou selecione as informações a seguir em Adicionar regra de segurança de saída:
Configuração |
Valor |
Fonte |
selecione Marca de Serviço. |
Marca de serviço de origem |
Selecione VirtualNetwork. |
Intervalos de portas de origem |
Mantenha o padrão de *. |
Destino |
selecione Marca de Serviço. |
Marca de serviço de destino |
Selecione Armazenamento. |
Serviço |
Mantenha o padrão de Personalizado. |
Intervalos de portas de destino |
Insira 445. |
Protocolo |
Selecione Qualquer. |
Ação |
selecione Permitir. |
Prioridade |
Mantenha o padrão de 100. |
Nome |
Insira allow-storage-all. |
Selecione + Adicionar.
Crie outra regra de segurança de saída que nega a comunicação com a Internet. Essa regra substitui uma regra padrão em todos os grupos de segurança de rede que permite a comunicação de saída à Internet. Conclua as etapas anteriores com os valores a seguir em Incluir regra de segurança de saída:
Configuração |
Valor |
Fonte |
selecione Marca de Serviço. |
Marca de serviço de origem |
Selecione VirtualNetwork. |
Intervalos de portas de origem |
Mantenha o padrão de *. |
Destino |
selecione Marca de Serviço. |
Marca de serviço de destino |
selecione Internet. |
Serviço |
Mantenha o padrão de Personalizado. |
Intervalos de portas de destino |
Digite *. |
Protocolo |
Selecione Qualquer. |
Ação |
Selecione Negar. |
Prioridade |
Mantenha o padrão 110. |
Nome |
Insira deny-internet-all. |
Selecione Adicionar.
Na caixa de pesquisa na parte superior da página do portal, procure Grupo de segurança de rede. Selecione Grupos de segurança de rede nos resultados da pesquisa.
Selecione nsg-storage.
Selecione Sub-redes em Configurações.
Selecione + Associar.
Em Sub-rede associada, selecione vnet-1 em Rede virtual. Selecione subnet-private na Sub-rede.
Selecione OK.
Crie regras de segurança de grupo de segurança de rede com New-AzNetworkSecurityRuleConfig. A seguinte regra permite o acesso de saída para os endereços IP públicos atribuídos ao serviço de Armazenamento do Microsoft Azure:
$r1 = @{
Name = "Allow-Storage-All"
Access = "Allow"
DestinationAddressPrefix = "Storage"
DestinationPortRange = "*"
Direction = "Outbound"
Priority = 100
Protocol = "*"
SourceAddressPrefix = "VirtualNetwork"
SourcePortRange = "*"
}
$rule1 = New-AzNetworkSecurityRuleConfig @r1
A regra a seguir nega acesso a todos os endereços IP públicos. A regra anterior substitui essa regra, devido à sua prioridade mais alta, o que permite acesso aos endereços IP públicos do Armazenamento do Microsoft Azure.
$r2 = @{
Name = "Deny-Internet-All"
Access = "Deny"
DestinationAddressPrefix = "Internet"
DestinationPortRange = "*"
Direction = "Outbound"
Priority = 110
Protocol = "*"
SourceAddressPrefix = "VirtualNetwork"
SourcePortRange = "*"
}
$rule2 = New-AzNetworkSecurityRuleConfig @r2
Use Get-AzNetworkSecurityGroup para recuperar o objeto de grupo de segurança de rede em uma variável. Use Set-AzNetworkSecurityRuleConfig para adicionar as regras ao grupo de segurança de rede.
# Retrieve the existing network security group
$nsgpriv = @{
ResourceGroupName = 'test-rg'
Name = 'nsg-private'
}
$nsg = Get-AzNetworkSecurityGroup @nsgpriv
# Add the new rules to the security group
$nsg.SecurityRules += $rule1
$nsg.SecurityRules += $rule2
# Update the network security group with the new rules
Set-AzNetworkSecurityGroup -NetworkSecurityGroup $nsg
Associe o grupo de segurança de rede à sub-rede subnet-private com Set-AzVirtualNetworkSubnetConfig e grave a configuração de sub-rede para a rede virtual. O exemplo a seguir associa o grupo de segurança de rede nsg-private à sub-rede privada da sub-rede:
$subnet = @{
VirtualNetwork = $VirtualNetwork
Name = "subnet-private"
AddressPrefix = "10.0.2.0/24"
ServiceEndpoint = "Microsoft.Storage"
NetworkSecurityGroup = $nsg
}
Set-AzVirtualNetworkSubnetConfig @subnet
$virtualNetwork | Set-AzVirtualNetwork
Crie regras de segurança com az network nsg rule create. A seguinte regra permite o acesso de saída para os endereços IP públicos atribuídos ao serviço de Armazenamento do Microsoft Azure:
az network nsg rule create \
--resource-group test-rg \
--nsg-name nsg-private \
--name Allow-Storage-All \
--access Allow \
--protocol "*" \
--direction Outbound \
--priority 100 \
--source-address-prefix "VirtualNetwork" \
--source-port-range "*" \
--destination-address-prefix "Storage" \
--destination-port-range "*"
Cada grupo de segurança de rede contém várias regras de segurança padrão. A regra a seguir substitui uma regra de segurança padrão que permite o acesso de saída a todos os endereços IP públicos. A opção destination-address-prefix "Internet"
nega o acesso de saída a todos os endereços IP públicos. A regra anterior substitui essa regra, devido à sua prioridade mais alta, o que permite acesso aos endereços IP públicos do Armazenamento do Microsoft Azure.
az network nsg rule create \
--resource-group test-rg \
--nsg-name nsg-private \
--name Deny-Internet-All \
--access Deny \
--protocol "*" \
--direction Outbound \
--priority 110 \
--source-address-prefix "VirtualNetwork" \
--source-port-range "*" \
--destination-address-prefix "Internet" \
--destination-port-range "*"
A regra a seguir permite o tráfego SSH de entrada para a sub-rede de qualquer lugar. A regra substitui uma regra de segurança padrão que nega todo o tráfego da Internet. O SSH é permitido na sub-rede para que a conectividade possa ser testada em uma etapa posterior.
az network nsg rule create \
--resource-group test-rg \
--nsg-name nsg-private \
--name Allow-SSH-All \
--access Allow \
--protocol Tcp \
--direction Inbound \
--priority 120 \
--source-address-prefix "*" \
--source-port-range "*" \
--destination-address-prefix "VirtualNetwork" \
--destination-port-range "22"
Associe o grupo de segurança de rede à sub-rede privada da sub-rede com az network vnet subnet update. O exemplo a seguir associa o grupo de segurança de rede nsg-private à sub-rede privada da sub-rede:
az network vnet subnet update \
--vnet-name vnet-1 \
--name subnet-private \
--resource-group test-rg \
--network-security-group nsg-private
Restringir o acesso à rede para um recurso
As etapas necessárias para restringir o acesso à rede a recursos criados por meio dos serviços do Azure, que são habilitados para pontos de extremidade de serviço, variam entre os serviços. Confira a documentação de serviços individuais para obter as etapas específicas para cada serviço. O restante deste tutorial inclui etapas para restringir o acesso de rede para uma conta de Armazenamento do Microsoft Azure como exemplo.
Criar uma conta de armazenamento
Crie uma conta de Armazenamento do Azure para as etapas neste artigo. Se você já tiver uma conta de armazenamento, poderá usá-la.
Na caixa de pesquisa na parte superior do portal, insira Conta de armazenamento. Selecione Contas de Armazenamento nos resultados da pesquisa.
Selecione + Criar.
Na guia Noções Básicas de Criar uma conta de armazenamento, insira ou selecione as informações a seguir:
Configuração |
Valor |
Detalhes do projeto |
|
Subscrição |
Selecione sua assinatura do Azure. |
Grupo de recursos |
Selecione test-rg. |
Detalhes da instância |
|
Nome da conta de armazenamento |
Insira storage1. Se o nome não estiver disponível, insira um nome exclusivo. |
Localização |
Selecione (EUA) Leste dos EUA 2. |
Desempenho |
Deixe o padrão Standard. |
Redundância |
Selecione LRS (armazenamento com redundância local). |
Selecione Examinar.
Selecione Criar.
Crie uma conta de armazenamento do Azure com New-AzStorageAccount. Substitua <replace-with-your-unique-storage-account-name>
por um nome que seja exclusivo em todos os locais do Azure, entre 3 a 24 caracteres de comprimento, usando apenas números e letras minúsculas.
$storageAcctName = '<replace-with-your-unique-storage-account-name>'
$storage = @{
Location = 'westus2'
Name = $storageAcctName
ResourceGroupName = 'test-rg'
SkuName = 'Standard_LRS'
Kind = 'StorageV2'
}
New-AzStorageAccount @storage
Depois que a conta de armazenamento é criada, recupere a chave para a conta de armazenamento em uma variável com Get-AzStorageAccountKey:
$storagekey = @{
ResourceGroupName = 'test-rg'
AccountName = $storageAcctName
}
$storageAcctKey = (Get-AzStorageAccountKey @storagekey).Value[0]
A chave é usada para criar um compartilhamento de arquivos em uma etapa posterior. Insira $storageAcctKey
e anote o valor. Você o insere manualmente em uma etapa posterior ao mapear o compartilhamento de arquivos para uma unidade em uma máquina virtual.
As etapas necessárias para restringir o acesso de rede a recursos criados por meio de serviços do Azure habilitados para pontos de extremidade do serviço variam de acordo com os serviços. Confira a documentação de serviços individuais para obter as etapas específicas para cada serviço. O restante deste artigo inclui etapas para restringir o acesso de rede para uma conta de Armazenamento do Microsoft Azure, como exemplo.
Criar uma conta de armazenamento
Crie uma conta de Armazenamento do Azure com az storage account create. Substitua <replace-with-your-unique-storage-account-name>
por um nome que seja exclusivo em todos os locais do Azure, entre 3 a 24 caracteres de comprimento, usando apenas números e letras minúsculas.
storageAcctName="<replace-with-your-unique-storage-account-name>"
az storage account create \
--name $storageAcctName \
--resource-group test-rg \
--sku Standard_LRS \
--kind StorageV2
Depois de criar a conta de armazenamento, recupere a cadeia de conexão para a conta de armazenamento em uma variável com az storage account show-connection-string. A cadeia de conexão é usada para criar um compartilhamento de arquivos em uma etapa posterior.
saConnectionString=$(az storage account show-connection-string \
--name $storageAcctName \
--resource-group test-rg \
--query 'connectionString' \
--out tsv)
Importante
A Microsoft recomenda usar o fluxo de autenticação mais seguro disponível. O fluxo de autenticação descrito neste procedimento exige um grau muito alto de confiança no aplicativo e traz riscos que não estão presentes em outros fluxos. Você só deve usar esse fluxo quando outros fluxos mais seguros, como identidades gerenciadas, não forem viáveis.
Para obter mais informações sobre como se conectar a uma conta de armazenamento usando uma identidade gerenciada, consulte Usar uma identidade gerenciada para acessar o Armazenamento do Microsoft Azure.
Criar um compartilhamento de arquivos na conta de armazenamento
Na caixa de pesquisa na parte superior do portal, insira Conta de armazenamento. Selecione Contas de Armazenamento nos resultados da pesquisa.
Em Contas de armazenamento, selecione a conta de armazenamento que você criou na etapa anterior.
Em Armazenamento de dados, selecione Compartilhamentos de arquivos.
Selecione +Compartilhamento de arquivos.
Insira ou selecione as informações a seguir em Novo compartilhamento de arquivo:
Configuração |
Valor |
Nome |
Insira compartilhamento de arquivo. |
Camada |
Mantenha o padrão de Transação otimizada. |
Selecione Avançar: Backup.
Desmarque Habilitar backup.
Selecione Examinar + criare Criar.
Crie um contexto para sua conta de armazenamento e chave com New-AzStorageContext. O contexto encapsula o nome da conta de armazenamento e a chave da conta:
$storagecontext = @{
StorageAccountName = $storageAcctName
StorageAccountKey = $storageAcctKey
}
$storageContext = New-AzStorageContext @storagecontext
Crie um compartilhamento de arquivos com New-AzStorageShare:
$fs = @{
Name = "file-share"
Context = $storageContext
}
$share = New-AzStorageShare @fs
Crie um compartilhamento de arquivos na conta de armazenamento com az storage share create. Em uma etapa posterior, esse compartilhamento de arquivos é montado para confirmar o acesso à rede para ele.
az storage share create \
--name file-share \
--quota 2048 \
--connection-string $saConnectionString > /dev/null
Restringir o acesso à rede para uma sub-rede
Por padrão, as contas de armazenamento aceitam conexões de clientes em qualquer rede, incluindo a Internet. Você pode restringir o acesso à rede da Internet e todas as outras sub-redes em todas as redes virtuais (exceto a sub-rede subnet-private na rede virtual vnet-1.)
Para restringir o acesso à rede para uma sub-rede:
Na caixa de pesquisa na parte superior do portal, insira Conta de armazenamento. Selecione Contas de Armazenamento nos resultados da pesquisa.
Selecione sua conta de armazenamento.
Em Segurança + rede, selecione Rede.
Na guia Firewalls e redes virtuais, selecione Habilitado em redes virtuais e endereços IP selecionados em Acesso à rede pública.
Em Redes virtuais, selecione + Adicionar rede virtual existente.
Em Adicionar redes, insira ou selecione as informações a seguir:
Configuração |
Valor |
Subscrição |
Selecione sua assinatura. |
Redes virtuais |
Selecione vnet-1. |
Sub-redes |
Selecione subnet-private. |
Selecione Adicionar.
Selecione Salvar para salvar as configurações de rede virtual.
Por padrão, as contas de armazenamento aceitam conexões de clientes em qualquer rede. Para limitar o acesso às redes selecionadas, altere a ação padrão para Negar com Update-AzStorageAccountNetworkRuleSet. Depois que o acesso à rede for negado, a conta de armazenamento não estará acessível em nenhuma rede.
$storagerule = @{
ResourceGroupName = "test-rg"
Name = $storageAcctName
DefaultAction = "Deny"
}
Update-AzStorageAccountNetworkRuleSet @storagerule
Recupere a rede virtual criada com Get-AzVirtualNetwork e recupere o objeto da sub-rede privada em uma variável com Get-AzVirtualNetworkSubnetConfig:
$subnetpriv = @{
ResourceGroupName = "test-rg"
Name = "vnet-1"
}
$privateSubnet = Get-AzVirtualNetwork @subnetpriv | Get-AzVirtualNetworkSubnetConfig -Name "subnet-private"
Permita o acesso à rede para a conta de armazenamento pela sub-rede subnet-private com Add-AzStorageAccountNetworkRule.
$storagenetrule = @{
ResourceGroupName = "test-rg"
Name = $storageAcctName
VirtualNetworkResourceId = $privateSubnet.Id
}
Add-AzStorageAccountNetworkRule @storagenetrule
Por padrão, as contas de armazenamento aceitam conexões de clientes em qualquer rede. Para limitar o acesso às redes selecionadas, altere a ação padrão para Negar com az storage account update. Depois que o acesso à rede for negado, a conta de armazenamento não estará acessível em nenhuma rede.
az storage account update \
--name $storageAcctName \
--resource-group test-rg \
--default-action Deny
Permita o acesso à rede para a conta de armazenamento a partir da sub-rede privada da sub-rede com az storage account network-rule add.
az storage account network-rule add \
--resource-group test-rg \
--account-name $storageAcctName \
--vnet-name vnet-1 \
--subnet subnet-private
Implantar máquinas virtuais em sub-redes
Para testar o acesso da rede a uma conta de armazenamento, implante uma máquina virtual em cada sub-rede.
Criar máquina virtual de teste
O procedimento a seguir cria uma máquina virtual de teste (VM) chamada vm-1 na rede virtual.
No portal, pesquise e selecione Máquinas virtuais.
Em Máquinas virtuais, selecione + Criar e, em seguida, Máquina virtual do Azure.
Na guia Informações Básicas em Criar uma máquina virtual, insira ou selecione as informações a seguir:
Configuração |
Valor |
Detalhes do projeto |
|
Subscrição |
Selecione sua assinatura. |
Grupo de recursos |
Selecione test-rg. |
Detalhes da instância |
|
Nome da máquina virtual |
Insira vm-1. |
Região |
Selecione Leste dos EUA 2. |
Opções de disponibilidade |
Selecione Nenhuma redundância de infraestrutura necessária. |
Tipo de segurança |
Deixe o padrão de Standard. |
Imagem |
Selecione Windows Server 2022 Datacenter – x64 Gen2. |
Arquitetura de VMs; |
Mantenha o padrão x64. |
Tamanho |
Selecione um tamanho. |
Conta de administrador |
|
Tipo de autenticação |
Selecione Senha. |
Nome de Usuário |
insira azureuser. |
Senha |
Digite uma senha. |
Confirmar senha |
Digitar novamente a senha. |
Regras de porta de entrada |
|
Porta de entrada públicas |
Selecione Nenhum. |
Selecione a guia Rede na parte superior da página.
Insira ou selecione as seguintes informações na guia Rede:
Configuração |
Valor |
Interface de rede |
|
Rede virtual |
Selecione vnet-1. |
Sub-rede |
Selecione sub-rede-1 (10.0.0.0/24). |
IP público |
Selecione Nenhum. |
Grupo de segurança de rede da NIC |
Selecione Avançado. |
Configurar um grupo de segurança de rede |
Selecione Criar novo.
Insira nsg-1 no nome.
Deixe os demais valores como padrão e selecione OK. |
Deixe o restante das configurações nos padrões e selecione Revisar + criar.
Examine as configurações e selecione Criar.
Observação
Máquinas virtuais em uma rede virtual com um bastion host não precisam de endereços IP públicos. O Bastion fornece o IP público e as VMs usam IPs privados para se comunicar dentro da rede. Você pode remover os IPs públicos de qualquer VM em redes virtuais hospedadas no bastion. Para obter mais informações, confira dissociar um endereço IP público de uma VM do Azure.
Observação
O Azure fornece um IP de acesso de saída padrão para VMs que não receberam um endereço IP público ou que estão no pool de back-end de um balanceador de carga do Azure básico interno. O mecanismo de IP de acesso de saída padrão fornece um endereço IP de saída que não é configurável.
O IP de acesso de saída padrão é desabilitado quando um dos seguintes eventos acontece:
- Um endereço IP público é atribuído à VM.
- A VM é colocada no pool de back-end de um balanceador de carga padrão, com ou sem regras de saída.
- Um recurso da Gateway da NAT do Azure é atribuído à sub-rede da VM.
As VMs criadas por conjuntos de dimensionamento de máquinas virtuais no modo de orquestração flexível não têm acesso de saída padrão.
Para mais informações sobre conexões de saída no Azure, confira Acesso de saída padrão no Azure e Usar SNAT (conversão de endereços de rede de origem) para conexões de saída.
Criar a segunda máquina virtual
Crie uma segunda máquina virtual repetindo as etapas na seção anterior. Substitua os valores a seguir em Criar uma máquina virtual:
Configuração |
Valor |
Nome da máquina virtual |
Insira vm-private. |
Sub-rede |
Selecione subnet-private. |
IP público |
Selecione Nenhum. |
Grupo de segurança de rede da NIC |
Selecione Nenhum. |
Aviso
Não prossiga para a próxima etapa até que a implantação seja concluída.
Criar a primeira máquina virtual
Crie uma máquina virtual na sub-rede subnet-public com New-AzVM. Ao executar o comando a seguir, as credenciais serão solicitadas. Os valores que você inseriu são configurados como o nome de usuário e senha para a VM.
$vm1 = @{
ResourceGroupName = "test-rg"
Location = "westus2"
VirtualNetworkName = "vnet-1"
SubnetName = "subnet-public"
Name = "vm-public"
PublicIpAddressName = $null
}
New-AzVm @vm1
Criar a segunda máquina virtual
Crie uma máquina virtual na sub-rede subnet-private:
$vm2 = @{
ResourceGroupName = "test-rg"
Location = "westus2"
VirtualNetworkName = "vnet-1"
SubnetName = "subnet-private"
Name = "vm-private"
PublicIpAddressName = $null
}
New-AzVm @vm2
São necessários alguns minutos para o Azure criar a VM. Não prossiga para a próxima etapa até que o Azure termine de criar a VM e retorne a saída para o PowerShell.
Para testar o acesso à rede para uma conta de armazenamento, implante uma VM para cada sub-rede.
Criar a primeira máquina virtual
Crie uma VM na sub-rede subnet-public com az vm create. Se as chaves SSH ainda não existirem em uma localização de chave padrão, o comando as criará. Para usar um conjunto específico de chaves, use a opção --ssh-key-value
.
az vm create \
--resource-group test-rg \
--name vm-public \
--image Ubuntu2204 \
--vnet-name vnet-1 \
--subnet subnet-public \
--admin-username azureuser \
--generate-ssh-keys
A VM demora alguns minutos para criar. Quando a VM estiver criada, a CLI do Azure mostra informações semelhantes ao exemplo a seguir:
{
"fqdns": "",
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Compute/virtualMachines/vm-public",
"location": "westus2",
"macAddress": "00-0D-3A-23-9A-49",
"powerState": "VM running",
"privateIpAddress": "10.0.0.4",
"publicIpAddress": "203.0.113.24",
"resourceGroup": "test-rg"
}
Criar a segunda máquina virtual
az vm create \
--resource-group test-rg \
--name vm-private \
--image Ubuntu2204 \
--vnet-name vnet-1 \
--subnet subnet-private \
--admin-username azureuser \
--generate-ssh-keys
A VM demora alguns minutos para criar.
Confirmar acesso à conta de armazenamento
A máquina virtual que você criou anteriormente atribuída à sub-rede subnet-private é usada para confirmar o acesso à conta de armazenamento. A máquina virtual que você criou na seção anterior atribuída à sub-rede subnet-1 é usada para confirmar que o acesso à conta de armazenamento está bloqueada.
Obter chave de acesso da conta de armazenamento
Na caixa de pesquisa na parte superior do portal, insira Conta de armazenamento. Selecione Contas de Armazenamento nos resultados da pesquisa.
Em Conta de armazenamento, selecione sua conta de armazenamento.
Em Segurança + rede, selecione Chaves de acesso.
Copie o valor de key1. Pode ser necessário selecionar o botão Mostrar para exibir a chave.
Na caixa de pesquisa na parte superior do portal insira Máquina virtual. Selecione Máquinas virtuais nos resultados da pesquisa.
Selecione vm-private.
Selecione Bastion em Operações.
Insira o nome de usuário e a senha que você especificou ao criar a máquina virtual. Selecione Conectar.
Abra o Windows PowerShell. Use o script a seguir para mapear o compartilhamento de arquivo do Azure para a unidade Z.
Substitua <storage-account-key>
pela chave que você copiou na etapa anterior.
Substitua <storage-account-name>
com o nome da sua conta de armazenamento. Neste exemplo, é storage8675.
$key = @{
String = "<storage-account-key>"
}
$acctKey = ConvertTo-SecureString @key -AsPlainText -Force
$cred = @{
ArgumentList = "Azure\<storage-account-name>", $acctKey
}
$credential = New-Object System.Management.Automation.PSCredential @cred
$map = @{
Name = "Z"
PSProvider = "FileSystem"
Root = "\\<storage-account-name>.file.core.windows.net\file-share"
Credential = $credential
}
New-PSDrive @map
O PowerShell retorna uma saída semelhante à seguinte saída de exemplo:
Name Used (GB) Free (GB) Provider Root
---- --------- --------- -------- ----
Z FileSystem \\storage8675.file.core.windows.net\f...
O compartilhamento de arquivos do Azure foi mapeado com êxito para a unidade Z.
Feche a conexão do Bastion com vm-private.
A máquina virtual que você criou anteriormente atribuída à sub-rede subnet-private é usada para confirmar o acesso à conta de armazenamento. A máquina virtual que você criou na seção anterior atribuída à sub-rede subnet-1 é usada para confirmar que o acesso à conta de armazenamento está bloqueada.
Obter chave de acesso da conta de armazenamento
Entre no portal do Azure.
Na caixa de pesquisa na parte superior do portal, insira Conta de armazenamento. Selecione Contas de Armazenamento nos resultados da pesquisa.
Em Conta de armazenamento, selecione sua conta de armazenamento.
Em Segurança + rede, selecione Chaves de acesso.
Copie o valor de key1. Pode ser necessário selecionar o botão Mostrar para exibir a chave.
Na caixa de pesquisa na parte superior do portal insira Máquina virtual. Selecione Máquinas virtuais nos resultados da pesquisa.
Selecione vm-private.
Em Visão geral, selecione Conectar e Conectar-se com Bastion.
Insira o nome de usuário e a senha que você especificou ao criar a máquina virtual. Selecione Conectar.
Abra o Windows PowerShell. Use o script a seguir para mapear o compartilhamento de arquivo do Azure para a unidade Z.
Substitua <storage-account-key>
pela chave que você copiou na etapa anterior.
Substitua <storage-account-name>
com o nome da sua conta de armazenamento. Neste exemplo, é storage8675.
$key = @{
String = "<storage-account-key>"
}
$acctKey = ConvertTo-SecureString @key -AsPlainText -Force
$cred = @{
ArgumentList = "Azure\<storage-account-name>", $acctKey
}
$credential = New-Object System.Management.Automation.PSCredential @cred
$map = @{
Name = "Z"
PSProvider = "FileSystem"
Root = "\\<storage-account-name>.file.core.windows.net\file-share"
Credential = $credential
}
New-PSDrive @map
O PowerShell retorna uma saída semelhante à seguinte saída de exemplo:
Name Used (GB) Free (GB) Provider Root
---- --------- --------- -------- ----
Z FileSystem \\storage8675.file.core.windows.net\f...
O compartilhamento de arquivos do Azure foi mapeado com êxito para a unidade Z.
Confirme se a VM não tem nenhuma conectividade de saída com nenhum outro endereço IP público:
ping bing.com
Você não recebe nenhuma resposta, pois o grupo de segurança de rede associado à sub-rede Privada não permite acesso de saída para endereços IP públicos que não sejam os endereços atribuídos ao serviço de Armazenamento do Microsoft Azure.
Feche a conexão do Bastion com vm-private.
SSH na vm privada da VM.
Execute o seguinte comando para armazenar o endereço IP da VM como uma variável de ambiente:
export IP_ADDRESS=$(az vm show --show-details --resource-group test-rg --name vm-private --query publicIps --output tsv)
ssh -o StrictHostKeyChecking=no azureuser@$IP_ADDRESS
Crie uma pasta para um ponto de montagem:
sudo mkdir /mnt/file-share
Monte o compartilhamento de arquivos do Azure para o diretório que você criou. Antes de executar o comando a seguir, substitua <storage-account-name>
pelo nome da conta e <storage-account-key>
com a chave que você recuperou em Criar uma conta de armazenamento.
sudo mount --types cifs //<storage-account-name>.file.core.windows.net/my-file-share /mnt/file-share --options vers=3.0,username=<storage-account-name>,password=<storage-account-key>,dir_mode=0777,file_mode=0777,serverino
Você receberá o aviso user@vm-private:~$
. O compartilhamento de arquivos do Azure montado com êxito para /mnt/file-share.
Confirme se a VM não tem nenhuma conectividade de saída com nenhum outro endereço IP público:
ping bing.com -c 4
Você não recebe nenhuma resposta, pois o grupo de segurança de rede associado à sub-rede privada da sub-rede, não permite acesso de saída para endereços IP públicos que não sejam os endereços atribuídos ao serviço de Armazenamento do Microsoft Azure.
Saia da sessão SSH para a vm privada da VM.
Confirmar que o acesso é negado para a conta de armazenamento
Da vm-1
Na caixa de pesquisa na parte superior do portal insira Máquina virtual. Selecione Máquinas virtuais nos resultados da pesquisa.
Selecione vm-1.
Selecione Bastion em Operações.
Insira o nome de usuário e a senha que você especificou ao criar a máquina virtual. Selecione Conectar.
Repita o comando anterior para tentar mapear a unidade para o compartilhamento de arquivo na conta de armazenamento. Pode ser necessário copiar a chave de acesso da conta de armazenamento novamente para este procedimento:
$key = @{
String = "<storage-account-key>"
}
$acctKey = ConvertTo-SecureString @key -AsPlainText -Force
$cred = @{
ArgumentList = "Azure\<storage-account-name>", $acctKey
}
$credential = New-Object System.Management.Automation.PSCredential @cred
$map = @{
Name = "Z"
PSProvider = "FileSystem"
Root = "\\<storage-account-name>.file.core.windows.net\file-share"
Credential = $credential
}
New-PSDrive @map
Você deve receber a seguinte mensagem de erro:
New-PSDrive : Access is denied
At line:1 char:5
+ New-PSDrive @map
+ ~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (Z:PSDriveInfo) [New-PSDrive], Win32Exception
+ FullyQualifiedErrorId : CouldNotMapNetworkDrive,Microsoft.PowerShell.Commands.NewPSDriveCommand
Feche a conexão do Bastion para vm-1.
De um computador local
Na caixa de pesquisa na parte superior do portal, insira Conta de armazenamento. Selecione Contas de Armazenamento nos resultados da pesquisa.
Em Conta de armazenamento, selecione sua conta de armazenamento.
Em Armazenamento de dados, selecione Compartilhamentos de arquivos.
Selecione file-share.
Selecione Procurar no menu à esquerda.
Você deve receber a seguinte mensagem de erro:
Observação
O acesso é negado porque seu computador não está na sub-rede privada subnet-private da rede virtual vnet-1.
Da vm-1
Na caixa de pesquisa na parte superior do portal insira Máquina virtual. Selecione Máquinas virtuais nos resultados da pesquisa.
Selecione vm-1.
Selecione Bastion em Operações.
Insira o nome de usuário e a senha que você especificou ao criar a máquina virtual. Selecione Conectar.
Repita o comando anterior para tentar mapear a unidade para o compartilhamento de arquivo na conta de armazenamento. Pode ser necessário copiar a chave de acesso da conta de armazenamento novamente para este procedimento:
$key = @{
String = "<storage-account-key>"
}
$acctKey = ConvertTo-SecureString @key -AsPlainText -Force
$cred = @{
ArgumentList = "Azure\<storage-account-name>", $acctKey
}
$credential = New-Object System.Management.Automation.PSCredential @cred
$map = @{
Name = "Z"
PSProvider = "FileSystem"
Root = "\\<storage-account-name>.file.core.windows.net\file-share"
Credential = $credential
}
New-PSDrive @map
Você deve receber a seguinte mensagem de erro:
New-PSDrive : Access is denied
At line:1 char:5
+ New-PSDrive @map
+ ~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (Z:PSDriveInfo) [New-PSDrive], Win32Exception
+ FullyQualifiedErrorId : CouldNotMapNetworkDrive,Microsoft.PowerShell.Commands.NewPSDriveCommand
Feche a conexão do Bastion para vm-1.
Em seu computador, tente exibir os compartilhamentos de arquivos na conta de armazenamento com o seguinte comando:
$storage = @{
ShareName = "file-share"
Context = $storageContext
}
Get-AzStorageFile @storage
Acesso negado. Você receberá uma saída semelhante ao exemplo a seguir.
Get-AzStorageFile : The remote server returned an error: (403) Forbidden. HTTP Status Code: 403 - HTTP Error Message: This request isn't authorized to perform this operation
O computador não está na sub-rede privada subnet-private da rede virtual vnet-1.
SSH na vm pública da VM.
Execute o seguinte comando para armazenar o endereço IP da VM como uma variável de ambiente:
export IP_ADDRESS=$(az vm show --show-details --resource-group test-rg --name vm-public --query publicIps --output tsv)
ssh -o StrictHostKeyChecking=no azureuser@$IP_ADDRESS
Crie um diretório para um ponto de montagem:
sudo mkdir /mnt/file-share
Tente montar o compartilhamento de arquivos do Azure para o diretório que você criou. Este artigo presume que você implantou a versão mais recente do Ubuntu. Caso esteja usando versões anteriores do Ubuntu, consulte Montar no Linux para obter mais instruções sobre como montar compartilhamentos de arquivos. Antes de executar o comando a seguir, substitua <storage-account-name>
pelo nome da conta e <storage-account-key>
com a chave que você recuperou em Criar uma conta de armazenamento:
sudo mount --types cifs //storage-account-name>.file.core.windows.net/file-share /mnt/file-share --options vers=3.0,username=<storage-account-name>,password=<storage-account-key>,dir_mode=0777,file_mode=0777,serverino
Acesso negado, e você recebe um erro mount error(13): Permission denied
, porque a vm pública da VM é implantada na sub-rede públicada sub-rede. A sub-rede pública da sub-rede não tem um ponto de extremidade de serviço habilitado para o Armazenamento do Microsoft Azure, e a conta de armazenamento só permite o acesso à rede por meio da sub-rede privadada sub-rede, não da sub-rede públicada sub-rede.
Sia da sessão SSH para a vm pública da VM.
Em seu computador, tente exibir os compartilhamentos em sua conta de armazenamento com az storage share list. Substitua <account-name>
e <account-key>
pelo nome da conta de armazenamento e a chave de Criar uma conta de armazenamento:
az storage share list \
--account-name <account-name> \
--account-key <account-key>
Acesso negado, e você recebe um erro Esta solicitação não está autorizada a executar esta operação, porque o computador não está na sub-rede privada da sub-rede para vnet-1 da rede virtual.
Quando terminar de usar os recursos que criou, você poderá excluir o grupo de recursos e todos os seus recursos.
No portal do Azure, procure por Grupos de recursos e selecione essa opção.
Na página Grupos de recursos, selecione o grupo de recursos test-rg.
Na página test-rg, selecione Excluir grupo de recursos .
Insira test-rg em Inserir o nome do grupo de recursos para confirmar a exclusão e, em seguida, selecione Excluir.
Quando não for mais necessário, você poderá usar Remove-AzResourceGroup para remover o grupo de recursos e todos os recursos que ele contém:
$cleanup = @{
Name = "test-rg"
}
Remove-AzResourceGroup @cleanup -Force
Limpar os recursos
Quando não for mais necessário, use az group delete para remover o grupo de recursos e todos os recursos que ele contém.
az group delete \
--name test-rg \
--yes \
--no-wait
Próximas etapas
Neste tutorial:
Você habilitou um ponto de extremidade de serviço para uma sub-rede de rede virtual.
Você aprendeu que pode habilitar pontos de extremidade de serviço para recursos implantados a partir de vários serviços do Azure.
Você criou uma conta de Armazenamento do Microsoft Azure e restringiu o acesso à rede para conta de armazenamento apenas aos recursos em uma sub-rede de rede virtual.
Para saber mais sobre pontos de extremidade de serviços, consulte Visão geral de pontos de extremidade de serviço e Gerenciar sub-redes.
Se você tiver várias redes virtuais na sua conta, talvez queira estabelecer a conectividade entre elas para que os recursos possam se comunicar entre si. Para saber mais sobre como conectar redes virtuais, siga para o próximo tutorial.