Sanal ağ hizmet uç noktaları bazı Azure hizmet uç noktalarına ağ erişimini bir sanal ağ alt ağı ile sınırlamanıza olanak tanır. Ayrıca, kaynaklara internet erişimini de kaldırabilirsiniz. Hizmet uç noktaları, sanal ağınızdan desteklenen Azure hizmetlerine doğrudan bağlantı sağlar, böylece Azure hizmetlerine erişmek için sanal ağınızın özel adres alanını kullanabilirsiniz. Hizmet uç noktaları aracılığıyla Azure kaynaklarına gönderilen trafik her zaman Microsoft Azure omurga ağı üzerinde kalır.
Bu öğreticide aşağıdakilerin nasıl yapılacağını öğreneceksiniz:
- Bir alt ağ içeren sanal ağ oluşturun
- Alt ağ ekleme ve hizmet uç noktasını etkinleştirme
- Azure kaynağı oluşturma ve yalnızca bir alt ağdan ağ erişimine izin verme
- Her alt ağa bir sanal makine (VM) dağıtma
- Bir alt ağdan kaynağa erişimi onaylama
- Bir alt ağdan ve internetten kaynağa erişimin reddedildiğini onaylama
Önkoşullar
- Etkin aboneliği olan bir Azure hesabı.
Ücretsiz bir tane oluşturun.
Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.
Azure Cloud Shell
Azure, tarayıcınız aracılığıyla kullanabileceğiniz etkileşimli bir kabuk ortamı olan Azure Cloud Shell'i barındırıyor. Azure hizmetleriyle çalışmak için Cloud Shell ile Bash veya PowerShell kullanabilirsiniz. Yerel ortamınıza herhangi bir şey yüklemek zorunda kalmadan bu makaledeki kodu çalıştırmak için Cloud Shell önceden yüklenmiş komutlarını kullanabilirsiniz.
Azure Cloud Shell'i başlatmak için:
| Seçenek |
Örnek/Bağlantı |
| Kodun veya komut bloğunun sağ üst köşesindeki Deneyin'i seçin.
Deneyin seçildiğinde kod veya komut otomatik olarak Cloud Shell'e kopyalanmaz. |
|
|
https://shell.azure.comadresine gidin veya Cloud Shell'i tarayıcınızda açmak için Cloud Shell'i Başlat düğmesini seçin. |
|
| Azure portalının sağ üst kısmındaki menü çubuğunda Cloud Shell düğmesini seçin. |
|
Azure Cloud Shell'i kullanmak için:
Cloud Shell'i başlatın.
Kodu veya komutu kopyalamak için kod bloğundaki (veya komut bloğundaki) Kopyala düğmesini seçin.
Windows ve Linux'ta Ctrl+Shift+V tuşlarına basarak veya macOS üzerinde Cmd+Shift+V tuşlarına basarak kodu veya komutu Cloud Shell oturumuna yapıştırın.
Kodu veya komutu çalıştırmak için Enter'ı seçin.
PowerShell'i yerel olarak yükleyip kullanmayı seçerseniz, bu makale Için Azure PowerShell modülünün 1.0.0 veya sonraki bir sürümü gerekir. Yüklü sürümü bulmak için Get-Module -ListAvailable Az komutunu çalıştırın. Yükseltmeniz gerekirse, bkz. Azure PowerShell modülünü yükleme. PowerShell'i yerel olarak çalıştırıyorsanız Azure ile bağlantı oluşturmak için de komutunu çalıştırmanız Connect-AzAccount gerekir.
Azure hesabınız yoksa, başlamadan önce ücretsiz hesap oluşturun.
- Bu makale, Azure CLI'nın 2.0.28 veya sonraki bir sürümünü gerektirir. Azure Cloud Shell kullanılıyorsa en son sürüm zaten yüklüdür.
Bir kaynak grubu oluşturun
Azure portalınaoturum açın.
Portalın üst kısmındaki arama kutusuna Kaynak grubu yazın. Arama sonuçlarında Kaynak grupları'nı seçin.
+Oluştur'u seçin.
Kaynak grubu oluştur'unTemel Bilgiler sekmesinde aşağıdaki bilgileri girin veya seçin:
| Ayarlar |
Değer |
|
Proje ayrıntıları |
|
| Abonelik |
Aboneliğinizi seçin. |
| Kaynak grubu |
test-rg girin. |
| Bölge |
Doğu ABD 2’yi seçin. |
Seçin, gözden geçir ve oluştur.
Oluştur'u belirleyin.
Sanal ağ oluşturma
Portalın üst kısmındaki arama kutusuna Sanal ağ yazın. Arama sonuçlarında Sanal ağlar'ı seçin.
+Oluştur'u seçin.
Sanal ağ oluştur'un Temel Bilgiler sekmesinde aşağıdaki bilgileri girin veya seçin:
| Ayarlar |
Değer |
|
Proje ayrıntıları |
|
| Abonelik |
Aboneliğinizi seçin. |
| Kaynak grubu |
test-rg öğesini seçin. |
|
Örnek ayrıntıları |
|
| Adı |
vnet-1 girin. |
| Bölge |
Doğu ABD 2’yi seçin. |
Güvenlik sekmesine gitmek için İleri'yi seçin.
IP Adresleri sekmesine gitmek için İleri'yi seçin.
Alt ağlar'daki adres alanı kutusunda varsayılan alt ağı seçin.
Alt ağı düzenle bölümüne aşağıdaki bilgileri girin veya seçin:
| Ayarlar |
Değer |
|
Alt ağ ayrıntıları |
|
| Alt ağ şablonu |
Varsayılan Varsayılan değeri değiştirmeyin. |
| Adı |
subnet-1'i girin. |
| Başlangıç adresi |
Varsayılan değeri 10.0.0.0 olarak bırakın. |
| Alt ağ boyutu |
Varsayılan değeri /24 (256 adres) olarak bırakın. |
Kaydet'i seçin.
Ekranın alt kısmındaki Gözden geçir + oluştur'u seçin ve doğrulama başarılı olduğunda Oluştur'u seçin.
Azure Bastion’ı dağıtma
Azure Bastion, özel IP adreslerini kullanarak güvenli kabuk (SSH) veya uzak masaüstü protokolü (RDP) üzerinden sanal ağınızdaki VM'lere bağlanmak için tarayıcınızı kullanır. VM'lerin genel IP adreslerine, istemci yazılımına veya özel yapılandırmaya ihtiyacı yoktur. Azure Bastion hakkında daha fazla bilgi için bkz . Azure Bastion.
Not
Saatlik fiyatlandırma, giden veri kullanımına bakılmaksızın Bastion dağıtıldığından itibaren başlar. Daha fazla bilgi için bkz . Fiyatlandırma ve SKU'lar. Bastion'ı bir öğretici veya test kapsamında dağıtıyorsanız, kullanmayı bitirdikten sonra bu kaynağı silmenizi öneririz.
Portalın üst kısmındaki arama kutusuna Bastion yazın. Arama sonuçlarında Bastions'ı seçin.
+Oluştur'u seçin.
Bastion Oluşturma'nınTemel Bilgiler sekmesinde aşağıdaki bilgileri girin veya seçin:
| Ayarlar |
Değer |
|
Proje ayrıntıları |
|
| Abonelik |
Aboneliğinizi seçin. |
| Kaynak grubu |
test-rg öğesini seçin. |
|
Örnek ayrıntıları |
|
| Adı |
Bastion girin. |
| Bölge |
Doğu ABD 2’yi seçin. |
| Katman |
Geliştirici'yi seçin. |
|
Sanal ağları yapılandırma |
|
| Sanal ağ |
vnet-1'i seçin. |
Seçin, gözden geçir ve oluştur.
Oluştur'u belirleyin.
Bir hizmet uç noktasını etkinleştir
Hizmet uç noktaları her hizmet ve her alt ağ için etkinleştirilir.
Portal sayfasının üst kısmındaki arama kutusunda Sanal ağ'ı arayın. Arama sonuçlarında Sanal ağlar'ı seçin.
Sanal ağlar'da vnet-1'i seçin.
vnet-1'in Ayarlar bölümünde Alt ağlar'ı seçin.
+ Alt Ağ'ı seçin.
Alt ağ ekle sayfasında aşağıdaki bilgileri girin veya seçin:
| Ayarlar |
Değer |
| Adı |
özel alt ağ |
| Alt ağ adres aralığı |
Varsayılan değeri 10.0.2.0/24 olarak bırakın. |
|
HİzMET UÇ NOKTALARI |
|
| Hizmetler |
Microsoft.Storage'ı seçin |
Kaydet'i seçin.
Sanal ağ oluşturma
Sanal ağ oluşturmadan önce, sanal ağ ve bu makalede oluşturulan diğer tüm kaynaklar için bir kaynak grubu oluşturmanız gerekir. New-AzResourceGroup ile bir kaynak grubu oluşturun. Aşağıdaki örnek test-rg adlı bir kaynak grubu oluşturur:
$rg = @{
ResourceGroupName = "test-rg"
Location = "westus2"
}
New-AzResourceGroup @rg
New-AzVirtualNetwork ile bir sanal ağ oluşturun. Aşağıdaki örnek, 10.0.0.0/16 adres ön ekiyle vnet-1 adlı bir sanal ağ oluşturur.
$vnet = @{
ResourceGroupName = "test-rg"
Location = "westus2"
Name = "vnet-1"
AddressPrefix = "10.0.0.0/16"
}
$virtualNetwork = New-AzVirtualNetwork @vnet
New-AzVirtualNetworkSubnetConfig ile bir alt ağ yapılandırması oluşturun. Aşağıdaki örnek, subnet-public adlı bir alt ağ için bir alt ağ yapılandırması oluşturur:
$subpub = @{
Name = "subnet-public"
AddressPrefix = "10.0.0.0/24"
VirtualNetwork = $virtualNetwork
}
$subnetConfigPublic = Add-AzVirtualNetworkSubnetConfig @subpub
Alt ağ yapılandırmasını Set-AzVirtualNetwork ile sanal ağa yazarak sanal ağda alt ağı oluşturun:
$virtualNetwork | Set-AzVirtualNetwork
Sanal ağda başka bir alt ağ oluşturun. Bu örnekte, Microsoft.Storage için hizmet uç noktası ile subnet-private adlı bir alt ağ oluşturulur:
$subpriv = @{
Name = "subnet-private"
AddressPrefix = "10.0.2.0/24"
VirtualNetwork = $virtualNetwork
ServiceEndpoint = "Microsoft.Storage"
}
$subnetConfigPrivate = Add-AzVirtualNetworkSubnetConfig @subpriv
$virtualNetwork | Set-AzVirtualNetwork
Azure Bastion’ı dağıtma
Azure Bastion, özel IP adreslerini kullanarak Secure Shell (SSH) veya Uzak Masaüstü Protokolü (RDP) üzerinden sanal ağınızdaki VM'lere bağlanmak için tarayıcınızı kullanır. VM'lerin genel IP adreslerine, istemci yazılımına veya özel yapılandırmaya ihtiyacı yoktur. Bastion hakkında daha fazla bilgi için bkz. Azure Bastion nedir?
Saatlik fiyatlandırma, giden veri kullanımına bakılmaksızın Bastion dağıtıldığından itibaren başlar. Daha fazla bilgi için bkz . Fiyatlandırma ve SKU'lar. Bastion'ı bir öğretici veya test kapsamında dağıtıyorsanız, kullanmayı bitirdikten sonra bu kaynağı silmenizi öneririz.
Sanal ağınız için bir Bastion alt ağı yapılandırın. Bu alt ağ yalnızca Bastion kaynakları için ayrılmıştır ve AzureBastionSubnet olarak adlandırılmalıdır.
$subnet = @{
Name = 'AzureBastionSubnet'
VirtualNetwork = $virtualNetwork
AddressPrefix = '10.0.1.0/26'
}
$subnetConfig = Add-AzVirtualNetworkSubnetConfig @subnet
Yapılandırmayı ayarlayın:
$virtualNetwork | Set-AzVirtualNetwork
Bastion için bir genel IP adresi oluşturun. Bastion konağı, 443 numaralı bağlantı noktası üzerinden SSH ve RDP'ye erişmek için genel IP'yi kullanır.
$ip = @{
ResourceGroupName = 'test-rg'
Name = 'public-ip'
Location = 'westus2'
AllocationMethod = 'Static'
Sku = 'Standard'
Zone = 1,2,3
}
New-AzPublicIpAddress @ip
AzureBastionSubnet'te yeni bir Temel SKU Bastion konağı oluşturmak için New-AzBastion komutunu kullanın:
$bastion = @{
Name = 'bastion'
ResourceGroupName = 'test-rg'
PublicIpAddressRgName = 'test-rg'
PublicIpAddressName = 'public-ip'
VirtualNetworkRgName = 'test-rg'
VirtualNetworkName = 'vnet-1'
Sku = 'Basic'
}
New-AzBastion @bastion -AsJob
Bastion kaynaklarının dağıtılması yaklaşık 10 dakika sürer. Bastion sanal ağınıza dağıtılırken sonraki bölümde VM'ler oluşturabilirsiniz.
Sanal ağ oluşturma
Sanal ağ oluşturmadan önce, sanal ağ ve bu makalede oluşturulan diğer tüm kaynaklar için bir kaynak grubu oluşturmanız gerekir.
az group create ile bir kaynak grubu oluşturun. Aşağıdaki örnek, westus2 konumunda test-rg adlı bir kaynak grubu oluşturur.
az group create \
--name test-rg \
--location westus2
az network vnet create ile bir alt ağ ile bir sanal ağ oluşturun.
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
Hizmet uç noktalarını yalnızca hizmet uç noktalarını destekleyen hizmetler için etkinleştirebilirsiniz. Azure konumunda kullanılabilir hizmet uç noktası etkinleştirilmiş hizmetleri az network vnet list-endpoint-services ile görüntüleyin. Aşağıdaki örnek, westus2 bölgesinde kullanılabilen hizmet uç noktası etkinleştirilmiş hizmetlerin listesini döndürür. Daha fazla Azure hizmeti hizmet uç noktası etkinleştirildikçe döndürülen hizmetlerin listesi zamanla büyüyecektir.
az network vnet list-endpoint-services \
--location westus2 \
--out table
az network vnet subnet create ile sanal ağda başka bir alt ağ oluşturun. Bu örnekte, alt ağ için için Microsoft.Storage bir hizmet uç noktası oluşturulur:
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
az network vnet subnet create ile bir Bastion alt ağı oluşturun.
az network vnet subnet create \
--vnet-name vnet-1 \
--resource-group test-rg \
--name AzureBastionSubnet \
--address-prefix 10.0.2.0/26
az network public-ip create komutuyla Azure Bastion konağı için bir genel IP adresi oluşturun.
az network public-ip create \
--resource-group test-rg \
--name public-ip-bastion \
--sku Standard \
--location westus2
az network bastion create ile bir Azure Bastion konağı oluşturun.
az network bastion create \
--resource-group test-rg \
--name bastion \
--vnet-name vnet-1 \
--public-ip-address public-ip-bastion \
--location westus2 \
--sku Basic \
--no-wait
Bir alt ağ için ağ erişimini kısıtlama
Varsayılan olarak, alt ağdaki tüm sanal makine örnekleri herhangi bir kaynakla iletişim kurabilir. Bir ağ güvenlik grubu oluşturup bunu alt ağ ile ilişkilendirerek, alt ağdaki tüm kaynaklara giden ve gelen iletişimi sınırlandırabilirsiniz.
Portal sayfasının üst kısmındaki arama kutusunda Ağ güvenlik grubu için arama yapın. Arama sonuçlarında Ağ güvenlik grupları'nı seçin.
Ağ güvenlik grupları'nda + Oluştur'u seçin.
Ağ güvenlik grubu oluştur'un Temel Bilgiler sekmesinde aşağıdaki bilgileri girin veya seçin:
| Ayarlar |
Değer |
|
Proje ayrıntıları |
|
| Abonelik |
Aboneliğinizi seçin. |
| Kaynak grubu |
test-rg öğesini seçin. |
|
Örnek ayrıntıları |
|
| Adı |
nsg-storage girin. |
| Bölge |
Doğu ABD 2’yi seçin. |
Gözden Geçir + oluştur’u ve sonra da Oluştur’u seçin.
New-AzNetworkSecurityGroup ile bir ağ güvenlik grubu oluşturun. Aşağıdaki örnek nsg-private adlı bir ağ güvenlik grubu oluşturur.
$nsgpriv = @{
ResourceGroupName = 'test-rg'
Location = 'westus2'
Name = 'nsg-private'
}
$nsg = New-AzNetworkSecurityGroup @nsgpriv
az network nsg create ile bir ağ güvenlik grubu oluşturun. Aşağıdaki örnek nsg-private adlı bir ağ güvenlik grubu oluşturur.
az network nsg create \
--resource-group test-rg \
--name nsg-private
Giden Ağ Güvenlik Grubu (NSG) kuralları oluşturma
Portal sayfasının üst kısmındaki arama kutusunda Ağ güvenlik grubu için arama yapın. Arama sonuçlarında Ağ güvenlik grupları'nı seçin.
nsg-storage'ı seçin.
Ayarlar'da Giden güvenlik kuralları'nı seçin.
+ Ekle'yi seçin.
Azure Depolama hizmetine giden iletişime izin veren bir kural oluşturun. Giden güvenlik kuralı ekle bölümüne aşağıdaki bilgileri girin veya seçin:
| Ayarlar |
Değer |
| Kaynak |
Hizmet Etiketi'ne tıklayın. |
| Kaynak hizmeti etiketi |
VirtualNetwork'i seçin. |
| Kaynak bağlantı noktası aralıkları |
Varsayılanı bırakın *. |
| Hedef |
Hizmet Etiketi'ne tıklayın. |
| Hedef hizmet etiketi |
Depolama’yı seçin. |
| Hizmet |
Varsayılan olarak Özel'i bırakın. |
| Hedef bağlantı noktası aralıkları |
445 girin. |
| Protokol |
Herhangi birini seçin. |
| Eylem |
İzin ver'i seçin. |
| Öncelik |
Varsayılan değeri 100 olarak bırakın. |
| Adı |
allow-storage-all girin. |
+ Ekle'yi seçin.
İnternete yönelik iletişimi reddeden başka bir giden güvenlik kuralı oluşturun. Bu kural, giden İnternet iletişimine izin veren tüm ağ güvenlik gruplarında varsayılan kuralı geçersiz kılar. Giden güvenlik kuralı ekleme bölümünde aşağıdaki değerlerle önceki adımları tamamlayın:
| Ayarlar |
Değer |
| Kaynak |
Hizmet Etiketi'ne tıklayın. |
| Kaynak hizmeti etiketi |
VirtualNetwork'i seçin. |
| Kaynak bağlantı noktası aralıkları |
Varsayılanı bırakın *. |
| Hedef |
Hizmet Etiketi'ne tıklayın. |
| Hedef hizmet etiketi |
İnternet'i seçin. |
| Hizmet |
Varsayılan olarak Özel'i bırakın. |
| Hedef bağlantı noktası aralıkları |
* girin. |
| Protokol |
Herhangi birini seçin. |
| Eylem |
Reddet'i seçin. |
| Öncelik |
Varsayılan 110 olarak bırakın. |
| Adı |
İnternet-hepsini-engelle komutunu girin. |
Ekle'yi seçin.
Portal sayfasının üst kısmındaki arama kutusunda Ağ güvenlik grubu için arama yapın. Arama sonuçlarında Ağ güvenlik grupları'nı seçin.
nsg-storage'ı seçin.
Ayarlar'da Alt Ağlar'ı seçin.
+ İlişkili'yi seçin.
Alt ağı ilişkilendir bölümünde Sanal ağ içinde vnet-1'i seçin.
Alt Ağ kısmında subnet-private'ı seçin.
Tamam'ı seçin.
New-AzNetworkSecurityRuleConfig ile ağ güvenlik grubu güvenlik kuralları oluşturun. Aşağıdaki kural, Azure Depolama hizmetine atanan genel IP adreslerine giden erişime izin verir:
$r1 = @{
Name = "Allow-Storage-All"
Access = "Allow"
DestinationAddressPrefix = "Storage"
DestinationPortRange = "*"
Direction = "Outbound"
Priority = 100
Protocol = "*"
SourceAddressPrefix = "VirtualNetwork"
SourcePortRange = "*"
}
$rule1 = New-AzNetworkSecurityRuleConfig @r1
Aşağıdaki kural tüm genel IP adreslerine erişimi reddeder. Önceki kural, Azure Depolama'nın genel IP adreslerine erişim sağlayan yüksek önceliği nedeniyle bu kuralı geçersiz kılar.
$r2 = @{
Name = "Deny-Internet-All"
Access = "Deny"
DestinationAddressPrefix = "Internet"
DestinationPortRange = "*"
Direction = "Outbound"
Priority = 110
Protocol = "*"
SourceAddressPrefix = "VirtualNetwork"
SourcePortRange = "*"
}
$rule2 = New-AzNetworkSecurityRuleConfig @r2
Ağ güvenlik grubu nesnesini bir değişkene almak için Get-AzNetworkSecurityGroup kullanın. Kuralları ağ güvenlik grubuna eklemek için Set-AzNetworkSecurityRuleConfig komutunu kullanın.
# 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
Ağ güvenlik grubunu Set-AzVirtualNetworkSubnetConfig ile alt ağ-özel alt ağıyla ilişkilendirin ve ardından alt ağ yapılandırmasını sanal ağa yazın. Aşağıdaki örnek, nsg-private ağ güvenlik grubunu subnet-private alt ağı ile ilişkilendirir:
$subnet = @{
VirtualNetwork = $VirtualNetwork
Name = "subnet-private"
AddressPrefix = "10.0.2.0/24"
ServiceEndpoint = "Microsoft.Storage"
NetworkSecurityGroup = $nsg
}
Set-AzVirtualNetworkSubnetConfig @subnet
$virtualNetwork | Set-AzVirtualNetwork
az network nsg rule create ile güvenlik kuralları oluşturabilirsiniz. Aşağıdaki kural, Azure Depolama hizmetine atanan genel IP adreslerine giden erişime izin verir:
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 "*"
Her ağ güvenlik grubu birkaç varsayılan güvenlik kuralı içerir. Aşağıdaki kural, tüm genel IP adreslerine giden erişime izin veren varsayılan bir güvenlik kuralını geçersiz kılar. Seçenek destination-address-prefix "Internet" tüm genel IP adreslerine dışarıya giden erişimi reddeder. Önceki kural, Azure Depolama'nın genel IP adreslerine erişim sağlayan yüksek önceliği nedeniyle bu kuralı geçersiz kılar.
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 "*"
Aşağıdaki kural, alt ağa her yerden gelen SSH trafiğine izin verir. Kural, internetten gelen tüm trafiği engelleyen bir varsayılan güvenlik kuralını geçersiz kılar. Daha sonraki bir adımda bağlantının test edilebilmesi için alt ağa SSH'ye izin verilir.
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"
az network vnet subnet update komutuyla ağ güvenlik grubunu alt ağ-özel alt ağıyla ilişkilendirin. Aşağıdaki örnek, nsg-private ağ güvenlik grubunu subnet-private alt ağı ile ilişkilendirir:
az network vnet subnet update \
--vnet-name vnet-1 \
--name subnet-private \
--resource-group test-rg \
--network-security-group nsg-private
Bir kaynağa ağ erişimini kısıtlama
Hizmet uç noktaları için etkinleştirilen Azure hizmetleri aracılığıyla oluşturulan kaynaklara ağ erişimini kısıtlamak için gereken adımlar hizmetler arasında farklılık gösterir. Bir hizmete yönelik belirli adımlar için ilgili hizmetin belgelerine bakın. Bu öğreticinin geri kalanı, örnek olarak Azure Depolama hesabı için ağ erişimini kısıtlama adımlarını içerir.
Depolama hesabı oluşturma
Portalın üst kısmındaki arama kutusuna Depolama hesabı girin. Arama sonuçlarında Depolama hesapları'nı seçin.
+Oluştur'u seçin.
Depolama hesabı oluştur'un Temel Bilgiler sekmesinde aşağıdaki bilgileri girin veya seçin:
| Ayarlar |
Değer |
|
Proje Ayrıntıları |
|
| Abonelik |
Azure aboneliği seçin. |
| Kaynak Grubu |
test-rg öğesini seçin. |
|
Örnek ayrıntıları |
|
| Depolama hesabı adı |
Benzersiz bir ad girin. Bu kılavuzda storage1 kullanılır. İsim mevcut değilse, benzersiz bir isim girin. |
| Konum |
(ABD) Doğu ABD 2'yi seçin. |
| Performans |
Varsayılan Standart seçeneğini bırakın. |
| Yedeklilik |
Yerel olarak yedekli depolama (LRS) seçeneğini belirleyin. |
İncele'yi seçin.
Oluştur'u belirleyin.
New-AzStorageAccount ile bir Azure depolama hesabı oluşturun.
<replace-with-your-unique-storage-account-name>'yi, yalnızca sayıları ve küçük harfleri kullanarak tüm Azure konumlarında 3-24 karakter uzunluğunda benzersiz bir adla değiştirin.
$storageAcctName = '<replace-with-your-unique-storage-account-name>'
$storage = @{
Location = 'westus2'
Name = $storageAcctName
ResourceGroupName = 'test-rg'
SkuName = 'Standard_LRS'
Kind = 'StorageV2'
}
New-AzStorageAccount @storage
Depolama hesabı oluşturulduktan sonra, Get-AzStorageAccountKey ile depolama hesabının anahtarını bir değişkene alın:
$storagekey = @{
ResourceGroupName = 'test-rg'
AccountName = $storageAcctName
}
$storageAcctKey = (Get-AzStorageAccountKey @storagekey).Value[0]
Anahtar, sonraki bir adımda dosya paylaşımı oluşturmak için kullanılır. Değerini girin $storageAcctKey ve not edin. Dosya paylaşımını bir sanal makinedeki bir sürücüyle eşlerken bunu daha sonraki bir adımda el ile girersiniz.
Hizmet uç noktaları için etkinleştirilmiş Azure hizmetleri aracılığıyla oluşturulan kaynaklara ağ erişimini kısıtlamak için gereken adımlar, hizmetler arasında farklılık gösterir. Bir hizmete yönelik belirli adımlar için ilgili hizmetin belgelerine bakın. Bu makalenin geri kalanı, örnek olarak Azure Depolama hesabı için ağ erişimini kısıtlama adımlarını içerir.
Depolama hesabı oluşturma
az storage account create ile bir Azure depolama hesabı oluşturun.
<replace-with-your-unique-storage-account-name>'yi, yalnızca sayıları ve küçük harfleri kullanarak tüm Azure konumlarında 3-24 karakter uzunluğunda benzersiz bir adla değiştirin.
storageAcctName="<replace-with-your-unique-storage-account-name>"
az storage account create \
--name $storageAcctName \
--resource-group test-rg \
--sku Standard_LRS \
--kind StorageV2
Depolama hesabı oluşturulduktan sonra, depolama hesabının bağlantı dizesini `az storage account show-connection-string` komutuyla bir değişkene alın. bağlantı dizesi, sonraki bir adımda dosya paylaşımı oluşturmak için kullanılır.
saConnectionString=$(az storage account show-connection-string \
--name $storageAcctName \
--resource-group test-rg \
--query 'connectionString' \
--out tsv)
Önemli
Microsoft, kullanılabilir en güvenli kimlik doğrulama akışını kullanmanızı önerir. Bu yordamda açıklanan kimlik doğrulama akışı, uygulamada çok yüksek düzeyde güven gerektirir ve diğer akışlarda mevcut olmayan riskleri taşır. Bu akışı yalnızca yönetilen kimlikler gibi diğer daha güvenli akışlar uygun olmadığında kullanmalısınız.
Yönetilen kimlik kullanarak depolama hesabına bağlanma hakkında daha fazla bilgi için bkz . Azure Depolama'ya erişmek için yönetilen kimlik kullanma.
Depolama hesabında dosya paylaşımı oluşturma
Portalın üst kısmındaki arama kutusuna Depolama hesabı girin. Arama sonuçlarında Depolama hesapları'nı seçin.
Depolama hesapları bölümünde, önceki adımda oluşturduğunuz depolama hesabını seçin.
Veri depolama alanında Dosya paylaşımları'yı seçin.
+ Dosya paylaşımı’nı seçin.
Yeni dosya paylaşımına aşağıdaki bilgileri girin veya seçin:
| Ayarlar |
Değer |
| Adı |
Dosya paylaşımı girin. |
| Katman |
İşlem için iyileştirilmiş varsayılan değeri değiştirmeyin. |
İleri: Yedekle'yi seçin.
Yedeklemeyi etkinleştir seçimini kaldırın.
Gözden Geçir + oluştur’u ve sonra da Oluştur’u seçin.
New-AzStorageContext ile depolama hesabınız ve anahtarınız için bir bağlam oluşturun. Bağlam, depolama hesabı adını ve hesap anahtarını kapsüller:
$storagecontext = @{
StorageAccountName = $storageAcctName
StorageAccountKey = $storageAcctKey
}
$storageContext = New-AzStorageContext @storagecontext
New-AzStorageShare ile dosya paylaşımı oluşturma:
$fs = @{
Name = "file-share"
Context = $storageContext
}
$share = New-AzStorageShare @fs
az storage share create ile depolama hesabında bir dosya paylaşımı oluşturun. Daha sonraki bir adımda, ağ erişimini onaylamak için bu dosya paylaşımı bağlanır.
az storage share create \
--name file-share \
--quota 2048 \
--connection-string $saConnectionString > /dev/null
Ağ erişimini bir alt ağa kısıtlama
Varsayılan olarak, depolama hesapları İnternet de dahil olmak üzere herhangi bir ağdaki istemcilerden gelen ağ bağlantılarını kabul eder. İnternet'ten ağ erişimini ve tüm sanal ağlardaki diğer tüm alt ağları kısıtlayabilirsiniz (vnet-1 sanal ağındaki alt ağ-özel alt ağ hariç).)
Bir alt ağa ağ erişimini kısıtlamak için:
Portalın üst kısmındaki arama kutusuna Depolama hesabı girin. Arama sonuçlarında Depolama hesapları'nı seçin.
Depolama hesabınızı seçin.
Güvenlik + ağ bölümünde Ağ'ı seçin.
Güvenlik duvarları ve sanal ağlar sekmesinde, Genel ağ erişiminde seçili sanal ağlardan ve IP adreslerinden etkinleştirildi'yi seçin.
Sanal ağlar'da + Var olan sanal ağı ekle'yi seçin.
Ağ ekle bölümünde aşağıdaki bilgileri girin veya seçin:
| Ayarlar |
Değer |
| Abonelik |
Aboneliğinizi seçin. |
| Sanal ağlar |
vnet-1'i seçin. |
| Alt ağlar |
Alt ağ-özel'i seçin. |
Ekle'yi seçin.
Sanal ağ yapılandırmalarını kaydetmek için Kaydet'i seçin.
Varsayılan olarak, depolama hesapları herhangi bir ağdaki istemcilerden gelen ağ bağlantılarını kabul eder. Seçili ağlara erişimi sınırlamak için, varsayılan eylemi Update-AzStorageAccountNetworkRuleSet ile Reddet olarak değiştirin. Ağ erişimi reddedildikten sonra depolama hesabına herhangi bir ağdan erişilemez.
$storagerule = @{
ResourceGroupName = "test-rg"
Name = $storageAcctName
DefaultAction = "Deny"
}
Update-AzStorageAccountNetworkRuleSet @storagerule
Get-AzVirtualNetwork ile oluşturulan sanal ağı alın ve Get-AzVirtualNetworkSubnetConfig ile özel alt ağ nesnesini bir değişkene kaydedin:
$subnetpriv = @{
ResourceGroupName = "test-rg"
Name = "vnet-1"
}
$privateSubnet = Get-AzVirtualNetwork @subnetpriv | Get-AzVirtualNetworkSubnetConfig -Name "subnet-private"
Add-AzStorageAccountNetworkRule komutuyla subnet-private alt ağından depolama hesabına ağ erişimine izin verin.
$storagenetrule = @{
ResourceGroupName = "test-rg"
Name = $storageAcctName
VirtualNetworkResourceId = $privateSubnet.Id
}
Add-AzStorageAccountNetworkRule @storagenetrule
Varsayılan olarak, depolama hesapları herhangi bir ağdaki istemcilerden gelen ağ bağlantılarını kabul eder. Seçili ağlara erişimi sınırlamak için varsayılan eylemi az storage account update ile reddet olarak değiştirin. Ağ erişimi reddedildikten sonra depolama hesabına herhangi bir ağdan erişilemez.
az storage account update \
--name $storageAcctName \
--resource-group test-rg \
--default-action Deny
az storage account network-rule add komutunu kullanarak subnet-private alt ağından depolama hesabına ağ erişimine izin verin.
az storage account network-rule add \
--resource-group test-rg \
--account-name $storageAcctName \
--vnet-name vnet-1 \
--subnet subnet-private
Sanal makineleri alt ağlara dağıtma
Bir depolama hesabına ağ erişimini test etmek için her alt ağa bir sanal makine dağıtın.
İlk sanal makineyi oluşturma
Portalın üst kısmındaki arama kutusuna Sanal makine yazın. Arama sonuçlarında Sanal makineler'i seçin.
+ Oluştur'u ve ardından Azure sanal makinesini seçin.
Sanal makine oluştur'a girin veya Temel Bilgiler sekmesinde aşağıdaki bilgileri seçin:
| Ayarlar |
Değer |
|
Proje ayrıntıları |
|
| Abonelik |
Aboneliğinizi seçin. |
| Kaynak grubu |
test-rg öğesini seçin. |
|
Örnek ayrıntıları |
|
| Sanal makine adı |
vm-1 girin. |
| Bölge |
(ABD) Doğu ABD 2'yi seçin. |
| Kullanılabilirlik seçenekleri |
Altyapı yedekliliği gerekli değil'i seçin. |
| Güvenlik türü |
Standart'ı seçin. |
| Görsel |
Ubuntu Server 24.04 LTS - x64 Gen2'yi seçin. |
| VM mimarisi |
Varsayılan olan x64'ü bırakın. |
| Boyut |
Bir boyut seçin. |
|
Yönetici hesabı |
|
| Kimlik doğrulama türü |
SSH ortak anahtarı'ni seçin. |
| Kullanıcı adı |
Bir kullanıcı adı girin. |
| SSH ortak anahtar kaynağı |
Yeni anahtar çifti oluştur'a tıklayın. |
| Anahtar çifti adı |
vm-1-key girin. |
|
Gelen bağlantı noktası kuralları |
|
| Genel Erişime Açık Gelen Bağlantı Noktaları |
Hiçbiri seçeneğini belirtin. |
İleri: Diskler'i ve ardından İleri: Ağ'ı seçin.
Ağ sekmesinde aşağıdaki bilgileri girin veya seçin:
| Ayarlar |
Değer |
|
Ağ arabirimi |
|
| Sanal ağ |
vnet-1'i seçin. |
| Alt ağ |
subnet-1 (10.0.0.0/24) öğesini seçin. |
| Genel IP Adresi |
Hiçbiri seçeneğini belirtin. |
| Ağ arabirimi (NIC) ağ güvenlik grubu |
Gelişmiş'i seçin. |
| Ağ güvenlik grubunu yapılandırma |
Yeni oluştur’u seçin.
Ad alanına nsg-1 girin.
Tamam'ı seçin. |
Diğer seçenekleri varsayılan değerlerde bırakın ve Gözden geçir ve oluştur'u seçin.
Oluştur'u belirleyin.
Not
Savunma konağı olan bir sanal ağdaki sanal makinelerin genel IP adreslerine ihtiyacı yoktur. Bastion genel IP'yi sağlar ve VM'ler ağ içinde iletişim kurmak için özel IP'ler kullanır. Bastion ile barındırılan sanal ağlardaki herhangi bir VM'den genel IP'leri kaldırabilirsiniz. Daha fazla bilgi için bkz: Azure VM'den genel IP adresini ayırma.
Not
Azure, herkese açık IP adresi atanmamış veya bir iç temel Azure yük dengeleyicinin arka uç havuzunda yer alan sanal makineler için varsayılan bir giden erişim IP'si sağlar. Varsayılan giden erişim IP mekanizması, yapılandırılamayan bir giden IP adresi sağlar.
Aşağıdaki olaylardan biri gerçekleştiğinde varsayılan giden erişim IP'si devre dışı bırakılır:
Sanal makine ölçek kümelerini esnek düzenleme modunda kullanarak oluşturduğunuz VM'lerin varsayılan giden erişimi yoktur.
Azure'daki giden bağlantılar hakkında daha fazla bilgi için bkz . Azure'da varsayılan giden erişim ve giden bağlantılar için Kaynak Ağ Adresi Çevirisi'ni (SNAT) kullanma.
İkinci sanal makineyi oluşturma
Önceki bölümdeki adımları yineleyerek ikinci bir sanal makine oluşturun. Sanal makine oluşturma bölümünde aşağıdaki değerleri değiştirin:
| Ayarlar |
Değer |
| Sanal makine adı |
vm-private girin. |
| SSH ortak anahtar kaynağı |
Yeni anahtar çifti oluştur'a tıklayın. |
| Anahtar çifti adı |
vm-private-key girin. |
| Alt ağ |
Alt ağ-özel'i seçin. |
| Genel IP Adresi |
Hiçbiri seçeneğini belirtin. |
| Ağ arabirimi (NIC) ağ güvenlik grubu |
Hiçbiri seçeneğini belirtin. |
Uyarı
Dağıtım tamamlanana kadar sonraki adıma devam etmeyin.
İlk sanal makineyi oluşturma
subnet-public alt ağında New-AzVM ile bir sanal makine oluşturun.
$cred = New-Object System.Management.Automation.PSCredential("azureuser", (ConvertTo-SecureString " " -AsPlainText -Force))
$vm1 = @{
ResourceGroupName = "test-rg"
Location = "westus2"
VirtualNetworkName = "vnet-1"
SubnetName = "subnet-public"
Name = "vm-public"
Image = "Ubuntu2204"
Credential = $cred
PublicIpAddressName = ""
GenerateSshKey = $true
SshKeyName = "vm-public-key"
}
New-AzVm @vm1
İkinci sanal makineyi oluşturma
Alt ağ-özel alt ağına bir sanal makine oluşturun.
$vm2 = @{
ResourceGroupName = "test-rg"
Location = "westus2"
VirtualNetworkName = "vnet-1"
SubnetName = "subnet-private"
Name = "vm-private"
Image = "Ubuntu2204"
Credential = $cred
PublicIpAddressName = ""
GenerateSshKey = $true
SshKeyName = "vm-private-key"
}
New-AzVm @vm2
Azure'ın VM'yi oluşturması birkaç dakika sürer. Azure VM'yi oluşturmayı bitirip PowerShell'e çıkış döndürene kadar sonraki adıma devam etmeyin.
Bir depolama hesabına ağ erişimini test etmek için her alt ağa bir VM dağıtın.
İlk sanal makineyi oluşturma
az vm create ile alt ağ-genel alt ağda bir VM oluşturun. SSH anahtarları varsayılan bir anahtar konumunda zaten yoksa, komut bunları oluşturur. Belirli bir anahtar kümesini kullanmak için --ssh-key-value seçeneğini kullanın.
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
Sanal makinenin oluşturulması birkaç dakika sürer. VM oluşturulduktan sonra Azure CLI aşağıdaki örneğe benzer bilgileri gösterir:
{
"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"
}
İkinci sanal makineyi oluşturma
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
Sanal makinenin oluşturulması birkaç dakika sürer.
Depolama hesabına erişimi onaylama
Daha önce oluşturduğunuz ve subnet-private alt ağına atanan sanal makine, depolama hesabına erişimi doğrulamak için kullanılır. Önceki bölümde oluşturduğunuz ve subnet-1 alt asına atanan sanal makine, depolama hesabına erişimin engellendiğini onaylamak için kullanılır.
Depolama hesabı erişim anahtarını alma
Portalın üst kısmındaki arama kutusuna Depolama hesabı girin. Arama sonuçlarında Depolama hesapları'nı seçin.
Depolama hesapları'nda depolama hesabınızı seçin.
Güvenlik + ağ bölümünde Erişim anahtarları'nı seçin.
key1 değerini kopyalayın. Anahtarı görüntülemek için Göster düğmesini seçmeniz gerekebilir.
Portalın üst kısmındaki arama kutusuna Sanal makine yazın. Arama sonuçlarında Sanal makineler'i seçin.
vm-private seçeneğini belirleyin.
İşlemler'de Bastion'ı seçin.
Kimlik Doğrulama Türü için Yerel Dosyadan SSH Özel Anahtarı'nı seçin.
Sanal makineyi oluştururken belirttiğiniz kullanıcı adını girin.
İndirdiğiniz vm-private-key özel anahtar dosyasını seçin.
Bağlan'ı seçin.
Azure dosya paylaşımını bağlamak için aşağıdaki komutları kullanın.
sudo mkdir /mnt/file-share
sudo mount -t cifs //<storage-account-name>.file.core.windows.net/file-share /mnt/file-share -o vers=3.0,username=<storage-account-name>,password=<storage-account-key>,dir_mode=0777,file_mode=0777,serverino
Hata olmadan $ istemini alırsınız. Azure dosya paylaşımı /mnt/file-share dosyasına başarıyla bağlanmıştır.
Aşağıdaki komutu çalıştırarak bağlamayı onaylayın:
df -h /mnt/file-share
Aşağıdakine benzer bir çıktı görmeniz gerekir:
Filesystem Size Used Avail Use% Mounted on
//<storage-account-name>.file.core.windows.net/file-share 5.0G 0 5.0G 0% /mnt/file-share
Vm-private ile Bastion bağlantısını kapatın.
Portalın üst kısmındaki arama kutusuna Sanal makine yazın. Arama sonuçlarında Sanal makineler'i seçin.
vm-private seçeneğini belirleyin.
İşlemler'de Bastion'ı seçin.
Kimlik Doğrulama Türü için Yerel Dosyadan SSH Özel Anahtarı'nı seçin.
Sanal makineyi oluştururken belirttiğiniz kullanıcı adını girin.
Yerel makinenizden SSH özel anahtar dosyasını seçin.
Bağlan'ı seçin.
Azure dosya paylaşımını bağlamak için aşağıdaki komutları kullanın.
sudo mkdir /mnt/file-share
sudo mount -t cifs //<storage-account-name>.file.core.windows.net/file-share /mnt/file-share -o vers=3.0,username=<storage-account-name>,password=<storage-account-key>,dir_mode=0777,file_mode=0777,serverino
Hatasız $ istemini alırsınız. Azure dosya paylaşımı /mnt/file-share dosyasına başarıyla bağlanmıştır.
VM'nin diğer genel IP adreslerine giden bağlantısı olmadığını onaylayın:
ping bing.com -c 4
İlgili ağ güvenlik grubu, Azure Depolama hizmetine atanan adresler dışında genel IP adreslerine giden erişime izin vermediği için, subnet-private alt ağıyla ilişkili olarak yanıt almazsınız.
Vm-private ile Bastion bağlantısını kapatın.
Portalın üst kısmındaki arama kutusuna Sanal makine yazın. Arama sonuçlarında Sanal makineler'i seçin.
vm-private seçeneğini belirleyin.
İşlemler'de Bastion'ı seçin.
Kimlik Doğrulama Türü için Yerel Dosyadan SSH Özel Anahtarı'nı seçin.
Sanal makineyi oluştururken belirttiğiniz kullanıcı adını girin.
Yerel makinenizden SSH özel anahtar dosyasını seçin. tarafından --generate-ssh-keys oluşturulan varsayılan anahtar konumunda ~/.ssh/id_rsabulunur.
Bağlan'ı seçin.
Bağlama noktası için bir klasör oluşturun:
sudo mkdir /mnt/file-share
Azure dosya paylaşımını oluşturduğunuz dizine bağlayın. Aşağıdaki komutu çalıştırmadan önce, `<storage-account-name>` değerini hesap adıyla ve `<storage-account-key>` değerini Depolama hesabı oluşturma bölümünde aldığınız anahtarla değiştirin.
sudo mount -t cifs //<storage-account-name>.file.core.windows.net/my-file-share /mnt/file-share -o vers=3.0,username=<storage-account-name>,password=<storage-account-key>,dir_mode=0777,file_mode=0777,serverino
İstemi $ hata olmadan alırsınız. Azure dosya paylaşımı /mnt/file-share dosyasına başarıyla bağlanmıştır.
VM'nin diğer genel IP adreslerine giden bağlantısı olmadığını onaylayın:
ping bing.com -c 4
İlgili ağ güvenlik grubu, Azure Depolama hizmetine atanan adresler dışında genel IP adreslerine giden erişime izin vermediği için, subnet-private alt ağıyla ilişkili olarak yanıt almazsınız.
Vm-private ile Bastion bağlantısını kapatın.
Depolama hesabına erişimin reddedildiğini onaylama
Vm-1'den
Portalın üst kısmındaki arama kutusuna Sanal makine yazın. Arama sonuçlarında Sanal makineler'i seçin.
vm-1'i seçin.
İşlemler'de Bastion'ı seçin.
Kimlik Doğrulama Türü için Yerel Dosyadan SSH Özel Anahtarı'nı seçin.
Sanal makineyi oluştururken belirttiğiniz kullanıcı adını girin.
İndirdiğiniz vm-1-key özel anahtar dosyasını seçin.
Bağlan'ı seçin.
Dosya paylaşımını depolama hesabına bağlamaya çalışmak için önceki komutu yineleyin. Bu yordam için depolama hesabı erişim anahtarını yeniden kopyalamanız gerekebilir:
sudo mkdir /mnt/file-share
sudo mount -t cifs //<storage-account-name>.file.core.windows.net/file-share /mnt/file-share -o vers=3.0,username=<storage-account-name>,password=<storage-account-key>,dir_mode=0777,file_mode=0777,serverino
Erişim reddedilir ve bir mount error(13): Permission denied hata alırsınız.
Vm-1, Azure Depolama için hizmet uç noktası olmayan alt ağ-1'de olduğundan bağlama başarısız oluyor.
Vm-1 ile Bastion bağlantısını kapatın.
Yerel makineden
Portalın üst kısmındaki arama kutusuna Depolama hesabı girin. Arama sonuçlarında Depolama hesapları'nı seçin.
Depolama hesapları'nda depolama hesabınızı seçin.
Veri depolama alanında Dosya paylaşımları'yı seçin.
Dosya paylaşımı'nı seçin.
Sol taraftaki menüden Gözat'ı seçin.
Aşağıdaki hata iletisini almanız gerekir:
Not
Bilgisayarınız vnet-1 sanal ağının alt ağ-özel alt ağında olmadığından erişim reddedilir.
Vm-public'dan
Portalın üst kısmındaki arama kutusuna Sanal makine yazın. Arama sonuçlarında Sanal makineler'i seçin.
vm-public seçeneğini belirleyin.
İşlemler'de Bastion'ı seçin.
Kimlik Doğrulama Türü için Yerel Dosyadan SSH Özel Anahtarı'nı seçin.
Sanal makineyi oluştururken belirttiğiniz kullanıcı adını girin.
Yerel makinenizden SSH özel anahtar dosyasını seçin.
Bağlan'ı seçin.
Azure dosya paylaşımını bağlamayı deneme.
<storage-account-name> değerini hesap adıyla ve <storage-account-key> değerini Bir depolama hesabı oluşturma bölümünde aldığınız anahtarla değiştirin:
sudo mkdir /mnt/file-share
sudo mount -t cifs //<storage-account-name>.file.core.windows.net/file-share /mnt/file-share -o vers=3.0,username=<storage-account-name>,password=<storage-account-key>,dir_mode=0777,file_mode=0777,serverino
Erişim reddedilir ve bir mount error(13): Permission denied hata alırsınız.
Vm-public, Azure Depolama için hizmet uç noktası olmayan subnet-public içinde olduğundan bağlama başarısız oluyor.
Vm-public ile Bastion bağlantısını kapatın.
Bilgisayarınızdan aşağıdaki komutla depolama hesabında dosya paylaşımlarını görüntülemeyi deneyin:
$storage = @{
ShareName = "file-share"
Context = $storageContext
}
Get-AzStorageFile @storage
Erişim reddedildi. Aşağıdaki örneğe benzer bir çıkış alırsınız.
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
Bilgisayarınız, subnet-private alt ağına ait vnet-1 sanal ağında değil.
Portalın üst kısmındaki arama kutusuna Sanal makine yazın. Arama sonuçlarında Sanal makineler'i seçin.
vm-public seçeneğini belirleyin.
İşlemler'de Bastion'ı seçin.
Kimlik Doğrulama Türü için Yerel Dosyadan SSH Özel Anahtarı'nı seçin.
Sanal makineyi oluştururken belirttiğiniz kullanıcı adını girin.
Yerel makinenizden SSH özel anahtar dosyasını seçin. tarafından --generate-ssh-keys oluşturulan varsayılan anahtar konumunda ~/.ssh/id_rsabulunur.
Bağlan'ı seçin.
Bağlama noktası için dizin oluşturma:
sudo mkdir /mnt/file-share
Azure dosya paylaşımını oluşturduğunuz dizine bağlamayı deneme. Aşağıdaki komutu çalıştırmadan önce, `<storage-account-name>`'yi hesap adıyla ve `<storage-account-key>`'i Depolama hesabı oluşturma bölümünde aldığınız anahtarla değiştirin:
sudo mount -t cifs //<storage-account-name>.file.core.windows.net/file-share /mnt/file-share -o vers=3.0,username=<storage-account-name>,password=<storage-account-key>,dir_mode=0777,file_mode=0777,serverino
Vm-public VM, subnet-public alt ağı içinde dağıtıldığından erişim reddedilir ve bir mount error(13): Permission denied hatası alırsınız. Alt ağ-genel'de Azure Depolama için hizmet uç noktası etkin değil ve depolama hesabı yalnızca alt ağ-özel'den ağ erişimine izin verir; alt ağ-genel'den erişim sağlanmaz.
Vm-public ile Bastion bağlantısını kapatın.
Bilgisayarınızdan az storage share list komutunu kullanarak depolama hesabınızdaki paylaşımları görüntülemeyi deneyin.
<account-name> ve <account-key> değerlerini Depolama hesabı oluştur sayfasından depolama hesabı adı ve anahtarıyla değiştirin:
az storage share list \
--account-name <account-name> \
--account-key <account-key>
Erişim reddedildi ve bilgisayarınız vnet-1 sanal ağının subnet-private alt ağında olmadığı için "Bu isteğin bu işlemi gerçekleştirme yetkisi yok" hatasını alırsınız.
Oluşturduğunuz kaynakları kullanmayı bitirdiğinizde, kaynak grubunu ve tüm kaynaklarını silebilirsiniz.
Azure portalında Kaynak grupları'nı arayın ve seçin.
Kaynak grupları sayfasında test-rg kaynak grubunu seçin.
test-rg sayfasında Kaynak grubunu sil'i seçin.
Silme işlemini onaylamak için Kaynak grubu adını girin alanına test-rg yazın ve ardından Sil'i seçin.
Kaynakları temizleme
Artık gerekli olmadığında az group delete komutunu kullanarak kaynak grubunu ve içerdiği tüm kaynakları kaldırın.
az group delete \
--name test-rg \
--yes \
--no-wait
Sonraki adımlar
Bu öğreticide:
Sanal ağ alt ağı için bir hizmet uç noktasını etkinleştirmişsiniz.
Hizmet uç noktalarını birden fazla Azure hizmetinden dağıtılmış kaynaklar için etkinleştirebileceğinizi öğrendiniz.
Bir Azure Depolama hesabı oluşturdunuz ve depolama hesabına ağ erişimini yalnızca bir sanal ağ alt ağındaki kaynakla kısıtlamıştınız.
Hizmet uç noktaları hakkında daha fazla bilgi için bkz. Hizmet uç noktalarına genel bakış ve Alt ağları yönetme.
Hesabınızda birden çok sanal ağ varsa, kaynakların birbirleriyle iletişim kurabilmesi için bunlar arasında bağlantı kurmak isteyebilirsiniz. Sanal ağları bağlama hakkında bilgi almak için sonraki öğreticiye ilerleyin.