Dela via


Ta emot och svara på key vault-meddelanden med Azure Event Grid

Azure Key Vault-integrering med Azure Event Grid aktiverar användarmeddelanden när statusen för en hemlighet som lagras i ett nyckelvalv har ändrats. En översikt över den här funktionen finns i Övervaka Key Vault med Event Grid.

Den här guiden beskriver hur du tar emot Key Vault-meddelanden via Event Grid och hur du svarar på statusändringar via Azure Automation.

Förutsättningar

Begrepp

Event Grid är en händelsetjänst för molnet. Genom att följa stegen i den här guiden prenumererar du på händelser för Key Vault och dirigerar händelser till Automation. När en av hemligheterna i nyckelvalvet håller på att upphöra att gälla (definieras som 30 dagar före förfallodatum), meddelas Event Grid om statusändringen och gör ett HTTP POST till slutpunkten. En webbkrok utlöser sedan en Automation-körning av ett PowerShell-skript.

HTTP POST-flödesschema

Skapa ett Automation-konto

Skapa ett Automation-konto via Azure-portalen:

  1. Gå till portal.azure.com och logga in på din prenumeration.

  2. I sökrutan anger du Automation-konton.

  3. Under avsnittet Tjänster i listrutan i sökfältet väljer du Automation-konton.

  4. Markera Lägga till.

    Fönstret Automation-konton

  5. Ange nödvändig information i fönstret Lägg till Automation-konto och välj sedan Skapa.

Skapa en runbook

När automationskontot är klart skapar du en runbook.

Skapa ett runbook-användargränssnitt

  1. Välj det Automation-konto som du skapade.

  2. Välj Runbooks under Process Automation.

  3. Välj Skapa en runbook.

  4. Namnge din runbook och välj PowerShell som runbook-typ.

  5. Välj den runbook som du skapade och välj sedan knappen Redigera .

  6. Ange följande kod (i testsyfte) och välj knappen Publicera . Den här åtgärden returnerar resultatet av den mottagna POST-begäran.

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." 
}

Publicera runbook-användargränssnitt

Skapa en webhook

Skapa en webhook för att utlösa din nyligen skapade runbook.

  1. Välj Webhooks i avsnittet Resurser i runbooken som du publicerade.

  2. Välj Lägg till webhook.

    Knappen Lägg till Webhook

  3. Välj Skapa ny webhook.

  4. Ge webhooken ett namn, ange ett förfallodatum och kopiera URL:en.

    Viktigt!

    Du kan inte visa URL:en när du har skapat den. Se till att du sparar en kopia på en säker plats där du kan komma åt den under resten av den här guiden.

  5. Välj Parametrar och kör inställningar och välj sedan OK. Ange inga parametrar. Knappen Skapa aktiveras.

  6. Välj OK och välj sedan Skapa.

    Skapa nytt Webhook-användargränssnitt

Skapa en Event Grid-prenumeration

Skapa en Event Grid-prenumeration via Azure-portalen.

  1. Gå till nyckelvalvet och välj fliken Händelser .

    Fliken Händelser i Azure-portalen

  2. Välj knappen Händelseprenumeration.

  3. Skapa ett beskrivande namn för prenumerationen.

  4. Välj Event Grid-schema.

  5. Ämnesresurs bör vara det nyckelvalv som du vill övervaka för statusändringar.

  6. För Filtrera till händelsetyper lämnar du alla alternativ markerade (9 markerade).

  7. Som Typ av slutpunkt väljer du Webhook.

  8. Välj Välj en slutpunkt. I det nya kontextfönstret klistrar du in webhooks-URL:en från steget Skapa en webhook i fältet Prenumerantslutpunkt .

  9. Välj Bekräfta markering i kontextfönstret.

  10. Välj Skapa.

    Skapa händelseprenumeration

Testa och verifiera

Kontrollera att Event Grid-prenumerationen är korrekt konfigurerad. Det här testet förutsätter att du prenumererar på meddelandet "Hemlig ny version skapad" i prenumerationen Skapa ett Event Grid och att du har de behörigheter som krävs för att skapa en ny version av en hemlighet i ett nyckelvalv.

Testkonfiguration av Event Grid-prenumeration

Fönstret Skapa en hemlighet

  1. Gå till ditt nyckelvalv på Azure-portalen.

  2. Skapa en ny hemlighet. I testsyfte anger du förfallodatumet till nästa dag.

  3. På fliken Händelser i nyckelvalvet väljer du den Event Grid-prenumeration som du skapade.

  4. Under Mått kontrollerar du om en händelse har registrerats. Två händelser förväntas: SecretNewVersion och SecretNearExpiry. Dessa händelser verifierar att Event Grid har avbildat statusändringen av hemligheten i ditt nyckelvalv.

    Fönstret Mått: sök efter insamlade händelser

  5. Gå till ditt Automation-konto.

  6. Välj fliken Runbooks och välj sedan den runbook som du skapade.

  7. Välj fliken Webhooks och bekräfta att tidsstämpeln "senast utlöst" är inom 60 sekunder från när du skapade den nya hemligheten. Det här resultatet bekräftar att Event Grid gjorde en POST till webhooken med händelseinformationen om statusändringen i nyckelvalvet och att webhooken utlöstes.

    Fliken Webhooks, tidsstämpeln Senast utlöst

  8. Gå tillbaka till din runbook och välj fliken Översikt .

  9. Titta på listan Senaste jobb . Du bör se att ett jobb har skapats och att statusen är klar. Detta bekräftar att webhooken utlöste runbooken för att börja köra skriptet.

    Lista över senaste jobb för Webhook

  10. Välj det senaste jobbet och titta på POST-begäran som skickades från Event Grid till webhooken. Granska JSON och kontrollera att parametrarna för nyckelvalvet och händelsetypen är korrekta. Om parametern "händelsetyp" i JSON-objektet matchar händelsen som inträffade i nyckelvalvet (i det här exemplet Microsoft.KeyVault.SecretNearExpiry) lyckades testet.

Felsökning

Du kan inte skapa en händelseprenumeration

Omregistrera Event Grid och nyckelvalvsprovidern i dina Azure-prenumerationsresursproviders. Se Resursprovider och resurstyper i Azure.

Nästa steg

Grattis! Om du har följt alla dessa steg korrekt är du nu redo att programmatiskt svara på statusändringar av hemligheter som lagras i ditt nyckelvalv.

Om du har använt ett avsökningsbaserat system för att söka efter statusändringar av hemligheter i dina nyckelvalv kan du nu börja använda den här meddelandefunktionen. Du kan också ersätta testskriptet i din runbook med kod för att programmatiskt förnya dina hemligheter när de snart upphör att gälla.

Läs mer: