Delegowanie podsieci w sieciach wirtualnych platformy Azure daje jawne uprawnienia do usług tworzenia zasobów specyficznych dla usługi w podsieci przy użyciu unikatowego identyfikatora podczas wdrażania usługi. W tym artykule opisano sposób dodawania lub usuwania delegowania podsieci dla usług platformy Azure, co umożliwia efektywne zarządzanie uprawnieniami sieci.
Prerequisites
Konto platformy Azure z aktywną subskrypcją.
Utwórz bezpłatne konto.
Jeśli nie utworzono podsieci, którą chcesz delegować do usługi platformy Azure, musisz mieć następujące uprawnienie: Microsoft.Network/virtualNetworks/subnets/write. Wbudowana rola Współautor sieci zawiera również niezbędne uprawnienia.
Konto platformy Azure z aktywną subskrypcją.
Utwórz bezpłatne konto.
Jeśli nie utworzono podsieci, którą chcesz delegować do usługi platformy Azure, musisz mieć następujące uprawnienie: Microsoft.Network/virtualNetworks/subnets/write. Wbudowana rola Współautor sieci zawiera również niezbędne uprawnienia.
Program Azure PowerShell został zainstalowany lokalnie lub w usłudze Azure Cloud Shell.
Zaloguj się do programu Azure PowerShell i upewnij się, że wybrano subskrypcję, z którą chcesz korzystać. Aby uzyskać więcej informacji, zobacz Logowanie się przy użyciu programu Azure PowerShell.
Az.Network Upewnij się, że moduł ma wartość 4.3.0 lub nowszą. Aby sprawdzić zainstalowany moduł, użyj polecenia Get-InstalledModule -Name "Az.Network". Jeśli moduł wymaga aktualizacji, w razie potrzeby użyj polecenia Update-Module -Name Az.Network .
Jeśli postanowisz zainstalować program PowerShell i używać go lokalnie, ten artykuł wymaga modułu Azure PowerShell w wersji 5.4.1 lub nowszej. Uruchom polecenie Get-Module -ListAvailable Az, aby dowiedzieć się, jaka wersja jest zainstalowana. Jeśli chcesz uaktualnić, zobacz Instalowanie modułu programu Azure PowerShell. Jeśli używasz programu PowerShell lokalnie, musisz też uruchomić polecenie Connect-AzAccount, aby utworzyć połączenie z platformą Azure.
Konto platformy Azure z aktywną subskrypcją.
Utwórz bezpłatne konto.
Jeśli nie utworzono podsieci, którą chcesz delegować do usługi platformy Azure, musisz mieć następujące uprawnienie: Microsoft.Network/virtualNetworks/subnets/write. Wbudowana rola Współautor sieci zawiera również niezbędne uprawnienia.
- Ten artykuł z instrukcjami wymaga wersji 2.31.0 lub nowszej interfejsu wiersza polecenia platformy Azure. W przypadku korzystania z usługi Azure Cloud Shell najnowsza wersja jest już zainstalowana.
Tworzenie sieci wirtualnej
W tej sekcji utworzysz sieć wirtualną i podsieć, którą delegujesz do usługi platformy Azure.
Poniższa procedura tworzy sieć wirtualną z podsiecią zasobów.
W portalu wyszukaj i wybierz pozycję Sieci wirtualne.
Na stronie Sieci wirtualne wybierz pozycję + Utwórz.
Na karcie Podstawy tworzenia sieci wirtualnej wprowadź lub wybierz następujące informacje:
| Setting |
Value |
|
Szczegóły projektu |
|
| Subscription |
Wybierz subskrypcję. |
| Grupa zasobów |
Wybierz pozycję Utwórz nową.
Wprowadź test-rg w polu Nazwa.
Wybierz przycisk OK. |
|
Szczegóły wystąpienia |
|
| Name |
Wprowadź vnet-1. |
| Region |
Wybierz East US 2. |
Wybierz przycisk Dalej , aby przejść do karty Zabezpieczenia .
Wybierz przycisk Dalej , aby przejść do karty Adresy IP .
W polu Przestrzeń adresowa w obszarze Podsieci wybierz domyślną podsieć.
W obszarze Edytuj podsieć wprowadź lub wybierz następujące informacje:
| Setting |
Value |
| Cel podsieci |
Pozostaw Domyślną wartość domyślną. |
| Name |
Wprowadź subnet-1. |
Pozostaw pozostałe ustawienia jako wartości domyślne. Wybierz Zapisz.
Wybierz Zapisz.
Wybierz pozycję Przejrzyj i utwórz w dolnej części ekranu, a po zakończeniu walidacji wybierz pozycję Utwórz.
Tworzenie grupy zasobów
Utwórz grupę zasobów za pomocą polecenia New-AzResourceGroup. Grupa zasobów platformy Azure to logiczny kontener przeznaczony do wdrażania zasobów platformy Azure i zarządzania nimi.
Poniższy przykład tworzy grupę zasobów o nazwie test-rg w lokalizacji eastus2 :
$rg = @{
Name = 'test-rg'
Location = 'eastus2'
}
New-AzResourceGroup @rg
Tworzenie sieci wirtualnej
Utwórz sieć wirtualną o nazwie vnet-1 z podsiecią o nazwie subnet-1 w grupie zasobów New-AzVirtualNetworkSubnetConfig, używając oraz New-AzVirtualNetwork.
Przestrzeń adresowa IP dla sieci wirtualnej to 10.0.0.0/16. Podsieć w sieci wirtualnej to 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
Tworzenie grupy zasobów
Utwórz grupę zasobów za pomocą polecenia az group create. Grupa zasobów platformy Azure to logiczny kontener przeznaczony do wdrażania zasobów platformy Azure i zarządzania nimi.
Poniższy przykład tworzy grupę zasobów o nazwie test-rg w lokalizacji eastu2 :
az group create \
--name test-rg \
--location eastus2
Tworzenie sieci wirtualnej
Utwórz sieć wirtualną o nazwie vnet-1 z podsiecią o nazwie subnet-1 w test-rg przy użyciu polecenia 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
Delegowanie podsieci do usługi platformy Azure
W tej sekcji delegujesz podsieć utworzoną w poprzedniej sekcji do usługi platformy Azure.
Zaloguj się do witryny Azure Portal.
W polu wyszukiwania w górnej części portalu wprowadź wartość Sieć wirtualna. Wybierz pozycję Sieci wirtualne w wynikach wyszukiwania.
Wybierz pozycję vnet-1.
Wybierz pozycję Podsieci w obszarze Ustawienia.
Wybierz podsieć-1.
Wprowadź lub wybierz następujące informacje:
| Setting |
Value |
|
DELEGOWANIE PODSIECI |
|
| Delegowanie podsieci do usługi |
Wybierz usługę, do której chcesz delegować podsieć. Na przykład Microsoft.Sql/managedInstances. |
Wybierz Zapisz.
Użyj Add-AzDelegation, aby zaktualizować podsieć o nazwie subnet-1 za pomocą delegowania o nazwie myDelegation do usługi Azure. W tym przykładzie użyto obiektów Microsoft.Sql/managedInstance na potrzeby przykładowego delegowania:
$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
Użyj Get-AzDelegation polecenia , aby zweryfikować delegowanie:
$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
Użyj az network virtual network subnet update, aby zaktualizować podsieć o nazwie subnet-1, delegując do usługi Azure. W tym przykładzie użyto obiektów Microsoft.Sql/managedInstance na potrzeby przykładowego delegowania:
az network vnet subnet update \
--resource-group test-rg \
--name subnet-1 \
--vnet-name vnet-1 \
--delegations Microsoft.Sql/managedInstances
Aby sprawdzić, czy delegowanie zostało zastosowane, użyj polecenia az network vnet subnet show. Sprawdź, czy usługa jest delegowana do podsieci w właściwości 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"
}
]
Usuwanie delegowania podsieci z usługi platformy Azure
W tej sekcji usuniesz delegowanie podsieci dla usługi platformy Azure.
Zaloguj się do witryny Azure Portal.
W polu wyszukiwania w górnej części portalu wprowadź wartość Sieć wirtualna. Wybierz pozycję Sieci wirtualne w wynikach wyszukiwania.
Wybierz pozycję vnet-1.
Wybierz pozycję Podsieci w obszarze Ustawienia.
Wybierz podsieć-1.
Wprowadź lub wybierz następujące informacje:
| Setting |
Value |
|
DELEGOWANIE PODSIECI |
|
| Delegowanie podsieci do usługi |
Wybierz pozycję Brak. |
Wybierz Zapisz.
Użyj Remove-AzDelegation aby usunąć delegowanie z podsieci o nazwie 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
Użyj Get-AzDelegation polecenia , aby sprawdzić, czy delegowanie zostało usunięte:
$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
Użyj az network vnet subnet update aby usunąć delegowanie z podsieci o nazwie subnet-1:
az network vnet subnet update \
--resource-group test-rg \
--name subnet-1 \
--vnet-name vnet-1 \
--remove delegations
Aby sprawdzić, czy delegowanie zostało usunięte, użyj polecenia az network vnet subnet show. Sprawdź, czy usługa została usunięta z podsieci w właściwości serviceName:
az network vnet subnet show \
--resource-group test-rg \
--name subnet-1 \
--vnet-name vnet-1 \
--query delegations
Dane wyjściowe polecenia to nawias null:
[]
Po zakończeniu korzystania z utworzonych zasobów możesz usunąć grupę zasobów i wszystkie jej zasoby.
W witrynie Azure Portal wyszukaj i wybierz pozycję Grupy zasobów.
Na stronie Grupy zasobów wybierz grupę zasobów test-rg .
Na stronie test-rg wybierz pozycję Usuń grupę zasobów.
Wprowadź test-rg w Wprowadź nazwę grupy zasobów, aby potwierdzić usunięcie, następnie wybierz Usuń.
Dalsze kroki