Azure Event Grid ile anahtar kasası bildirimlerini alma ve yanıtlama

Azure Event Grid ile Azure Key Vault tümleştirmesi, anahtar kasasında depolanan bir gizli dizinin durumu değiştiğinde kullanıcı bildirimini etkinleştirir. Bu özelliğe genel bakış için bkz. Event Grid ile İzleme Key Vault.

Bu kılavuzda Event Grid aracılığıyla Key Vault bildirimleri alma ve Azure Otomasyonu aracılığıyla durum değişikliklerine yanıt verme işlemleri açıklanmaktadır.

Önkoşullar

Kavramlar

Event Grid, bulut için bir olay hizmetidir. Bu kılavuzdaki adımları izleyerek Key Vault olaylara abone olur ve olayları Otomasyon'a yönlendirirsiniz. Anahtar kasasındaki gizli dizilerden birinin süresi dolmak üzere olduğunda (son kullanma tarihinden 30 gün önce olarak tanımlanır), Event Grid'e durum değişikliği bildirilir ve uç noktaya bir HTTP POST yapılır. Ardından bir web kancası PowerShell betiğinin Otomasyon yürütmesini tetikler.

HTTP POST akış çizelgesi

Otomasyon hesabı oluşturma

Azure portal aracılığıyla otomasyon hesabı oluşturun:

  1. portal.azure.com gidin ve aboneliğinizde oturum açın.

  2. Arama kutusuna Otomasyon Hesapları yazın.

  3. Arama çubuğundaki açılan listenin Hizmetler bölümünde Otomasyon Hesapları'nı seçin.

  4. Add (Ekle) seçeneğini belirleyin.

    Otomasyon hesapları bölmesi

  5. Otomasyon Hesabı Ekle bölmesine gerekli bilgileri girin ve Oluştur'u seçin.

Runbook oluşturma

Otomasyon hesabınız hazır olduktan sonra bir runbook oluşturun.

Runbook kullanıcı arabirimi oluşturma

  1. Oluşturduğunuz Otomasyon hesabını seçin.

  2. İşlem Otomasyonu altında Runbook'lar'ı seçin.

  3. Runbook oluştur'u seçin.

  4. Runbook'unuzu adlandırın ve runbook türü olarak PowerShell'i seçin.

  5. Oluşturduğunuz runbook'u ve ardından Düzenle düğmesini seçin.

  6. Aşağıdaki kodu girin (test amacıyla) ve Yayımla düğmesini seçin. Bu eylem alınan POST isteğinin sonucunu döndürür.

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 kullanıcı arabirimini yayımlama

Web kancası oluşturma

Yeni oluşturduğunuz runbook'unuzu tetikleyen bir web kancası oluşturun.

  1. Yayımladığınız runbook'un Kaynaklar bölümünden Web Kancaları'nı seçin.

  2. Web Kancası Ekle'yi seçin.

    Web kancası ekle düğmesi

  3. Yeni Web Kancası oluştur'u seçin.

  4. Web kancasını adlandırın, son kullanma tarihi ayarlayın ve URL'yi kopyalayın.

    Önemli

    URL'yi oluşturduktan sonra görüntüleyemezsiniz. Bir kopyasını, bu kılavuzun geri kalanında erişebileceğiniz güvenli bir konuma kaydettiğinizden emin olun.

  5. Parametreler'i seçin ve ayarları çalıştırın ve ardından Tamam'ı seçin. Hiçbir parametre girmeyin. Oluştur düğmesi etkinleştirilir.

  6. Tamam'ı ve ardından Oluştur'u seçin.

    Yeni Web Kancası kullanıcı arabirimi oluşturma

Event Grid aboneliği oluşturma

Azure portal aracılığıyla bir Event Grid aboneliği oluşturun.

  1. Anahtar kasanıza gidin ve Olaylar sekmesini seçin.

    Azure portal Olaylar sekmesi

  2. Olay Aboneliği düğmesini seçin.

  3. Abonelik için açıklayıcı bir ad oluşturun.

  4. Event Grid Şeması'nı seçin.

  5. Konu Kaynağı , durum değişikliklerini izlemek istediğiniz anahtar kasası olmalıdır.

  6. Olay Türlerine Filtre Uygula için tüm seçenekleri seçili bırakın (9 seçili).

  7. Uç Noktası Türü için Web kancası'nı seçin.

  8. Uç nokta seçin'i seçin. Yeni bağlam bölmesinde, Web kancası oluşturma adımındaki web kancası URL'siniAbone Uç Noktası alanına yapıştırın.

  9. Bağlam bölmesinde Seçimi Onayla'yı seçin.

  10. Oluştur’u seçin.

    Olay aboneliği oluşturma

Test etme ve doğrulama

Event Grid aboneliğinizin düzgün yapılandırıldığını doğrulayın. Bu test, Event Grid oluşturma aboneliğindeki "Gizli Yeni Sürüm Oluşturuldu" bildirimine abone olduğunuzu ve bir anahtar kasasında gizli dizinin yeni bir sürümünü oluşturmak için gerekli izinlere sahip olduğunuzu varsayar.

Event Grid aboneliğinin test yapılandırması

Gizli dizi oluştur bölmesi

  1. Azure portalda anahtar kasanıza gidin.

  2. Yeni bir gizli dizi oluşturun. Test amacıyla sona erme tarihini sonraki güne ayarlayın.

  3. Anahtar kasanızdaki Olaylar sekmesinde, oluşturduğunuz Event Grid aboneliğini seçin.

  4. Ölçümler'in altında bir olayın yakalanıp yakalanmadığını denetleyin. İki olay beklenir: SecretNewVersion ve SecretNearExpiry. Bu olaylar Event Grid'in anahtar kasanızdaki gizli dizi durum değişikliğini başarıyla yakaladığını doğrular.

    Ölçümler bölmesi: Yakalanan olayları denetleme

  5. Otomasyon hesabınıza gidin.

  6. Runbook'lar sekmesini ve ardından oluşturduğunuz runbook'u seçin.

  7. Web Kancaları sekmesini seçin ve "son tetiklenen" zaman damgasının, yeni gizli diziyi oluşturduktan sonra 60 saniye içinde olduğunu onaylayın. Bu sonuç, Event Grid'in anahtar kasanızdaki durum değişikliğinin olay ayrıntılarıyla birlikte web kancasına bir POST yaptığını ve web kancasının tetiklendiğini doğrular.

    Web kancaları sekmesi, Son Tetiklenen zaman damgası

  8. Runbook'unuza dönün ve Genel Bakış sekmesini seçin.

  9. Son İşler listesine bakın. Bir işin oluşturulduğunu ve durumun tamamlandığını görmeniz gerekir. Bu, web kancasının betiğini yürütmeye başlamak için runbook'u tetiklediğini onaylar.

    Web Kancası Son İşler listesi

  10. Son işi seçin ve Event Grid'den web kancasına gönderilen POST isteğine bakın. JSON dosyasını inceleyin ve anahtar kasanız ve olay türünüz için parametrelerin doğru olduğundan emin olun. JSON nesnesindeki "olay türü" parametresi anahtar kasasında gerçekleşen olayla eşleşiyorsa (bu örnekte Microsoft.KeyVault.SecretNearExpiry), test başarılı olmuştur.

Sorun giderme

Olay aboneliği oluşturamazsınız

Azure aboneliği kaynak sağlayıcılarınızda Event Grid'i ve anahtar kasası sağlayıcısını yeniden kaydedin. Bkz. Azure kaynak sağlayıcıları ve türleri.

Sonraki adımlar

Tebrikler! Tüm bu adımları doğru bir şekilde izlediyseniz artık anahtar kasanızda depolanan gizli dizilerin durum değişikliklerine program aracılığıyla yanıt vermeye hazırsınız demektir.

Anahtar kasalarınızdaki gizli dizilerin durum değişikliklerini aramak için yoklama tabanlı bir sistem kullanıyorsanız artık bu bildirim özelliğini kullanmaya başlayabilirsiniz. Ayrıca, süresi dolmak üzere olduğunda gizli dizilerinizi program aracılığıyla yenilemek için runbook'unuzda test betiğini kodla değiştirebilirsiniz.

Daha fazla bilgi edinin: