Ukončení šifrování TLS s využitím certifikátů služby Key Vault
Azure Key Vault je úložiště tajných kódů spravované platformou, které můžete použít k ochraně tajných kódů, klíčů a certifikátů TLS/SSL. Aplikace Azure lication Gateway podporuje integraci se službou Key Vault pro certifikáty serveru připojené k naslouchacím procesům s podporou PROTOKOLU HTTPS. Tato podpora je omezená na skladovou položku v2 služby Application Gateway.
Application Gateway nabízí dva modely pro ukončení protokolu TLS:
- Zadejte certifikáty TLS/SSL připojené k naslouchacímu procesu. Tento model je tradičním způsobem předání certifikátů TLS/SSL službě Application Gateway pro ukončení protokolu TLS.
- Při vytváření naslouchacího procesu s podporou HTTPS zadejte odkaz na existující certifikát nebo tajný kód služby Key Vault.
Integrace služby Application Gateway se službou Key Vault nabízí řadu výhod, mezi které patří:
- Silnější zabezpečení, protože certifikáty TLS/SSL přímo nezpracují tým pro vývoj aplikací. Integrace umožňuje samostatnému týmu zabezpečení:
- Nastavte aplikační brány.
- Řízení životního cyklu aplikační brány
- Udělte vybraným aplikačním branám oprávnění pro přístup k certifikátům uloženým ve službě Key Vault.
- Podpora importu existujících certifikátů do služby Key Vault Nebo pomocí rozhraní API služby Key Vault můžete vytvářet a spravovat nové certifikáty s libovolnými důvěryhodnými partnery služby Key Vault.
- Podpora automatického prodlužování platnosti certifikátů uložených ve službě Key Vault
Podporované certifikáty
Služba Application Gateway aktuálně podporuje pouze certifikáty ověřené softwarem. Certifikáty ověřené modulem hardwarového zabezpečení (HSM) se nepodporují.
Jakmile je služba Application Gateway nakonfigurovaná tak, aby používala certifikáty služby Key Vault, instance načtou certifikát ze služby Key Vault a nainstalují je místně pro ukončení protokolu TLS. Instance se dotazují služby Key Vault ve čtyřhodinovém intervalu, aby načetly obnovenou verzi certifikátu, pokud existuje. Pokud se najde aktualizovaný certifikát, certifikát TLS/SSL přidružený k naslouchacímu procesu HTTPS se automaticky otočí.
Tip
Jakákoli změna služby Application Gateway vynutí kontrolu ve službě Key Vault, aby se zjistilo, jestli jsou k dispozici nějaké nové verze certifikátů. To zahrnuje změny konfigurace front-endových IP adres, naslouchacích procesů, pravidel, back-endových fondů, značek prostředků a dalších. Pokud se najde aktualizovaný certifikát, zobrazí se nový certifikát okamžitě.
Application Gateway používá k odkazům na certifikáty identifikátor tajného kódu ve službě Key Vault. Pro Azure PowerShell, Azure CLI nebo Azure Resource Manager důrazně doporučujeme použít tajný identifikátor, který neurčí verzi. Služba Application Gateway tak certifikát automaticky otočí, pokud je ve službě Key Vault dostupná novější verze. Příkladem tajného identifikátoru URI bez verze je https://myvault.vault.azure.net/secrets/mysecret/
. Můžete se podívat na kroky PowerShellu uvedené v následující části.
Azure Portal podporuje jenom certifikáty služby Key Vault, ne tajné kódy. Application Gateway stále podporuje odkazování na tajné kódy ze služby Key Vault, ale pouze prostřednictvím jiných než portálových prostředků, jako jsou PowerShell, Azure CLI, rozhraní API a šablony Azure Resource Manageru (šablony ARM). Aby je služba Application Gateway mohla používat, musí mít certifikáty služby Key Vault exportovatelný privátní klíč.
Podporují se odkazy na trezory klíčů v jiných předplatných Azure, ale je nutné je nakonfigurovat prostřednictvím šablony ARM, Azure PowerShellu, rozhraní příkazového řádku, Bicep atd. Služba Application Gateway dnes prostřednictvím webu Azure Portal nepodporuje konfiguraci trezoru klíčů mezi předplatnými.
Nastavení certifikátu ve službě Key Vault
V případě ukončení protokolu TLS služba Application Gateway podporuje pouze certifikáty ve formátu PFX (Personal Information Exchange). Můžete buď importovat existující certifikát, nebo vytvořit nový ve službě Key Vault. Pokud se chcete vyhnout selháním, ujistěte se, že je stav certifikátu nastavený na Povoleno ve službě Key Vault.
Jak funguje integrace
Integrace služby Application Gateway se službou Key Vault je třístupňový proces konfigurace:
Poznámka:
integrace brány Aplikace Azure lication s Key Vaultem podporuje zásady přístupu k trezoru i modely oprávnění řízení přístupu na základě role Azure.
Získání spravované identity přiřazené uživatelem
Application Gateway používá spravovanou identitu k načtení certifikátů ze služby Key Vault vaším jménem.
Můžete buď vytvořit novou spravovanou identitu přiřazenou uživatelem, nebo znovu použít existující identitu s integrací. Pokud chcete vytvořit novou spravovanou identitu přiřazenou uživatelem, přečtěte si téma Vytvoření spravované identity přiřazené uživatelem pomocí webu Azure Portal.
Delegování spravované identity přiřazené uživatelem do služby Key Vault
Definujte zásady přístupu pro použití spravované identity přiřazené uživatelem se službou Key Vault:
Na webu Azure Portal přejděte do služby Key Vault.
Vyberte službu Key Vault, která obsahuje váš certifikát.
Pokud používáte zásady přístupu k trezoru modelu oprávnění: Vyberte zásady přístupu, vyberte + Přidat zásadu přístupu, vyberte Získat oprávnění tajných kódů a zvolte spravovanou identitu přiřazenou uživatelem pro objekt zabezpečení. Pak vyberte Uložit.
Pokud používáte řízení přístupu na základě role Azure, postupujte podle článku Přiřazení přístupu ke spravované identitě k prostředku a přiřazení spravované identity přiřazené uživatelem k roli Uživatele tajného klíče služby Key Vault do služby Azure Key Vault.
Ověření oprávnění brány firewall ke službě Key Vault
Od 15. března 2021 služba Key Vault rozpozná službu Application Gateway jako důvěryhodnou službu s využitím identit spravovaných uživatelem pro ověřování ve službě Azure Key Vault. S využitím koncových bodů služby a povolením možnosti důvěryhodných služeb pro bránu firewall služby Key Vault můžete v Azure vytvořit zabezpečenou hranici sítě. Přístup k provozu ze všech sítí (včetně internetového provozu) do služby Key Vault můžete odepřít, ale i nadále zpřístupnit službu Key Vault pro prostředek služby Application Gateway v rámci vašeho předplatného.
Pokud používáte službu Key Vault s omezeným přístupem, pomocí následujícího postupu nakonfigurujte službu Application Gateway tak, aby používala brány firewall a virtuální sítě:
Tip
Kroky 1 až 3 se nevyžadují, pokud má váš trezor klíčů povolený privátní koncový bod. Aplikační brána má přístup ke službě Key Vault pomocí privátní IP adresy.
Důležité
Pokud pro přístup ke službě Key Vault používáte privátní koncové body, musíte propojit privátní zónu DNS privatelink.vaultcore.azure.net (obsahující odpovídající záznam s odkazovanou službou Key Vault) a virtuální sítí obsahující službu Application Gateway. Vlastní servery DNS se můžou dál používat ve virtuální síti místo překladačů azure DNS, ale privátní zóna DNS musí zůstat propojená i s virtuální sítí.
Na webu Azure Portal ve službě Key Vault vyberte Sítě.
Na kartě Brány firewall a virtuální sítě vyberte Vybrané sítě.
V případě virtuálních sítí vyberte + Přidat existující virtuální sítě a pak přidejte virtuální síť a podsíť pro instanci služby Application Gateway. Pokud se zobrazí výzva, ujistěte se, že v tuto chvíli není zaškrtnuto políčko Nekonfigurovat koncové body služby Microsoft.KeyVault, aby se zajistilo
Microsoft.KeyVault
, že je koncový bod služby v podsíti povolený.Výběrem možnosti Ano povolte důvěryhodným službám obejít bránu firewall služby Key Vault.
Poznámka:
Pokud instanci služby Application Gateway nasadíte prostřednictvím šablony ARM pomocí Azure CLI nebo PowerShellu nebo prostřednictvím aplikace Azure nasazené z webu Azure Portal, certifikát SSL se uloží ve službě Key Vault jako soubor PFX s kódováním Base64. Musíte provést kroky v části Použití služby Azure Key Vault k předání hodnoty zabezpečeného parametru během nasazování.
Je obzvláště důležité nastavit enabledForTemplateDeployment
true
. Certifikát může nebo nemusí mít heslo. V případě certifikátu s heslem ukazuje následující příklad možnou konfiguraci položky sslCertificates
properties
pro konfiguraci šablony ARM pro Službu Application Gateway.
"sslCertificates": [
{
"name": "appGwSslCertificate",
"properties": {
"data": "[parameters('appGatewaySSLCertificateData')]",
"password": "[parameters('appGatewaySSLCertificatePassword')]"
}
}
]
Hodnoty appGatewaySSLCertificateData
appGatewaySSLCertificatePassword
a jsou vyhledány ze služby Key Vault, jak je popsáno v referenčních tajných klíčích s dynamickým ID. Pokud chcete zjistit, jak se vyhledávání děje, postupujte zpětně parameters('secretName')
podle odkazů. Pokud je certifikát bez hesla, vymižte password
položku.
Konfigurace naslouchacího procesu služby Application Gateway
Model zásad přístupu trezoru oprávnění služby Key Vault
Na webu Azure Portal přejděte ke službě Application Gateway a vyberte kartu Naslouchací procesy. Vyberte Přidat naslouchací proces (nebo vyberte existující naslouchací proces) a zadejte https pro protokol.
V části Zvolit certifikát vyberte Vytvořit nový a pak v části Nastavení https vyberte Zvolit certifikát ze služby Key Vault.
Jako název certifikátu zadejte popisný název certifikátu, na který se má odkazovat ve službě Key Vault. Zvolte spravovanou identitu, službu Key Vault a certifikát.
Po výběru vyberte Přidat (pokud vytváříte) nebo Uložit (pokud upravujete) a použijte odkazovaný certifikát služby Key Vault pro naslouchací proces.
Model oprávnění řízení přístupu na základě role ve službě Key Vault v Azure
Application Gateway podporuje certifikáty odkazované ve službě Key Vault prostřednictvím modelu oprávnění řízení přístupu na základě role. Prvních pár kroků pro odkazování na službu Key Vault je potřeba provést prostřednictvím šablony ARM, Bicep, rozhraní příkazového řádku nebo PowerShellu.
Poznámka:
Zadávání certifikátů služby Azure Key Vault, které podléhají modelu oprávnění řízení přístupu na základě role, se na portálu nepodporuje.
V tomto příkladu použijeme PowerShell k odkazu na nový tajný klíč služby Key Vault.
# Get the Application Gateway we want to modify
$appgw = Get-AzApplicationGateway -Name MyApplicationGateway -ResourceGroupName MyResourceGroup
# Specify the resource id to the user assigned managed identity - This can be found by going to the properties of the managed identity
Set-AzApplicationGatewayIdentity -ApplicationGateway $appgw -UserAssignedIdentityId "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/MyResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/MyManagedIdentity"
# Get the secret ID from Key Vault
$secret = Get-AzKeyVaultSecret -VaultName "MyKeyVault" -Name "CertificateName"
$secretId = $secret.Id.Replace($secret.Version, "") # Remove the secret version so Application Gateway uses the latest version in future syncs
# Specify the secret ID from Key Vault
Add-AzApplicationGatewaySslCertificate -KeyVaultSecretId $secretId -ApplicationGateway $appgw -Name $secret.Name
# Commit the changes to the Application Gateway
Set-AzApplicationGateway -ApplicationGateway $appgw
Po spuštění příkazů můžete na webu Azure Portal přejít ke službě Application Gateway a vybrat kartu Naslouchací procesy. Klikněte na Přidat naslouchací proces (nebo vyberte existující) a zadejte protokol https.
V části Zvolit certifikát vyberte certifikát pojmenovaný v předchozích krocích. Po výběru vyberte Přidat (pokud vytváříte) nebo Uložit (pokud upravujete) a použijte odkazovaný certifikát služby Key Vault pro naslouchací proces.
Zkoumání a řešení chyb služby Key Vault
Poznámka:
Při provádění změn nebo odvolání přístupu k prostředku služby Key Vault je důležité zvážit jakýkoli dopad na prostředek služby Application Gateway. Pokud vaše aplikační brána nemá přístup k přidruženému trezoru klíčů nebo v něm vyhledejte objekt certifikátu, služba Application Gateway automaticky nastaví naslouchací proces do zakázaného stavu.
Tuto událost řízenou uživatelem můžete identifikovat zobrazením služby Resource Health pro vaši aplikační bránu. Další informace.
Aplikace Azure lication Gateway se při každém čtyřhodinovém intervalu necyklické dotazování jenom na obnovenou verzi certifikátu ve službě Key Vault. Protokoluje také všechny chyby a je integrovaný se službou Azure Advisor, aby se zobrazila chybná konfigurace s doporučením pro jeho opravu.
- Přihlášení k webu Azure Portal
- Vyberte Advisor.
- V nabídce vlevo vyberte kategorii Efektivita provozu.
- Pokud k tomuto problému dochází, najdete doporučení s názvem Řešení problému se službou Azure Key Vault pro službu Application Gateway. Ujistěte se, že je vybrané správné předplatné z výše uvedených rozevíracích možností.
- Vyberte ho, abyste zobrazili podrobnosti o chybě, přidružený prostředek trezoru klíčů a průvodce odstraňováním potíží a opravili váš přesný problém.
Identifikací takové události prostřednictvím azure Advisoru nebo resource Health můžete rychle vyřešit případné problémy s konfigurací služby Key Vault. Důrazně doporučujeme využít upozornění služby Azure Advisor a Resource Health , abyste měli přehled o zjištění problému.
V případě upozornění Advisoru použijte v zobrazeném typu doporučení problém se službou Azure Key Vault pro vaši službu Application Gateway:
Upozornění služby Resource Health můžete nakonfigurovat, jak je znázorněno:
Další kroky
Konfigurace ukončení protokolu TLS s certifikáty služby Key Vault pomocí Azure PowerShellu