Delen via


Meldingen van de sleutelkluis ontvangen en hierop reageren met Azure Event Grid

Dankzij Azure Key Vault-integratie met Azure Event Grid zijn melding van gebruikers mogelijk wanneer de status van een geheim dat is opgeslagen in een sleutelkluis, is gewijzigd. Zie Key Vault bewaken met Event Grid voor een overzicht van deze functie.

In deze handleiding wordt beschreven hoe u Key Vault-meldingen kunt ontvangen via Event Grid kunt ontvangen en hoe u kunt reageren op statuswijzigingen via Azure Automation.

Vereisten

Concepten

Event Grid is een gebeurtenisservice voor de cloud. Als u de stappen in deze handleiding volgt, kunt u zich abonneren op gebeurtenissen voor Key Vault en de gebeurtenissen naar Automation routeren. Wanneer een van de geheimen in de sleutelkluis bijna verloopt (gedefinieerd als 30 dagen voor de vervaldatum), wordt Event Grid op de hoogte gesteld van de statuswijziging en wordt er een HTTP POST naar het eindpunt verzonden. Vervolgens activeert een webhook een Automation-uitvoering van een PowerShell-script.

HTTP POST-stroomdiagram

Een Automation-account maken

Maak een Automation-account in Azure Portal:

  1. Ga naar portal.azure.com en meld u aan bij uw abonnement.

  2. Voer in het zoekvak Automation-accounts in.

  3. Onder de sectie Services van de vervolgkeuzelijst in de zoekbalk selecteert u Automation-accounts.

  4. Selecteer Toevoegen.

    Deelvenster Automation-accounts

  5. Voer de vereiste gegevens in het deelvenster Automation-account toevoegen in en selecteer Maken.

Een runbook maken

Als uw Automation-account klaar is, maakt u een runbook.

Een runbook-gebruikersinterface maken

  1. Selecteer het Automation-account dat u hebt gemaakt.

  2. Selecteer onder Procesautomatisering de optie Runbooks.

  3. Selecteer Een runbook maken.

  4. Geef het runbook een naam en selecteer PowerShell als het type runbook.

  5. Selecteer het runbook dat u hebt gemaakt en selecteer vervolgens de knop Bewerken.

  6. Voer de volgende code in (voor testdoeleinden) en selecteer de knop Publiceren. Met deze actie wordt het resultaat van de ontvangen POST-aanvraag geretourneerd.

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

Runbook-gebruikersinterface publiceren

Een webhook maken

Maak een webhook om uw zojuist gemaakte runbook te activeren.

  1. Selecteer Webhooks in de sectie Resources van het runbook dat u hebt gepubliceerd.

  2. Selecteer Webhook toevoegen.

    Knop Webhook toevoegen

  3. Selecteer Nieuwe webhook maken.

  4. Geef de webhook een naam, stel een vervaldatum in en kopieer de URL.

    Belangrijk

    U kunt de URL niet weergeven nadat u deze hebt gemaakt. Zorg ervoor dat u een kopie opslaat op een veilige locatie waar u deze kunt gebruiken voor de rest van deze handleiding.

  5. Selecteer Parameters en uitvoerinstellingen en selecteer vervolgens OK. Voer geen parameters in. De knop Maken wordt ingeschakeld.

  6. Selecteer OK en selecteer vervolgens Maken.

    Nieuwe webhookgebruikersinterface maken

Een Event Grid-abonnement maken

Maak een Event Grid-abonnement via Azure Portal.

  1. Ga naar de sleutelkluis en selecteer het tabblad Gebeurtenissen.

    Tabblad Gebeurtenissen in Azure Portal

  2. Selecteer de knop Gebeurtenisabonnement.

  3. Geef het abonnement een beschrijvende naam.

  4. Kies Event Grid-schema.

  5. Onderwerpresource moet de sleutelkluis zijn waarvoor u statuswijzigingen wilt bewaken.

  6. Voor Filteren op gebeurtenistypen behoudt u alle geselecteerde opties (negen geselecteerd).

  7. Selecteer Webhook voor Eindpunttype.

  8. Kies Een eindpunt selecteren. Plak in het deelvenster voor nieuwe context de webhook-URL uit de stap Een webhook maken in het veld Abonnee-eindpunt.

  9. Selecteer Selectie bevestigen in het deelvenster voor de context.

  10. Selecteer Maken.

    Gebeurtenisabonnement maken

Testen en verifiëren

Controleer of uw Event Grid-abonnement op de juiste wijze is geconfigureerd. Voor deze test wordt aangenomen dat u zich hebt geabonneerd op de melding Geheime nieuwe versie gemaakt in Een Event Grid-abonnement maken en dat u de vereiste machtigingen hebt om een nieuwe versie van een geheim in een sleutelkluis te maken.

Testconfiguratie van Event Grid-abonnement

Deelvenster Een geheim maken

  1. Ga naar de sleutel kluis in Azure Portal.

  2. Maak een nieuw geheim. Voor testdoeleinden stelt u de vervaldatum in op de volgende dag.

  3. Selecteer op het tabblad Gebeurtenissen in de sleutelkluis het Event Grid-abonnement dat u hebt gemaakt.

  4. Controleer onder Metrische gegevens of een gebeurtenis is vastgelegd. Er worden twee gebeurtenissen verwacht: SecretNewVersion en SecretNearExpiry. Met deze gebeurtenissen wordt gevalideerd dat Event Grid de statuswijziging van het geheim in de sleutelkluis heeft vastgelegd.

    Deelvenster Metrische gegevens: controleren op vastgelegde gebeurtenissen

  5. Ga naar uw Automation-account.

  6. Selecteer het tabblad Runbooks en vervolgens het runbook dat u hebt gemaakt.

  7. Selecteer het tabblad Webhooks en bevestig dat het 'laatst geactiveerde' tijdstempel minder dan zestig seconden verwijderd is van het tijdstip waarop u het nieuwe geheim hebt gemaakt. Dit resultaat bevestigt dat Event Grid een POST-aanvraag naar de webhook heeft gestuurd met de gebeurtenisdetails van de statuswijziging in uw sleutelkluis en dat de webhook is geactiveerd.

    Tabblad Webhooks, tijdstempel Laatst geactiveerd

  8. Ga terug naar het runbook en selecteer het tabblad Overzicht.

  9. Bekijk de lijst Recente taken. U ziet dat er een taak is gemaakt en dat de status is voltooid. Hiermee wordt bevestigd dat de webhook het runbook heeft geactiveerd om het script uit te voeren.

    Lijst Recente taken voor webhook

  10. Selecteer de recente taak en bekijk de POST-aanvraag die van Event Grid naar de webhook is gestuurd. Bekijk de JSON en zorg ervoor dat de parameters voor de sleutelkluis en het gebeurtenistype juist zijn. Als de parameter event type in het JSON-object overeenkomt met de gebeurtenis die is opgetreden in de sleutelkluis (in dit voorbeeld is Microsoft.KeyVault.SecretNearExpiry), is de test geslaagd.

Problemen oplossen

U kunt geen gebeurtenisabonnement maken

Registreer Event Grid en de sleutelkluisprovider opnieuw in de resourceproviders van uw Azure-abonnement. Zie Azure-resourceproviders en -typen.

Volgende stappen

Gefeliciteerd! Als u alle stappen goed hebt uitgevoerd, kunt u nu programmatisch reageren op statuswijzigingen van geheimen die in de sleutelkluis zijn opgeslagen.

Als u een systeem op basis van navragen hebt gebruikt om te zoeken naar statuswijzigingen van geheimen in uw sleutelkluizen, kunt u deze meldingsfunctie gaan gebruiken. U kunt ook het testscript in uw runbook vervangen door code om uw geheimen op een programmatische manier te vernieuwen wanneer ze op het punt staan te verlopen.

Meer informatie: