Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede, Application Gateway'inizde karşılıklı kimlik doğrulaması yapılandırmak için PowerShell'in nasıl kullanılacağı açıklanmaktadır. Karşılıklı kimlik doğrulaması, Application Gateway'in Application Gateway'e yüklediğiniz istemci sertifikasını kullanarak isteği gönderen istemcinin kimliğini doğrular.
Eğer bir Azure aboneliğiniz yoksa, başlamadan önce ücretsiz bir hesap oluşturun.
Uyarı
Azure ile etkileşim kurmak için Azure Az PowerShell modülünü kullanmanızı öneririz. Başlamak için bkz. Azure PowerShell'i yükleme. Az PowerShell modülüne nasıl geçeceğinizi öğrenmek için bkz. Azure PowerShell’i AzureRM’den Az’ye geçirme.
Bu makale, Azure PowerShell modülünün 1.0.0 veya sonraki bir sürümünü gerektirir. Sürümü bulmak için Get-Module -ListAvailable Az komutunu çalıştırın. Yükseltmeniz gerekiyorsa 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.
Başlamadan önce
Application Gateway ile karşılıklı kimlik doğrulamasını yapılandırmak için ağ geçidine yüklemek için bir istemci sertifikasına ihtiyacınız vardır. İstemci sertifikası, istemcinin Application Gateway'e sunduğu sertifikayı doğrulamak için kullanılır. Test amacıyla otomatik olarak imzalanan bir sertifika kullanabilirsiniz. Ancak bu, üretim iş yükleri için önerilmez, çünkü bunların yönetilmesi daha zordur ve tamamen güvenli değildir.
Özellikle ne tür istemci sertifikalarını karşıya yükleyebileceğiniz hakkında daha fazla bilgi edinmek için bkz. Application Gateway ile karşılıklı kimlik doğrulamasına genel bakış.
Bir kaynak grubu oluşturun
İlk olarak aboneliğinizde yeni bir kaynak grubu oluşturun.
$resourceGroup = New-AzResourceGroup -Name $rgname -Location $location -Tags @{ testtag = "APPGw tag"}
Sanal ağ oluşturma
Application Gateway'inizin dağıtılması için bir sanal ağ dağıtın.
$gwSubnet = New-AzVirtualNetworkSubnetConfig -Name $gwSubnetName -AddressPrefix 10.0.0.0/24
$vnet = New-AzVirtualNetwork -Name $vnetName -ResourceGroupName $rgname -Location $location -AddressPrefix 10.0.0.0/16 -Subnet $gwSubnet
$vnet = Get-AzVirtualNetwork -Name $vnetName -ResourceGroupName $rgname
$gwSubnet = Get-AzVirtualNetworkSubnetConfig -Name $gwSubnetName -VirtualNetwork $vnet
Genel IP oluşturma
Application Gateway'inizle kullanmak için bir genel IP oluşturun.
$publicip = New-AzPublicIpAddress -ResourceGroupName $rgname -name $publicIpName -location $location -AllocationMethod Static -sku Standard
Application Gateway IP yapılandırmasını oluşturma
IP yapılandırmalarını ve ön uç bağlantı noktasını oluşturun.
$gipconfig = New-AzApplicationGatewayIPConfiguration -Name $gipconfigname -Subnet $gwSubnet
$fipconfig = New-AzApplicationGatewayFrontendIPConfig -Name $fipconfigName -PublicIPAddress $publicip
$port = New-AzApplicationGatewayFrontendPort -Name $frontendPortName -Port 443
Ön uç TLS/SSL'yi yapılandırma
Application Gateway'iniz için TLS/SSL sertifikalarını yapılandırın.
$password = ConvertTo-SecureString "P@ssw0rd" -AsPlainText -Force
$sslCertPath = $basedir + "/ScenarioTests/Data/ApplicationGatewaySslCert1.pfx"
$sslCert = New-AzApplicationGatewaySslCertificate -Name $sslCertName -CertificateFile $sslCertPath -Password $password
İstemci kimlik doğrulamayı yapılandırma
Application Gateway'inizde istemci kimlik doğrulamayı yapılandırın. Burada kullanmak üzere güvenilen istemci CA sertifika zincirlerini ayıklama hakkında daha fazla bilgi için bkz. Güvenilen istemci CA sertifika zincirlerini ayıklama.
Önemli
İstemci CA sertifika zincirinin tamamını tek bir dosyaya ve dosya başına yalnızca bir zincire yüklediğinizden emin olun. Karşıya yüklenen her dosyanın boyutu üst sınırı 25 KB veya daha az olmalıdır.
Uyarı
TLS 1.2, 31 Ağustos 2025'den itibaren zorunlu kılınacağı için karşılıklı kimlik doğrulaması ile TLS 1.2 kullanmanızı öneririz.
$clientCertFilePath = $basedir + "/ScenarioTests/Data/TrustedClientCertificate.cer"
$trustedClient01 = New-AzApplicationGatewayTrustedClientCertificate -Name $trustedClientCert01Name -CertificateFile $clientCertFilePath
$sslPolicy = New-AzApplicationGatewaySslPolicy -PolicyType Predefined -PolicyName "AppGwSslPolicy20170401S"
$clientAuthConfig = New-AzApplicationGatewayClientAuthConfiguration -VerifyClientCertIssuerDN
$sslProfile01 = New-AzApplicationGatewaySslProfile -Name $sslProfile01Name -SslPolicy $sslPolicy -ClientAuthConfiguration $clientAuthConfig -TrustedClientCertificates $trustedClient01
$listener = New-AzApplicationGatewayHttpListener -Name $listenerName -Protocol Https -SslCertificate $sslCert -FrontendIPConfiguration $fipconfig -FrontendPort $port -SslProfile $sslProfile01
Arka uç havuzu ve ayarlarını yapılandırın
Application Gateway'iniz için arka uç havuzunu ve ayarlarını ayarlayın. İsteğe bağlı olarak, uçtan uca TLS/SSL şifrelemesi için arka uç güvenilen kök sertifikasını ayarlayın.
$certFilePath = $basedir + "/ScenarioTests/Data/ApplicationGatewayAuthCert.cer"
$trustedRoot = New-AzApplicationGatewayTrustedRootCertificate -Name $trustedRootCertName -CertificateFile $certFilePath
$pool = New-AzApplicationGatewayBackendAddressPool -Name $poolName -BackendIPAddresses www.microsoft.com, www.bing.com
$poolSetting = New-AzApplicationGatewayBackendHttpSettings -Name $poolSettingName -Port 443 -Protocol Https -CookieBasedAffinity Enabled -PickHostNameFromBackendAddress -TrustedRootCertificate $trustedRoot
Kuralı yapılandırın.
Application Gateway'inizde bir kural ayarlayın.
$rule = New-AzApplicationGatewayRequestRoutingRule -Name $ruleName -RuleType basic -BackendHttpSettings $poolSetting -HttpListener $listener -BackendAddressPool $pool
Gelecek dinleyiciler için varsayılan TLS/SSL ilkesini ayarlama
Karşılıklı kimlik doğrulamasını ayarlarken dinleyiciye özgü bir TLS/SSL ilkesi ayarladınız. Bu adımda, gelecekte oluşturacağınız dinleyiciler için isteğe bağlı olarak varsayılan TLS/SSL ilkesini ayarlayabilirsiniz.
$sslPolicyGlobal = New-AzApplicationGatewaySslPolicy -PolicyType Predefined -PolicyName "AppGwSslPolicy20170401"
Application Gateway oluşturma
Oluşturduğumuz her şeyi kullanarak Application Gateway'inizi dağıtın.
$sku = New-AzApplicationGatewaySku -Name Standard_v2 -Tier Standard_v2
$appgw = New-AzApplicationGateway -Name $appgwName -ResourceGroupName $rgname -Zone 1,2 -Location $location -BackendAddressPools $pool -BackendHttpSettingsCollection $poolSetting -FrontendIpConfigurations $fipconfig -GatewayIpConfigurations $gipconfig -FrontendPorts $port -HttpListeners $listener -RequestRoutingRules $rule -Sku $sku -SslPolicy $sslPolicyGlobal -TrustedRootCertificate $trustedRoot -AutoscaleConfiguration $autoscaleConfig -TrustedClientCertificates $trustedClient01 -SslProfiles $sslProfile01 -SslCertificates $sslCert
Kaynakları temizle
Artık gerekli olmadığında Remove-AzResourceGroup kullanarak kaynak grubunu, uygulama ağ geçidini ve tüm ilgili kaynakları kaldırın.
Remove-AzResourceGroup -Name $rgname
Süresi dolan istemci CA sertifikalarını yenileme
İstemci CA sertifikanızın süresinin dolması durumunda, aşağıdaki adımları izleyerek ağ geçidinizdeki sertifikayı güncelleştirebilirsiniz:
- Azure'da oturum açma
Connect-AzAccount Select-AzSubscription -Subscription "<sub name>" - Application Gateway yapılandırmanızı alın
$gateway = Get-AzApplicationGateway -Name "<gateway-name>" -ResourceGroupName "<resource-group-name>" - Güvenilen istemci sertifikasını ağ geçidinden kaldırma
Remove-AzApplicationGatewayTrustedClientCertificate -Name "<name-of-client-certificate>" -ApplicationGateway $gateway - Yeni sertifikayı ağ geçidine ekleme
Add-AzApplicationGatewayTrustedClientCertificate -ApplicationGateway $gateway -Name "<name-of-new-cert>" -CertificateFile "<path-to-certificate-file>" - Ağ geçidini yeni sertifikayla güncelleştirme
Set-AzApplicationGateway -ApplicationGateway $gateway