Samouczek: ograniczanie dostępu sieciowego do zasobów PaaS przy użyciu punktów końcowych usługi sieci wirtualnej
Artykuł
Punkty końcowe usługi dla sieci wirtualnej umożliwiają ograniczenie dostępu sieciowego do niektórych zasobów usługi platformy Azure do podsieci sieci wirtualnej. Możesz również uniemożliwić dostęp internetowy do zasobów. Punkty końcowe usługi zapewniają bezpośrednie połączenie z sieci wirtualnej z obsługiwanymi usługami platformy Azure, umożliwiając korzystanie z prywatnej przestrzeni adresowej sieci wirtualnej w celu uzyskiwania dostępu do usług platformy Azure. Ruch kierowany do zasobów platformy Azure za pośrednictwem punktów końcowych usługi zawsze pozostaje w sieci szkieletowej platformy Microsoft Azure.
Z tego samouczka dowiesz się, jak wykonywać następujące czynności:
Tworzenie sieci wirtualnej z jedną podsiecią
Dodawanie podsieci i włączanie punktu końcowego usługi
Tworzenie zasobów platformy Azure i zezwalanie na dostęp sieciowy do nich tylko z podsieci
Wdrażanie maszyny wirtualnej w każdej podsieci
Potwierdzanie dostępu do zasobu z podsieci
Potwierdzanie zablokowania dostępu do zasobu z podsieci i z Internetu
Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne 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+Shift V w systemach Windows i Linux lub wybierając pozycję Cmd+Shift++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 wolisz uruchamiać polecenia referencyjne interfejsu wiersza polecenia lokalnie, zainstaluj interfejs wiersza polecenia platformy Azure. Jeśli korzystasz z systemu Windows lub macOS, rozważ uruchomienie interfejsu wiersza polecenia platformy Azure w kontenerze Docker. Aby uzyskać więcej informacji, zobacz Jak uruchomić interfejs wiersza polecenia platformy Azure w kontenerze platformy Docker.
Jeśli korzystasz z instalacji lokalnej, zaloguj się do interfejsu wiersza polecenia platformy Azure za pomocą polecenia az login. Aby ukończyć proces uwierzytelniania, wykonaj kroki wyświetlane w terminalu. Aby uzyskać inne opcje logowania, zobacz Logowanie się przy użyciu interfejsu wiersza polecenia platformy Azure.
Uruchom polecenie az version, aby znaleźć zainstalowane wersje i biblioteki zależne. Aby uaktualnić do najnowszej wersji, uruchom polecenie az upgrade.
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 hosta usługi Azure Bastion
Poniższa procedura tworzy sieć wirtualną z podsiecią zasobów, podsiecią usługi Azure Bastion i hostem usługi Bastion:
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:
Ustawienie
Wartość
Szczegóły projektu
Subskrypcja
Wybierz subskrypcję.
Grupa zasobów
Wybierz pozycjęUtwórz nowy. Wprowadź wartość test-rg jako nazwę. Wybierz przycisk OK.
Szczegóły wystąpienia
Nazwisko
Wprowadź wartość vnet-1.
Region (Region)
Wybierz pozycję East US 2 (Wschodnie stany USA 2).
Wybierz przycisk Dalej , aby przejść do karty Zabezpieczenia .
W sekcji Azure Bastion wybierz pozycję Włącz usługę Azure Bastion.
Usługa Bastion używa przeglądarki do łączenia się z maszynami wirtualnymi w sieci wirtualnej za pośrednictwem protokołu Secure Shell (SSH) lub protokołu RDP (Remote Desktop Protocol) przy użyciu prywatnych adresów IP. Maszyny wirtualne nie potrzebują publicznych adresów IP, oprogramowania klienckiego ani specjalnej konfiguracji. Aby uzyskać więcej informacji, zobacz Co to jest usługa Azure Bastion?.
Uwaga
Ceny godzinowe zaczynają się od momentu wdrożenia usługi Bastion, niezależnie od użycia danych wychodzących. Aby uzyskać więcej informacji, zobacz Cennik i jednostki SKU. Jeśli wdrażasz usługę Bastion w ramach samouczka lub testu, zalecamy usunięcie tego zasobu po zakończeniu korzystania z niego.
W usłudze Azure Bastion wprowadź lub wybierz następujące informacje:
Ustawienie
Wartość
Nazwa hosta usługi Azure Bastion
Wprowadź bastion.
Publiczny adres IP usługi Azure Bastion
Wybierz pozycję Utwórz publiczny adres IP. Wprowadź wartość public-ip-bastion w polu Nazwa. Wybierz przycisk OK.
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:
Ustawienie
Wartość
Cel podsieci
Pozostaw wartość domyślną domyślnej.
Nazwisko
Wprowadź podsieć-1.
Protokół IPv4
Zakres adresów IPv4
Pozostaw wartość domyślną 10.0.0.0/16.
Adres początkowy
Pozostaw wartość domyślną 10.0.0.0.
Rozmiar
Pozostaw wartość domyślną /24 (256 adresów).
Wybierz pozycję Zapisz.
Wybierz pozycję Przejrzyj i utwórz w dolnej części okna. Po zakończeniu walidacji wybierz pozycję Utwórz.
Punkty końcowe usługi są włączane dla poszczególnych usług i podsieci.
W polu wyszukiwania w górnej części strony portalu wyszukaj pozycję Sieć wirtualna. Wybierz pozycję Sieci wirtualne w wynikach wyszukiwania.
W obszarze Sieci wirtualne wybierz pozycję vnet-1.
W sekcji Ustawienia sieci wirtualnej-1 wybierz pozycję Podsieci.
Wybierz pozycję + Podsieć.
Na stronie Dodawanie podsieci wprowadź lub wybierz następujące informacje:
Ustawienie
Wartość
Nazwisko
podsieć prywatna
Zakres adresów podsieci
Pozostaw wartość domyślną 10.0.2.0/24.
PUNKTY KOŃCOWE USŁUGI
Usługi
Wybierz pozycję Microsoft.Storage
Wybierz pozycję Zapisz.
Uwaga
Przed włączeniem punktu końcowego usługi dla istniejącej podsieci zawierającej zasoby zapoznaj się z sekcją Zmiana ustawień podsieci.
Tworzenie sieci wirtualnej
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:
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.
Utwórz podsieć w sieci wirtualnej, zapisując konfigurację podsieci w sieci wirtualnej za pomocą polecenia Set-AzVirtualNetwork:
$virtualNetwork | Set-AzVirtualNetwork
Utwórz kolejną podsieć w sieci wirtualnej. W tym przykładzie zostanie utworzona podsieć o nazwie subnet-private z punktem końcowym usługi microsoft.Storage:
Usługa Azure Bastion używa przeglądarki do łączenia się z maszynami wirtualnymi w sieci wirtualnej za pośrednictwem protokołu Secure Shell (SSH) lub protokołu RDP (Remote Desktop Protocol) przy użyciu ich prywatnych adresów IP. Maszyny wirtualne nie potrzebują publicznych adresów IP, oprogramowania klienckiego ani specjalnej konfiguracji. Aby uzyskać więcej informacji na temat usługi Bastion, zobacz Co to jest usługa Azure Bastion?.
Ceny godzinowe zaczynają się od momentu wdrożenia usługi Bastion, niezależnie od użycia danych wychodzących. Aby uzyskać więcej informacji, zobacz Cennik i jednostki SKU. Jeśli wdrażasz usługę Bastion w ramach samouczka lub testu, zalecamy usunięcie tego zasobu po zakończeniu korzystania z niego.
Skonfiguruj podsieć bastionu dla sieci wirtualnej. Ta podsieć jest zarezerwowana wyłącznie dla zasobów usługi Bastion i musi mieć nazwę AzureBastionSubnet.
Utwórz publiczny adres IP dla usługi Bastion. Host usługi Bastion używa publicznego adresu IP do uzyskiwania dostępu do protokołu SSH i protokołu RDP za pośrednictwem portu 443.
Wdrożenie zasobów usługi Bastion trwa około 10 minut. Maszyny wirtualne można utworzyć w następnej sekcji podczas wdrażania usługi Bastion w sieci wirtualnej.
Tworzenie sieci wirtualnej
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
Punkty końcowe usługi można włączyć tylko dla usług obsługujących punkty końcowe usługi. Wyświetlanie usług z obsługą punktów końcowych usługi dostępnych w lokalizacji platformy Azure za pomocą polecenia az network vnet list-endpoint-services. Poniższy przykład zwraca listę usług z obsługą punktów końcowych usługi dostępnych w regionie westus2 . Lista zwracanych usług będzie rosła wraz z upływem czasu, ponieważ więcej usług platformy Azure stanie się punktem końcowym usługi.
az network vnet list-endpoint-services \
--location westus2 \
--out table
Utwórz kolejną podsieć w sieci wirtualnej za pomocą polecenia az network vnet subnet create. W tym przykładzie dla podsieci zostanie utworzony punkt końcowy Microsoft.Storage usługi:
Domyślnie wszystkie wystąpienia maszyn wirtualnych w podsieci mogą komunikować się z dowolnymi zasobami. Można ograniczyć komunikację z zasobami w podsieci, tworząc grupę zabezpieczeń sieci i kojarząc ją z podsiecią.
W polu wyszukiwania w górnej części strony portalu wyszukaj pozycję Sieciowa grupa zabezpieczeń. Wybierz pozycję Sieciowe grupy zabezpieczeń w wynikach wyszukiwania.
W obszarze Sieciowe grupy zabezpieczeń wybierz pozycję + Utwórz.
Na karcie Podstawy 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.
Szczegóły wystąpienia
Nazwisko
Wprowadź ciąg nsg-storage.
Region (Region)
Wybierz pozycję East US 2 (Wschodnie stany USA 2).
Wybierz pozycję Przeglądanie i tworzenie, a następnie wybierz pozycję Utwórz.
Utwórz sieciową grupę zabezpieczeń przy użyciu polecenia New-AzNetworkSecurityGroup. Poniższy przykład tworzy sieciową grupę zabezpieczeń o nazwie nsg-private.
Utwórz sieciową grupę zabezpieczeń za pomocą polecenia az network nsg create. Poniższy przykład tworzy sieciową grupę zabezpieczeń o nazwie nsg-private.
az network nsg create \
--resource-group test-rg \
--name nsg-private
Tworzenie reguł sieciowej grupy zabezpieczeń dla ruchu wychodzącego
W polu wyszukiwania w górnej części strony portalu wyszukaj pozycję Sieciowa grupa zabezpieczeń. Wybierz pozycję Sieciowe grupy zabezpieczeń w wynikach wyszukiwania.
Wybierz pozycję nsg-storage.
Wybierz pozycję Reguły zabezpieczeń dla ruchu wychodzącego w obszarze Ustawienia.
Wybierz + Dodaj.
Utwórz regułę, która umożliwia komunikację wychodzącą do usługi Azure Storage. Wprowadź lub wybierz następujące informacje w obszarze Dodawanie reguły zabezpieczeń dla ruchu wychodzącego:
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
Pozostaw wartość domyślną .*
Element docelowy
wybierz pozycję Tag usługi.
Docelowy tag usługi
Wybierz pozycję Magazyn.
Usługa
Pozostaw wartość domyślną Niestandardowe.
Zakresy portów docelowych
Wprowadź wartość 445.
Protokół
Wybierz dowolną.
Akcja
Zaznacz Zezwól.
Priorytet
Pozostaw wartość domyślną 100.
Nazwisko
Wprowadź wartość allow-storage-all.
Wybierz + Dodaj.
Utwórz kolejną regułę zabezpieczeń dla ruchu wychodzącego, która nie zezwala na komunikację z Internetem. Ta reguła zastępuje regułę domyślną we wszystkich grupach zabezpieczeń sieci, umożliwiającą wychodzącą komunikacja internetową. Wykonaj poprzednie kroki z następującymi wartościami w temacie Dodawanie reguły zabezpieczeń dla ruchu wychodzącego:
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
Pozostaw wartość domyślną .*
Element docelowy
wybierz pozycję Tag usługi.
Docelowy tag usługi
wybierz pozycję Internet.
Usługa
Pozostaw wartość domyślną Niestandardowe.
Zakresy portów docelowych
Wprowadź *.
Protokół
Wybierz dowolną.
Akcja
Wybierz pozycję Odmów.
Priorytet
Pozostaw wartość domyślną 110.
Nazwisko
Wprowadź wartość deny-internet-all.
Wybierz Dodaj.
W polu wyszukiwania w górnej części strony portalu wyszukaj pozycję Sieciowa grupa zabezpieczeń. Wybierz pozycję Sieciowe grupy zabezpieczeń w wynikach wyszukiwania.
Wybierz pozycję nsg-storage.
Wybierz pozycję Podsieci w obszarze Ustawienia.
Wybierz pozycję + Skojarz.
W obszarze Skojarz podsieć wybierz pozycję vnet-1 w obszarze Sieć wirtualna. Wybierz pozycję Podsieć prywatna w podsieci.
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:
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.
# Retrieve the existing network security group
$nsgpriv = @{
ResourceGroupName = 'test-rg'
Name = 'nsg-private'
}
$nsg = Get-AzNetworkSecurityGroup @nsgpriv
# Add the new rules to the security group
$nsg.SecurityRules += $rule1
$nsg.SecurityRules += $rule2
# Update the network security group with the new rules
Set-AzNetworkSecurityGroup -NetworkSecurityGroup $nsg
Skojarz sieciową grupę zabezpieczeń z podsiecią subnet-private z poleceniem Set-AzVirtualNetworkSubnetConfig , a następnie zapisz konfigurację podsieci w sieci wirtualnej. Poniższy przykład umożliwia skojarzenie sieciowej grupy zabezpieczeń sieci prywatnej z podsiecią subnet-private :
Utwórz reguły zabezpieczeń za pomocą polecenia az network nsg rule create. Poniższa reguła zezwala na dostęp wychodzący do publicznych adresów IP przypisanych do usługi Azure Storage:
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.
Poniższa reguła zezwala na ruch SSH przychodzący do podsieci z dowolnego miejsca. Reguła zastępuje domyślną regułę zabezpieczeń, która zakazuje całego ruchu przychodzącego z Internetu. Protokół SSH jest dozwolony w podsieci, aby można było przetestować łączność w późniejszym kroku.
Skojarz sieciową grupę zabezpieczeń z podsiecią prywatną podsieci za pomocą polecenia az network vnet subnet update. Poniższy przykład umożliwia skojarzenie sieciowej grupy zabezpieczeń sieci prywatnej z podsiecią subnet-private :
Kroki wymagane do ograniczenia dostępu sieciowego do zasobów utworzonych za pośrednictwem usług platformy Azure, które są włączone dla punktów końcowych usługi, różnią się w zależności od usług. Zobacz dokumentację poszczególnych usług, aby poznać konkretne kroki dla każdej usługi. W pozostałej części tego samouczka przedstawiono kroki ograniczania dostępu do sieci dla konta usługi Azure Storage, na przykład.
Tworzenie konta magazynu
Utwórz konto usługi Azure Storage na potrzeby kroków opisanych w tym artykule. Jeśli masz już konto magazynu, możesz go użyć.
W polu wyszukiwania w górnej części portalu wprowadź wartość Konto magazynu. Wybierz pozycję Konta magazynu w wynikach wyszukiwania.
Wybierz + Utwórz.
Na karcie Podstawy tworzenia konta magazynu wprowadź lub wybierz następujące informacje:
Ustawienie
Wartość
Szczegóły projektu
Subskrypcja
Wybierz subskrypcję platformy Azure.
Grupa zasobów
Wybierz pozycję test-rg.
Szczegóły wystąpienia
Nazwa konta magazynu
Wprowadź wartość storage1. Jeśli nazwa jest niedostępna, wprowadź unikatową nazwę.
Lokalizacja
Wybierz pozycję (USA) Wschodnie stany USA 2.
Wydajność
Pozostaw wartość domyślną Standardowa.
Nadmiarowość
Wybierz pozycję Magazyn lokalnie nadmiarowy (LRS).
Wybierz opcję Przejrzyj.
Wybierz pozycję Utwórz.
Utwórz konto usługi Azure Storage przy użyciu polecenia New-AzStorageAccount. Zastąp <replace-with-your-unique-storage-account-name> ciąg nazwą unikatową we wszystkich lokalizacjach platformy Azure o długości od 3 do 24 znaków, używając tylko cyfr i małych liter.
Na potrzeby tego samouczka parametry połączenia służy do nawiązywania połączenia z kontem magazynu. Firma Microsoft zaleca korzystanie z najbezpieczniejszego dostępnego przepływu uwierzytelniania. Przepływ uwierzytelniania opisany w tej procedurze wymaga wysokiego stopnia 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.
Klucz jest używany do tworzenia udziału plików w późniejszym kroku. Wprowadź $storageAcctKey i zanotuj wartość. Ręcznie wprowadź go w późniejszym kroku podczas mapowania udziału plików na dysk na maszynie wirtualnej.
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 konta magazynu
Utwórz konto usługi Azure Storage za pomocą polecenia az storage account create. Zastąp <replace-with-your-unique-storage-account-name> ciąg nazwą unikatową we wszystkich lokalizacjach platformy Azure o długości od 3 do 24 znaków, używając tylko cyfr i małych liter.
Po utworzeniu konta magazynu pobierz parametry połączenia dla konta 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.
Na potrzeby tego samouczka parametry połączenia służy do nawiązywania połączenia z kontem magazynu. Firma Microsoft zaleca korzystanie z najbezpieczniejszego dostępnego przepływu uwierzytelniania. Przepływ uwierzytelniania opisany w tej procedurze wymaga wysokiego stopnia 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.
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.
Domyślnie konta magazynu akceptują połączenia sieciowe od klientów znajdujących się w dowolnej sieci, w tym w Internecie. Dostęp do sieci można ograniczyć z Internetu i wszystkie inne podsieci we wszystkich sieciach wirtualnych (z wyjątkiem podsieci podsieci prywatnej w sieci wirtualnej vnet-1 ).
Aby ograniczyć dostęp sieciowy do podsieci:
W polu wyszukiwania w górnej części portalu wprowadź wartość Konto magazynu. Wybierz pozycję Konta magazynu w wynikach wyszukiwania.
Wybierz swoje konto magazynu.
W obszarze Zabezpieczenia i sieć wybierz pozycję Sieć.
Na karcie Zapory i sieci wirtualne wybierz pozycję Włączone z wybranych sieci wirtualnych i adresów IP w obszarze Dostęp do sieci publicznej.
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 pozycję Podsieć-private.
Wybierz Dodaj.
Wybierz pozycję Zapisz , aby zapisać konfiguracje sieci wirtualnej.
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 Update-AzStorageAccountNetworkRuleSet. Po odmowie dostępu do sieci konto magazynu nie jest dostępne z żadnej sieci.
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.
Aby przetestować dostęp sieciowy do konta magazynu, wdróż maszynę wirtualną w każdej podsieci.
Tworzenie testowej maszyny wirtualnej
Poniższa procedura tworzy testową maszynę wirtualną o nazwie vm-1 w sieci wirtualnej.
W portalu wyszukaj i wybierz pozycję Maszyny wirtualne.
W obszarze Maszyny wirtualne wybierz pozycję + Utwórz, a następnie maszynę wirtualną platformy Azure.
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
Virtual machine name
Wprowadź wartość vm-1.
Region (Region)
Wybierz pozycję East US 2 (Wschodnie stany USA 2).
Opcje dostępności
Wybierz pozycję Brak wymaganej nadmiarowości infrastruktury.
Typ zabezpieczeń
Pozostaw wartość domyślną standardu.
Obraz
Wybierz pozycję Windows Server 2022 Datacenter — x64 Gen2.
Architektura maszyny wirtualnej
Pozostaw wartość domyślną x64.
Rozmiar
Wybierz rozmiar.
Konto administratora
Typ uwierzytelniania
Wybierz pozycję Hasło.
Username
Wprowadź azureuser.
Hasło
Wprowadź hasło.
Potwierdź hasło
Wprowadź ponownie hasło.
Reguły portów przychodzących
Publiczne porty ruchu przychodzącego
Wybierz pozycję Brak.
Wybierz kartę Sieć w górnej części strony.
Wprowadź lub wybierz następujące informacje na karcie Sieć :
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 opcję Zaawansowane.
Konfigurowanie sieciowej grupy zabezpieczeń
Wybierz pozycjęUtwórz nowy. Wprowadź nazwę nsg-1 . Pozostaw wartości domyślne pozostałych i wybierz przycisk OK.
Pozostaw pozostałe ustawienia domyślne i wybierz pozycję Przejrzyj i utwórz.
Przejrzyj ustawienia i wybierz pozycję Utwórz.
Uwaga
Maszyny wirtualne w sieci wirtualnej z hostem bastionu nie wymagają publicznych adresów IP. Usługa Bastion udostępnia publiczny adres IP, a maszyny wirtualne używają prywatnych adresów IP do komunikacji w sieci. Publiczne adresy IP można usunąć ze wszystkich maszyn wirtualnych w sieciach wirtualnych hostowanych w bastionie. Aby uzyskać więcej informacji, zobacz Usuwanie skojarzenia publicznego adresu IP z maszyny wirtualnej platformy Azure.
Uwaga
Platforma Azure udostępnia domyślny adres IP dostępu wychodzącego dla maszyn wirtualnych, które nie są przypisane do publicznego adresu IP lub znajdują się w puli zaplecza wewnętrznego podstawowego modułu równoważenia obciążenia platformy Azure. Domyślny mechanizm adresów IP dostępu wychodzącego zapewnia wychodzący adres IP, który nie jest konfigurowalny.
Domyślny adres IP dostępu wychodzącego jest wyłączony, gdy wystąpi jedno z następujących zdarzeń:
Publiczny adres IP jest przypisywany do maszyny wirtualnej.
Maszyna wirtualna jest umieszczana w puli zaplecza standardowego modułu równoważenia obciążenia z regułami ruchu wychodzącego lub bez tych reguł.
Utwórz drugą maszynę wirtualną powtarzającą kroki opisane w poprzedniej sekcji. Zastąp następujące wartości w sekcji Tworzenie maszyny wirtualnej:
Ustawienie
Wartość
Virtual machine name
Wprowadź wartość vm-private.
Podsieć
Wybierz pozycję Podsieć-private.
Publiczny adres IP
Wybierz pozycję Brak.
Sieciowa grupa zabezpieczeń karty sieciowej
Wybierz pozycję Brak.
Ostrzeżenie
Nie należy przechodzić do następnego kroku, dopóki wdrożenie nie zostanie ukończone.
Tworzenie pierwszej maszyny wirtualnej
Utwórz maszynę wirtualną w podsieci subnet-public 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.
Utworzenie maszyny wirtualnej na platformie Azure zajmuje kilka minut. Nie wykonuj następnego kroku, dopóki platforma Azure nie zakończy tworzenia maszyny wirtualnej i zwraca dane wyjściowe do programu PowerShell.
Aby przetestować dostęp sieciowy do konta magazynu, należy wdrożyć maszynę wirtualną w każdej podsieci.
Tworzenie pierwszej maszyny wirtualnej
Utwórz maszynę wirtualną w podsieci subnet-public za pomocą polecenia az vm create. Jeśli klucze SSH nie istnieją jeszcze w domyślnej lokalizacji kluczy, to polecenie je utworzy. Aby użyć określonego zestawu kluczy, użyj opcji --ssh-key-value.
W ciągu kilku minut zostanie utworzona maszyna wirtualna. Po utworzeniu maszyny wirtualnej interfejs wiersza polecenia platformy Azure wyświetla informacje podobne do następującego przykładu:
Utworzona wcześniej maszyna wirtualna przypisana do podsieci subnet-private służy do potwierdzania dostępu do konta magazynu. Maszyna wirtualna utworzona w poprzedniej sekcji przypisana do podsieci subnet-1 jest używana do potwierdzenia, że dostęp do konta magazynu jest zablokowany.
Uzyskiwanie klucza dostępu do konta magazynu
W polu wyszukiwania w górnej części portalu wprowadź wartość Konto magazynu. Wybierz pozycję Konta magazynu w wynikach wyszukiwania.
W obszarze Konta magazynu wybierz konto magazynu.
W obszarze Zabezpieczenia i sieć wybierz pozycję Klucze dostępu.
Skopiuj wartość key1. Może być konieczne wybranie przycisku Pokaż , aby wyświetlić klucz.
W polu wyszukiwania w górnej części portalu wprowadź ciąg Maszyna wirtualna. Wybierz pozycję Maszyny wirtualne w wynikach wyszukiwania.
Wybierz pozycję vm-private.
Wybierz pozycję Bastion w obszarze Operacje.
Wprowadź nazwę użytkownika i hasło określone podczas tworzenia maszyny wirtualnej. Wybierz pozycję Połącz.
Otwórz Windows PowerShell Użyj następującego skryptu, aby zamapować udział plików platformy Azure na dysk Z.
Zastąp ciąg <storage-account-key> kluczem skopiowany w poprzednim kroku.
Zastąp wartość <storage-account-name> nazwą konta magazynu. W tym przykładzie jest to storage8675.
Program PowerShell zwraca dane wyjściowe podobne do następujących przykładowych danych wyjściowych:
Name Used (GB) Free (GB) Provider Root
---- --------- --------- -------- ----
Z FileSystem \\storage8675.file.core.windows.net\f...
Udział plików platformy Azure został pomyślnie mapowany na dysk Z.
Zamknij połączenie usługi Bastion z maszyną wirtualną prywatną.
Utworzona wcześniej maszyna wirtualna przypisana do podsieci subnet-private służy do potwierdzania dostępu do konta magazynu. Maszyna wirtualna utworzona w poprzedniej sekcji przypisana do podsieci subnet-1 jest używana do potwierdzenia, że dostęp do konta magazynu jest zablokowany.
Program PowerShell zwraca dane wyjściowe podobne do następujących przykładowych danych wyjściowych:
Name Used (GB) Free (GB) Provider Root
---- --------- --------- -------- ----
Z FileSystem \\storage8675.file.core.windows.net\f...
Udział plików platformy Azure został pomyślnie mapowany na dysk Z.
Upewnij się, że maszyna wirtualna nie ma łączności wychodzącej z żadnymi innymi publicznymi adresami IP:
ping bing.com
Nie otrzymujesz żadnych odpowiedzi, ponieważ sieciowa grupa zabezpieczeń skojarzona z podsiecią Prywatna nie zezwala na dostęp wychodzący do publicznych adresów IP innych niż adresy przypisane do usługi Azure Storage.
Zamknij połączenie usługi Bastion z maszyną wirtualną prywatną.
Protokół SSH do maszyny wirtualnej vm-private .
Uruchom następujące polecenie, aby zapisać adres IP maszyny wirtualnej jako zmienną środowiskową:
export IP_ADDRESS=$(az vm show --show-details --resource-group test-rg --name vm-private --query publicIps --output tsv)
ssh -o StrictHostKeyChecking=no azureuser@$IP_ADDRESS
Utwórz folder dla punktu instalacji:
sudo mkdir /mnt/file-share
Zainstaluj udział plików platformy Azure w utworzonym katalogu. Przed uruchomieniem następującego polecenia zastąp <storage-account-name> ciąg nazwą konta i <storage-account-key> kluczem pobranym w sekcji Tworzenie konta magazynu.
sudo mount --types cifs //<storage-account-name>.file.core.windows.net/my-file-share /mnt/file-share --options vers=3.0,username=<storage-account-name>,password=<storage-account-key>,dir_mode=0777,file_mode=0777,serverino
Zostanie wyświetlony user@vm-private:~$ monit. Udział plików platformy Azure został pomyślnie zainstalowany w folderze /mnt/file-share.
Upewnij się, że maszyna wirtualna nie ma łączności wychodzącej z żadnymi innymi publicznymi adresami IP:
ping bing.com -c 4
Nie otrzymasz żadnych odpowiedzi, ponieważ sieciowa grupa zabezpieczeń skojarzona z podsiecią prywatną podsieci nie zezwala na dostęp wychodzący do publicznych adresów IP innych niż adresy przypisane do usługi Azure Storage.
Zamknij sesję SSH z maszyną wirtualną vm-private .
W polu wyszukiwania w górnej części portalu wprowadź ciąg Maszyna wirtualna. Wybierz pozycję Maszyny wirtualne w wynikach wyszukiwania.
Wybierz pozycję vm-1.
Wybierz pozycję Bastion w obszarze Operacje.
Wprowadź nazwę użytkownika i hasło określone podczas tworzenia maszyny wirtualnej. Wybierz pozycję Połącz.
Powtórz poprzednie polecenie, aby spróbować zamapować dysk do udziału plików na koncie magazynu. W tej procedurze może być konieczne ponowne skopiowanie klucza dostępu do konta magazynu:
Zamknij połączenie usługi Bastion z maszyną wirtualną-1.
Z komputera lokalnego
W polu wyszukiwania w górnej części portalu wprowadź wartość Konto magazynu. Wybierz pozycję Konta magazynu w wynikach wyszukiwania.
W obszarze Konta magazynu wybierz konto magazynu.
W obszarze Magazyn danych wybierz pozycję Udziały plików.
Wybierz pozycję Udział plików.
Wybierz pozycję Przeglądaj w menu po lewej stronie.
Powinien zostać wyświetlony następujący komunikat o błędzie:
Uwaga
Odmowa dostępu, ponieważ komputer nie znajduje się w podsieci prywatnej podsieci sieci wirtualnej vnet-1 .
Z maszyny wirtualnej vm-1
W polu wyszukiwania w górnej części portalu wprowadź ciąg Maszyna wirtualna. Wybierz pozycję Maszyny wirtualne w wynikach wyszukiwania.
Wybierz pozycję vm-1.
Wybierz pozycję Bastion w obszarze Operacje.
Wprowadź nazwę użytkownika i hasło określone podczas tworzenia maszyny wirtualnej. Wybierz pozycję Połącz.
Powtórz poprzednie polecenie, aby spróbować zamapować dysk do udziału plików na koncie magazynu. W tej procedurze może być konieczne ponowne skopiowanie klucza dostępu do konta magazynu:
Odmowa dostępu. Otrzymasz dane wyjściowe podobne do poniższego przykładu.
Get-AzStorageFile : The remote server returned an error: (403) Forbidden. HTTP Status Code: 403 - HTTP Error Message: This request isn't authorized to perform this operation
Komputer nie znajduje się w podsieci prywatnej podsieci sieci wirtualnej vnet-1.
Połączenie SSH z publiczną maszyną wirtualną.
Uruchom następujące polecenie, aby zapisać adres IP maszyny wirtualnej jako zmienną środowiskową:
export IP_ADDRESS=$(az vm show --show-details --resource-group test-rg --name vm-public --query publicIps --output tsv)
ssh -o StrictHostKeyChecking=no azureuser@$IP_ADDRESS
Utwórz katalog dla punktu instalacji:
sudo mkdir /mnt/file-share
Spróbuj zainstalować udział plików platformy Azure w utworzonym katalogu. W tym artykule założono, że wdrożono najnowszą wersję systemu Ubuntu. Jeśli używasz wcześniejszych wersji systemu Ubuntu, zobacz Instalowanie w systemie Linux , aby uzyskać więcej instrukcji dotyczących instalowania udziałów plików. Przed uruchomieniem następującego polecenia zastąp <storage-account-name> ciąg nazwą konta i <storage-account-key> kluczem pobranym w sekcji Tworzenie konta magazynu:
sudo mount --types cifs //storage-account-name>.file.core.windows.net/file-share /mnt/file-share --options vers=3.0,username=<storage-account-name>,password=<storage-account-key>,dir_mode=0777,file_mode=0777,serverino
Odmowa dostępu i występuje mount error(13): Permission denied błąd, ponieważ maszyna wirtualna-publiczna maszyna wirtualna jest wdrażana w podsieci subnet-public . Podsieć publiczna podsieci nie ma punktu końcowego usługi włączonego dla usługi Azure Storage, a konto magazynu zezwala tylko na dostęp sieciowy z podsieci subsieci prywatnej podsieci, a nie podsieci publicznej podsieci.
Zamknij sesję SSH z publiczną maszyną wirtualną vm-public .
Na komputerze spróbuj wyświetlić udziały na koncie magazynu za pomocą polecenia az storage share list. Zastąp <account-name> wartości i <account-key> nazwą konta magazynu i kluczem z sekcji Tworzenie konta magazynu:
az storage share list \
--account-name <account-name> \
--account-key <account-key>
Odmowa dostępu i otrzymasz żądanie To żądanie nie jest autoryzowane do wykonania tego błędu operacji , ponieważ komputer nie znajduje się w podsieci prywatnej podsieci sieci wirtualnej vnet-1 .
Jeśli masz wiele sieci wirtualnych na swoim koncie, możesz chcieć ustanowić łączność między nimi, aby zasoby mogły komunikować się ze sobą. Aby dowiedzieć się, jak połączyć sieci wirtualne, przejdź do następnego samouczka.