Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Integracja usługi Azure Key Vault z usługą Azure Event Grid umożliwia powiadomienie użytkownika, gdy status tajemnicy przechowywanej w skrytce kluczy ulegnie zmianie. Aby zapoznać się z omówieniem tej funkcji, zobacz Monitorowanie usługi Key Vault za pomocą usługi Event Grid.
W tym przewodniku opisano sposób odbierania powiadomień usługi Key Vault za pośrednictwem usługi Event Grid oraz reagowania na zmiany stanu za pośrednictwem usługi Azure Automation.
Wymagania wstępne
- Subskrypcja platformy Azure. Jeśli nie masz subskrypcji Azure, przed rozpoczęciem utwórz darmowe konto.
- Skarbiec kluczy w subskrypcji Azure. Możesz szybko utworzyć nowy magazyn kluczy, wykonując kroki opisane w artykule Ustawianie i pobieranie tajemnicy z usługi Azure Key Vault przy użyciu Azure CLI.
Koncepcje
Event Grid to usługa zdarzeń dla chmury. Wykonując kroki opisane w tym przewodniku, zasubskrybujesz zdarzenia dla usługi Key Vault i kierujesz zdarzenia do usługi Automation. Gdy jedna z tajemnic w magazynie kluczy wkrótce wygaśnie (zdefiniowana jako 30 dni przed datą wygaśnięcia), Event Grid zostanie powiadomiony o zmianie stanu i spowoduje wysłanie żądania HTTP POST do punktu końcowego. Następnie element webhook wyzwala wykonywanie automatyzacji skryptu programu PowerShell.
Tworzenie konta usługi Automation
Utwórz konto usługi Automation za pośrednictwem witryny Azure Portal:
Przejdź do portal.azure.com i zaloguj się do subskrypcji.
W polu wyszukiwania wpisz Konta Automation.
Na pasku wyszukiwania, w sekcji Usługi listy rozwijanej, wybierz pozycję Konta automatyzacji.
Wybierz Dodaj.
Wprowadź wymagane informacje w okienku Dodawanie konta usługi Automation , a następnie wybierz pozycję Utwórz.
Tworzenie elementu Runbook
Po przygotowaniu konta Automation utwórz runbook.
Wybierz utworzone konto usługi Automation.
Wybierz Runbooki pod Automatyzacją procesów.
Wybierz Utwórz Runbook.
Nadaj runbookowi nazwę i wybierz pozycję PowerShell jako typ runbook.
Wybierz utworzony Runbook i następnie wybierz przycisk Edytuj.
Wprowadź następujący kod (na potrzeby testowania) i wybierz przycisk Publikuj . Ta akcja zwraca wynik odebranego żądania 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."
}
Tworzenie elementu webhook
Utwórz webhook, aby uruchomić nowo utworzony Runbook.
Wybierz Webhooki z sekcji Zasoby opublikowanego Runbooka.
Wybierz Dodaj webhook.
Wybierz Utwórz nowy webhook.
Nazwij element webhook, ustaw datę wygaśnięcia i skopiuj adres URL.
Ważne
Nie można wyświetlić adresu URL po jego utworzeniu. Upewnij się, że zapisano kopię w bezpiecznej lokalizacji, w której można uzyskać do niej dostęp w pozostałej części tego przewodnika.
Wybierz pozycję Parametry i uruchom ustawienia , a następnie wybierz przycisk OK. Nie wprowadzaj żadnych parametrów. Przycisk Utwórz zostanie włączony.
Wybierz przycisk OK , a następnie wybierz pozycję Utwórz.
Tworzenie subskrypcji usługi Event Grid
Utwórz subskrypcję usługi Event Grid za pośrednictwem witryny Azure Portal.
Przejdź do magazynu kluczy i wybierz kartę Zdarzenia .
Wybierz przycisk Subskrypcja zdarzeń .
Utwórz opisową nazwę subskrypcji.
Wybierz Schemat Event Grid.
Zasób tematu powinien być magazynem kluczy, który chcesz monitorować pod kątem zmian stanu.
W polu Filtruj do typów zdarzeń pozostaw zaznaczone wszystkie opcje (wybrane 9).
W polu Typ punktu końcowego wybierz pozycję Element webhook.
Wybierz Wybierz punkt końcowy. W nowym okienku kontekstu wklej adres URL z kroku Tworzenie webhooka w polu Punkt końcowy subskrybenta.
Wybierz Potwierdź wybór w panelu kontekstu.
Wybierz Utwórz.
Testowanie i weryfikowanie
Sprawdź, czy subskrypcja usługi Event Grid została prawidłowo skonfigurowana. W tym teście przyjęto założenie, że zasubskrybowałeś powiadomienie "Utworzono nową wersję sekretu" w subskrypcji usługi Event Grid i że masz uprawnienia niezbędne do utworzenia nowej wersji sekretu w magazynie kluczy.
Przejdź do swojego skarbca kluczy na Azure Portal.
Utwórz nową tajemnicę. Dla celów testowych ustaw datę wygaśnięcia na następny dzień.
Na karcie Zdarzenia w magazynie kluczy wybierz utworzoną subskrypcję usługi Event Grid.
W obszarze Metryki sprawdź, czy zdarzenie zostało przechwycone. Oczekiwane są dwa zdarzenia: SecretNewVersion i SecretNearExpiry. Te zdarzenia potwierdzają, że usługa Event Grid pomyślnie przechwyciła zmianę stanu tajemnicy w magazynie kluczy.
Przejdź do konta usługi Automation.
Wybierz kartę Runbooks, a następnie wybierz utworzony Runbook.
Wybierz kartę Webhooks i upewnij się, że sygnatura czasowa "ostatnio wyzwolona" jest w ciągu 60 sekund od momentu utworzenia nowego sekretu. Ten wynik potwierdza, że usługa Event Grid wykonała żądanie POST do webhooka z szczegółami zdarzenia zmiany stanu w magazynie kluczy i że webhook został wyzwolony.
Wróć do swojego planu operacyjnego i wybierz zakładkę Przegląd.
Zapoznaj się z listą Ostatnie zadania . Powinno zostać wyświetlone, że zadanie zostało utworzone i że status został zakończony. To potwierdza, że webhook wyzwolił Runbook do rozpoczęcia wykonywania jego skryptu.
Wybierz najnowsze zadanie i przyjrzyj się żądaniu POST wysłanemu z usługi Event Grid do webhook. Sprawdź kod JSON i upewnij się, że parametry skarbca kluczy oraz typu zdarzenia są poprawne. Jeśli parametr "typ zdarzenia" w obiekcie JSON odpowiada zdarzeniu, które wystąpiło w Key Vault (w tym przykładzie Microsoft.KeyVault.SecretNearExpiry), test zakończył się pomyślnie.
Rozwiązywanie problemów
Nie można utworzyć subskrypcji zdarzeń
Zarejestruj ponownie Event Grid i dostawcę usługi Azure Key Vault w dostawcach zasobów swojej subskrypcji platformy Azure. Zobacz Dostawcy zasobów i typy zasobów platformy Azure.
Dalsze kroki
Gratulacje! Jeśli wszystkie te kroki zostały wykonane poprawnie, możesz teraz programowo reagować na zmiany stanu tajemnic przechowywanych w magazynie kluczy.
Jeśli używasz systemu opartego na sondowaniu do wyszukiwania zmian statusu tajemnic w magazynach kluczy, możesz teraz używać tej funkcji powiadomienia. Możesz również zastąpić skrypt testowy w swoim runbooku kodem, aby programowo odnowić swoje sekrety, gdy zbliżają się do wygaśnięcia.
Więcej informacji:
- Przegląd: Monitorowanie Key Vault za pomocą Azure Event Grid
- Jak: otrzymywać wiadomość e-mail, gdy sekret w magazynie kluczy się zmienia
- Schemat zdarzeń usługi Azure Event Grid dla usługi Azure Key Vault
- Omówienie usługi Azure Key Vault
- Omówienie usługi Azure Event Grid
- Omówienie usługi Azure Automation