Delegering av undernät i virtuella Azure-nätverk ger explicit behörighet till tjänster för att skapa tjänstspecifika resurser i undernätet med hjälp av en unik identifierare när tjänsten distribueras. Den här artikeln beskriver hur du lägger till eller tar bort delegering av undernät för Azure-tjänster, så att du kan hantera nätverksbehörigheter effektivt.
Prerequisites
Ett Azure-konto med en aktiv prenumeration.
Skapa ett konto utan kostnad.
Om du inte skapade det undernät som du vill delegera till en Azure-tjänst behöver du följande behörighet: Microsoft.Network/virtualNetworks/subnets/write. Den inbyggda rollen Nätverksdeltagare innehåller också nödvändiga behörigheter.
Ett Azure-konto med en aktiv prenumeration.
Skapa ett konto utan kostnad.
Om du inte skapade det undernät som du vill delegera till en Azure-tjänst behöver du följande behörighet: Microsoft.Network/virtualNetworks/subnets/write. Den inbyggda rollen Nätverksdeltagare innehåller också nödvändiga behörigheter.
Azure PowerShell installerat lokalt eller Azure Cloud Shell.
Logga in på Azure PowerShell och se till att den prenumeration som du vill använda den här funktionen med är markerad. Mer information finns i Logga in med Azure PowerShell.
Kontrollera att modulen Az.Network är 4.3.0 eller senare. Om du vill verifiera den installerade modulen använder du kommandot Get-InstalledModule -Name "Az.Network". Om modulen kräver en uppdatering använder du kommandot Update-Module -Name Az.Network om det behövs.
Om du väljer att installera och använda PowerShell lokalt kräver den här artikeln version 5.4.1 eller senare av Azure PowerShell-modulen. Kör Get-Module -ListAvailable Az för att hitta den installerade versionen. Om du behöver uppgradera kan du läsa Install Azure PowerShell module (Installera Azure PowerShell-modul). Om du kör PowerShell lokalt måste du också köra Connect-AzAccount för att skapa en anslutning till Azure.
Ett Azure-konto med en aktiv prenumeration.
Skapa ett konto utan kostnad.
Om du inte skapade det undernät som du vill delegera till en Azure-tjänst behöver du följande behörighet: Microsoft.Network/virtualNetworks/subnets/write. Den inbyggda rollen Nätverksdeltagare innehåller också nödvändiga behörigheter.
- Den här artikeln kräver version 2.31.0 eller senare av Azure CLI. Om du använder Azure Cloud Shell är den senaste versionen redan installerad.
Skapa det virtuella nätverket
I det här avsnittet skapar du ett virtuellt nätverk och det undernät som du delegerar till en Azure-tjänst.
Följande procedur skapar ett virtuellt nätverk med ett resursundernät.
I portalen söker du efter och väljer Virtuella nätverk.
På sidan Virtuella nätverk väljer du + Skapa.
På fliken Grundläggande i Skapa virtuellt nätverk anger eller väljer du följande information:
| Setting |
Value |
|
Projektinformation |
|
| Subscription |
Välj din prenumeration. |
| Resursgrupp |
Välj Skapa ny.
Ange test-rg i Namn.
Välj OK. |
|
Instansinformation |
|
| Name |
Ange vnet-1. |
| Region |
Välj Östra USA 2. |
Välj Nästa för att fortsätta till fliken Säkerhet .
Välj Nästa för att fortsätta till fliken IP-adresser .
I rutan adressutrymme i Undernät väljer du standardundernätet .
I Redigera undernät anger eller väljer du följande information:
| Setting |
Value |
| Undernätssyfte |
Lämna standardinställningen Standard. |
| Name |
Ange undernät-1. |
Låt resten av inställningarna vara deras standardinställningar. Välj Spara.
Välj Spara.
Välj Granska + skapa längst ned på skärmen och välj Skapa när valideringen har godkänts.
Skapa en resursgrupp
Skapa en resursgrupp med New-AzResourceGroup. En Azure-resursgrupp är en logisk container där Azure-resurser distribueras och hanteras.
I följande exempel skapas en resursgrupp med namnet test-rg på platsen eastus2 :
$rg = @{
Name = 'test-rg'
Location = 'eastus2'
}
New-AzResourceGroup @rg
Skapa virtuella nätverk
Skapa ett virtuellt nätverk med namnet vnet-1 med ett undernät med namnet subnet-1 i New-AzVirtualNetworkSubnetConfig med hjälp av , använd New-AzVirtualNetwork.
IP-adressutrymmet för det virtuella nätverket är 10.0.0.0/16. Undernätet i det virtuella nätverket är 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
Skapa en resursgrupp
Skapa en resursgrupp med az group create. En Azure-resursgrupp är en logisk container där Azure-resurser distribueras och hanteras.
I följande exempel skapas en resursgrupp med namnet test-rg på platsen eastu2 :
az group create \
--name test-rg \
--location eastus2
Skapa ett virtuellt nätverk
Skapa ett virtuellt nätverk med namnet vnet-1 med ett undernät som heter subnet-1 i test-rg med hjälp av 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
Delegera ett undernät till en Azure-tjänst
I det här avsnittet delegerar du det undernät som du skapade i föregående avsnitt till en Azure-tjänst.
Logga in på Azure-portalen.
I sökrutan överst i portalen anger du Virtuellt nätverk. Välj Virtuella nätverk i sökresultaten.
Välj vnet-1.
Välj Undernät i Inställningar.
Välj subnet-1.
Ange eller välj följande information:
| Setting |
Value |
|
DELEGERING AV UNDERNÄT |
|
| Delegera undernät till en tjänst |
Välj den tjänst som du vill delegera undernätet till. Till exempel Microsoft.Sql/managedInstances. |
Välj Spara.
Använd Add-AzDelegation för att uppdatera undernätet med namnet subnet-1 med en delegering med namnet myDelegation till en Azure-tjänst. I det här exemplet används Microsoft.Sql/managedInstances för exempeldelegeringen:
$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
Använd Get-AzDelegation för att verifiera delegeringen:
$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
Använd az network virtual network subnet update för att uppdatera undernätet med namnet subnet-1 med en delegering till en Azure-tjänst. I det här exemplet används Microsoft.Sql/managedInstances för exempeldelegeringen:
az network vnet subnet update \
--resource-group test-rg \
--name subnet-1 \
--vnet-name vnet-1 \
--delegations Microsoft.Sql/managedInstances
Om du vill kontrollera att delegeringen har tillämpats använder du az network vnet subnet show. Kontrollera att tjänsten är delegerad till undernätet i egenskapen 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"
}
]
Ta bort delegering av undernät från en Azure-tjänst
I det här avsnittet tar du bort en undernätsdelegering för en Azure-tjänst.
Logga in på Azure-portalen.
I sökrutan överst i portalen anger du Virtuellt nätverk. Välj Virtuella nätverk i sökresultaten.
Välj vnet-1.
Välj Undernät i Inställningar.
Välj subnet-1.
Ange eller välj följande information:
| Setting |
Value |
|
DELEGERING AV UNDERNÄT |
|
| Delegera undernät till en tjänst |
Välj Ingen. |
Välj Spara.
Använd Remove-AzDelegation för att ta bort delegeringen från undernätet med namnet 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
Använd Get-AzDelegation för att kontrollera att delegeringen har tagits bort:
$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
Använd az network vnet subnet update för att ta bort delegeringen från undernätet med namnet subnet-1:
az network vnet subnet update \
--resource-group test-rg \
--name subnet-1 \
--vnet-name vnet-1 \
--remove delegations
Om du vill kontrollera att delegeringen har tagits bort använder du az network vnet subnet show. Kontrollera att tjänsten har tagits bort från undernätet i egenskapen serviceName:
az network vnet subnet show \
--resource-group test-rg \
--name subnet-1 \
--vnet-name vnet-1 \
--query delegations
Utdata från kommandot är en noll-bracket:
[]
När du är klar med de resurser som du skapade kan du ta bort resursgruppen och alla dess resurser.
I Azure Portal söker du efter och väljer Resursgrupper.
På sidan Resursgrupper väljer du resursgruppen test-rg .
På sidan test-rg väljer du Ta bort resursgrupp.
Ange test-rg i Ange resursgruppsnamn för att bekräfta borttagningen och välj sedan Ta bort.
Nästa steg