TLS-avslutning med Key Vault-certifikat

Azure Key Vault är ett plattforms hanterat hemlighetslager som du kan använda för att skydda hemligheter, nycklar och TLS/SSL-certifikat. Azure Application Gateway stöder integrering med Key Vault för servercertifikat som är kopplade till HTTPS-aktiverade lyssnare. Det här stödet är begränsat till v2 SKU för Application Gateway.

Application Gateway två modeller för TLS-avslutning:

  • Ange TLS/SSL-certifikat som är kopplade till lyssnaren. Den här modellen är det traditionella sättet att skicka TLS/SSL-certifikat till Application Gateway TLS-avslutning.
  • Ange en referens till ett befintligt Key Vault certifikat eller hemlighet när du skapar en HTTPS-aktiverad lyssnare.

Application Gateway integrering med Key Vault många fördelar, däribland:

  • Starkare säkerhet eftersom TLS/SSL-certifikat inte hanteras direkt av programutvecklingsteamet. Integrering gör att ett separat säkerhetsteam kan:
    • Konfigurera programgatewayer.
    • Kontrollera programgatewayens livscykler.
    • Bevilja behörigheter till valda programgatewayer för att få åtkomst till certifikat som lagras i ditt nyckelvalv.
  • Stöd för att importera befintliga certifikat till ditt nyckelvalv. Eller använd Key Vault API:er för att skapa och hantera nya certifikat med någon av de betrodda Key Vault partner.
  • Stöd för automatisk förnyelse av certifikat som lagras i ditt nyckelvalv.

Certifikat som stöds

Application Gateway stöder för närvarande endast programvaru validerade certifikat. HSM-verifierade certifikat (Hardware Security Module) stöds inte.

När Application Gateway har konfigurerats att använda Key Vault certifikat, hämtar dess instanser certifikatet från Key Vault och installerar dem lokalt för TLS-avslutning. Instanserna avsöker Key Vault fyra timmar för att hämta en förnyad version av certifikatet, om den finns. Om ett uppdaterat certifikat hittas roteras TLS/SSL-certifikatet som för närvarande är associerat med HTTPS-lyssnaren automatiskt.

Application Gateway använder en hemlig identifierare i Key Vault att referera till certifikaten. För Azure PowerShell, Azure CLI eller Azure Resource Manager rekommenderar vi starkt att du använder en hemlig identifierare som inte anger någon version. På så sätt Application Gateway automatiskt certifikatet om det finns en nyare version i nyckelvalvet. Ett exempel på en hemlig URI utan version är https://myvault.vault.azure.net/secrets/mysecret/ .

Den Azure Portal stöder endast Key Vault certifikat, inte hemligheter. Application Gateway stöder fortfarande referens av hemligheter från Key Vault, men endast via icke-portalresurser som PowerShell, Azure CLI, API:er och Azure Resource Manager-mallar (ARM-mallar).

Varning

Azure Application Gateway stöder för närvarande endast Key Vault-konton i samma prenumeration som den Application Gateway resursen. Om du väljer ett nyckelvalv under en annan prenumeration än Application Gateway resulterar det i ett fel.

Certifikatinställningar i Key Vault

För TLS-Application Gateway endast certifikat i PFX-format (Personal Information Exchange). Du kan antingen importera ett befintligt certifikat eller skapa ett nytt i nyckelvalvet. För att undvika fel bör du se till att certifikatets status är inställd på Aktiverad i Key Vault.

Så här fungerar integreringen

Application Gateway integrering med Key Vault är en konfigurationsprocess i tre steg:

Diagram som visar tre steg för att integrera Application Gateway med Key Vault.

Skapa en användartilldelad hanterad identitet

Du skapar antingen en användar tilldelad hanterad identitet eller återanvänder en befintlig. Application Gateway använder den hanterade identiteten för att hämta certifikat Key Vault för din räkning. Mer information finns i Skapa, lista, tabort eller tilldela en roll till en användar tilldelad hanterad identitet med hjälp av Azure Portal .

Det här steget skapar en ny identitet i Azure Active Directory klientorganisation. Identiteten är betrodd av den prenumeration som används för att skapa identiteten.

Konfigurera ditt nyckelvalv

Definiera åtkomstprinciper för att använda den användar tilldelade hanterade identiteten med ditt nyckelvalv:

  1. I Azure Portal du till Key Vault.

  2. Öppna fönstret Åtkomstprinciper.

  3. Om du använder behörighetsmodellen Valvåtkomstprincip: Välj + Lägg till åtkomstprincip, välj Hämta för hemliga behörigheter och välj din användar tilldelade hanterade identitet för Välj huvudnamn. Välj sedan Spara.

    Om du använder behörighetsmodellen Rollbaserad åtkomstkontroll i Azure: Lägg till en rolltilldelning för den användar tilldelade hanterade identiteten till Azure-nyckelvalvet för rollen som Key Vault hemlighetsanvändare.

Från och med 15 mars 2021 Key Vault igen Application Gateway som en betrodd tjänst genom att använda användar hanterade identiteter för autentisering till Azure Key Vault. Med hjälp av tjänstslutpunkter och aktivering av alternativet betrodda tjänster för Key Vault-brandväggen kan du skapa en säker nätverksgräns i Azure. Du kan neka åtkomst till trafik från alla nätverk (inklusive Internettrafik) till Key Vault men ändå göra Key Vault tillgänglig för en Application Gateway under din prenumeration.

När du använder ett begränsat nyckelvalv använder du följande steg för att konfigurera Application Gateway att använda brandväggar och virtuella nätverk:

  1. I Azure Portal nyckelvalvet väljer du Nätverk.
  2. På fliken Brandväggar och virtuella nätverk väljer du Privat slutpunkt och valda nätverk.
  3. För Virtuella nätverk väljer du + Lägg till befintliga virtuella nätverk och lägger sedan till det virtuella nätverket och undernätet för din Application Gateway instans. Under processen konfigurerar du även Microsoft.KeyVault tjänstslutpunkten genom att markera dess kryssruta.
  4. Välj Ja om du vill tillåta att betrodda tjänster kringgår nyckelvalvsbrandväggen.

Skärmbild som visar val för att konfigurera Application Gateway att använda brandväggar och virtuella nätverk.

Om du distribuerar Application Gateway-instansen via en ARM-mall med hjälp av antingen Azure CLI eller PowerShell, eller via ett Azure-program som distribuerats från Azure Portal, lagras SSL-certifikatet i nyckelvalvet som en Base64-kodad PFX-fil. Du måste slutföra stegen i Använd Azure Key Vault för att skicka säkert parametervärde under distributionen.

Det är särskilt viktigt att ange enabledForTemplateDeployment till true . Certifikatet kanske eller kanske inte har ett lösenord. När det gäller ett certifikat med ett lösenord visar följande exempel en möjlig konfiguration för posten i för sslCertificates properties ARM-mallkonfigurationen för Application Gateway.

"sslCertificates": [
    {
        "name": "appGwSslCertificate",
        "properties": {
            "data": "[parameters('appGatewaySSLCertificateData')]",
            "password": "[parameters('appGatewaySSLCertificatePassword')]"
        }
    }
]

Värdena för och appGatewaySSLCertificateData appGatewaySSLCertificatePassword har tittats upp från nyckelvalvet enligt beskrivningen i Referenshemligheter med dynamiskt ID. Följ referenserna bakåt från parameters('secretName') för att se hur uppslag sker. Om certifikatet är lösenordsfritt utelämnar du password posten.

Konfigurera Application Gateway

När du har skapat en användar tilldelad hanterad identitet och konfigurerat ditt nyckelvalv kan du tilldela den hanterade identiteten för din Application Gateway-instans via identitets- och åtkomsthantering (IAM). För PowerShell, se Set-AzApplicationGatewayIdentity.

Undersöka och lösa Key Vault fel

Azure Application Gateway söker inte bara efter den förnyade certifikatversionen Key Vault varje fyratimmarsintervall. Den loggar också eventuella fel och är integrerad med Azure Advisor för att visa eventuella felkonfigurationer som en rekommendation. Rekommendationen innehåller information om problemet och den associerade Key Vault resurs. Du kan använda den här informationen tillsammans med felsökningsguiden för att snabbt lösa ett sådant konfigurationsfel.

Vi rekommenderar starkt att du konfigurerar Advisor-aviseringar för att hålla dig uppdaterad när ett problem upptäcks. Om du vill ställa in en avisering för det här specifika fallet använder Azure Key Vault problem för Application Gateway som rekommendationstyp.

Nästa steg

Konfigurera TLS-avslutning med Key Vault certifikat med hjälp av Azure PowerShell