Příjem oznámení trezoru klíčů a reakce na ně pomocí Azure Event Grid
Integrace Azure Key Vault s Azure Event Grid umožňuje oznámení uživatelům, když se změní stav tajného kódu uloženého v trezoru klíčů. Přehled této funkce najdete v tématu Monitorování Key Vault pomocí Event Gridu.
Tento průvodce popisuje, jak přijímat Key Vault oznámení prostřednictvím Event Gridu a jak reagovat na změny stavu prostřednictvím Azure Automation.
Požadavky
- Předplatné Azure. Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.
- Trezor klíčů ve vašem předplatném Azure. Nový trezor klíčů můžete rychle vytvořit pomocí postupu v tématu Nastavení a načtení tajného kódu z Azure Key Vault pomocí Azure CLI.
Koncepty
Event Grid je služba událostí pro cloud. Podle kroků v této příručce se přihlásíte k odběru událostí pro Key Vault a směrování událostí do služby Automation. Když se blíží vypršení platnosti některého z tajných klíčů v trezoru klíčů (definované jako 30 dní před datem vypršení platnosti), služba Event Grid obdrží oznámení o změně stavu a provede do koncového bodu protokol HTTP POST. Webhook pak aktivuje spuštění skriptu PowerShellu pro automatizaci.
Vytvoření účtu Automation
Vytvořte účet Automation prostřednictvím Azure Portal:
Přejděte na portal.azure.com a přihlaste se ke svému předplatnému.
Do vyhledávacího pole zadejte Účty Automation.
V části Služby rozevíracího seznamu na panelu hledání vyberte Účty Automation.
Vyberte Přidat.
V podokně Přidat účet Automation zadejte požadované informace a pak vyberte Vytvořit.
Vytvoření runbooku
Jakmile bude váš účet Automation připravený, vytvořte runbook.
Vyberte účet Automation, který jste vytvořili.
V části Automatizace procesů vyberte Runbooky.
Vyberte Vytvořit runbook.
Runbook pojmenujte a jako typ runbooku vyberte PowerShell .
Vyberte runbook, který jste vytvořili, a pak vyberte tlačítko Upravit .
Zadejte následující kód (pro účely testování) a vyberte tlačítko Publikovat . Tato akce vrátí výsledek přijaté žádosti POST.
param
(
[Parameter (Mandatory = $false)]
[object] $WebhookData
)
#If runbook was called from Webhook, WebhookData will not be null.
if ($WebhookData) {
#rotate secret:
#generate new secret version in key vault
#update db/service with generated secret
#Write-Output "WebhookData <$WebhookData>"
Write-Output $WebhookData.RequestBody
}
else
{
# Error
write-Error "No input data found."
}
Vytvoření webhooku
Vytvořte webhook, který aktivuje nově vytvořený runbook.
V části Prostředky publikovaného runbooku vyberte Webhooky.
Vyberte Přidat webhook.
Vyberte Vytvořit nový webhook.
Pojmenujte webhook, nastavte datum vypršení platnosti a zkopírujte adresu URL.
Důležité
Po vytvoření se adresa URL nedá zobrazit. Nezapomeňte uložit kopii na bezpečné místo, kde k ní budete mít přístup po zbytek tohoto průvodce.
Vyberte Parametry a nastavení spuštění a pak vyberte OK. Nezadávejte žádné parametry. Tlačítko Vytvořit bude povoleno.
Vyberte OK a pak vyberte Vytvořit.
Vytvoření odběru Event Gridu
Vytvořte odběr Event Gridu prostřednictvím Azure Portal.
Přejděte do trezoru klíčů a vyberte kartu Události .
Vyberte tlačítko Odběr události .
Vytvořte popisný název předplatného.
Zvolte Schéma Event Gridu.
Téma Prostředek by měl být trezor klíčů, u kterého chcete monitorovat změny stavu.
V části Filtrovat na typy událostí nechejte vybrané všechny možnosti (9 vybraných).
Jako Typ koncového bodu vyberte Webhook.
Zvolte Vybrat koncový bod. V novém kontextovém podokně vložte adresu URL webhooku z kroku Vytvořit webhook do pole Koncový bod odběratele .
V kontextovém podokně vyberte Potvrdit výběr .
Vyberte Vytvořit.
Testování a ověření
Ověřte, že je váš odběr služby Event Grid správně nakonfigurovaný. Tento test předpokládá, že jste se přihlásili k odběru oznámení Vytvoření nové verze tajného kódu v části Vytvoření odběru služby Event Grid a že máte potřebná oprávnění k vytvoření nové verze tajného kódu v trezoru klíčů.
Na webu Azure Portal přejděte na svůj trezor klíčů.
Vytvořte nový tajný klíč. Pro účely testování nastavte datum vypršení platnosti na další den.
Na kartě Události ve vašem trezoru klíčů vyberte odběr event gridu, který jste vytvořili.
V části Metriky zkontrolujte, jestli byla zachycena událost. Očekávají se dvě události: SecretNewVersion a SecretNearExpiry. Tyto události ověřují, že služba Event Grid úspěšně zachytila změnu stavu tajného kódu ve vašem trezoru klíčů.
Přejděte do svého účtu služby Automation.
Vyberte kartu Runbooky a pak vyberte runbook, který jste vytvořili.
Vyberte kartu Webhooky a ověřte, že časové razítko poslední aktivace je do 60 sekund od vytvoření nového tajného kódu. Tento výsledek potvrzuje, že Event Grid provedl příspěvek do webhooku s podrobnostmi o události změny stavu ve vašem trezoru klíčů a aktivaci webhooku.
Vraťte se do runbooku a vyberte kartu Přehled .
Podívejte se na seznam Poslední úlohy . Měli byste vidět, že se vytvořila úloha a že je stav dokončený. Tím se potvrdí, že webhook aktivoval runbook, aby spustil svůj skript.
Vyberte nedávnou úlohu a podívejte se na požadavek POST odeslaný z Event Gridu do webhooku. Prozkoumejte JSON a ujistěte se, že jsou správné parametry pro váš trezor klíčů a typ události. Pokud parametr "event type" v objektu JSON odpovídá události, ke které došlo v trezoru klíčů (v tomto příkladu Microsoft.KeyVault.SecretNearExpiry), test byl úspěšný.
Řešení potíží
Nemůžete vytvořit odběr událostí.
Znovu zaregistrujte Službu Event Grid a poskytovatele trezoru klíčů ve vašich poskytovatelích prostředků předplatného Azure. Viz Poskytovatelé a typy prostředků Azure.
Další kroky
Gratulujeme! Pokud jste správně provedli všechny tyto kroky, jste teď připraveni programově reagovat na změny stavu tajných kódů uložených ve vašem trezoru klíčů.
Pokud jste k vyhledávání změn stavu tajných kódů v trezorech klíčů používali systém založený na dotazování, můžete teď začít používat tuto funkci oznámení. Testovací skript v runbooku můžete také nahradit kódem pro programové obnovení tajných kódů, když se blíží jejich vypršení.
Další informace:
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro