A delegação de sub-rede nas redes virtuais do Azure fornece permissões explícitas aos serviços para criar recursos específicos do 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 os serviços do Azure, permitindo que você gerencie as permissões de rede com eficiência.
Prerequisites
Uma conta do Azure com uma assinatura ativa.
Crie uma conta gratuitamente.
Se você não criou a sub-rede que deseja delegar a um serviço do Azure, precisará da seguinte permissão: Microsoft.Network/virtualNetworks/subnets/write. A função de Colaborador de Rede interna também contém as permissões necessárias.
Uma conta do Azure com uma assinatura ativa.
Crie uma conta gratuitamente.
Se você não criou a sub-rede que deseja delegar a um serviço do Azure, precisará da seguinte permissão: Microsoft.Network/virtualNetworks/subnets/write. A função de Colaborador de Rede interna também contém as permissões necessárias.
O Azure PowerShell instalado localmente ou o 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.
Verifique se o módulo Az.Network é da versão 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 você optar por instalar e usar o PowerShell localmente, este artigo exigirá o módulo do Azure PowerShell versão 5.4.1 ou posterior. Execute Get-Module -ListAvailable Az para localizar a versão instalada. Se você precisar 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.
Uma conta do Azure com uma assinatura ativa.
Crie uma conta gratuitamente.
Se você não criou a sub-rede que deseja delegar a um serviço do Azure, precisará da seguinte permissão: Microsoft.Network/virtualNetworks/subnets/write. A função de Colaborador de Rede interna também contém as permissões necessárias.
Use o ambiente Bash no Azure Cloud Shell. Para obter mais informações, consulte Introdução ao Azure Cloud Shell.
Se você preferir executar 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, consulte Como executar a CLI do Azure em um contêiner do Docker.
Se você estiver usando uma instalação local, entre na 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, consulte Usar e gerenciar extensões com a CLI do Azure.
Execute az version para localizar a versão e as bibliotecas dependentes instaladas. Para atualizar para a versão mais recente, execute az upgrade.
- Este artigo de instruções exige a versão 2.31.0 ou posterior da CLI do Azure. Se você está usando o Azure Cloud Shell, a versão mais recente já está instalada.
Criar a rede virtual
Nesta seção, você criará uma rede virtual e a sub-rede que você delegará a um serviço do Azure.
O procedimento a seguir cria uma rede virtual com uma sub-rede de recursos.
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 sua assinatura. |
| Grupo de recursos |
Selecione Criar novo.
Insira test-rg em Nome.
Selecione OK. |
|
Detalhes da instância |
|
| Name |
Insira vnet-1. |
| Region |
Selecione Leste dos EUA 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 |
Digite subnet-1. |
Mantenha o restante das configurações como o padrão. Clique em Salvar.
Clique em Salvar.
Selecione Examinar + criar na parte inferior da tela e, quando a validação for aprovada, selecione Criar.
Criar um grupo de recursos
Criar um grupo de recursos com New-AzResourceGroup. Um grupo de recursos do Azure é um contêiner lógico no qual os recursos do Azure são implantados e gerenciados.
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 rede virtual
Crie uma rede virtual chamada vnet-1 com uma sub-rede chamada subnet-1 usando New-AzVirtualNetworkSubnetConfig no test-rg usando New-AzVirtualNetwork.
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
Criar um grupo de recursos com az group create. Um grupo de recursos do Azure é um contêiner lógico no qual os recursos do Azure são implantados e gerenciados.
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 que criou na seção anterior para um serviço do Azure.
Entre no portal do Azure.
Na caixa de pesquisa na parte superior do portal, insira a rede virtual. Selecione redes virtuais nos resultados da pesquisa.
Selecione vnet-1.
Selecione Sub-redes em Configurações.
Selecione subnet-1.
Insira ou selecione as seguintes informações:
| Setting |
Value |
|
DELEGAÇÃO DE SUB-REDE |
|
| Sub-rede delegada para um serviço |
Selecione o serviço ao qual você deseja delegar a sub-rede. Por exemplo, Microsoft.Sql/managedInstances. |
Clique em Salvar.
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 a delegação de exemplo:
$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 para um serviço do Azure. Neste exemplo , Microsoft.Sql/managedInstances é usado para a delegação de exemplo:
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ê removerá uma delegação de sub-rede de um serviço do Azure.
Entre no portal do Azure.
Na caixa de pesquisa na parte superior do portal, insira a rede virtual. Selecione redes virtuais nos resultados da pesquisa.
Selecione vnet-1.
Selecione Sub-redes em Configurações.
Selecione subnet-1.
Insira ou selecione as seguintes informações:
| Setting |
Value |
|
DELEGAÇÃO DE SUB-REDE |
|
| Sub-rede delegada para um serviço |
Selecione Nenhum. |
Clique em Salvar.
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, pesquise 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.
Insira test-rg no nome do grupo de recursos Enter para confirmar a exclusão e selecione Excluir.
Próximas etapas