Aracılığıyla paylaş


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 Key Vault'un izlenmesi.

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

Önkoşullar

Kavramlar

Event Grid, bulut için bir olay hizmetidir. Bu kılavuzdaki adımları izleyerek Key Vault olaylarına abone olacak ve olayları Otomasyon'a yönlendireceksiniz. 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 durum değişikliği hakkında bilgilendirilir ve uç noktaya bir HTTP POST yapar. 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. Ekle'yi seçin.

    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 ve çalıştırma ayarları'nı ve ardından Tamam'ı seçin. 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ı üzerinden Event Grid aboneliği oluşturun.

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

    Azure portalında 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'sini Abone Uç Noktası alanına yapıştırın.

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

  10. Oluştur'u belirleyin.

    Olay aboneliği oluşturma

Test edin ve doğrulayın

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 anahtar kasasında gizli dizilerin 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şturduğunuz 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ı oldu.

Sorun giderme

Olay aboneliği oluşturamazsınız

Event Grid'i ve anahtar kasası sağlayıcısını Azure aboneliği kaynak sağlayıcılarınızda 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 üzereyken gizli dizilerinizi program aracılığıyla yenilemek için runbook'unuzda test betiğini kodla değiştirebilirsiniz.

Daha fazla bilgi edinin: