VNET-Dienstendpunkte ermöglichen es Ihnen, den Netzwerkzugriff auf einige Azure-Dienstressourcen auf ein Subnetz eines virtuellen Netzwerks einzuschränken. Sie können auch den Internetzugriff auf die Ressourcen entfernen. Dienstendpunkte ermöglichen eine direkte Verbindung zwischen Ihrem virtuellen Netzwerk und unterstützten Azure-Diensten, sodass Sie mithilfe des privaten Adressraums Ihres virtuellen Netzwerks auf die Azure-Dienste zugreifen können. Datenverkehr, der über Dienstendpunkte für Azure-Ressourcen bestimmt ist, verbleibt immer im Microsoft Azure-Backbonenetzwerk.
In diesem Tutorial lernen Sie Folgendes:
- Erstellen eines virtuellen Netzwerks mit einem Subnetz
- Hinzufügen eines Subnetzes und Aktivieren eines Dienstendpunkts
- Erstellen einer Azure-Ressource und Zulassen des Netzwerkzugriffs darauf ausschließlich aus einem Subnetz
- Bereitstellen eines virtuellen Computers für jedes Subnetz
- Bestätigen des Zugriffs auf eine Ressource aus einem Subnetz
- Bestätigen, dass der Zugriff auf eine Ressource aus einem Subnetz und dem Internet verweigert wird
Voraussetzungen
Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.
Azure Cloud Shell
Azure hostet Azure Cloud Shell, eine interaktive Shell-Umgebung, die Sie über Ihren Browser nutzen können. Sie können entweder Bash oder PowerShell mit Cloud Shell verwenden, um mit Azure-Diensten zu arbeiten. Sie können die vorinstallierten Befehle von Cloud Shell verwenden, um den Code in diesem Artikel auszuführen, ohne etwas in Ihrer lokalen Umgebung installieren zu müssen.
Starten von Azure Cloud Shell:
Auswahlmöglichkeit |
Beispiel/Link |
Wählen Sie rechts oben in einem Code- oder Befehlsblock die Option Ausprobieren aus. Durch die Auswahl von Ausprobieren wird der Code oder Befehl nicht automatisch in Cloud Shell kopiert. |
|
Rufen Sie https://shell.azure.com auf, oder klicken Sie auf die Schaltfläche Cloud Shell starten, um Cloud Shell im Browser zu öffnen. |
|
Wählen Sie im Azure-Portal rechts oben im Menü die Schaltfläche Cloud Shell aus. |
|
So verwenden Sie Azure Cloud Shell:
Starten Sie Cloud Shell.
Wählen Sie die Schaltfläche Kopieren für einen Codeblock (oder Befehlsblock) aus, um den Code oder Befehl zu kopieren.
Fügen Sie den Code oder Befehl mit STRG+UMSCHALT+V unter Windows und Linux oder CMD+UMSCHALT+V unter macOS in die Cloud Shell-Sitzung ein.
Drücken Sie die EINGABETASTE, um den Code oder Befehl auszuführen.
Wenn Sie PowerShell lokal installieren und verwenden möchten, müssen Sie für diesen Artikel mindestens Version 1.0.0 des Azure PowerShell-Moduls verwenden. Führen Sie Get-Module -ListAvailable Az
aus, um die installierte Version zu ermitteln. Wenn Sie ein Upgrade ausführen müssen, finden Sie unter Installieren des Azure PowerShell-Moduls Informationen dazu. Wenn Sie PowerShell lokal ausführen, müssen Sie auch Connect-AzAccount
ausführen, um eine Verbindung mit Azure herzustellen.
Wenn Sie nicht über ein Azure-Konto verfügen, erstellen Sie ein kostenloses Konto , bevor Sie beginnen.
- Für diesen Artikel ist mindestens Version 2.0.28 der Azure CLI erforderlich. Bei Verwendung von Azure Cloud Shell ist die aktuelle Version bereits installiert.
Aktivieren eines Dienstendpunkts
Erstellen eines virtuellen Netzwerks und eines Azure Bastion-Hosts
Mit den folgenden Schritten wird ein virtuelles Netzwerk mit einem Ressourcensubnetz, einem Azure Bastion-Subnetz und einem Bastion-Host erstellt:
Suchen Sie im Portal nach der Option Virtuelle Netzwerke und wählen Sie sie aus.
Wählen Sie auf der Seite Virtuelle Netzwerke die Option + Erstellen aus.
Geben Sie unter Virtuelles Netzwerk erstellen auf der Registerkarte Grundlagen die folgenden Informationen ein, oder wählen Sie sie aus:
Einstellung |
Wert |
Projektdetails |
|
Abonnement |
Wählen Sie Ihr Abonnement aus. |
Ressourcengruppe |
Wählen Sie Neu erstellen.
Geben Sie test-rg für den Namen ein.
Wählen Sie OK aus. |
Instanzendetails |
|
Name |
Geben Sie vnet-1 ein. |
Region |
Wählen Sie USA, Osten 2 aus. |
Wählen Sie Weiter aus, um zur Registerkarte Sicherheit zu gelangen.
Wählen Sie im Abschnitt Azure Bastion die Option Azure Bastion aktivieren aus.
Bastion verwendet Ihren Browser, um mithilfe ihrer privaten IP-Adressen eine Verbindung mit VMs in Ihrem virtuellen Netzwerk über Secure Shell (SSH) oder das Remotedesktopprotokoll (RDP) herzustellen. Die VMs benötigen keine öffentlichen IP-Adressen, keine Clientsoftware und keine spezielle Konfiguration. Weitere Informationen finden Sie unter Was ist Azure Bastion?.
Hinweis
Die Stundenpreise gelten ab dem Zeitpunkt der Bereitstellung von Bastion, unabhängig von der Nutzung ausgehender Daten. Weitere Informationen dazu finden Sie unter Preise und SKUs. Wenn Sie Bastion im Rahmen eines Tutorials oder Tests bereitstellen, empfiehlt es sich, diese Ressource zu löschen, sobald Sie sie nicht mehr benötigen.
Geben Sie unter Azure Bastion die folgenden Informationen ein, oder wählen Sie diese aus:
Einstellung |
Wert |
Azure Bastion-Hostname |
Geben Sie bastion ein. |
Öffentliche Azure Bastion-IP-Adresse |
Wählen Sie Öffentliche IP-Adresse erstellen aus.
Geben Sie public-ip-bastion als Namen ein.
Wählen Sie OK aus. |
Wählen Sie Weiter aus, um zur Registerkarte IP-Adressen zu gelangen.
Wählen Sie im Feld für den Adressraum unter Subnetze das Standardsubnetz aus.
Geben Sie unter Subnetz bearbeiten die folgenden Informationen ein, oder wählen Sie sie aus:
Einstellung |
Wert |
Subnetzzweck |
Übernehmen Sie den Standardwert Default. |
Name |
Geben Sie subnet-1 ein. |
IPv4 |
|
IPv4-Adressbereich |
Übernehmen Sie den Standardwert 10.0.0.0/16. |
Startadresse |
Übernehmen Sie den Standardwert 10.0.0.0. |
Größe |
Übernehmen Sie den Standardwert: /24 (256 Adressen). |
Wählen Sie Speichern.
Wählen Sie unten im Fenster die Option Überprüfen + erstellen aus. Klicken Sie nach der Validierung auf Erstellen.
Dienstendpunkte werden pro Dienst und pro Subnetz aktiviert.
Suchen Sie mithilfe des Suchfelds oben auf der Portalseite nach virtuelles Netzwerk. Wählen Sie in den Suchergebnissen Virtuelle Netzwerke aus.
Wählen Sie in Virtuelle Netzwerke das Netzwerk vnet-1 aus.
Wählen Sie im Abschnitt Einstellungen von vnet-1 die Option Subnetze aus.
Wählen Sie + Subnetz aus.
Geben Sie auf der Seite Subnetz hinzufügen die folgenden Informationen ein, oder wählen Sie sie aus:
Einstellung |
Wert |
Name |
Subnetz-privat |
Subnetzadressbereich |
Übernehmen Sie den Standardwert 10.0.2.0/24. |
DIENSTENDPUNKTE |
|
Dienste |
Wählen Sie Microsoft.Storage aus. |
Wählen Sie Speichern.
Achtung
Lesen Sie vor der Aktivierung eines Dienstendpunkts für ein vorhandenes Subnetz, das Ressourcen enthält, die Informationen unter Ändern von Subnetzeinstellungen.
Erstellen eines virtuellen Netzwerks
Vor der Erstellung eines virtuellen Netzwerks müssen Sie eine Ressourcengruppe für das virtuelle Netzwerk und alle anderen in diesem Artikel erstellten Ressourcen erstellen. Erstellen Sie mit New-AzResourceGroup eine Ressourcengruppe. Im folgenden Beispiel wird eine Ressourcengruppe mit dem Namen test-rg erstellt.
$rg = @{
ResourceGroupName = "test-rg"
Location = "westus2"
}
New-AzResourceGroup @rg
Erstellen Sie mit New-AzVirtualNetwork ein virtuelles Netzwerk. Im folgenden Beispiel wird ein virtuelles Netzwerk namens vnet-1 mit dem Adresspräfix 10.0.0.0/16 erstellt.
$vnet = @{
ResourceGroupName = "test-rg"
Location = "westus2"
Name = "vnet-1"
AddressPrefix = "10.0.0.0/16"
}
$virtualNetwork = New-AzVirtualNetwork @vnet
Erstellen Sie mit New-AzVirtualNetworkSubnetConfig eine Subnetzkonfiguration. Im folgenden Beispiel wird eine Subnetzkonfiguration für das Subnetz subnet-public erstellt:
$subpub = @{
Name = "subnet-public"
AddressPrefix = "10.0.0.0/24"
VirtualNetwork = $virtualNetwork
}
$subnetConfigPublic = Add-AzVirtualNetworkSubnetConfig @subpub
Erstellen Sie das Subnetz im virtuellen Netzwerk, indem Sie die Subnetzkonfiguration mit Set-AzVirtualNetwork in das virtuelle Netzwerk schreiben:
$virtualNetwork | Set-AzVirtualNetwork
Erstellen Sie ein weiteres Subnetz im virtuellen Netzwerk. In diesem Beispiel wird das Subnetz subnet-private mit einem Dienstendpunkt für Microsoft.Storage erstellt:
$subpriv = @{
Name = "subnet-private"
AddressPrefix = "10.0.2.0/24"
VirtualNetwork = $virtualNetwork
ServiceEndpoint = "Microsoft.Storage"
}
$subnetConfigPrivate = Add-AzVirtualNetworkSubnetConfig @subpriv
$virtualNetwork | Set-AzVirtualNetwork
Bereitstellen von Azure Bastion
Azure Bastion verwendet Ihren Browser, um mithilfe der privaten IP-Adressen eine Verbindung mit VMs in Ihrem virtuellen Netzwerk über Secure Shell (SSH) oder das Remotedesktopprotokoll (RDP) herzustellen. Die VMs benötigen keine öffentlichen IP-Adressen, keine Clientsoftware und keine spezielle Konfiguration. Weitere Informationen zu Bastion finden Sie unter Was ist Azure Bastion?.
Die Stundenpreise gelten ab dem Zeitpunkt der Bereitstellung von Bastion, unabhängig von der Nutzung ausgehender Daten. Weitere Informationen dazu finden Sie unter Preise und SKUs. Wenn Sie Bastion im Rahmen eines Tutorials oder Tests bereitstellen, empfiehlt es sich, diese Ressource zu löschen, sobald Sie sie nicht mehr benötigen.
Konfigurieren Sie ein Bastion-Subnetz für Ihr virtuelles Netzwerk. Dieses Subnetz ist ausschließlich für Bastion-Ressourcen reserviert und muss den Namen AzureBastionSubnet haben.
$subnet = @{
Name = 'AzureBastionSubnet'
VirtualNetwork = $virtualNetwork
AddressPrefix = '10.0.1.0/26'
}
$subnetConfig = Add-AzVirtualNetworkSubnetConfig @subnet
Legen Sie die Konfiguration fest:
$virtualNetwork | Set-AzVirtualNetwork
Erstellen Sie eine öffentliche IP-Adresse für Bastion. Der Bastion-Host verwendet die öffentliche IP-Adresse für den Zugriff auf SSH und RDP über Port 443.
$ip = @{
ResourceGroupName = 'test-rg'
Name = 'public-ip'
Location = 'westus2'
AllocationMethod = 'Static'
Sku = 'Standard'
Zone = 1,2,3
}
New-AzPublicIpAddress @ip
Verwenden Sie den Befehl New-AzBastion, um einen neuen Standard-Bastionhost in AzureBastionSubnet zu erstellen:
$bastion = @{
Name = 'bastion'
ResourceGroupName = 'test-rg'
PublicIpAddressRgName = 'test-rg'
PublicIpAddressName = 'public-ip'
VirtualNetworkRgName = 'test-rg'
VirtualNetworkName = 'vnet-1'
Sku = 'Basic'
}
New-AzBastion @bastion -AsJob
Die Bereitstellung der Bastion-Ressourcen dauert etwa 10 Minuten. Sie können im nächsten Abschnitt VMs erstellen, während Bastion in Ihrem virtuellen Netzwerk bereitgestellt wird.
Erstellen eines virtuellen Netzwerks
Vor der Erstellung eines virtuellen Netzwerks müssen Sie eine Ressourcengruppe für das virtuelle Netzwerk und alle anderen in diesem Artikel erstellten Ressourcen erstellen. Erstellen Sie mit az group create eine Ressourcengruppe. Im folgenden Beispiel wird eine Ressourcengruppe mit dem Namen test-rg am Standort westus2 erstellt.
az group create \
--name test-rg \
--location westus2
Erstellen Sie mit az network vnet create ein virtuelles Netzwerk mit einem Subnetz.
az network vnet create \
--name vnet-1 \
--resource-group test-rg \
--address-prefix 10.0.0.0/16 \
--subnet-name subnet-public \
--subnet-prefix 10.0.0.0/24
Sie können Dienstendpunkte nur für Dienste aktivieren, die Dienstendpunkte unterstützen. Zeigen Sie dienstendpunktfähige Dienste, die an einen Azure-Standort verfügbar sind, mit az network vnet list-endpoint-services an. Im folgenden Beispiel wird eine Liste der dienstendpunktfähigen Dienste zurückgegeben, die in der Region westus2 verfügbar sind. Die Liste der zurückgegebenen Dienste wird im Lauf der Zeit länger werden, da immer mehr Azure-Dienste für Dienstendpunkte aktiviert werden.
az network vnet list-endpoint-services \
--location westus2 \
--out table
Erstellen Sie mit az network vnet subnet create ein zusätzliches Subnetz im virtuellen Netzwerk. In diesem Beispiel wird für das Subnetz ein Dienstendpunkt für Microsoft.Storage
erstellt:
az network vnet subnet create \
--vnet-name vnet-1 \
--resource-group test-rg \
--name subnet-private \
--address-prefix 10.0.1.0/24 \
--service-endpoints Microsoft.Storage
Einschränken des Netzwerkzugriffs für ein Subnetz
Standardmäßig können alle VM-Instanzen in einem Subnetz mit allen Ressourcen kommunizieren. Sie können die bidirektionale Kommunikation mit allen Ressourcen in einem Subnetz einschränken, indem Sie eine Netzwerksicherheitsgruppe erstellen und dem Subnetz zuordnen.
Suchen Sie mithilfe des Suchfelds oben auf der Portalseite nach Netzwerksicherheitsgruppe. Wählen Sie in den Suchergebnissen Netzwerksicherheitsgruppen aus.
Wählen Sie in Netzwerksicherheitsgruppen die Option + Erstellen aus.
Geben Sie auf der Registerkarte Grundlagen von Netzwerksicherheitsgruppe erstellen die folgenden Informationen ein, oder wählen Sie sie aus:
Einstellung |
Wert |
Projektdetails |
|
Abonnement |
Wählen Sie Ihr Abonnement aus. |
Ressourcengruppe |
Wählen Sie test-rg aus. |
Instanzendetails |
|
Name |
Geben Sie nsg-storage ein. |
Region |
Wählen Sie USA, Osten 2 aus. |
Klicken Sie aufÜberprüfen + erstellen und dann auf Erstellen.
Erstellen Sie mit New-AzNetworkSecurityGroup eine Netzwerksicherheitsgruppe. Im folgenden Beispiel wird eine Netzwerksicherheitsgruppe namens nsg-private erstellt.
$nsgpriv = @{
ResourceGroupName = 'test-rg'
Location = 'westus2'
Name = 'nsg-private'
}
$nsg = New-AzNetworkSecurityGroup @nsgpriv
Erstellen Sie mit az network nsg create eine Netzwerksicherheitsgruppe. Im folgenden Beispiel wird eine Netzwerksicherheitsgruppe namens nsg-private erstellt.
az network nsg create \
--resource-group test-rg \
--name nsg-private
Erstellen von ausgehenden NSG-Regeln (Netzwerksicherheitsgruppe)
Suchen Sie mithilfe des Suchfelds oben auf der Portalseite nach Netzwerksicherheitsgruppe. Wählen Sie in den Suchergebnissen Netzwerksicherheitsgruppen aus.
Wählen Sie nsg-storage aus.
Wählen Sie in den Einstellungen die Option Ausgangssicherheitsregeln aus.
Wählen Sie + Hinzufügen.
Erstellen Sie eine Regel, die ausgehende Kommunikation mit dem Azure Storage-Dienst zulässt. Geben Sie unter Ausgehende Sicherheitsregel hinzufügen die folgenden Informationen ein, oder wählen Sie sie aus:
Einstellung |
Wert |
Quelle |
Wählen Sie Diensttag aus. |
Quelldiensttag |
Wählen Sie VirtualNetwork aus. |
Quellportbereiche |
Übernehmen Sie den Standardwert *. |
Bestimmungsort |
Wählen Sie Diensttag aus. |
Zieldiensttag |
Wählen Sie Speicher aus. |
Power BI-Dienst |
Übernehmen Sie den Standardwert Benutzerdefiniert. |
Zielportbereiche |
Geben Sie 445 ein. |
Protokoll |
Wählen Sie Alle aus. |
Aktion |
Wählen Sie Zulassen aus. |
Priorität |
Übernehmen Sie den Standardwert 100. |
Name |
Geben Sie allow-storage-all ein. |
Wählen Sie + Hinzufügen.
Erstellen Sie eine weitere Ausgangssicherheitsregel, die Kommunikation mit dem Internet verweigert. Diese Regel überschreibt eine Standardregel in allen Netzwerksicherheitsgruppen, die ausgehende Internetkommunikation zulässt. Führen Sie die obigen Schritte mit den folgenden Werte in Ausgehende Sicherheitsregel hinzufügen aus:
Einstellung |
Wert |
Quelle |
Wählen Sie Diensttag aus. |
Quelldiensttag |
Wählen Sie VirtualNetwork aus. |
Quellportbereiche |
Übernehmen Sie den Standardwert *. |
Bestimmungsort |
Wählen Sie Diensttag aus. |
Zieldiensttag |
Wählen Sie Internet aus. |
Power BI-Dienst |
Übernehmen Sie den Standardwert Benutzerdefiniert. |
Zielportbereiche |
Geben Sie * ein. |
Protokoll |
Wählen Sie Alle aus. |
Aktion |
Wählen Sie Ablehnen aus. |
Priorität |
Übernehmen Sie den Standardwert 110. |
Name |
Geben Sie deny-internet-all ein. |
Wählen Sie Hinzufügen.
Suchen Sie mithilfe des Suchfelds oben auf der Portalseite nach Netzwerksicherheitsgruppe. Wählen Sie in den Suchergebnissen Netzwerksicherheitsgruppen aus.
Wählen Sie nsg-storage aus.
Wählen Sie unter Einstellungen die Option Subnetze aus.
Wählen Sie + Zuordnen aus.
Wählen Sie in Subnetz zuweisen im Abschnitt Virtuelles Netzwerk die Option vnet-1 aus. Wählen Sie in Subnet die Option subnet-private aus.
Wählen Sie OK aus.
Erstellen Sie mit New-AzNetworkSecurityRuleConfig Netzwerksicherheitsgruppen-Sicherheitsregeln. Die folgende Regel erlaubt den ausgehenden Zugriff auf die öffentlichen IP-Adressen, die dem Azure Storage-Dienst zugewiesen sind:
$r1 = @{
Name = "Allow-Storage-All"
Access = "Allow"
DestinationAddressPrefix = "Storage"
DestinationPortRange = "*"
Direction = "Outbound"
Priority = 100
Protocol = "*"
SourceAddressPrefix = "VirtualNetwork"
SourcePortRange = "*"
}
$rule1 = New-AzNetworkSecurityRuleConfig @r1
Die folgende Regel verweigert den Zugriff auf alle öffentlichen IP-Adressen. Die vorherige Regel überschreibt diese Regel. Dies ist auf die höhere Priorität zurückzuführen, die den Zugriff auf die öffentlichen IP-Adressen von Azure Storage zulässt.
$r2 = @{
Name = "Deny-Internet-All"
Access = "Deny"
DestinationAddressPrefix = "Internet"
DestinationPortRange = "*"
Direction = "Outbound"
Priority = 110
Protocol = "*"
SourceAddressPrefix = "VirtualNetwork"
SourcePortRange = "*"
}
$rule2 = New-AzNetworkSecurityRuleConfig @r2
Verwenden Sie Get-AzNetworkSecurityGroup, um das Netzwerksicherheitsgruppen-Objekt in eine Variable abzurufen. Verwenden Sie Set-AzNetworkSecurityRuleConfig, um der Netzwerksicherheitsgruppe die Regeln hinzuzufügen.
# 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
Ordnen Sie die Netzwerksicherheitsgruppe mit Set-AzVirtualNetworkSubnetConfig dem Subnetz subnet-private hinzu, und schreiben Sie dann die Subnetzkonfiguration in das virtuelle Netzwerk. Im folgenden Beispiel wird die Netzwerksicherheitsgruppe nsg-private dem Subnetz subnet-private zugeordnet:
$subnet = @{
VirtualNetwork = $VirtualNetwork
Name = "subnet-private"
AddressPrefix = "10.0.2.0/24"
ServiceEndpoint = "Microsoft.Storage"
NetworkSecurityGroup = $nsg
}
Set-AzVirtualNetworkSubnetConfig @subnet
$virtualNetwork | Set-AzVirtualNetwork
Erstellen Sie Sicherheitsregeln mit az network nsg rule create. Die folgende Regel erlaubt den ausgehenden Zugriff auf die öffentlichen IP-Adressen, die dem Azure Storage-Dienst zugewiesen sind:
az network nsg rule create \
--resource-group test-rg \
--nsg-name nsg-private \
--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 "*"
Jede Netzwerksicherheitsgruppe enthält mehrere Standardsicherheitsregeln. Die folgende Regel überschreibt eine Standardsicherheitsregel, die ausgehenden Zugriff auf alle öffentlichen IP-Adressen zulässt. Die destination-address-prefix "Internet"
-Option verweigert den ausgehenden Zugriff auf alle öffentlichen IP-Adressen. Die vorherige Regel überschreibt diese Regel. Dies ist auf die höhere Priorität zurückzuführen, die den Zugriff auf die öffentlichen IP-Adressen von Azure Storage zulässt.
az network nsg rule create \
--resource-group test-rg \
--nsg-name nsg-private \
--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 "*"
Die folgende Regel lässt eingehenden SSH-Datenverkehr an das Subnetz von überall aus zu. Die Regel setzt eine Standardsicherheitsregel außer Kraft, die jeglichen eingehenden Verkehr aus dem Internet abweist. SSH in das Subnetz ist zulässig, sodass die Konnektivität in einem späteren Schritt getestet werden kann.
az network nsg rule create \
--resource-group test-rg \
--nsg-name nsg-private \
--name Allow-SSH-All \
--access Allow \
--protocol Tcp \
--direction Inbound \
--priority 120 \
--source-address-prefix "*" \
--source-port-range "*" \
--destination-address-prefix "VirtualNetwork" \
--destination-port-range "22"
Ordnen Sie die Netzwerksicherheitsgruppe mit az network vnet subnet update dem Subnetz subnet-private zu. Im folgenden Beispiel wird die Netzwerksicherheitsgruppe nsg-private dem Subnetz subnet-private zugeordnet:
az network vnet subnet update \
--vnet-name vnet-1 \
--name subnet-private \
--resource-group test-rg \
--network-security-group nsg-private
Einschränken des Netzwerkzugriffs auf eine Ressource
Je nach Dienst sind unterschiedliche Schritte erforderlich, um den Netzwerkzugriff auf Ressourcen einzuschränken, die durch Azure-Dienste erstellt und für Dienstendpunkte aktiviert wurden. Informationen zu den Schritten für einzelne Dienste finden Sie in der Dokumentation des jeweiligen Diensts. Im weiteren Verlauf dieses Tutorials wird als Beispiel der Netzwerkzugriff für ein Azure Storage-Konto eingeschränkt.
Speicherkonto erstellen
Erstellen Sie ein Azure Storage-Konto für die Schritte in diesem Artikel. Wenn Sie bereits über ein Speicherkonto verfügen, können Sie es stattdessen verwenden.
Geben Sie in das Suchfeld im oberen Bereich des Portals Speicherkonto ein. Wählen Sie in den Suchergebnissen Speicherkonten aus.
Wählen Sie + Erstellen aus.
Geben Sie auf der Registerkarte Grundlagen der Seite Speicherkonto erstellen die folgenden Informationen ein, oder wählen Sie sie aus:
Einstellung |
Wert |
Projektdetails |
|
Abonnement |
Wählen Sie Ihr Azure-Abonnement. |
Ressourcengruppe |
Wählen Sie test-rg aus. |
Instanzendetails |
|
Speicherkontoname |
Geben Sie storage1 ein. Wenn der Name nicht verfügbar ist, geben Sie einen eindeutigen Namen ein. |
Standort |
Wählen Sie (USA) USA, Osten 2 aus. |
Leistung |
Übernehmen Sie den Standardwert Standard. |
Redundanz |
Wählen Sie Lokal redundanter Speicher (LRS) aus. |
Wählen Sie Review (Überprüfen) aus.
Klicken Sie auf Erstellen.
Erstellen Sie mit New-AzStorageAccount ein Azure Storage-Konto. Ersetzen Sie <replace-with-your-unique-storage-account-name>
durch einen Namen, der an allen Azure-Standorten eindeutig, zwischen 3 und 24 Zeichen lang ist und nur aus Ziffern und Kleinbuchstaben besteht.
$storageAcctName = '<replace-with-your-unique-storage-account-name>'
$storage = @{
Location = 'westus2'
Name = $storageAcctName
ResourceGroupName = 'test-rg'
SkuName = 'Standard_LRS'
Kind = 'StorageV2'
}
New-AzStorageAccount @storage
Rufen Sie nach dem Erstellen des Speicherkontos mit Get-AzStorageAccountKey den Schlüssel für das Speicherkonto in eine Variable ab:
$storagekey = @{
ResourceGroupName = 'test-rg'
AccountName = $storageAcctName
}
$storageAcctKey = (Get-AzStorageAccountKey @storagekey).Value[0]
Mit dem Schlüssel wird in einem späteren Schritt eine Dateifreigabe erstellt. Geben Sie $storageAcctKey
ein, und notieren Sie den Wert. Sie müssen ihn in einem späteren Schritt manuell eingeben, wenn Sie die Dateifreigabe einem Laufwerk in einem virtuellen Computer zuordnen.
Die Schritte, die erforderlich sind, um den Netzwerkzugriff auf Ressourcen einzuschränken, die durch Azure-Dienste erstellt und für Dienstendpunkte aktiviert wurden, sind je nach Dienst unterschiedlich. Informationen zu den Schritten für einzelne Dienste finden Sie in der Dokumentation des jeweiligen Diensts. Der Rest dieses Artikels enthält als Beispiel Schritte zum Einschränken des Netzwerkzugriffs für ein Azure Storage-Konto.
Speicherkonto erstellen
Erstellen Sie ein Azure-Speicherkonto mithilfe von az storage account create. Ersetzen Sie <replace-with-your-unique-storage-account-name>
durch einen Namen, der an allen Azure-Standorten eindeutig, zwischen 3 und 24 Zeichen lang ist und nur aus Ziffern und Kleinbuchstaben besteht.
storageAcctName="<replace-with-your-unique-storage-account-name>"
az storage account create \
--name $storageAcctName \
--resource-group test-rg \
--sku Standard_LRS \
--kind StorageV2
Nachdem das Speicherkonto erstellt wurde, rufen Sie die Verbindungszeichenfolge für das Speicherkonto mit az storage account show-connection-string in eine Variable ab. Die Verbindungszeichenfolge wird verwendet, um in einem späteren Schritt eine Dateifreigabe zu erstellen.
saConnectionString=$(az storage account show-connection-string \
--name $storageAcctName \
--resource-group test-rg \
--query 'connectionString' \
--out tsv)
Von Bedeutung
Microsoft empfiehlt, immer den sichersten Authentifizierungsflow zu verwenden. Der in diesem Verfahren beschriebene Authentifizierungsflow erfordert ein sehr hohes Maß an Vertrauen in die Anwendung und birgt Risiken, die bei anderen Flows nicht vorhanden sind. Sie sollten diesen Flow nur verwenden, wenn andere sicherere Flows (z. B. verwaltete Identitäten) nicht anwendbar sind.
Weitere Informationen zum Herstellen einer Verbindung mit einem Speicherkonto mithilfe einer verwalteten Identität finden Sie unter Verwenden einer verwalteten Identität für den Zugriff auf Azure Storage.
Erstellen einer Dateifreigabe im Speicherkonto
Geben Sie in das Suchfeld im oberen Bereich des Portals Speicherkonto ein. Wählen Sie in den Suchergebnissen Speicherkonten aus.
Wählen Sie unter Speicherkonten das Speicherkonto aus, das Sie im vorherigen Schritt erstellt haben.
Wählen Sie unter Datenspeicher die Option Dateifreigaben aus.
Klicken Sie auf + Dateifreigabe.
Geben Sie in Neue Dateifreigabe die folgenden Informationen ein, oder wählen Sie sie aus:
Einstellung |
Wert |
Name |
Geben Sie file-share ein. |
Tarif |
Übernehmen Sie den Standardwert Für Transaktion optimiert. |
Wählen Sie Weiter: Sicherung aus.
Heben Sie die Auswahl von Sicherung aktivieren auf.
Klicken Sie aufÜberprüfen + erstellen und dann auf Erstellen.
Erstellen Sie mit New-AzStorageContext einen Kontext für das Speicherkonto und den Speicherschlüssel. Der Kontext kapselt den Speicherkontonamen und den Kontoschlüssel:
$storagecontext = @{
StorageAccountName = $storageAcctName
StorageAccountKey = $storageAcctKey
}
$storageContext = New-AzStorageContext @storagecontext
Erstellen Sie mit New-AzStorageShare eine Dateifreigabe:
$fs = @{
Name = "file-share"
Context = $storageContext
}
$share = New-AzStorageShare @fs
Erstellen Sie mit az storage share create eine Dateifreigabe im Speicherkonto. In einem späteren Schritt wird diese Dateifreigabe bereitgestellt, um den Netzwerkzugriff darauf zu bestätigen.
az storage share create \
--name file-share \
--quota 2048 \
--connection-string $saConnectionString > /dev/null
Einschränken des Netzwerkzugriffs auf ein Subnetz
Standardmäßig akzeptieren Speicherkonten Netzwerkverbindungen von Clients in allen Netzwerken, einschließlich des Internets. Sie können den Netzwerkzugriff aus dem Internet sowie allen anderen Subnetzen in allen virtuellen Netzwerken einschränken (außer aus dem Subnetz subnet-private im virtuellen Netzwerk vnet-1).
So schränken Sie den Netzwerkzugriff auf ein Subnetz ein
Geben Sie in das Suchfeld im oberen Bereich des Portals Speicherkonto ein. Wählen Sie in den Suchergebnissen Speicherkonten aus.
Wählen Sie dann Ihr Speicherkonto aus.
Wählen Sie unter Sicherheit + Netzwerk die Option Netzwerk aus.
Wählen Sie auf der Registerkarte Firewalls und virtuelle Netzwerke aus der Liste Öffentlicher Netzwerkzugriff die Option Aktiviert von ausgewählten virtuellen Netzwerken und IP-Adressen aus.
Wählen Sie unter Virtuelle Netzwerke die Option + Vorhandenes virtuelles Netzwerk hinzufügen aus.
Geben Sie unter Netzwerke hinzufügen die folgenden Informationen ein, oder wählen Sie sie aus:
Einstellung |
Wert |
Abonnement |
Wählen Sie Ihr Abonnement aus. |
Virtuelle Netzwerke |
Wählen Sie vnet-1 aus. |
Subnetze |
Wählen Sie subnet-private aus. |
Wählen Sie Hinzufügen.
Wählen Sie Speichern aus, um die Konfigurationen des virtuellen Netzwerks zu speichern.
Standardmäßig akzeptieren Speicherkonten Netzwerkverbindungen von Clients in allen Netzwerken. Um den Zugriff auf ausgewählte Netzwerke einzuschränken, ändern Sie die Standardaktion mit Update-AzStorageAccountNetworkRuleSet in Deny (Verweigern). Nachdem der Netzwerkzugriff verweigert wurde, kann auf das Speicherkonto aus keinem Netzwerk mehr zugegriffen werden.
$storagerule = @{
ResourceGroupName = "test-rg"
Name = $storageAcctName
DefaultAction = "Deny"
}
Update-AzStorageAccountNetworkRuleSet @storagerule
Rufen Sie mit Get-AzVirtualNetwork das erstellte virtuelle Netzwerk und dann mit Get-AzVirtualNetworkSubnetConfig das Subnetzobjekt „Private“ in eine Variable ab:
$subnetpriv = @{
ResourceGroupName = "test-rg"
Name = "vnet-1"
}
$privateSubnet = Get-AzVirtualNetwork @subnetpriv | Get-AzVirtualNetworkSubnetConfig -Name "subnet-private"
Erlauben Sie den Netzwerkzugriff auf das Speicherkonto aus dem Subnetz subnet-private mit Add-AzStorageAccountNetworkRule.
$storagenetrule = @{
ResourceGroupName = "test-rg"
Name = $storageAcctName
VirtualNetworkResourceId = $privateSubnet.Id
}
Add-AzStorageAccountNetworkRule @storagenetrule
Standardmäßig akzeptieren Speicherkonten Netzwerkverbindungen von Clients in allen Netzwerken. Um den Zugriff auf ausgewählte Netzwerke einzuschränken, ändern Sie die Standardaktion mit az storage account update in Deny (Verweigern). Nachdem der Netzwerkzugriff verweigert wurde, kann auf das Speicherkonto aus keinem Netzwerk mehr zugegriffen werden.
az storage account update \
--name $storageAcctName \
--resource-group test-rg \
--default-action Deny
Erlauben Sie mit az storage account network-rule add den Netzwerkzugriff auf das Speicherkonto aus dem Subnetz subnet-private.
az storage account network-rule add \
--resource-group test-rg \
--account-name $storageAcctName \
--vnet-name vnet-1 \
--subnet subnet-private
Bereitstellen von virtuellen Computern in Subnetzen
Um den Netzwerkzugriff auf ein Speicherkonto zu testen, stellen Sie in jedem Subnetz eine VM bereit.
Erstellen eines virtuellen Testcomputers
Mit dem folgenden Verfahren wird im virtuellen Netzwerk eine Test-VM mit dem Namen vm-1 erstellt.
Suchen Sie im Portal nach Virtuelle Computer, und klicken Sie darauf.
Wählen Sie unter VM die Option + Erstellen und dann Azure-VM aus.
Geben Sie unter Virtuellen Computer erstellen auf der Registerkarte Grundlagen die folgenden Informationen ein, oder wählen Sie sie aus:
Einstellung |
Wert |
Projektdetails |
|
Abonnement |
Wählen Sie Ihr Abonnement aus. |
Ressourcengruppe |
Wählen Sie test-rg aus. |
Instanzendetails |
|
Name des virtuellen Computers |
Geben Sie vm-1 ein. |
Region |
Wählen Sie USA, Osten 2 aus. |
Verfügbarkeitsoptionen |
Wählen Sie die Option Keine Infrastrukturredundanz erforderlich aus. |
Sicherheitstyp |
Übernehmen Sie den Standardwert Standard. |
Abbildung |
Wählen Sie Windows Server 2022 Datacenter – x64 Gen2 aus. |
VM-Architektur |
Übernehmen Sie den Standardwert x64. |
Größe |
Wählen Sie eine Größe aus. |
Administratorkonto |
|
Authentifizierungsart |
Wählen Sie Kennwort aus. |
Nutzername |
Geben Sie azureuser ein. |
Kennwort |
Geben Sie ein Kennwort ein. |
Kennwort bestätigen |
Geben Sie das Kennwort erneut ein. |
Regeln für eingehende Ports |
|
Öffentliche Eingangsports |
Wählen Sie Keine. |
Wählen Sie oben auf der Seite die Registerkarte Netzwerk aus.
Geben Sie auf der Registerkarte Netzwerk die folgenden Informationen ein, bzw. wählen Sie sie aus:
Einstellung |
Wert |
Netzwerkschnittstelle |
|
Virtuelles Netzwerk |
Wählen Sie vnet-1 aus. |
Subnetz |
Wählen Sie Subnetz-1 (10.0.0.0/24) aus. |
Öffentliche IP-Adresse |
Wählen Sie Keine. |
NIC-Netzwerksicherheitsgruppe |
Wählen Sie Erweitertaus. |
Konfigurieren von Netzwerksicherheitsgruppen |
Wählen Sie Neu erstellen.
Geben Sie nsg-1 für Name ein.
Behalten Sie für den Rest die Standards bei, und wählen Sie OK aus. |
Behalten Sie für die restlichen Einstellungen die Standards bei, und wählen Sie dann Überprüfen + erstellen aus.
Überprüfen Sie die Einstellungen, und wählen Sie Erstellen aus.
Hinweis
VMs in einem virtuellen Netzwerk mit einem Bastionhost benötigen keine öffentlichen IP-Adressen. Bastion stellt die öffentliche IP-Adresse bereit und die VMs verwenden private IP-Adressen für die Kommunikation innerhalb des Netzwerks. Sie können die öffentlichen IP-Adressen von allen VMs in von Bastion gehosteten virtuellen Netzwerken entfernen. Weitere Informationen finden Sie unter Trennen einer öffentlichen IP-Adresse von einer Azure-VM.
Hinweis
Azure stellt eine ausgehende Standardzugriffs-IP für VMs bereit, denen keine öffentliche IP-Adresse zugewiesen ist oder die sich im Backendpool eines internen grundlegenden Azure-Lastenausgleichs befinden. Der Mechanismus für Standard-IP-Adressen für den ausgehenden Zugriff stellt eine ausgehende IP-Adresse bereit, die nicht konfigurierbar ist.
Die Standard-IP-Adresse für ausgehenden Zugriff ist deaktiviert, wenn eines der folgenden Ereignisse auftritt:
- Dem virtuellen Computer wird eine öffentliche IP-Adresse zugewiesen.
- Die VM wird im Backendpool eines Standardlastenausgleichs platziert (mit oder ohne Ausgangsregeln).
- Dem Subnetz der VM wird eine Azure NAT Gateway-Ressource zugewiesen.
VMs, die Sie mithilfe von VM-Skalierungsgruppen im Orchestrierungsmodus „Flexibel“ erstellen, haben keinen ausgehenden Standardzugriff.
Weitere Informationen zu ausgehenden Verbindungen in Azure finden Sie unter Standardzugriff in ausgehender Richtung in Azure und Verwenden von SNAT (Source Network Address Translation) für ausgehende Verbindungen.
Erstellen des zweiten virtuellen Computers
Erstellen Sie einen zweiten virtuellen Computer, indem Sie die Schritte im vorherigen Abschnitt wiederholen. Ersetzen Sie die folgenden Werte in Virtuellen Computer erstellen:
Einstellung |
Wert |
Name des virtuellen Computers |
Geben Sie vm-private ein. |
Subnetz |
Wählen Sie subnet-private aus. |
Öffentliche IP-Adresse |
Wählen Sie Keine. |
NIC-Netzwerksicherheitsgruppe |
Wählen Sie Keine. |
Warnung
Fahren Sie erst mit dem nächsten Schritt fort, wenn die Bereitstellung abgeschlossen ist.
Erstellen des ersten virtuellen Computers
Erstellen Sie mit New-AzVM einen virtuellen Computer im Subnetz subnet-public. Wenn Sie den folgenden Befehl ausführen, werden Sie aufgefordert, Anmeldeinformationen einzugeben. Die eingegebenen Werte werden als Benutzername und Kennwort für den virtuellen Computer konfiguriert.
$vm1 = @{
ResourceGroupName = "test-rg"
Location = "westus2"
VirtualNetworkName = "vnet-1"
SubnetName = "subnet-public"
Name = "vm-public"
PublicIpAddressName = $null
}
New-AzVm @vm1
Erstellen des zweiten virtuellen Computers
Erstellen Sie einen virtuellen Computer im Subnetz subnet-private:
$vm2 = @{
ResourceGroupName = "test-rg"
Location = "westus2"
VirtualNetworkName = "vnet-1"
SubnetName = "subnet-private"
Name = "vm-private"
PublicIpAddressName = $null
}
New-AzVm @vm2
Das Erstellen des virtuellen Computers für Azure dauert einige Minuten. Fahren Sie erst mit dem nächsten Schritt fort, nachdem die VM in Azure erstellt und eine Ausgabe in PowerShell zurückgegeben wurde.
Zum Testen des Netzwerkzugriffs auf ein Speicherkonto stellen Sie einen virtuellen Computer für jedes Subnetz bereit.
Erstellen des ersten virtuellen Computers
Erstellen Sie mit az vm create eine VM im Subnetz subnet-public. Wenn SSH-Schlüssel nicht bereits an einem Standardschlüsselspeicherort vorhanden sind, werden sie durch den Befehl erstellt. Um einen bestimmten Satz von Schlüsseln zu verwenden, nutzen Sie die Option --ssh-key-value
.
az vm create \
--resource-group test-rg \
--name vm-public \
--image Ubuntu2204 \
--vnet-name vnet-1 \
--subnet subnet-public \
--admin-username azureuser \
--generate-ssh-keys
Die Erstellung des virtuellen Computers dauert einige Minuten. Nach dem Erstellen der VM zeigt die Azure CLI ähnliche Informationen wie im folgenden Beispiel an:
{
"fqdns": "",
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Compute/virtualMachines/vm-public",
"location": "westus2",
"macAddress": "00-0D-3A-23-9A-49",
"powerState": "VM running",
"privateIpAddress": "10.0.0.4",
"publicIpAddress": "203.0.113.24",
"resourceGroup": "test-rg"
}
Erstellen des zweiten virtuellen Computers
az vm create \
--resource-group test-rg \
--name vm-private \
--image Ubuntu2204 \
--vnet-name vnet-1 \
--subnet subnet-private \
--admin-username azureuser \
--generate-ssh-keys
Die Erstellung des virtuellen Computers dauert einige Minuten.
Bestätigen des Zugriffs auf das Speicherkonto
Die von Ihnen zuvor erstellte VM, die dem Subnetz subnet-private zugewiesen ist, wird zum Bestätigen des Zugriffs auf das Speicherkonto verwendet. Mit der von Ihnen im vorherigen Abschnitt erstellten VM, die dem Subnetz subnet-1 zugewiesen ist, wird bestätigt, dass der Zugriff auf das Speicherkonto gesperrt ist.
Abrufen des Zugriffsschlüssels für das Speicherkonto
Geben Sie in das Suchfeld im oberen Bereich des Portals Speicherkonto ein. Wählen Sie in den Suchergebnissen Speicherkonten aus.
Wählen Sie unter Speicherkonten Ihr Speicherkonto aus.
Wählen Sie unter Sicherheit + Netzwerk die Option Zugriffsschlüssel aus.
Kopieren Sie den Wert von key1. Möglicherweise müssen Sie die Schaltfläche Anzeigen auswählen, um den Schlüssel anzuzeigen.
Geben Sie im Suchfeld oben im Portal den Suchbegriff Virtueller Computer ein. Wählen Sie in den Suchergebnissen Virtuelle Computer aus.
Wählen Sie vm-private aus.
Wählen Sie unter Vorgänge die Option Bastion aus.
Geben Sie den Benutzernamen und das Kennwort ein, den bzw. das Sie beim Erstellen des virtuellen Computers festgelegt haben. Wählen Sie Verbinden.
Öffnen Sie Windows PowerShell. Verwenden Sie das folgende Skript, um die Azure-Dateifreigabe Laufwerk Z zuzuordnen.
Ersetzen Sie <storage-account-key>
durch den Schlüssel, den Sie im vorherigen Schritt kopiert haben.
Ersetzen Sie <storage-account-name>
durch den Namen Ihres Speicherkontos. In diesem Beispiel lautet er storage8675.
$key = @{
String = "<storage-account-key>"
}
$acctKey = ConvertTo-SecureString @key -AsPlainText -Force
$cred = @{
ArgumentList = "Azure\<storage-account-name>", $acctKey
}
$credential = New-Object System.Management.Automation.PSCredential @cred
$map = @{
Name = "Z"
PSProvider = "FileSystem"
Root = "\\<storage-account-name>.file.core.windows.net\file-share"
Credential = $credential
}
New-PSDrive @map
PowerShell gibt eine Ausgabe ähnlich der folgenden Beispielausgabe zurück:
Name Used (GB) Free (GB) Provider Root
---- --------- --------- -------- ----
Z FileSystem \\storage8675.file.core.windows.net\f...
Die Azure-Dateifreigabe wurde dem Laufwerk Z erfolgreich zugeordnet.
Schließen Sie die Bastion-Verbindung mit vm-private.
Die von Ihnen zuvor erstellte VM, die dem Subnetz subnet-private zugewiesen ist, wird zum Bestätigen des Zugriffs auf das Speicherkonto verwendet. Mit der von Ihnen im vorherigen Abschnitt erstellten VM, die dem Subnetz subnet-1 zugewiesen ist, wird bestätigt, dass der Zugriff auf das Speicherkonto gesperrt ist.
Abrufen des Zugriffsschlüssels für das Speicherkonto
Melden Sie sich beim Azure-Portalan.
Geben Sie in das Suchfeld im oberen Bereich des Portals Speicherkonto ein. Wählen Sie in den Suchergebnissen Speicherkonten aus.
Wählen Sie unter Speicherkonten Ihr Speicherkonto aus.
Wählen Sie unter Sicherheit + Netzwerk die Option Zugriffsschlüssel aus.
Kopieren Sie den Wert von key1. Möglicherweise müssen Sie die Schaltfläche Anzeigen auswählen, um den Schlüssel anzuzeigen.
Geben Sie im Suchfeld oben im Portal den Suchbegriff Virtueller Computer ein. Wählen Sie in den Suchergebnissen Virtuelle Computer aus.
Wählen Sie vm-private aus.
Wählen Sie in Übersicht die Option Verbinden und dann Über Bastion verbinden aus.
Geben Sie den Benutzernamen und das Kennwort ein, den bzw. das Sie beim Erstellen des virtuellen Computers festgelegt haben. Wählen Sie Verbinden.
Öffnen Sie Windows PowerShell. Verwenden Sie das folgende Skript, um die Azure-Dateifreigabe Laufwerk Z zuzuordnen.
Ersetzen Sie <storage-account-key>
durch den Schlüssel, den Sie im vorherigen Schritt kopiert haben.
Ersetzen Sie <storage-account-name>
durch den Namen Ihres Speicherkontos. In diesem Beispiel lautet er storage8675.
$key = @{
String = "<storage-account-key>"
}
$acctKey = ConvertTo-SecureString @key -AsPlainText -Force
$cred = @{
ArgumentList = "Azure\<storage-account-name>", $acctKey
}
$credential = New-Object System.Management.Automation.PSCredential @cred
$map = @{
Name = "Z"
PSProvider = "FileSystem"
Root = "\\<storage-account-name>.file.core.windows.net\file-share"
Credential = $credential
}
New-PSDrive @map
PowerShell gibt eine Ausgabe ähnlich der folgenden Beispielausgabe zurück:
Name Used (GB) Free (GB) Provider Root
---- --------- --------- -------- ----
Z FileSystem \\storage8675.file.core.windows.net\f...
Die Azure-Dateifreigabe wurde dem Laufwerk Z erfolgreich zugeordnet.
Bestätigen Sie, dass der virtuelle Computer über keine ausgehende Verbindung mit einer beliebigen anderen öffentlichen IP-Adresse verfügt:
ping bing.com
Sie erhalten keine Antworten, da die dem Subnetz Private zugeordnete Netzwerksicherheitsgruppe keinen ausgehenden Zugriff auf andere öffentliche IP-Adressen als die dem Azure Storage-Dienst zugewiesenen Adressen erlaubt.
Schließen Sie die Bastion-Verbindung mit vm-private.
Greifen Sie per SSH auf die VM vm-private zu.
Führen Sie den folgenden Befehl aus, um die IP-Adresse der VM als Umgebungsvariable zu speichern:
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
Erstellen Sie einen Ordner für einen Bereitstellungspunkt:
sudo mkdir /mnt/file-share
Stellen Sie die Azure-Dateifreigabe für das Verzeichnis bereit, das Sie erstellt haben. Ersetzen Sie vor dem Ausführen des folgenden Befehls <storage-account-name>
durch den Kontonamen und <storage-account-key>
durch den Schlüssel, den Sie unter Erstellen eines Speicherkontos abgerufen haben.
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
Die Eingabeaufforderung user@vm-private:~$
wird angezeigt. Die Azure-Dateifreigabe wurde erfolgreich unter /mnt/file-share eingebunden.
Bestätigen Sie, dass der virtuelle Computer über keine ausgehende Verbindung mit einer beliebigen anderen öffentlichen IP-Adresse verfügt:
ping bing.com -c 4
Sie erhalten keine Antworten, da die dem Subnetz subnet-private zugeordnete Netzwerksicherheitsgruppe keinen ausgehenden Zugriff auf andere öffentliche IP-Adressen als auf die dem Azure Storage-Dienst zugewiesenen Adressen erlaubt.
Beenden Sie die SSH-Sitzung mit der VM vm-private.
Bestätigen, dass der Zugriff auf das Speicherkonto verweigert wird
In „vm-1“
Geben Sie im Suchfeld oben im Portal den Suchbegriff Virtueller Computer ein. Wählen Sie in den Suchergebnissen Virtuelle Computer aus.
Wählen Sie vm-1 aus.
Wählen Sie unter Vorgänge die Option Bastion aus.
Geben Sie den Benutzernamen und das Kennwort ein, den bzw. das Sie beim Erstellen des virtuellen Computers festgelegt haben. Wählen Sie Verbinden.
Wiederholen Sie den vorherigen Befehl, um zu versuchen, das Laufwerk der Dateifreigabe im Speicherkonto zuzuordnen. Möglicherweise müssen Sie den Zugriffsschlüssel des Speicherkontos für dieses Verfahren erneut kopieren:
$key = @{
String = "<storage-account-key>"
}
$acctKey = ConvertTo-SecureString @key -AsPlainText -Force
$cred = @{
ArgumentList = "Azure\<storage-account-name>", $acctKey
}
$credential = New-Object System.Management.Automation.PSCredential @cred
$map = @{
Name = "Z"
PSProvider = "FileSystem"
Root = "\\<storage-account-name>.file.core.windows.net\file-share"
Credential = $credential
}
New-PSDrive @map
Es sollte die folgende Fehlermeldung angezeigt werden:
New-PSDrive : Access is denied
At line:1 char:5
+ New-PSDrive @map
+ ~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (Z:PSDriveInfo) [New-PSDrive], Win32Exception
+ FullyQualifiedErrorId : CouldNotMapNetworkDrive,Microsoft.PowerShell.Commands.NewPSDriveCommand
Schließen Sie die Bastion-Verbindung mit vm-1.
Auf einem lokalen Computer gilt:
Geben Sie in das Suchfeld im oberen Bereich des Portals Speicherkonto ein. Wählen Sie in den Suchergebnissen Speicherkonten aus.
Wählen Sie unter Speicherkonten Ihr Speicherkonto aus.
Wählen Sie unter Datenspeicher die Option Dateifreigaben aus.
Wählen Sie file-share aus.
Wählen Sie im linken Menü Durchsuchen aus.
Es sollte die folgende Fehlermeldung angezeigt werden:
Hinweis
Der Zugriff wird verweigert, weil sich Ihr Computer nicht im Subnetz subnet-private des virtuellen Netzwerks vnet-1 befindet.
In „vm-1“
Geben Sie im Suchfeld oben im Portal den Suchbegriff Virtueller Computer ein. Wählen Sie in den Suchergebnissen Virtuelle Computer aus.
Wählen Sie vm-1 aus.
Wählen Sie unter Vorgänge die Option Bastion aus.
Geben Sie den Benutzernamen und das Kennwort ein, den bzw. das Sie beim Erstellen des virtuellen Computers festgelegt haben. Wählen Sie Verbinden.
Wiederholen Sie den vorherigen Befehl, um zu versuchen, das Laufwerk der Dateifreigabe im Speicherkonto zuzuordnen. Möglicherweise müssen Sie den Zugriffsschlüssel des Speicherkontos für dieses Verfahren erneut kopieren:
$key = @{
String = "<storage-account-key>"
}
$acctKey = ConvertTo-SecureString @key -AsPlainText -Force
$cred = @{
ArgumentList = "Azure\<storage-account-name>", $acctKey
}
$credential = New-Object System.Management.Automation.PSCredential @cred
$map = @{
Name = "Z"
PSProvider = "FileSystem"
Root = "\\<storage-account-name>.file.core.windows.net\file-share"
Credential = $credential
}
New-PSDrive @map
Es sollte die folgende Fehlermeldung angezeigt werden:
New-PSDrive : Access is denied
At line:1 char:5
+ New-PSDrive @map
+ ~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (Z:PSDriveInfo) [New-PSDrive], Win32Exception
+ FullyQualifiedErrorId : CouldNotMapNetworkDrive,Microsoft.PowerShell.Commands.NewPSDriveCommand
Schließen Sie die Bastion-Verbindung mit vm-1.
Versuchen Sie von Ihrem Computer aus, die Dateifreigaben im Speicherkonto mit dem folgenden Befehl anzuzeigen:
$storage = @{
ShareName = "file-share"
Context = $storageContext
}
Get-AzStorageFile @storage
Zugriff verweigert. Eine Ausgabe ähnlich dem folgenden Beispiel wird angezeigt.
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
Der Computer befindet sich nicht im Subnetz subnet-private des virtuellen Netzwerks vnet-1.
Greifen Sie per SSH auf die VM vm-public zu.
Führen Sie den folgenden Befehl aus, um die IP-Adresse der VM als Umgebungsvariable zu speichern:
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
Erstellen Sie ein Verzeichnis für einen Bereitstellungspunkt:
sudo mkdir /mnt/file-share
Versuchen Sie, die Azure-Dateifreigabe für das Verzeichnis bereitzustellen, das Sie erstellt haben. In diesem Artikel wird davon ausgegangen, dass Sie die neueste Version von Ubuntu bereitgestellt haben. Bei Verwendung von früheren Versionen von Ubuntu finden Sie unter Einbinden unter Linux zusätzliche Anweisungen zum Einbinden von Dateifreigaben. Ersetzen Sie vor dem Ausführen des folgenden Befehls <storage-account-name>
durch den Kontonamen und <storage-account-key>
durch den Schlüssel, den Sie unter Erstellen eines Speicherkontos abgerufen haben:
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
Der Zugriff wird verweigert, und Sie erhalten einen mount error(13): Permission denied
-Fehler, da die VM vm-public im Subnetz subnet-public bereitgestellt wird. Für das Subnetz subnet-public wurde kein Dienstendpunkt für Azure Storage aktiviert, und das Speicherkonto erlaubt nur den Netzwerkzugriff aus dem Subnetz subnet-private, aber nicht aus dem Subnetz subnet-public.
Beenden Sie die SSH-Sitzung mit der VM vm-public.
Versuchen Sie von Ihrem Computer aus, die Freigaben in Ihrem Speicherkonto mit az storage share list anzuzeigen. Ersetzen Sie <account-name>
und <account-key>
durch den Namen des Speicherkontos und den Schlüssel aus Erstellen eines Speicherkontos:
az storage share list \
--account-name <account-name> \
--account-key <account-key>
Der Zugriff wird verweigert, und Sie erhalten einen Fehler vom Typ Diese Anforderung ist nicht berechtigt, diesen Vorgang auszuführen, da sich Ihr Computer nicht im Subnetz subnet-private des virtuellen Netzwerks vnet-1 befindet.
Wenn Sie mit der Verwendung der von Ihnen erstellten Ressourcen fertig sind, können Sie die Ressourcengruppe und alle zugehörigen Ressourcen löschen.
Suchen Sie im Azure-Portal nach Ressourcengruppen, und wählen Sie die entsprechende Option aus.
Wählen Sie auf der Seite Ressourcengruppen die Ressourcengruppe test-rg aus.
Wählen Sie auf der Seite test-rg die Option Ressourcengruppe löschen aus.
Geben Sie test-rg unter Ressourcengruppennamen eingeben, um die Löschung zu bestätigen und wählen Sie dann Löschen aus.
Wenn Sie die Ressourcengruppe und alle darin enthaltenen Ressourcen nicht mehr benötigen, können Sie sie mit dem Befehl Remove-AzResourceGroup entfernen:
$cleanup = @{
Name = "test-rg"
}
Remove-AzResourceGroup @cleanup -Force
Bereinigen von Ressourcen
Wenn die Ressourcengruppe und alle enthaltenen Ressourcen nicht mehr benötigt werden, können Sie sie mit az group delete entfernen.
az group delete \
--name test-rg \
--yes \
--no-wait
Nächste Schritte
In diesem Tutorial wird Folgendes durchgeführt:
Sie haben einen Dienstendpunkt für das Subnetz eines virtuellen Netzwerks aktiviert.
Sie haben erfahren, dass Dienstendpunkte für Ressourcen aktiviert werden können, die über mehrere Azure-Dienste bereitgestellt werden.
Sie haben ein Azure Storage-Konto erstellt und den Netzwerkzugriff auf das Speicherkonto ausschließlich auf Ressourcen im Subnetz eines virtuellen Netzwerks eingeschränkt.
Weitere Informationen zu Dienstendpunkten finden Sie unter Dienstendpunkte im virtuellen Netzwerk und Hinzufügen, Ändern oder Löschen von Subnetzen virtueller Netzwerke.
Wenn Sie über mehrere virtuelle Netzwerke in Ihrem Konto verfügen, sollten Sie eine Verbindung zwischen diesen in Erwägung ziehen, damit die Ressourcen untereinander kommunizieren können. Im nächsten Tutorial erfahren Sie, wie Sie Verbindungen zwischen virtuellen Netzwerken herstellen.