Konfigurieren von Netzwerkendpunkten für den Zugriff auf Azure-Dateifreigaben
Artikel
Azure Files verfügt über zwei Arten von Endpunkten für den Zugriff auf Azure-Dateifreigaben:
Öffentliche Endpunkte mit einer öffentlichen IP-Adresse, auf die von jedem Ort der Welt aus zugegriffen werden kann.
Private Endpunkte, die in einem virtuellen Netzwerk vorhanden sind und eine private IP-Adresse im Adressraum des virtuellen Netzwerks aufweisen.
Öffentliche und private Endpunkte befinden sich unter dem Azure-Speicherkonto. Ein Speicherkonto ist ein Verwaltungskonstrukt, das einen gemeinsam genutzten Pool mit Speicherplatz darstellt, in dem Sie mehrere Dateifreigaben sowie weitere Speicherressourcen wie Blobcontainer oder Warteschlangen bereitstellen können.
In diesem Artikel geht es um die Konfiguration der Endpunkte eines Speicherkontos für den direkten Zugriff auf die Azure-Dateifreigabe. Ein Großteil dieses Artikels bezieht sich auch darauf, wie Azure File Sync mit öffentlichen und privaten Endpunkten für das Speicherkonto interagiert. Weitere Informationen zu Überlegungen zum Netzwerkbetrieb für eine Azure-Dateisynchronisierung finden Sie unter Proxy- und Firewalleinstellungen der Azure-Dateisynchronisierung.
In diesem Artikel wird davon ausgegangen, dass Sie bereits ein Azure-Abonnement erstellt haben. Wenn Sie noch kein Abonnement haben, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.
In diesem Artikel wird davon ausgegangen, dass Sie bereits eine Azure-Dateifreigabe in einem Speicherkonto erstellt haben, mit dem aus der lokalen Umgebung eine Verbindung hergestellt werden soll. Informationen zum Erstellen einer Azure-Dateifreigabe finden Sie unter Erstellen einer Azure-Dateifreigabe.
Sie können Ihre Endpunkte so konfigurieren, dass der Netzwerkzugriff auf Ihr Speicherkonto beschränkt wird. Der Speicherkontozugriff kann auf zwei Arten auf ein virtuelles Netzwerk beschränkt werden:
Erstellen eines oder mehrerer privater Endpunkte für das Speicherkonto und Beschränken des gesamten Zugriffs auf den öffentlichen Endpunkt. Dadurch wird sichergestellt, dass nur von Datenverkehr aus den gewünschten virtuellen Netzwerken auf die Azure-Dateifreigaben im Speicherkonto zugegriffen werden kann. Weitere Informationen finden Sie unter Private Link-Kosten.
Beschränken des öffentlichen Endpunkts auf ein einzelnes virtuelles Netzwerk (oder auf mehrere). Hierzu werden sogenannte Dienstendpunkte des virtuellen Netzwerks verwendet. Wenn Sie den Datenverkehr für ein Speicherkonto über einen Dienstendpunkt beschränken, erfolgt der Zugriff auf das Speicherkonto weiterhin über die öffentliche IP-Adresse, aber der Zugriff ist nur von den Standorten aus möglich, die Sie in Ihrer Konfiguration angeben.
Erstellen eines privaten Endpunkts
Wenn Sie einen privaten Endpunkt für Ihr Speicherkonto erstellen, werden die folgenden Azure-Ressourcen bereitgestellt:
Ein privater Endpunkt: Eine Azure-Ressource, die den privaten Endpunkt des Speicherkontos darstellt. Sie können sich dies wie eine Ressource vorstellen, über die ein Speicherkonto und eine Netzwerkschnittstelle miteinander verbunden werden.
Eine Netzwerkschnittstelle (NIC) : Die Netzwerkschnittstelle, über die eine private IP-Adresse im angegebenen virtuellen Netzwerk bzw. Subnetz verwaltet wird. Dies ist genau die gleiche Ressource, die bei der Bereitstellung eines virtuellen Computers bereitgestellt wird. Sie wird aber nicht einer VM zugewiesen, sondern befindet sich im Besitz des privaten Endpunkts.
Eine private DNS-Zone: Falls Sie für dieses virtuelle Netzwerk noch keinen privaten Endpunkt bereitgestellt haben, wird für Ihr virtuelles Netzwerk eine neue private DNS-Zone bereitgestellt. Für das Speicherkonto in dieser DNS-Zone wird auch ein DNS-A-Eintrag erstellt. Wenn Sie in diesem virtuellen Netzwerk bereits einen privaten Endpunkt bereitgestellt haben, wird der vorhandenen DNS-Zone ein neuer A-Eintrag für das Speicherkonto hinzugefügt. Die Bereitstellung einer DNS-Zone ist optional. Es wird jedoch dringend empfohlen und erforderlich, wenn Sie Ihre Azure-Dateifreigaben mit einem AD-Dienstprinzipal oder mithilfe der FileREST-API bereitstellen.
Hinweis
In diesem Artikel wird das Speicherkonto-DNS-Suffix für die öffentlichen Azure-Regionen (core.windows.net) verwendet. Dieser Kommentar gilt auch für Azure Sovereign-Clouds wie die Azure US Government-Cloud und die von 21Vianet-Cloud betriebene Microsoft Azure. Ersetzen Sie einfach die entsprechenden Suffixe für Ihre Umgebung.
Navigieren Sie zu dem Speicherkonto, für das Sie einen privaten Endpunkt erstellen möchten. Wählen Sie im Dienstmenü unter Sicherheit + Netzwerk die Option Netzwerk, Private Endpunktverbindungen und dann +Privater Endpunkt aus, um einen neuen privaten Endpunkt zu erstellen.
Im anschließend angezeigten Assistenten müssen mehrere Seiten ausgefüllt werden.
Wählen Sie auf dem Blatt Grundlagen das gewünschte Abonnement, die Ressourcengruppe, den Namen, den Namen der Netzwerkschnittstelle und die Region für Ihren privaten Endpunkt aus. Diese können beliebig sein und müssen nicht mit dem Speicherkonto übereinstimmen. Allerdings müssen Sie den privaten Endpunkt in derselben Region erstellen wie das virtuelle Netzwerk, in dem Sie den privaten Endpunkt erstellen möchten. Wählen Sie dann Weiter: Ressource aus.
Wählen Sie auf dem Blatt Ressource die Option Datei für die untergeordnete Zielressource aus. Wählen Sie anschließend Weiter: Virtuelles Netzwerk aus.
Auf dem Blatt Virtuelles Netzwerk können Sie das spezifische virtuelle Netzwerk und das Subnetz auswählen, dem Sie Ihren privaten Endpunkt hinzufügen möchten. Wählen Sie die dynamische oder statische IP-Adresszuordnung für den neuen privaten Endpunkt aus. Wenn Sie sich für eine statische Zuordnung entscheiden, müssen Sie auch einen Namen und eine private IP-Adresse angeben. Optional können Sie auch eine Anwendungssicherheitsgruppe angeben. Wenn Sie fertig sind, wählen Sie Weiter: DNS aus.
Das Blatt DNS enthält die Informationen zur Integration Ihres privaten Endpunkts in eine private DNS-Zone. Vergewissern Sie sich, dass Abonnement und Ressourcengruppe korrekt sind, und wählen Sie dann Weiter: Tags aus.
Sie können optional Tags anwenden, um Ihre Ressourcen zu kategorisieren, und beispielsweise den Namen Umgebung und den Wert Test auf alle Testressourcen anwenden. Geben Sie bei Bedarf Name-Wert-Paare ein, und wählen Sie dann Weiter: Überprüfen + erstellen aus.
Wählen Sie Überprüfen + erstellen aus, um den privaten Endpunkt zu erstellen.
Für die Erstellung eines privaten Endpunkts für Ihr Speicherkonto müssen Sie zuerst einen Verweis auf Ihr Speicherkonto und das Subnetz des virtuellen Netzwerks einrichten, dem Sie den privaten Endpunkt hinzufügen möchten. Ersetzen Sie unten <storage-account-resource-group-name>, <storage-account-name>, <vnet-resource-group-name>, <vnet-name> und <vnet-subnet-name> entsprechend:
$storageAccountResourceGroupName = "<storage-account-resource-group-name>"
$storageAccountName = "<storage-account-name>"
$virtualNetworkResourceGroupName = "<vnet-resource-group-name>"
$virtualNetworkName = "<vnet-name>"
$subnetName = "<vnet-subnet-name>"
# Get storage account reference, and throw error if it doesn't exist
$storageAccount = Get-AzStorageAccount `
-ResourceGroupName $storageAccountResourceGroupName `
-Name $storageAccountName `
-ErrorAction SilentlyContinue
if ($null -eq $storageAccount) {
$errorMessage = "Storage account $storageAccountName not found "
$errorMessage += "in resource group $storageAccountResourceGroupName."
Write-Error -Message $errorMessage -ErrorAction Stop
}
# Get virtual network reference, and throw error if it doesn't exist
$virtualNetwork = Get-AzVirtualNetwork `
-ResourceGroupName $virtualNetworkResourceGroupName `
-Name $virtualNetworkName `
-ErrorAction SilentlyContinue
if ($null -eq $virtualNetwork) {
$errorMessage = "Virtual network $virtualNetworkName not found "
$errorMessage += "in resource group $virtualNetworkResourceGroupName."
Write-Error -Message $errorMessage -ErrorAction Stop
}
# Get reference to virtual network subnet, and throw error if it doesn't exist
$subnet = $virtualNetwork | `
Select-Object -ExpandProperty Subnets | `
Where-Object { $_.Name -eq $subnetName }
if ($null -eq $subnet) {
Write-Error `
-Message "Subnet $subnetName not found in virtual network $virtualNetworkName." `
-ErrorAction Stop
}
Für die Erstellung eines privaten Endpunkts müssen Sie eine Private Link-Dienstverbindung mit dem Speicherkonto erstellen. Die Private Link-Dienstverbindung ist eine Voraussetzung für die Erstellung des privaten Endpunkts.
# Disable private endpoint network policies
$subnet.PrivateEndpointNetworkPolicies = "Disabled"
$virtualNetwork = $virtualNetwork | `
Set-AzVirtualNetwork -ErrorAction Stop
# Create a private link service connection to the storage account.
$privateEndpointConnection = New-AzPrivateLinkServiceConnection `
-Name "$storageAccountName-Connection" `
-PrivateLinkServiceId $storageAccount.Id `
-GroupId "file" `
-ErrorAction Stop
# Create a new private endpoint.
$privateEndpoint = New-AzPrivateEndpoint `
-ResourceGroupName $storageAccountResourceGroupName `
-Name "$storageAccountName-PrivateEndpoint" `
-Location $virtualNetwork.Location `
-Subnet $subnet `
-PrivateLinkServiceConnection $privateEndpointConnection `
-ErrorAction Stop
Die Erstellung einer privaten Azure DNS-Zone ermöglicht es, dass der Originalname des Speicherkontos, z. B. storageaccount.file.core.windows.net, in die private IP-Adresse im virtuellen Netzwerk aufgelöst wird. Diese Vorgehensweise ist für die Erstellung eines privaten Endpunkts zwar optional, aber für die direkte Bereitstellung der Azure-Dateifreigabe mit einem AD-Benutzerprinzipal oder per Zugriff über die REST-API ist dies zwingend erforderlich.
# Get the desired storage account suffix (core.windows.net for public cloud).
# This is done like this so this script will seamlessly work for non-public Azure.
$storageAccountSuffix = Get-AzContext | `
Select-Object -ExpandProperty Environment | `
Select-Object -ExpandProperty StorageEndpointSuffix
# For public cloud, this will generate the following DNS suffix:
# privatelink.file.core.windows.net.
$dnsZoneName = "privatelink.file.$storageAccountSuffix"
# Find a DNS zone matching desired name attached to this virtual network.
$dnsZone = Get-AzPrivateDnsZone | `
Where-Object { $_.Name -eq $dnsZoneName } | `
Where-Object {
$privateDnsLink = Get-AzPrivateDnsVirtualNetworkLink `
-ResourceGroupName $_.ResourceGroupName `
-ZoneName $_.Name `
-ErrorAction SilentlyContinue
$privateDnsLink.VirtualNetworkId -eq $virtualNetwork.Id
}
if ($null -eq $dnsZone) {
# No matching DNS zone attached to virtual network, so create new one.
$dnsZone = New-AzPrivateDnsZone `
-ResourceGroupName $virtualNetworkResourceGroupName `
-Name $dnsZoneName `
-ErrorAction Stop
$privateDnsLink = New-AzPrivateDnsVirtualNetworkLink `
-ResourceGroupName $virtualNetworkResourceGroupName `
-ZoneName $dnsZoneName `
-Name "$virtualNetworkName-DnsLink" `
-VirtualNetworkId $virtualNetwork.Id `
-ErrorAction Stop
}
Nachdem Sie nun über einen Verweis auf die private DNS-Zone verfügen, müssen Sie einen A-Eintrag für Ihr Speicherkonto erstellen.
Für die Erstellung eines privaten Endpunkts für Ihr Speicherkonto müssen Sie zuerst einen Verweis auf Ihr Speicherkonto und das Subnetz des virtuellen Netzwerks einrichten, dem Sie den privaten Endpunkt hinzufügen möchten. Ersetzen Sie unten <storage-account-resource-group-name>, <storage-account-name>, <vnet-resource-group-name>, <vnet-name> und <vnet-subnet-name> entsprechend:
storageAccountResourceGroupName="<storage-account-resource-group-name>"
storageAccountName="<storage-account-name>"
virtualNetworkResourceGroupName="<vnet-resource-group-name>"
virtualNetworkName="<vnet-name>"
subnetName="<vnet-subnet-name>"
# Get storage account ID
storageAccount=$(az storage account show \
--resource-group $storageAccountResourceGroupName \
--name $storageAccountName \
--query "id" | \
tr -d '"')
# Get virtual network ID
virtualNetwork=$(az network vnet show \
--resource-group $virtualNetworkResourceGroupName \
--name $virtualNetworkName \
--query "id" | \
tr -d '"')
# Get subnet ID
subnet=$(az network vnet subnet show \
--resource-group $virtualNetworkResourceGroupName \
--vnet-name $virtualNetworkName \
--name $subnetName \
--query "id" | \
tr -d '"')
Für die Erstellung eines privaten Endpunkts müssen Sie zunächst sicherstellen, dass die Netzwerkrichtlinie für den privaten Endpunkt des Subnetzes auf „Deaktiviert“ festgelegt ist. Anschließend können Sie mit dem Befehl az network private-endpoint create einen privaten Endpunkt erstellen.
Die Erstellung einer privaten Azure DNS-Zone ermöglicht es, dass der Originalname des Speicherkontos, z. B. storageaccount.file.core.windows.net, in die private IP-Adresse im virtuellen Netzwerk aufgelöst wird. Diese Vorgehensweise ist für die Erstellung eines privaten Endpunkts zwar optional, aber für die Bereitstellung der Azure-Dateifreigabe mit einem AD-Benutzerprinzipal oder per Zugriff über die REST-API ist dies zwingend erforderlich.
# Get the desired storage account suffix (core.windows.net for public cloud).
# This is done like this so this script will seamlessly work for non-public Azure.
storageAccountSuffix=$(az cloud show \
--query "suffixes.storageEndpoint" | \
tr -d '"')
# For public cloud, this will generate the following DNS suffix:
# privatelink.file.core.windows.net.
dnsZoneName="privatelink.file.$storageAccountSuffix"
# Find a DNS zone matching desired name attached to this virtual network.
possibleDnsZones=""
possibleDnsZones=$(az network private-dns zone list \
--query "[?name == '$dnsZoneName'].id" \
--output tsv)
dnsZone=""
possibleDnsZone=""
for possibleDnsZone in $possibleDnsZones
do
possibleResourceGroupName=$(az resource show \
--ids $possibleDnsZone \
--query "resourceGroup" | \
tr -d '"')
link=$(az network private-dns link vnet list \
--resource-group $possibleResourceGroupName \
--zone-name $dnsZoneName \
--query "[?virtualNetwork.id == '$virtualNetwork'].id" \
--output tsv)
if [ -z $link ]
then
echo "1" > /dev/null
else
dnsZoneResourceGroup=$possibleResourceGroupName
dnsZone=$possibleDnsZone
break
fi
done
if [ -z $dnsZone ]
then
# No matching DNS zone attached to virtual network, so create a new one
dnsZone=$(az network private-dns zone create \
--resource-group $virtualNetworkResourceGroupName \
--name $dnsZoneName \
--query "id" | \
tr -d '"')
az network private-dns link vnet create \
--resource-group $virtualNetworkResourceGroupName \
--zone-name $dnsZoneName \
--name "$virtualNetworkName-DnsLink" \
--virtual-network $virtualNetwork \
--registration-enabled false \
--output none
dnsZoneResourceGroup=$virtualNetworkResourceGroupName
fi
Nachdem Sie nun über einen Verweis auf die private DNS-Zone verfügen, müssen Sie einen A-Eintrag für Ihr Speicherkonto erstellen.
privateEndpointNIC=$(az network private-endpoint show \
--ids $privateEndpoint \
--query "networkInterfaces[0].id" | \
tr -d '"')
privateEndpointIP=$(az network nic show \
--ids $privateEndpointNIC \
--query "ipConfigurations[0].privateIPAddress" | \
tr -d '"')
az network private-dns record-set a create \
--resource-group $dnsZoneResourceGroup \
--zone-name $dnsZoneName \
--name $storageAccountName \
--output none
az network private-dns record-set a add-record \
--resource-group $dnsZoneResourceGroup \
--zone-name $dnsZoneName \
--record-set-name $storageAccountName \
--ipv4-address $privateEndpointIP \
--output none
Falls Sie in Ihrem virtuellen Netzwerk über einen virtuellen Computer verfügen oder die DNS-Weiterleitung wie unter Konfigurieren der DNS-Weiterleitung für Azure Files beschrieben konfiguriert haben, können Sie mit den folgenden Befehlen testen, ob Ihr privater Endpunkt richtig eingerichtet wurde: Führen Sie die folgenden Befehle über PowerShell, die Befehlszeile oder das Terminal aus (funktioniert für Windows, Linux oder macOS). Sie müssen <storage-account-name> durch den entsprechenden Speicherkontonamen ersetzen:
Falls alles richtig funktioniert hat, sollte die folgende Ausgabe (Beispiel für Windows) angezeigt werden, wobei 192.168.0.5 die private IP-Adresse des privaten Endpunkts in Ihrem virtuellen Netzwerk ist:
Falls Sie in Ihrem virtuellen Netzwerk über einen virtuellen Computer verfügen oder die DNS-Weiterleitung wie unter Konfigurieren der DNS-Weiterleitung für Azure Files beschrieben konfiguriert haben, können Sie mit den folgenden Befehlen testen, ob Ihr privater Endpunkt richtig eingerichtet wurde:
Falls alles gut funktioniert hat, sollte die folgende Ausgabe angezeigt werden, wobei 192.168.0.5 die private IP-Adresse des privaten Endpunkts in Ihrem virtuellen Netzwerk ist:
Name Type TTL Section NameHost
---- ---- --- ------- --------
storageaccount.file.core.windows CNAME 60 Answer storageaccount.privatelink.file.core.windows.net
.net
Name : storageaccount.privatelink.file.core.windows.net
QueryType : A
TTL : 600
Section : Answer
IP4Address : 192.168.0.5
Falls Sie in Ihrem virtuellen Netzwerk über einen virtuellen Computer verfügen oder die DNS-Weiterleitung wie unter Konfigurieren der DNS-Weiterleitung für Azure Files beschrieben konfiguriert haben, können Sie mit den folgenden Befehlen testen, ob Ihr privater Endpunkt richtig eingerichtet wurde:
Falls alles gut funktioniert hat, sollte die folgende Ausgabe angezeigt werden, wobei 192.168.0.5 die private IP-Adresse des privaten Endpunkts in Ihrem virtuellen Netzwerk ist. Sie sollten weiterhin storageaccount.file.core.windows.net anstelle des privatelink Pfads benutzen, um Ihre Dateifreigabe herzustellen.
Einschränken des Zugriffs auf den öffentlichen Endpunkt
Um den Zugriff auf den öffentlichen Endpunkt einzuschränken, müssen Sie zuerst den allgemeinen Zugriff auf den öffentlichen Endpunkt deaktivieren. Das Deaktivieren des Zugriffs auf den öffentlichen Endpunkt wirkt sich nicht auf private Endpunkte aus. Nachdem der öffentliche Endpunkt deaktiviert wurde, können Sie bestimmte Netzwerke oder IP-Adressen auswählen, die weiterhin darauf zugreifen dürfen. Im Allgemeinen beschränken die meisten Firewallrichtlinien für Speicherkonten den Netzwerkzugriff auf ein virtuelles Netzwerk (oder auf mehrere).
Deaktivieren des Zugriffs auf den öffentlichen Endpunkt
Wenn der gesamte Zugriff auf den öffentlichen Endpunkt deaktiviert wird, kann über die entsprechenden privaten Endpunkte weiterhin auf das Speicherkonto zugegriffen werden. Andernfalls werden gültige Anforderungen, die an den öffentlichen Endpunkt des Speicherkontos gesendet werden, abgelehnt, es sei denn, sie stammen von einer bestimmten zugelassenen Quelle.
Navigieren Sie zu dem Speicherkonto, für das Sie den gesamten Zugriff auf den öffentlichen Endpunkt einschränken möchten. Wählen Sie im Inhaltsverzeichnis des Speicherkontos den Eintrag Netzwerke aus.
Wählen Sie oben auf der Seite das Optionsfeld Aktiviert aus ausgewählten virtuellen Netzwerken und IP-Adressen aus. Hierdurch werden einige Einstellungen zum Steuern der Einschränkung des öffentlichen Endpunkts eingeblendet. Aktivieren Sie Azure-Diensten auf der Liste der vertrauenswürdigen Dienste den Zugriff auf dieses Speicherkonto erlauben, um vertrauenswürdigen Microsoft-Erstanbieterdiensten, z. B. der Azure-Dateisynchronisierung, den Zugriff auf das Speicherkonto zu erlauben.
Mit dem folgenden PowerShell-Befehl wird der gesamte Datenverkehr an den öffentlichen Endpunkt des Speicherkontos abgelehnt. Beachten Sie, dass für diesen Befehl der Parameter -Bypass auf AzureServices festgelegt ist. Hierdurch können vertrauenswürdige Erstanbieterdienste, z. B. die Azure-Dateisynchronisierung, über den öffentlichen Endpunkt auf das Speicherkonto zugreifen.
# This assumes $storageAccount is still defined from the beginning of this of this guide.
$storageAccount | Update-AzStorageAccountNetworkRuleSet `
-DefaultAction Deny `
-Bypass AzureServices `
-WarningAction SilentlyContinue `
-ErrorAction Stop | `
Out-Null
Mit dem folgenden CLI-Befehl wird der gesamte Datenverkehr an den öffentlichen Endpunkt des Speicherkontos abgelehnt. Beachten Sie, dass für diesen Befehl der Parameter -bypass auf AzureServices festgelegt ist. Hierdurch können vertrauenswürdige Erstanbieterdienste, z. B. die Azure-Dateisynchronisierung, über den öffentlichen Endpunkt auf das Speicherkonto zugreifen.
# This assumes $storageAccountResourceGroupName and $storageAccountName
# are still defined from the beginning of this guide.
az storage account update \
--resource-group $storageAccountResourceGroupName \
--name $storageAccountName \
--bypass "AzureServices" \
--default-action "Deny" \
--output none
Einschränken des Zugriffs auf den öffentlichen Endpunkt auf bestimmte virtuelle Netzwerke
Wenn Sie das Speicherkonto auf bestimmte virtuelle Netzwerke einschränken, lassen Sie Anforderungen an den öffentlichen Endpunkt aus den angegebenen virtuellen Netzwerken zu. Hierzu werden sogenannte Dienstendpunkte des virtuellen Netzwerks verwendet. Die Nutzung ist mit oder ohne private Endpunkte möglich.
Navigieren Sie zu dem Speicherkonto, für das Sie den öffentlichen Endpunkt auf bestimmte virtuelle Netzwerke einschränken möchten. Wählen Sie im Inhaltsverzeichnis des Speicherkontos den Eintrag Netzwerke aus.
Wählen Sie oben auf der Seite das Optionsfeld Aktiviert aus ausgewählten virtuellen Netzwerken und IP-Adressen aus. Hierdurch werden einige Einstellungen zum Steuern der Einschränkung des öffentlichen Endpunkts eingeblendet. Wählen Sie + Vorhandenes virtuelles Netzwerk hinzufügen aus, um das jeweilige virtuelle Netzwerk auszuwählen, für das der Zugriff auf das Speicherkonto über den öffentlichen Endpunkt zulässig sein soll. Wählen Sie ein virtuelles Netzwerk und ein Subnetz für dieses virtuelle Netzwerk und dann Aktivieren aus.
Aktivieren Sie Azure-Diensten auf der Liste der vertrauenswürdigen Dienste den Zugriff auf dieses Speicherkonto erlauben, um vertrauenswürdigen Microsoft-Erstanbieterdiensten, z. B. der Azure-Dateisynchronisierung, den Zugriff auf das Speicherkonto zu erlauben.
Zum Einschränken des Zugriffs auf den öffentlichen Endpunkt des Speicherkontos auf bestimmte virtuelle Netzwerke mit Dienstendpunkten müssen wir zunächst Informationen zum Speicherkonto und virtuellen Netzwerk sammeln. Geben Sie die Werte für <storage-account-resource-group>, <storage-account-name>, <vnet-resource-group-name>, <vnet-name> und <subnet-name> ein, um diese Informationen zu sammeln.
Damit der Datenverkehr aus dem virtuellen Netzwerk von der Azure-Netzwerkfabric zugelassen wird und an den öffentlichen Endpunkt des Speicherkontos fließen kann, muss für das Subnetz des virtuellen Netzwerks der Dienstendpunkt Microsoft.Storage verfügbar gemacht werden. Mit den folgenden PowerShell-Befehlen wird der Dienstendpunkt Microsoft.Storage dem Subnetz hinzugefügt, falls er noch nicht vorhanden ist.
Der letzte Schritt zum Einschränken des Datenverkehrs für das Speicherkonto ist das Erstellen einer Netzwerkregel und das Hinzufügen zum Netzwerkregelsatz des Speicherkontos.
Zum Einschränken des Zugriffs auf den öffentlichen Endpunkt des Speicherkontos auf bestimmte virtuelle Netzwerke mit Dienstendpunkten müssen wir zunächst Informationen zum Speicherkonto und virtuellen Netzwerk sammeln. Geben Sie die Werte für <storage-account-resource-group>, <storage-account-name>, <vnet-resource-group-name>, <vnet-name> und <subnet-name> ein, um diese Informationen zu sammeln.
Damit der Datenverkehr aus dem virtuellen Netzwerk von der Azure-Netzwerkfabric zugelassen wird und an den öffentlichen Endpunkt des Speicherkontos fließen kann, muss für das Subnetz des virtuellen Netzwerks der Dienstendpunkt Microsoft.Storage verfügbar gemacht werden. Mit den folgenden CLI-Befehlen wird der Dienstendpunkt Microsoft.Storage dem Subnetz hinzugefügt, falls er noch nicht vorhanden ist.
serviceEndpoints=$(az network vnet subnet show \
--resource-group $restrictToVirtualNetworkResourceGroupName \
--vnet-name $restrictToVirtualNetworkName \
--name $subnetName \
--query "serviceEndpoints[].service" \
--output tsv)
foundStorageServiceEndpoint=false
for serviceEndpoint in $serviceEndpoints
do
if [ $serviceEndpoint = "Microsoft.Storage" ]
then
foundStorageServiceEndpoint=true
fi
done
if [ $foundStorageServiceEndpoint = false ]
then
serviceEndpointList=""
for serviceEndpoint in $serviceEndpoints
do
serviceEndpointList+=$serviceEndpoint
serviceEndpointList+=" "
done
serviceEndpointList+="Microsoft.Storage"
az network vnet subnet update \
--ids $subnet \
--service-endpoints $serviceEndpointList \
--output none
fi
Der letzte Schritt zum Einschränken des Datenverkehrs für das Speicherkonto ist das Erstellen einer Netzwerkregel und das Hinzufügen zum Netzwerkregelsatz des Speicherkontos.