Zasady punktu końcowego usługi umożliwiają filtrowanie ruchu sieci wirtualnej do określonych zasobów platformy Azure za pośrednictwem punktów końcowych usługi. Jeśli nie znasz zasad punktu końcowego usługi, zobacz Omówienie zasad punktu końcowego usługi, aby dowiedzieć się więcej.
Z tego samouczka dowiesz się, jak wykonywać następujące czynności:
- Utwórz sieć prywatną.
- Dodaj podsieć i włącz punkt końcowy usługi dla usługi Azure Storage.
- Utwórz dwa konta usługi Azure Storage i zezwól na dostęp do sieci z podsieci w sieci wirtualnej.
- Utwórz zasady punktu końcowego usługi, aby zezwolić na dostęp tylko do jednego z kont magazynu.
- Wdróż maszynę wirtualną w podsieci.
- Potwierdź dostęp do dozwolonego konta magazynu z podsieci.
- Upewnij się, że odmowa dostępu do konta magazynu innego niż niedozwolone z podsieci.
Wymagania wstępne
- Konto platformy Azure z aktywną subskrypcją. Możesz bezpłatnie utworzyć konto.
- Konto platformy Azure z aktywną subskrypcją. Możesz bezpłatnie utworzyć konto.
Azure Cloud Shell
Na platforma Azure hostowane jest Azure Cloud Shell, interaktywne środowisko powłoki, z którego można korzystać w przeglądarce. Do pracy z usługami platformy Azure można używać programu Bash lub PowerShell w środowisku Cloud Shell. Aby uruchomić kod w tym artykule, możesz użyć wstępnie zainstalowanych poleceń usługi Cloud Shell bez konieczności instalowania niczego w środowisku lokalnym.
Aby uruchomić środowisko Azure Cloud Shell:
| Opcja |
Przykład/link |
| Wybierz pozycję Wypróbuj w prawym górnym rogu bloku kodu lub polecenia. Wybranie pozycji Wypróbuj nie powoduje automatycznego skopiowania kodu lub polecenia do usługi Cloud Shell. |
|
| Przejdź do witryny https://shell.azure.com lub wybierz przycisk Uruchom Cloud Shell, aby otworzyć środowisko Cloud Shell w przeglądarce. |
|
| Wybierz przycisk Cloud Shell na pasku menu w prawym górnym rogu witryny Azure Portal. |
|
Aby użyć usługi Azure Cloud Shell:
Uruchom usługę Cloud Shell.
Wybierz przycisk Kopiuj w bloku kodu (lub bloku poleceń), aby skopiować kod lub polecenie.
Wklej kod lub polecenie do sesji usługi Cloud Shell, wybierając Ctrl++V w systemie macOS.
Wybierz Enter, aby uruchomić kod lub polecenie.
Jeśli zdecydujesz się zainstalować program PowerShell i korzystać z niego lokalnie, ten artykuł wymaga modułu Azure PowerShell w wersji 1.0.0 lub nowszej. Uruchom polecenie Get-Module -ListAvailable Az, aby dowiedzieć się, jaka wersja jest zainstalowana. Jeśli konieczne będzie uaktualnienie, zobacz Instalowanie modułu Azure PowerShell. Jeśli używasz programu PowerShell lokalnie, musisz też uruchomić polecenie Connect-AzAccount, aby utworzyć połączenie z platformą Azure.
Jeśli nie masz jeszcze konta platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.
- Ten artykuł wymaga wersji 2.0.28 lub nowszej interfejsu wiersza polecenia platformy Azure. W przypadku korzystania z usługi Azure Cloud Shell najnowsza wersja jest już zainstalowana.
Tworzenie sieci wirtualnej i włączanie punktu końcowego usługi
Utwórz sieć wirtualną zawierającą zasoby utworzone w tym samouczku.
W polu wyszukiwania w portalu wprowadź ciąg Sieci wirtualne. Wybierz pozycję Sieci wirtualne w wynikach wyszukiwania.
Wybierz pozycję + Utwórz , aby utworzyć nową sieć wirtualną.
Wprowadź lub wybierz następujące informacje na karcie Podstawy tworzenia sieci wirtualnej.
| Ustawienie |
Wartość |
|
Szczegóły projektu |
|
| Subskrypcja |
Wybierz subskrypcję. |
| Grupa zasobów |
Wybierz pozycjęUtwórz nowy.
Wprowadź ciąg test-rg w polu Nazwa.
Wybierz przycisk OK. |
| Nazwisko |
Wprowadź wartość vnet-1. |
| Region (Region) |
Wybierz pozycję Zachodnie stany USA 2. |
Wybierz Dalej.
Wybierz Dalej.
Na karcie Adresy IP w obszarze Podsieci wybierz domyślną podsieć.
Wprowadź lub wybierz następujące informacje w obszarze Edytuj podsieć.
| Ustawienie |
Wartość |
| Nazwisko |
Wprowadź podsieć-1. |
|
Punkty końcowe usługi |
|
|
Usługi |
|
| W menu rozwijanym wybierz pozycję Microsoft.Storage. |
|
Wybierz pozycję Zapisz.
Wybierz pozycję Przejrzyj i utwórz.
Wybierz pozycję Utwórz.
Przed utworzeniem sieci wirtualnej należy utworzyć grupę zasobów dla sieci wirtualnej i wszystkie inne zasoby utworzone w tym artykule. Utwórz grupę zasobów za pomocą polecenia New-AzResourceGroup. Poniższy przykład tworzy grupę zasobów o nazwie test-rg:
$rg = @{
ResourceGroupName = "test-rg"
Location = "westus2"
}
New-AzResourceGroup @rg
Utwórz sieć wirtualną przy użyciu polecenia New-AzVirtualNetwork. Poniższy przykład tworzy sieć wirtualną o nazwie vnet-1 z prefiksem adresu 10.0.0.0/16.
$vnet = @{
ResourceGroupName = "test-rg"
Location = "westus2"
Name = "vnet-1"
AddressPrefix = "10.0.0.0/16"
}
$virtualNetwork = New-AzVirtualNetwork @vnet
Utwórz konfigurację podsieci za pomocą polecenia New-AzVirtualNetworkSubnetConfig, a następnie zapisz konfigurację podsieci w sieci wirtualnej za pomocą polecenia Set-AzVirtualNetwork. Poniższy przykład dodaje podsieć o nazwie subnet-1 do sieci wirtualnej i tworzy punkt końcowy usługi dla microsoft.Storage.
$subnet = @{
Name = "subnet-1"
VirtualNetwork = $virtualNetwork
AddressPrefix = "10.0.0.0/24"
ServiceEndpoint = "Microsoft.Storage"
}
Add-AzVirtualNetworkSubnetConfig @subnet
$virtualNetwork | Set-AzVirtualNetwork
Przed utworzeniem sieci wirtualnej należy utworzyć grupę zasobów dla sieci wirtualnej i wszystkie inne zasoby utworzone w tym artykule. Utwórz grupę zasobów za pomocą polecenia az group create. Poniższy przykład tworzy grupę zasobów o nazwie test-rg w lokalizacji westus2 .
az group create \
--name test-rg \
--location westus2
Utwórz sieć wirtualną z jedną podsiecią za pomocą polecenia 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-1 \
--subnet-prefix 10.0.0.0/24
W tym przykładzie dla podsieci podsieci subnet-1 Microsoft.Storagejest tworzony punkt końcowy usługi dla:
az network vnet subnet create \
--vnet-name vnet-1 \
--resource-group test-rg \
--name subnet-1 \
--address-prefix 10.0.0.0/24 \
--service-endpoints Microsoft.Storage
Ograniczanie dostępu do sieci dla podsieci
Utwórz sieciową grupę zabezpieczeń i reguły ograniczające dostęp sieciowy dla podsieci.
Tworzenie sieciowej grupy zabezpieczeń
W polu wyszukiwania w portalu wprowadź sieciowe grupy zabezpieczeń. Wybierz pozycję Sieciowe grupy zabezpieczeń w wynikach wyszukiwania.
Wybierz pozycję + Utwórz , aby utworzyć nową sieciową grupę zabezpieczeń.
Na karcie Podstawowe informacje w obszarze Tworzenie sieciowej grupy zabezpieczeń wprowadź lub wybierz następujące informacje.
| Ustawienie |
Wartość |
|
Szczegóły projektu |
|
| Subskrypcja |
Wybierz subskrypcję. |
| Grupa zasobów |
Wybierz pozycję test-rg. |
| Nazwisko |
Wprowadź ciąg nsg-1. |
| Region (Region) |
Wybierz pozycję Zachodnie stany USA 2. |
Wybierz pozycję Przejrzyj i utwórz.
Wybierz pozycję Utwórz.
Tworzenie reguł sieciowej grupy zabezpieczeń
W polu wyszukiwania w portalu wprowadź sieciowe grupy zabezpieczeń. Wybierz pozycję Sieciowe grupy zabezpieczeń w wynikach wyszukiwania.
Wybierz pozycję nsg-1.
rozwiń Ustawienia. Wybierz pozycję Reguły zabezpieczeń dla ruchu wychodzącego.
Wybierz pozycję + Dodaj , aby dodać nową regułę zabezpieczeń dla ruchu wychodzącego.
W obszarze Dodaj regułę zabezpieczeń dla ruchu wychodzącego wprowadź lub wybierz następujące informacje.
| Ustawienie |
Wartość |
| Lokalizacja źródłowa |
wybierz pozycję Tag usługi. |
| Tag usługi źródłowej |
Wybierz pozycję VirtualNetwork. |
| Zakresy portów źródłowych |
Wprowadź *. |
| Element docelowy |
wybierz pozycję Tag usługi. |
| Docelowy tag usługi |
Wybierz pozycję Magazyn. |
| Usługa |
Wybierz Niestandardowy. |
| Zakresy portów docelowych |
Wprowadź *. |
| Protokół |
Wybierz dowolną. |
| Akcja |
Zaznacz Zezwól. |
| Priorytet |
Wprowadź wartość 100. |
| Nazwisko |
Wprowadź wartość allow-storage-all. |
Wybierz Dodaj.
Wybierz pozycję + Dodaj , aby dodać kolejną regułę zabezpieczeń dla ruchu wychodzącego.
W obszarze Dodaj regułę zabezpieczeń dla ruchu wychodzącego wprowadź lub wybierz następujące informacje.
| Ustawienie |
Wartość |
| Lokalizacja źródłowa |
wybierz pozycję Tag usługi. |
| Tag usługi źródłowej |
Wybierz pozycję VirtualNetwork. |
| Zakresy portów źródłowych |
Wprowadź *. |
| Element docelowy |
wybierz pozycję Tag usługi. |
| Docelowy tag usługi |
wybierz pozycję Internet. |
| Usługa |
Wybierz Niestandardowy. |
| Zakresy portów docelowych |
Wprowadź *. |
| Protokół |
Wybierz dowolną. |
| Akcja |
Wybierz pozycję Odmów. |
| Priorytet |
Wprowadź wartość 110. |
| Nazwisko |
Wprowadź wartość deny-internet-all. |
Wybierz Dodaj.
rozwiń Ustawienia. Wybierz pozycję Podsieci.
Wybierz pozycję Skojarz.
W obszarze Kojarzenie podsieci wprowadź lub wybierz następujące informacje.
| Ustawienie |
Wartość |
| Sieć wirtualna |
Wybierz pozycję vnet-1 (test-rg). |
| Podsieć |
Wybierz podsieć-1. |
Wybierz przycisk OK.
Utwórz reguły zabezpieczeń sieciowej grupy zabezpieczeń za pomocą polecenia New-AzNetworkSecurityRuleConfig. Poniższa reguła zezwala na dostęp wychodzący do publicznych adresów IP przypisanych do usługi Azure Storage:
$r1 = @{
Name = "Allow-Storage-All"
Access = "Allow"
DestinationAddressPrefix = "Storage"
DestinationPortRange = "*"
Direction = "Outbound"
Priority = 100
Protocol = "*"
SourceAddressPrefix = "VirtualNetwork"
SourcePortRange = "*"
}
$rule1 = New-AzNetworkSecurityRuleConfig @r1
Poniższa reguła odmawia dostępu do wszystkich publicznych adresów IP. Poprzednia reguła zastępuje tę regułę ze względu na wyższy priorytet, co umożliwia dostęp do publicznych adresów IP usługi Azure Storage.
$r2 = @{
Name = "Deny-Internet-All"
Access = "Deny"
DestinationAddressPrefix = "Internet"
DestinationPortRange = "*"
Direction = "Outbound"
Priority = 110
Protocol = "*"
SourceAddressPrefix = "VirtualNetwork"
SourcePortRange = "*"
}
$rule2 = New-AzNetworkSecurityRuleConfig @r2
Utwórz sieciową grupę zabezpieczeń przy użyciu polecenia New-AzNetworkSecurityGroup. Poniższy przykład tworzy sieciową grupę zabezpieczeń o nazwie nsg-1.
$securityRules = @($rule1, $rule2)
$nsgParams = @{
ResourceGroupName = "test-rg"
Location = "westus2"
Name = "nsg-1"
SecurityRules = $securityRules
}
$nsg = New-AzNetworkSecurityGroup @nsgParams
Skojarz sieciową grupę zabezpieczeń z podsiecią subnet-1 z poleceniem Set-AzVirtualNetworkSubnetConfig , a następnie zapisz konfigurację podsieci w sieci wirtualnej. Poniższy przykład kojarzy sieciową grupę zabezpieczeń nsg-1 z podsiecią subnet-1 :
$subnetConfig = @{
VirtualNetwork = $VirtualNetwork
Name = "subnet-1"
AddressPrefix = "10.0.0.0/24"
ServiceEndpoint = "Microsoft.Storage"
NetworkSecurityGroup = $nsg
}
Set-AzVirtualNetworkSubnetConfig @subnetConfig
$virtualNetwork | Set-AzVirtualNetwork
Utwórz sieciową grupę zabezpieczeń za pomocą polecenia az network nsg create. Poniższy przykład tworzy sieciową grupę zabezpieczeń o nazwie nsg-1.
az network nsg create \
--resource-group test-rg \
--name nsg-1
Skojarz sieciową grupę zabezpieczeń z podsiecią subnet-1 za pomocą polecenia az network vnet subnet update. Poniższy przykład kojarzy sieciową grupę zabezpieczeń nsg-1 z podsiecią subnet-1 :
az network vnet subnet update \
--vnet-name vnet-1 \
--name subnet-1 \
--resource-group test-rg \
--network-security-group nsg-1
Utwórz reguły zabezpieczeń za pomocą polecenia az network nsg rule create. Następująca reguła zezwala na dostęp wychodzący do publicznych adresów IP przypisanych do usługi Azure Storage:
az network nsg rule create \
--resource-group test-rg \
--nsg-name nsg-1 \
--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 "*"
Każda sieciowa grupa zabezpieczeń zawiera kilka domyślnych reguł zabezpieczeń. Reguła, która następuje po zastąpieniu domyślnej reguły zabezpieczeń, która zezwala na dostęp wychodzący do wszystkich publicznych adresów IP. Opcja destination-address-prefix "Internet" uniemożliwia dostęp wychodzący do wszystkich publicznych adresów IP. Poprzednia reguła zastępuje tę regułę ze względu na wyższy priorytet, co umożliwia dostęp do publicznych adresów IP usługi Azure Storage.
az network nsg rule create \
--resource-group test-rg \
--nsg-name nsg-1 \
--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 "*"
Ograniczanie dostępu sieciowego do kont usługi Azure Storage
Kroki niezbędne do ograniczenia dostępu sieciowego do zasobów utworzonych za pomocą usług platformy Azure obsługujących punkty końcowe usługi różnią się w zależności od usługi. Zobacz dokumentację poszczególnych usług, aby poznać konkretne kroki dla każdej usługi. W pozostałej części tego artykułu przedstawiono kroki ograniczania dostępu do sieci dla konta usługi Azure Storage, na przykład.
Tworzenie dwóch kont magazynu
W polu wyszukiwania w portalu wprowadź ciąg Konta magazynu. Wybierz pozycję Konta magazynu w wynikach wyszukiwania.
Wybierz pozycję + Utwórz , aby utworzyć nowe konto magazynu.
W obszarze Tworzenie konta magazynu wprowadź lub wybierz następujące informacje.
| Ustawienie |
Wartość |
|
Szczegóły projektu |
|
| Subskrypcja |
Wybierz subskrypcję. |
| Grupa zasobów |
Wybierz pozycję test-rg. |
|
Szczegóły wystąpienia |
|
| Nazwa konta magazynu |
Wprowadź allowedaccount(random-number). Uwaga: Nazwa konta magazynu musi być unikatowa. Dodaj losową liczbę na końcu nazwy allowedaccount. |
| Region (Region) |
Wybierz pozycję Zachodnie stany USA 2. |
| Wydajność |
Wybierz opcję Standardowa. |
| Nadmiarowość |
Wybierz pozycję Magazyn lokalnie nadmiarowy (LRS). |
Wybierz przycisk Dalej , dopóki nie osiągniesz karty Ochrona danych.
W obszarze Odzyskiwanie usuń zaznaczenie wszystkich opcji.
Wybierz pozycję Przejrzyj i utwórz.
Wybierz pozycję Utwórz.
Powtórz poprzednie kroki, aby utworzyć kolejne konto magazynu, postępując zgodnie z poniższymi informacjami.
| Ustawienie |
Wartość |
| Nazwa konta magazynu |
Wprowadź wartość deniedaccount(random-number). |
Utwórz dozwolone konto usługi Azure Storage przy użyciu polecenia New-AzStorageAccount.
$storageAcctParams = @{
Location = 'westus2'
Name = 'allowedaccount'
ResourceGroupName = 'test-rg'
SkuName = 'Standard_LRS'
Kind = 'StorageV2'
}
New-AzStorageAccount @storageAcctParams
Użyj tego samego polecenia, aby utworzyć odrzucone konto usługi Azure Storage, ale zmień nazwę na deniedaccount.
$storageAcctParams = @{
Location = 'westus2'
Name = 'deniedaccount'
ResourceGroupName = 'test-rg'
SkuName = 'Standard_LRS'
Kind = 'StorageV2'
}
New-AzStorageAccount @storageAcctParams
Utwórz dwa konta usługi Azure Storage za pomocą polecenia az storage account create.
storageAcctName1="allowedaccount"
az storage account create \
--name $storageAcctName1 \
--resource-group test-rg \
--sku Standard_LRS \
--kind StorageV2
Użyj tego samego polecenia, aby utworzyć odrzucone konto usługi Azure Storage, ale zmień nazwę na deniedaccount.
storageAcctName2="deniedaccount"
az storage account create \
--name $storageAcctName2 \
--resource-group test-rg \
--sku Standard_LRS \
--kind StorageV2
Tworzenie udziałów plików
W polu wyszukiwania w portalu wprowadź ciąg Konta magazynu. Wybierz pozycję Konta magazynu w wynikach wyszukiwania.
Wybierz pozycję allowedaccount(random-number).
Rozwiń sekcję Magazyn danych i wybierz pozycję Udziały plików.
Wybierz pozycję + Udział plików.
W obszarze Nowy udział plików wprowadź lub wybierz następujące informacje.
| Ustawienie |
Wartość |
| Nazwisko |
Wprowadź plik-udział. |
Pozostaw pozostałe ustawienia jako domyślne i wybierz pozycję Przejrzyj i utwórz.
Wybierz pozycję Utwórz.
Powtórz poprzednie kroki, aby utworzyć udział plików w deniedaccount(random-number).
Tworzenie dozwolonego udziału plików konta magazynu
Użyj polecenia Get-AzStorageAccountKey , aby uzyskać klucz konta magazynu dla dozwolonego konta magazynu. Ten klucz zostanie użyty w następnym kroku, aby utworzyć udział plików na dozwolonym koncie magazynu.
$storageAcctName1 = "allowedaccount"
$storageAcctParams1 = @{
ResourceGroupName = "test-rg"
AccountName = $storageAcctName1
}
$storageAcctKey1 = (Get-AzStorageAccountKey @storageAcctParams1).Value[0]
Utwórz kontekst dla konta magazynu i klucza za pomocą polecenia New-AzStorageContext. W kontekście zawarta jest nazwa konta magazynu oraz klucz konta.
$storageContext1 = New-AzStorageContext $storageAcctName1 $storageAcctKey1
Utwórz udział plików za pomocą polecenia New-AzStorageShare.
$share1 = New-AzStorageShare file-share -Context $storageContext1
Tworzenie udziału plików konta magazynu odrzuconego
Użyj polecenia Get-AzStorageAccountKey , aby uzyskać klucz konta magazynu dla dozwolonego konta magazynu. Ten klucz zostanie użyty w następnym kroku, aby utworzyć udział plików na odrzuconym koncie magazynu.
$storageAcctName2 = "deniedaccount"
$storageAcctParams2 = @{
ResourceGroupName = "test-rg"
AccountName = $storageAcctName2
}
$storageAcctKey2 = (Get-AzStorageAccountKey @storageAcctParams2).Value[0]
Utwórz kontekst dla konta magazynu i klucza za pomocą polecenia New-AzStorageContext. W kontekście zawarta jest nazwa konta magazynu oraz klucz konta.
$storageContext2= New-AzStorageContext $storageAcctName2 $storageAcctKey2
Utwórz udział plików za pomocą polecenia New-AzStorageShare.
$share2 = New-AzStorageShare file-share -Context $storageContext2
Tworzenie dozwolonego udziału plików konta magazynu
Pobierz parametry połączenia dla kont magazynu do zmiennej za pomocą polecenia az storage account show-connection-string. Parametry połączenia służy do tworzenia udziału plików w późniejszym kroku.
saConnectionString1=$(az storage account show-connection-string \
--name $storageAcctName1 \
--resource-group test-rg \
--query 'connectionString' \
--out tsv)
Utwórz udział plików na koncie magazynu za pomocą polecenia az storage share create. W późniejszym kroku ten udział plików jest instalowany w celu potwierdzenia dostępu sieciowego do niego.
az storage share create \
--name file-share \
--quota 2048 \
--connection-string $saConnectionString1 > /dev/null
Tworzenie udziału plików konta magazynu odrzuconego
Pobierz parametry połączenia dla kont magazynu do zmiennej za pomocą polecenia az storage account show-connection-string. Parametry połączenia służy do tworzenia udziału plików w późniejszym kroku.
saConnectionString2=$(az storage account show-connection-string \
--name $storageAcctName2 \
--resource-group test-rg \
--query 'connectionString' \
--out tsv)
Utwórz udział plików na koncie magazynu za pomocą polecenia az storage share create. W późniejszym kroku ten udział plików jest instalowany w celu potwierdzenia dostępu sieciowego do niego.
az storage share create \
--name file-share \
--quota 2048 \
--connection-string $saConnectionString2 > /dev/null
Ważne
Firma Microsoft zaleca korzystanie z najbezpieczniejszego dostępnego przepływu uwierzytelniania. Przepływ uwierzytelniania opisany w tej procedurze wymaga bardzo wysokiego poziomu zaufania w aplikacji i niesie ze sobą ryzyko, które nie występują w innych przepływach. Tego przepływu należy używać tylko wtedy, gdy inne bezpieczniejsze przepływy, takie jak tożsamości zarządzane, nie są opłacalne.
Odmowa dostępu sieciowego do kont magazynu
Domyślnie konta magazynu akceptują połączenia sieciowe od klientów w dowolnej sieci. Aby ograniczyć dostęp sieciowy do kont magazynu, możesz skonfigurować konto magazynu tak, aby akceptowały połączenia tylko z określonych sieci. W tym przykładzie skonfigurujesz konto magazynu tak, aby akceptowały połączenia tylko z utworzonej wcześniej podsieci sieci wirtualnej.
W polu wyszukiwania w portalu wprowadź ciąg Konta magazynu. Wybierz pozycję Konta magazynu w wynikach wyszukiwania.
Wybierz pozycję allowedaccount(random-number).
Rozwiń węzeł Zabezpieczenia i sieć , a następnie wybierz pozycję Sieć.
W obszarze Zapory i sieci wirtualne w obszarze Dostęp do sieci publicznej wybierz pozycję Włączone z wybranych sieci wirtualnych i adresów IP.
W obszarze Sieci wirtualne wybierz pozycję + Dodaj istniejącą sieć wirtualną.
W obszarze Dodawanie sieci wprowadź lub wybierz następujące informacje.
| Ustawienie |
Wartość |
| Subskrypcja |
Wybierz subskrypcję. |
| Sieci wirtualne |
Wybierz pozycję vnet-1. |
| Podsieci |
Wybierz podsieć-1. |
Wybierz Dodaj.
Wybierz pozycję Zapisz.
Powtórz poprzednie kroki, aby odmówić dostępu sieciowego do konta deniedaccount (losowego liczby).
Użyj polecenia Update-AzStorageAccountNetworkRuleSet , aby odmówić dostępu do kont magazynu z wyjątkiem utworzonej wcześniej sieci wirtualnej i podsieci. Po odmowie dostępu do sieci konto magazynu nie jest dostępne z żadnej sieci.
$storageAcctParams1 = @{
ResourceGroupName = "test-rg"
Name = $storageAcctName1
DefaultAction = "Deny"
}
Update-AzStorageAccountNetworkRuleSet @storageAcctParams1
$storageAcctParams2 = @{
ResourceGroupName = "test-rg"
Name = $storageAcctName2
DefaultAction = "Deny"
}
Update-AzStorageAccountNetworkRuleSet @storageAcctParams2
Włączanie dostępu do sieci tylko z podsieci sieci wirtualnej
Pobierz utworzoną sieć wirtualną za pomocą polecenia Get-AzVirtualNetwork , a następnie pobierz obiekt prywatnej podsieci do zmiennej za pomocą polecenia Get-AzVirtualNetworkSubnetConfig:
$privateSubnetParams = @{
ResourceGroupName = "test-rg"
Name = "vnet-1"
}
$privateSubnet = Get-AzVirtualNetwork @privateSubnetParams | Get-AzVirtualNetworkSubnetConfig -Name "subnet-1"
Zezwalaj na dostęp sieciowy do konta magazynu z podsieci subnet-1 za pomocą polecenia Add-AzStorageAccountNetworkRule.
$networkRuleParams1 = @{
ResourceGroupName = "test-rg"
Name = $storageAcctName1
VirtualNetworkResourceId = $privateSubnet.Id
}
Add-AzStorageAccountNetworkRule @networkRuleParams1
$networkRuleParams2 = @{
ResourceGroupName = "test-rg"
Name = $storageAcctName2
VirtualNetworkResourceId = $privateSubnet.Id
}
Add-AzStorageAccountNetworkRule @networkRuleParams2
Domyślnie konta magazynu akceptują połączenia sieciowe od klientów w dowolnej sieci. Aby ograniczyć dostęp do wybranych sieci, zmień domyślną akcję na Odmów za pomocą polecenia az storage account update. Po odmowie dostępu do sieci konto magazynu nie jest dostępne z żadnej sieci.
az storage account update \
--name $storageAcctName1 \
--resource-group test-rg \
--default-action Deny
az storage account update \
--name $storageAcctName2 \
--resource-group test-rg \
--default-action Deny
Włączanie dostępu do sieci tylko z podsieci sieci wirtualnej
Zezwalaj na dostęp sieciowy do konta magazynu z podsieci subnet-1 za pomocą polecenia az storage account network-rule add.
az storage account network-rule add \
--resource-group test-rg \
--account-name $storageAcctName1 \
--vnet-name vnet-1 \
--subnet subnet-1
az storage account network-rule add \
--resource-group test-rg \
--account-name $storageAcctName2 \
--vnet-name vnet-1 \
--subnet subnet-1
Stosowanie zasad w celu zezwolenia na dostęp do prawidłowego konta magazynu
Możesz utworzyć zasady punktu końcowego usługi. Zasady zapewniają użytkownikom w sieci wirtualnej dostęp tylko do bezpiecznych i dozwolonych kont usługi Azure Storage. Te zasady zawierają listę dozwolonych kont magazynu zastosowanych do podsieci sieci wirtualnej połączonej z magazynem za pośrednictwem punktów końcowych usługi.
Tworzenie zasad punktu końcowego usługi
Ta sekcja tworzy definicję zasad z listą dozwolonych zasobów na potrzeby dostępu za pośrednictwem punktu końcowego usługi.
W polu wyszukiwania w portalu wprowadź zasady punktu końcowego usługi. Wybierz pozycję Zasady punktu końcowego usługi w wynikach wyszukiwania.
Wybierz pozycję + Utwórz , aby utworzyć nowe zasady punktu końcowego usługi.
Wprowadź lub wybierz następujące informacje na karcie Podstawy tworzenia zasad punktu końcowego usługi.
| Ustawienie |
Wartość |
|
Szczegóły projektu |
|
| Subskrypcja |
Wybierz subskrypcję. |
| Grupa zasobów |
Wybierz pozycję test-rg. |
|
Szczegóły wystąpienia |
|
| Nazwisko |
Wprowadź wartość service-endpoint-policy. |
| Lokalizacja |
Wybierz pozycję Zachodnie stany USA 2. |
Wybierz pozycję Dalej: definicje zasad.
Wybierz pozycję + Dodaj zasób w obszarze Zasoby.
W obszarze Dodaj zasób wprowadź lub wybierz następujące informacje:
| Ustawienie |
Wartość |
| Usługa |
Wybierz pozycję Microsoft.Storage. |
| Scope |
Wybieranie pojedynczego konta |
| Subskrypcja |
Wybierz subskrypcję. |
| Grupa zasobów |
Wybierz pozycję test-rg. |
| Zasób |
Wybierz wartość allowedaccount(random-number) |
Wybierz Dodaj.
Wybierz pozycję Przejrzyj i utwórz.
Wybierz pozycję Utwórz.
Aby pobrać identyfikator zasobu dla pierwszego (dozwolonego) konta magazynu, użyj polecenia Get-AzStorageAccount.
$storageAcctParams1 = @{
ResourceGroupName = "test-rg"
Name = $storageAcctName1
}
$resourceId = (Get-AzStorageAccount @storageAcctParams1).id
Aby utworzyć definicję zasad, aby zezwolić na poprzedni zasób, użyj polecenia New-AzServiceEndpointPolicyDefinition .
$policyDefinitionParams = @{
Name = "policy-definition"
Description = "Service Endpoint Policy Definition"
Service = "Microsoft.Storage"
ServiceResource = $resourceId
}
$policyDefinition = New-AzServiceEndpointPolicyDefinition @policyDefinitionParams
Użyj polecenia New-AzServiceEndpointPolicy , aby utworzyć zasady punktu końcowego usługi z definicją zasad.
$sepolicyParams = @{
ResourceGroupName = "test-rg"
Name = "service-endpoint-policy"
Location = "westus2"
ServiceEndpointPolicyDefinition = $policyDefinition
}
$sepolicy = New-AzServiceEndpointPolicy @sepolicyParams
Zasady punktu końcowego usługi są stosowane za pośrednictwem punktów końcowych usługi. Zacznij od utworzenia zasad punktu końcowego usługi. Następnie utwórz definicje zasad w ramach tych zasad dla kont usługi Azure Storage, które mają zostać zatwierdzone dla tej podsieci
Użyj polecenia az storage account show , aby uzyskać identyfikator zasobu dla dozwolonego konta magazynu.
serviceResourceId=$(az storage account show --name allowedaccount --query id --output tsv)
Tworzenie zasad punktu końcowego usługi
az network service-endpoint policy create \
--resource-group test-rg \
--name service-endpoint-policy \
--location westus2
Tworzenie i dodawanie definicji zasad w celu umożliwienia poprzedniego konta usługi Azure Storage do zasad punktu końcowego usługi
az network service-endpoint policy-definition create \
--resource-group test-rg \
--policy-name service-endpoint-policy \
--name policy-definition \
--service "Microsoft.Storage" \
--service-resources $serviceResourceId
Kojarzenie zasad punktu końcowego usługi z podsiecią
Po utworzeniu zasad punktu końcowego usługi skojarzysz ją z podsiecią docelową z konfiguracją punktu końcowego usługi dla usługi Azure Storage.
W polu wyszukiwania w portalu wprowadź zasady punktu końcowego usługi. Wybierz pozycję Zasady punktu końcowego usługi w wynikach wyszukiwania.
Wybierz pozycję service-endpoint-policy.
Rozwiń węzeł Ustawienia i wybierz pozycję Skojarzone podsieci.
Wybierz pozycję + Edytuj skojarzenie podsieci.
W obszarze Edytuj skojarzenie podsieci wybierz pozycję vnet-1 i subnet-1.
Wybierz Zastosuj.
Użyj polecenia Set-AzVirtualNetworkSubnetConfig , aby skojarzyć zasady punktu końcowego usługi z podsiecią.
$subnetConfigParams = @{
VirtualNetwork = $VirtualNetwork
Name = "subnet-1"
AddressPrefix = "10.0.0.0/24"
NetworkSecurityGroup = $nsg
ServiceEndpoint = "Microsoft.Storage"
ServiceEndpointPolicy = $sepolicy
}
Set-AzVirtualNetworkSubnetConfig @subnetConfigParams
$virtualNetwork | Set-AzVirtualNetwork
Użyj polecenia az network vnet subnet update , aby skojarzyć zasady punktu końcowego usługi z podsiecią.
az network vnet subnet update \
--vnet-name vnet-1 \
--resource-group test-rg \
--name subnet-1 \
--service-endpoints Microsoft.Storage \
--service-endpoint-policy service-endpoint-policy
Ostrzeżenie
Przed skojarzeniem zasad z daną podsiecią upewnij się, że wszystkie zasoby, do których uzyskuje się dostęp z podsieci. Po skojarzeniu zasad tylko dostęp do dozwolonych zasobów będzie dozwolony za pośrednictwem punktów końcowych usługi.
Upewnij się, że w podsieci skojarzonej z zasadami punktu końcowego usługi nie istnieją żadne zarządzane usługi platformy Azure.
Dostęp do zasobów usługi Azure Storage we wszystkich regionach będzie ograniczony zgodnie z zasadami punktu końcowego usługi z tej podsieci.
Weryfikowanie ograniczenia dostępu do kont usługi Azure Storage
Aby przetestować dostęp sieciowy do konta magazynu, wdróż maszynę wirtualną w podsieci.
Wdrażanie maszyny wirtualnej
W polu wyszukiwania w portalu wprowadź ciąg Maszyny wirtualne. Wybierz pozycję Maszyny wirtualne w wynikach wyszukiwania.
Na karcie Podstawy tworzenia maszyny wirtualnej wprowadź lub wybierz następujące informacje:
| Ustawienie |
Wartość |
|
Szczegóły projektu |
|
| Subskrypcja |
Wybierz subskrypcję. |
| Grupa zasobów |
Wybierz pozycję test-rg. |
|
Szczegóły wystąpienia |
|
| Nazwa maszyny wirtualnej |
Wprowadź wartość vm-1. |
| Region (Region) |
Wybierz pozycję (Stany Zjednoczone) Zachodnie stany USA 2. |
| Opcje dostępności |
Wybierz pozycję Brak wymaganej nadmiarowości infrastruktury. |
| Typ zabezpieczeń |
Wybierz opcję Standardowa. |
| obraz |
Wybierz pozycję Windows Server 2022 Datacenter — x64 Gen2. |
| Rozmiar |
Wybierz rozmiar. |
|
Konto administratora |
|
| Nazwa użytkownika |
Wprowadź nazwę użytkownika. |
| Hasło |
Wprowadź hasło. |
| Potwierdź hasło |
Wprowadź ponownie hasło. |
|
Reguły portów przychodzących |
|
Wybierz pozycję Dalej: Dyski, a następnie wybierz pozycję Dalej: Sieć.
Na karcie Sieć wprowadź lub wybierz następujące informacje.
| Ustawienie |
Wartość |
|
Interfejs sieciowy |
|
| Sieć wirtualna |
Wybierz pozycję vnet-1. |
| Podsieć |
Wybierz podsieć-1 (10.0.0.0/24). |
| Publiczny adres IP |
Wybierz pozycję Brak. |
| Sieciowa grupa zabezpieczeń karty sieciowej |
Wybierz pozycję Brak. |
Pozostaw pozostałe ustawienia jako domyślne i wybierz pozycję Przejrzyj i utwórz.
Wybierz pozycję Utwórz.
Utwórz maszynę wirtualną w podsieci subnet-1 za pomocą polecenia New-AzVM. Podczas uruchamiania następującego polecenia zostanie wyświetlony monit o podanie poświadczeń. Wprowadzane wartości są konfigurowane jako nazwa użytkownika i hasło dla maszyny wirtualnej.
$vmParams = @{
ResourceGroupName = "test-rg"
Location = "westus2"
VirtualNetworkName = "vnet-1"
SubnetName = "subnet-1"
Name = "vm-1"
}
New-AzVm @vmParams
Utwórz maszynę wirtualną w podsieci subnet-1 za pomocą polecenia az vm create.
az vm create \
--resource-group test-rg \
--name vm-1 \
--image Win2022Datacenter \
--admin-username azureuser \
--vnet-name vnet-1 \
--subnet subnet-1
Poczekaj na zakończenie wdrażania maszyny wirtualnej, zanim przejdziesz do następnych kroków.
Potwierdzanie dostępu do dozwolonego konta magazynu
Zaloguj się w witrynie Azure Portal.
W polu wyszukiwania w portalu wprowadź ciąg Konta magazynu. Wybierz pozycję Konta magazynu w wynikach wyszukiwania.
Wybierz pozycję allowedaccount(random-number).
Rozwiń węzeł Zabezpieczenia i sieć , a następnie wybierz pozycję Klucze dostępu.
Skopiuj wartość key1. Ten klucz służy do mapowania dysku na konto magazynu z utworzonej wcześniej maszyny wirtualnej.
W polu wyszukiwania w portalu wprowadź ciąg Maszyny wirtualne. Wybierz pozycję Maszyny wirtualne w wynikach wyszukiwania.
Wybierz pozycję vm-1.
Rozwiń węzeł Operacje. Wybierz pozycję Uruchom polecenie.
Wybierz pozycję UruchomPowerShellScript.
Wklej następujący skrypt w obszarze Uruchom skrypt polecenia.
## Enter the storage account key for the allowed storage account that you recorded earlier.
$storageAcctKey1 = (pasted from procedure above)
$acctKey = ConvertTo-SecureString -String $storageAcctKey1 -AsPlainText -Force
## Replace the login account with the name of the storage account you created.
$credential = New-Object System.Management.Automation.PSCredential -ArgumentList ("Azure\allowedaccount"), $acctKey
## Replace the storage account name with the name of the storage account you created.
New-PSDrive -Name Z -PSProvider FileSystem -Root "\\allowedaccount.file.core.windows.net\file-share" -Credential $credential
Wybierz Uruchom.
Jeśli mapa dysku zakończy się pomyślnie, dane wyjściowe w polu Dane wyjściowe wyglądają podobnie do następującego przykładu:
Name Used (GB) Free (GB) Provider Root
---- --------- --------- -------- ----
Z FileSystem \\allowedaccount.file.core.windows.net\fil..
Potwierdzanie odmowy dostępu do odrzuconego konta magazynu
W polu wyszukiwania w portalu wprowadź ciąg Konta magazynu. Wybierz pozycję Konta magazynu w wynikach wyszukiwania.
Wybierz pozycję deniedaccount(random-number).
Rozwiń węzeł Zabezpieczenia i sieć , a następnie wybierz pozycję Klucze dostępu.
Skopiuj wartość key1. Ten klucz służy do mapowania dysku na konto magazynu z utworzonej wcześniej maszyny wirtualnej.
W polu wyszukiwania w portalu wprowadź ciąg Maszyny wirtualne. Wybierz pozycję Maszyny wirtualne w wynikach wyszukiwania.
Wybierz pozycję vm-1.
Rozwiń węzeł Operacje. Wybierz pozycję Uruchom polecenie.
Wybierz pozycję UruchomPowerShellScript.
Wklej następujący skrypt w obszarze Uruchom skrypt polecenia.
## Enter the storage account key for the denied storage account that you recorded earlier.
$storageAcctKey2 = (pasted from procedure above)
$acctKey = ConvertTo-SecureString -String $storageAcctKey2 -AsPlainText -Force
## Replace the login account with the name of the storage account you created.
$credential = New-Object System.Management.Automation.PSCredential -ArgumentList ("Azure\deniedaccount"), $acctKey
## Replace the storage account name with the name of the storage account you created.
New-PSDrive -Name Z -PSProvider FileSystem -Root "\\deniedaccount.file.core.windows.net\file-share" -Credential $credential
Wybierz Uruchom.
W polu Dane wyjściowe zostanie wyświetlony następujący komunikat o błędzie:
New-PSDrive : Access is denied
At line:1 char:1
+ New-PSDrive -Name Z -PSProvider FileSystem -Root "\\deniedaccount8675 ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (Z:PSDriveInfo) [New-PSDrive], Win32Exception
+ FullyQualifiedErrorId : CouldNotMapNetworkDrive,Microsoft.PowerShell.Commands.NewPSDriveCommand
Mapa dysku jest odrzucana z powodu zasad punktu końcowego usługi, które ograniczają dostęp do konta magazynu.
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ź ciąg test-rg w polu Wprowadź nazwę grupy zasobów, aby potwierdzić usunięcie, a następnie wybierz pozycję Usuń.
Gdy grupa zasobów nie jest już potrzebna, możesz użyć polecenia Remove-AzResourceGroup , aby usunąć grupę zasobów i wszystkie zawarte w niej zasoby:
$params = @{
Name = "test-rg"
Force = $true
}
Remove-AzResourceGroup @params
Gdy grupa zasobów nie jest już potrzebna, użyj polecenia az group delete , aby usunąć grupę zasobów i wszystkie zawarte w niej zasoby.
az group delete \
--name test-rg \
--yes \
--no-wait
Następne kroki
W tym samouczku utworzono zasady punktu końcowego usługi i skojarzyliśmy je z podsiecią. Aby dowiedzieć się więcej na temat zasad punktu końcowego usługi, zobacz Omówienie zasad punktu końcowego usługi.