Sdílet prostřednictvím


Konfigurace vzájemného ověřování se službou Application Gateway prostřednictvím PowerShellu

Tento článek popisuje, jak pomocí PowerShellu nakonfigurovat vzájemné ověřování ve službě Application Gateway. Vzájemné ověřování znamená, že Služba Application Gateway ověřuje klienta odesílajícího požadavek pomocí klientského certifikátu, který nahrajete do služby Application Gateway.

Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.

Poznámka:

K interakci s Azure doporučujeme použít modul Azure Az PowerShell. Pokud chcete začít, přečtěte si téma Instalace Azure PowerShellu. Informace o tom, jak migrovat na modul Az PowerShell, najdete v tématu Migrace Azure PowerShellu z AzureRM na Az.

Tento článek vyžaduje modul Azure PowerShell verze 1.0.0 nebo novější. Verzi zjistíte spuštěním příkazu Get-Module -ListAvailable Az. Pokud potřebujete upgrade, přečtěte si téma Instalace modulu Azure PowerShell. Pokud používáte PowerShell místně, musíte také spustit Connect-AzAccount , abyste vytvořili připojení k Azure.

Než začnete

Ke konfiguraci vzájemného ověřování pomocí služby Application Gateway potřebujete klientský certifikát pro nahrání do brány. Klientský certifikát slouží k ověření certifikátu, který klient prezentuje službě Application Gateway. Pro účely testování můžete použít certifikát podepsaný svým držitelem. To se ale nedoporučuje pro produkční úlohy, protože je obtížnější spravovat a nejsou zcela zabezpečené.

Další informace, zejména o tom, jaký druh klientských certifikátů můžete nahrát, najdete v tématu Přehled vzájemného ověřování ve službě Application Gateway.

Vytvoření skupiny zdrojů

Nejprve ve svém předplatném vytvořte novou skupinu prostředků.

$resourceGroup = New-AzResourceGroup -Name $rgname -Location $location -Tags @{ testtag = "APPGw tag"}

Vytvoření virtuální sítě

Nasaďte virtuální síť, do které se má služba Application Gateway nasadit.

$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

Vytvoření veřejné IP adresy

Vytvořte veřejnou IP adresu, která se bude používat se službou Application Gateway.

$publicip = New-AzPublicIpAddress -ResourceGroupName $rgname -name $publicIpName -location $location -AllocationMethod Static -sku Standard

Vytvoření konfigurace PROTOKOLU IP služby Application Gateway

Vytvořte konfigurace IP adres a front-endový port.

$gipconfig = New-AzApplicationGatewayIPConfiguration -Name $gipconfigname -Subnet $gwSubnet
$fipconfig = New-AzApplicationGatewayFrontendIPConfig -Name $fipconfigName -PublicIPAddress $publicip
$port = New-AzApplicationGatewayFrontendPort -Name $frontendPortName  -Port 443

Konfigurace protokolu TLS/SSL front-endu

Nakonfigurujte certifikáty TLS/SSL pro službu Application Gateway.

$password = ConvertTo-SecureString "P@ssw0rd" -AsPlainText -Force
$sslCertPath = $basedir + "/ScenarioTests/Data/ApplicationGatewaySslCert1.pfx"
$sslCert = New-AzApplicationGatewaySslCertificate -Name $sslCertName -CertificateFile $sslCertPath -Password $password

Konfigurace ověřování klientů

Nakonfigurujte ověřování klientů ve službě Application Gateway. Další informace o tom, jak extrahovat řetězce certifikátů důvěryhodných klientských certifikačních autorit pro použití zde, najdete v tématu jak extrahovat řetězce certifikátů důvěryhodných klientských certifikačních autorit.

Důležité

Ujistěte se, že nahrajete celý řetěz certifikátů certifikační autority klienta do jednoho souboru a pouze jeden řetěz na soubor. Maximální velikost každého nahraného souboru musí být 25 kB nebo menší.

Poznámka:

Od 31. srpna 2025 doporučujeme používat protokol TLS 1.2 se vzájemným ověřováním.

$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

Konfigurace back-endového fondu a nastavení

Nastavení backendového fondu a nastavení pro službu Application Gateway. Volitelně můžete nastavit back-endový důvěryhodný kořenový certifikát pro kompletní šifrování TLS/SSL.

$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

Konfigurace pravidla

Nastavte pravidlo ve službě Application Gateway.

$rule = New-AzApplicationGatewayRequestRoutingRule -Name $ruleName -RuleType basic -BackendHttpSettings $poolSetting -HttpListener $listener -BackendAddressPool $pool

Nastavení výchozích zásad TLS/SSL pro budoucí nasluchače

Při nastavování vzájemného ověřování jste nakonfigurovali naslouchátko se specifickou zásadou TLS/SSL. V tomto kroku můžete volitelně nastavit výchozí zásady TLS/SSL pro budoucí naslouchací procesy, které vytvoříte.

$sslPolicyGlobal = New-AzApplicationGatewaySslPolicy -PolicyType Predefined -PolicyName "AppGwSslPolicy20170401"

Vytvoření služby Application Gateway

Pomocí všeho, co jsme vytvořili, nasaďte službu Application Gateway.

$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

Upravte zdroje

Pokud už ji nepotřebujete, odeberte skupinu prostředků, aplikační bránu a všechny související prostředky pomocí remove-AzResourceGroup.

Remove-AzResourceGroup -Name $rgname

Prodloužení platnosti certifikátů klientské certifikační autority, jejichž platnost vypršela

V případě, že vypršela platnost certifikátu certifikační autority klienta, můžete certifikát v bráně aktualizovat pomocí následujících kroků:

  1. Přihlášení k Azure
    Connect-AzAccount
    Select-AzSubscription -Subscription "<sub name>"
    
  2. Získání konfigurace služby Application Gateway
    $gateway = Get-AzApplicationGateway -Name "<gateway-name>" -ResourceGroupName "<resource-group-name>"
    
  3. Odeberte důvěryhodný klientský certifikát z brány
    Remove-AzApplicationGatewayTrustedClientCertificate -Name "<name-of-client-certificate>" -ApplicationGateway $gateway
    
  4. Přidání nového certifikátu do brány
    Add-AzApplicationGatewayTrustedClientCertificate -ApplicationGateway $gateway -Name "<name-of-new-cert>" -CertificateFile "<path-to-certificate-file>"
    
  5. Aktualizace brány pomocí nového certifikátu
    Set-AzApplicationGateway -ApplicationGateway $gateway
    

Další kroky