Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här artikeln beskriver hur du använder PowerShell för att konfigurera ömsesidig autentisering på din Application Gateway. Ömsesidig autentisering innebär att Application Gateway autentiserar klienten som skickar begäran med det klientcertifikat som du överför till Application Gateway.
Om du inte har någon Azure-prenumeration kan du skapa ett kostnadsfritt konto innan du börjar.
Anmärkning
Vi rekommenderar att du använder Azure Az PowerShell-modulen för att interagera med Azure. Se Installera Azure PowerShell för att komma igång. Information om hur du migrerar till Az PowerShell-modulen finns i Migrera Azure PowerShell från AzureRM till Az.
Den här artikeln kräver Azure PowerShell-modulen version 1.0.0 eller senare. Kör Get-Module -ListAvailable Az för att hitta versionen. Om du behöver uppgradera kan du läsa Install Azure PowerShell module (Installera Azure PowerShell-modul). Om du kör PowerShell lokalt måste du också köra Connect-AzAccount för att skapa en anslutning till Azure.
Innan du börjar
För att konfigurera ömsesidig autentisering med en Application Gateway behöver du ett klientcertifikat för att ladda upp till gatewayen. Klientcertifikatet används för att verifiera certifikatet som klienten presenterar för Application Gateway. I testsyfte kan du använda ett självsignerat certifikat. Detta rekommenderas dock inte för produktionsarbetsbelastningar eftersom de är svårare att hantera och inte är helt säkra.
Mer information, särskilt om vilken typ av klientcertifikat du kan ladda upp, finns i Översikt över ömsesidig autentisering med Application Gateway.
Skapa en resursgrupp
Skapa först en ny resursgrupp i din prenumeration.
$resourceGroup = New-AzResourceGroup -Name $rgname -Location $location -Tags @{ testtag = "APPGw tag"}
Skapa ett virtuellt nätverk
Distribuera ett virtuellt nätverk för din applikationsgateway där den kan distribueras.
$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
Skapa en offentlig IP-adress
Skapa en offentlig IP-adress som ska användas med din Application Gateway.
$publicip = New-AzPublicIpAddress -ResourceGroupName $rgname -name $publicIpName -location $location -AllocationMethod Static -sku Standard
Skapa IP-konfigurationen för Application Gateway
Skapa IP-konfigurationer och frontend-port.
$gipconfig = New-AzApplicationGatewayIPConfiguration -Name $gipconfigname -Subnet $gwSubnet
$fipconfig = New-AzApplicationGatewayFrontendIPConfig -Name $fipconfigName -PublicIPAddress $publicip
$port = New-AzApplicationGatewayFrontendPort -Name $frontendPortName  -Port 443
Konfigurera frontend-TLS/SSL
Konfigurera TLS/SSL-certifikaten för din Application Gateway.
$password = ConvertTo-SecureString "P@ssw0rd" -AsPlainText -Force
$sslCertPath = $basedir + "/ScenarioTests/Data/ApplicationGatewaySslCert1.pfx"
$sslCert = New-AzApplicationGatewaySslCertificate -Name $sslCertName -CertificateFile $sslCertPath -Password $password
Konfigurera klientautentisering
Konfigurera klientautentisering på din Application Gateway. Mer information om hur du extraherar betrodda klient-CA-certifikatkedjor som ska användas här finns i avsnittet om hur du extraherar betrodda klient-CA-certifikatkedjor.
Viktigt!
Se till att du laddar upp hela klient-CA-certifikatkedjan i en fil och endast en kedja per fil. Den maximala storleken för varje uppladdad fil måste vara 25 KB eller mindre.
Anmärkning
Vi rekommenderar att du använder TLS 1.2 med ömsesidig autentisering eftersom TLS 1.2 kommer att tillåtas från och med 31 augusti 2025.
$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
Konfigurera backendpoolen och inställningarna.
Konfigurera serverdelspool och inställningar för din Application Gateway. Du kan också konfigurera det betrodda rotcertifikatet för backend för kryptering från slutpunkt till slutpunkt med 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
Konfigurera regeln
Konfigurera en regel för din Application Gateway.
$rule = New-AzApplicationGatewayRequestRoutingRule -Name $ruleName -RuleType basic -BackendHttpSettings $poolSetting -HttpListener $listener -BackendAddressPool $pool
Konfigurera standardprincipen för TLS/SSL för framtida lyssnare
Du har konfigurerat en lyssnarspecifik TLS/SSL-princip när du konfigurerar ömsesidig autentisering. I det här steget kan du ange standardprincipen för TLS/SSL för framtida lyssnare som du skapar.
$sslPolicyGlobal = New-AzApplicationGatewaySslPolicy -PolicyType Predefined -PolicyName "AppGwSslPolicy20170401"
Skapa Application Gateway
Distribuera din Application Gateway med hjälp av allt som vi har skapat.
$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
Rensa resurser
När den inte längre behövs tar du bort resursgruppen, programgatewayen och alla relaterade resurser med Remove-AzResourceGroup.
Remove-AzResourceGroup -Name $rgname
Förnya utgångna klient-CA-certifikat
Ett alternativ är att om klient-CA-certifikatet har gått ut kan du uppdatera certifikatet på din gateway med följande steg:
- Logga in på Azure 
Connect-AzAccount Select-AzSubscription -Subscription "<sub name>" - Hämta din Application Gateway-konfiguration 
$gateway = Get-AzApplicationGateway -Name "<gateway-name>" -ResourceGroupName "<resource-group-name>" - Ta bort det betrodda klientcertifikatet från gatewayen 
Remove-AzApplicationGatewayTrustedClientCertificate -Name "<name-of-client-certificate>" -ApplicationGateway $gateway - Lägg till det nya certifikatet på gatewayen 
Add-AzApplicationGatewayTrustedClientCertificate -ApplicationGateway $gateway -Name "<name-of-new-cert>" -CertificateFile "<path-to-certificate-file>" - Uppdatera gatewayen med det nya certifikatet 
Set-AzApplicationGateway -ApplicationGateway $gateway