A delegação de sub-rede nas redes virtuais do Azure dá permissões explícitas aos serviços para criar recursos específicos de serviço na sub-rede usando um identificador exclusivo ao implantar o serviço. Este artigo descreve como adicionar ou remover a delegação de sub-rede para serviços do Azure, permitindo que você gerencie permissões de rede de forma eficaz.
Prerequisites
Uma conta do Azure com uma subscrição ativa.
Crie uma conta gratuitamente.
Se você não criou a sub-rede que gostaria de delegar a um serviço do Azure, precisará da seguinte permissão: Microsoft.Network/virtualNetworks/subnets/write. A função interna de Colaborador de Rede também contém as permissões necessárias.
Uma conta do Azure com uma subscrição ativa.
Crie uma conta gratuitamente.
Se você não criou a sub-rede que gostaria de delegar a um serviço do Azure, precisará da seguinte permissão: Microsoft.Network/virtualNetworks/subnets/write. A função interna de Colaborador de Rede também contém as permissões necessárias.
Azure PowerShell instalado localmente ou Azure Cloud Shell.
Entre no Azure PowerShell e verifique se a assinatura com a qual você deseja usar esse recurso está selecionada. Para obter mais informações, consulte Entrar com o Azure PowerShell.
Certifique-se de que o módulo Az.Network é 4.3.0 ou posterior. Para verificar o módulo instalado, use o comando Get-InstalledModule -Name "Az.Network". Se o módulo exigir uma atualização, use o comando Update-Module -Name Az.Network , se necessário.
Se optar por instalar e utilizar o PowerShell localmente, este artigo requer a versão 5.4.1 ou posterior do módulo Azure PowerShell. Execute Get-Module -ListAvailable Az para localizar a versão instalada. Se precisar de atualizar, veja Install Azure PowerShell module (Instalar o módulo do Azure PowerShell). Se você estiver executando o PowerShell localmente, também precisará executar Connect-AzAccount para criar uma conexão com o Azure.
Uma conta do Azure com uma subscrição ativa.
Crie uma conta gratuitamente.
Se você não criou a sub-rede que gostaria de delegar a um serviço do Azure, precisará da seguinte permissão: Microsoft.Network/virtualNetworks/subnets/write. A função interna de Colaborador de Rede também contém as permissões necessárias.
Use o ambiente Bash no Azure Cloud Shell. Para mais informações, veja Get started with Azure Cloud Shell.
Se preferir executar comandos de referência da CLI localmente, instale a CLI do Azure. Se estiver a utilizar o Windows ou macOS, considere executar a CLI do Azure num contentor Docker. Para obter mais informações, consulte Como executar a CLI do Azure em um contêiner do Docker.
Se estiver a utilizar uma instalação local, inicie sessão no CLI do Azure ao utilizar o comando az login. Para concluir o processo de autenticação, siga os passos apresentados no seu terminal. Para outras opções de entrada, consulte Autenticar no Azure usando a CLI do Azure.
Quando solicitado, instale a extensão da CLI do Azure na primeira utilização. Para obter mais informações sobre extensões, consulte Usar e gerenciar extensões com a CLI do Azure.
Execute o comando az version para localizar a versão e as bibliotecas dependentes instaladas. Para atualizar para a versão mais recente, execute o comando az upgrade.
- Este artigo de instruções requer a versão 2.31.0 ou posterior da CLI do Azure. Se estiver usando o Azure Cloud Shell, a versão mais recente já está instalada.
Criar a rede virtual
Nesta seção, você cria uma rede virtual e a sub-rede que delega a um serviço do Azure.
O procedimento a seguir cria uma rede virtual com uma sub-rede de recurso.
No portal, pesquise e selecione Redes virtuais.
Na página Redes virtuais, selecione + Criar.
Na guia Noções básicas de Criar rede virtual, insira ou selecione as seguintes informações:
| Setting |
Value |
|
Detalhes do projeto |
|
| Subscription |
Selecione a sua subscrição. |
| Grupo de recursos |
Selecione Criar novo.
Digite test-rg em Nome.
Selecione OK. |
|
Detalhes da instância |
|
| Name |
Insira vnet-1. |
| Region |
Selecione E.U.A. Leste 2. |
Selecione Avançar para prosseguir para a guia Segurança .
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:
| Setting |
Value |
| Finalidade da sub-rede |
Deixe o padrão Default. |
| Name |
Introduza subnet-1. |
Deixe o restante das configurações como padrão. Selecione Guardar.
Selecione Guardar.
Selecione Rever + criar na parte inferior do ecrã e, quando a validação for aprovada, selecione Criar.
Criar um grupo de recursos
Crie um grupo de recursos com New-AzResourceGroupo . Um grupo de recursos do Azure é um contentor lógico no qual os recursos do Azure são implementados e geridos.
O exemplo a seguir cria um grupo de recursos chamado test-rg no local eastus2:
$rg = @{
Name = 'test-rg'
Location = 'eastus2'
}
New-AzResourceGroup @rg
Criar a rede virtual
Crie uma rede virtual chamada vnet-1 com uma sub-rede chamada subnet-1 usando New-AzVirtualNetworkSubnetConfig no test-rg
O espaço de endereço IP para a rede virtual é 10.0.0.0/16. A sub-rede dentro da rede virtual é 10.0.0.0/24.
$sub = @{
Name = 'subnet-1'
AddressPrefix = '10.0.0.0/24'
}
$subnet = New-AzVirtualNetworkSubnetConfig @sub
$net = @{
Name = 'vnet-1'
ResourceGroupName = 'test-rg'
Location = 'eastus2'
AddressPrefix = '10.0.0.0/16'
Subnet = $subnet
}
New-AzVirtualNetwork @net
Criar um grupo de recursos
Crie um grupo de recursos com az group createo . Um grupo de recursos do Azure é um contentor lógico no qual os recursos do Azure são implementados e geridos.
O exemplo a seguir cria um grupo de recursos chamado test-rg no local eastu2:
az group create \
--name test-rg \
--location eastus2
Criar uma rede virtual
Crie uma rede virtual chamada vnet-1 com uma sub-rede chamada subnet-1 no test-rg usando az network vnet create.
az network vnet create \
--resource-group test-rg \
--location eastus2 \
--name vnet-1 \
--address-prefix 10.0.0.0/16 \
--subnet-name subnet-1 \
--subnet-prefix 10.0.0.0/24
Delegar uma sub-rede a um serviço do Azure
Nesta seção, você delega a sub-rede criada na seção anterior a um serviço do Azure.
Inicie sessão no portal do Azure.
Na caixa de pesquisa na parte superior do portal, digite Rede virtual. Selecione Redes virtuais nos resultados da pesquisa.
Selecione vnet-1.
Selecione Sub-redes em Configurações.
Selecione sub-rede-1.
Introduza ou selecione as seguintes informações:
| Setting |
Value |
|
DELEGAÇÃO DE SUB-REDES |
|
| Delegar sub-rede a um serviço |
Selecione o serviço ao qual deseja delegar a sub-rede. Por exemplo, Microsoft.Sql/managedInstances. |
Selecione Guardar.
Use Add-AzDelegation para atualizar a sub-rede chamada subnet-1 com uma delegação chamada myDelegation para um serviço do Azure. Neste exemplo , Microsoft.Sql/managedInstances é usado para o exemplo de delegação:
$net = @{
Name = 'vnet-1'
ResourceGroupName = 'test-rg'
}
$vnet = Get-AzVirtualNetwork @net
$sub = @{
Name = 'subnet-1'
VirtualNetwork = $vnet
}
$subnet = Get-AzVirtualNetworkSubnetConfig @sub
$del = @{
Name = 'myDelegation'
ServiceName = 'Microsoft.Sql/managedInstances'
Subnet = $subnet
}
$subnet = Add-AzDelegation @del
Set-AzVirtualNetwork -VirtualNetwork $vnet
Use Get-AzDelegation para verificar a delegação:
$sub = @{
Name = 'vnet-1'
ResourceGroupName = 'test-rg'
}
$subnet = Get-AzVirtualNetwork @sub | Get-AzVirtualNetworkSubnetConfig -Name 'subnet-1'
$dg = @{
Name ='myDelegation'
Subnet = $subnet
}
Get-AzDelegation @dg
ProvisioningState : Succeeded
ServiceName : Microsoft.Sql/managedInstances
Actions : {Microsoft.Network/virtualNetworks/subnets/join/action}
Name : myDelegation
Etag : W/"9cba4b0e-2ceb-444b-b553-454f8da07d8a"
Id : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/vnet-1/subnets/subnet-1/delegations/myDelegation
Use az network virtual network subnet update para atualizar a sub-rede chamada subnet-1 com uma delegação a um serviço do Azure. Neste exemplo , Microsoft.Sql/managedInstances é usado para o exemplo de delegação:
az network vnet subnet update \
--resource-group test-rg \
--name subnet-1 \
--vnet-name vnet-1 \
--delegations Microsoft.Sql/managedInstances
Para verificar se a delegação foi aplicada, use az network vnet subnet show. Verifique se o serviço está delegado à sub-rede na propriedade serviceName:
az network vnet subnet show \
--resource-group test-rg \
--name subnet-1 \
--vnet-name vnet-1 \
--query delegations
[
{
"actions": [
"Microsoft.Network/virtualNetworks/subnets/join/action",
"Microsoft.Network/virtualNetworks/subnets/prepareNetworkPolicies/action",
"Microsoft.Network/virtualNetworks/subnets/unprepareNetworkPolicies/action"
],
"etag": "W/\"30184721-8945-4e4f-9cc3-aa16b26589ac\"",
"id": "/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/vnet-1/subnets/subnet-1/delegations/0",
"name": "0",
"provisioningState": "Succeeded",
"resourceGroup": "test-rg",
"serviceName": "Microsoft.Sql/managedInstances",
"type": "Microsoft.Network/virtualNetworks/subnets/delegations"
}
]
Remover a delegação de sub-rede de um serviço do Azure
Nesta seção, você remove uma delegação de sub-rede para um serviço do Azure.
Inicie sessão no portal do Azure.
Na caixa de pesquisa na parte superior do portal, digite Rede virtual. Selecione Redes virtuais nos resultados da pesquisa.
Selecione vnet-1.
Selecione Sub-redes em Configurações.
Selecione sub-rede-1.
Introduza ou selecione as seguintes informações:
| Setting |
Value |
|
DELEGAÇÃO DE SUB-REDES |
|
| Delegar sub-rede a um serviço |
Selecione Nenhum. |
Selecione Guardar.
Use Remove-AzDelegation para remover a delegação da sub-rede chamada subnet-1:
$net = @{
Name = 'vnet-1'
ResourceGroupName = 'test-rg'
}
$vnet = Get-AzVirtualNetwork @net
$sub = @{
Name = 'subnet-1'
VirtualNetwork = $vnet
}
$subnet = Get-AzVirtualNetworkSubnetConfig @sub
$del = @{
Name = 'myDelegation'
Subnet = $subnet
}
$subnet = Remove-AzDelegation @del
Set-AzVirtualNetwork -VirtualNetwork $vnet
Use Get-AzDelegation para verificar se a delegação foi removida:
$sub = @{
Name = 'vnet-1'
ResourceGroupName = 'test-rg'
}
$subnet = Get-AzVirtualNetwork @sub | Get-AzVirtualNetworkSubnetConfig -Name 'subnet-1'
$dg = @{
Name ='myDelegation'
Subnet = $subnet
}
Get-AzDelegation @dg
Get-AzDelegation: Sequence contains no matching element
Use az network vnet subnet update para remover a delegação da sub-rede chamada subnet-1:
az network vnet subnet update \
--resource-group test-rg \
--name subnet-1 \
--vnet-name vnet-1 \
--remove delegations
Para verificar se a delegação foi removida, use az network vnet subnet show. Verifique se o serviço foi removido da sub-rede na propriedade serviceName:
az network vnet subnet show \
--resource-group test-rg \
--name subnet-1 \
--vnet-name vnet-1 \
--query delegations
A saída do comando é um colchete nulo:
[]
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 e selecione Grupos de recursos.
Na página Grupos de recursos, selecione o grupo de recursos test-rg.
Na página test-rg, selecione Excluir grupo de recursos.
Digite test-rg em Digite o nome do grupo de recursos para confirmar a exclusão e selecione Excluir.
Próximos passos