Menerima dan merespons brankas kunci dengan Azure Event Grid
Integrasi Azure Key Vault dengan Azure Event Grid memungkinkan pemberitahuan pengguna saat status rahasia yang disimpan dalam brankas kunci telah berubah. Untuk gambaran umum fitur ini, lihat Memantau Key Vault dengan Event Grid.
Panduan ini menjelaskan cara menerima notifikasi Key Vault melalui Event Grid, dan cara merespons perubahan status melalui Azure Automation.
Prasyarat
- Langganan Azure. Jika Anda tidak memiliki langganan Azure, buat akun gratis sebelum Anda memulai.
- Key vault di Langganan Azure Anda. Anda dapat dengan cepat membuat brankas kunci baru dengan mengikuti langkah-langkah di Mengatur dan mengambil rahasia dari Azure Key Vault menggunakan Azure CLI.
Konsep
Event Grid adalah layanan acara untuk cloud. Dengan mengikuti langkah-langkah dalam panduan ini, Anda akan berlangganan acara untuk Key Vault dan merutekan acara ke Automasi. Ketika salah satu rahasia di brankas kunci akan kedaluwarsa (ditetapkan 30 hari sebelum tanggal kedaluwarsa), Event Grid diberi tahu tentang perubahan status dan membuat HTTP POST ke titik akhir. Sebuah webhook kemudian memicu eksekusi Automasi skrip PowerShell.
Membuat akun Automasi
Membuat akun Automasi melalui portal Microsoft Azure:
Buka portal.azure.com dan masuk ke langganan Anda.
Dalam kotak pencarian, masukkan Akun Automasi.
Di bawah bagian Layanan di daftar drop-down pada bilah pencarian, pilih Akun Automasi.
Pilih Tambahkan.
Masukkan informasi yang diperlukan di panel Tambahkan Akun Automasi lalu pilih Buat.
Membuat runbook
Setelah akun Automasi Anda siap, buat runbook.
Pilih akun Automation yang Anda buat.
Pilih Runbook di bawah Proses Automasi.
Pilih Buat runbook.
Beri nama runbook Anda dan pilih PowerShell sebagai jenis runbook.
Pilih runbook yang Anda buat lalu pilih tombol Edit.
Masukkan kode berikut (untuk tujuan pengujian) dan pilih tombol Terbitkan. Tindakan ini mengembalikan hasil permintaan POST yang diterima.
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."
}
Membuat webhook
Buat webhook untuk memicu runbook Anda yang baru dibuat.
Pilih Webhook dari bagian Sumber Daya dari runbook yang Anda terbitkan.
Pilih Tambahkan Webhook.
Pilih Buat Webhook baru.
Beri nama webhook, atur tanggal kedaluwarsa, dan salin URL.
Penting
Anda tidak dapat melihat URL setelah membuatnya. Pastikan Anda menyimpan salinan di lokasi aman tempat Anda dapat mengaksesnya sepanjang sisa panduan ini.
Pilih Parameter dan jalankan pengaturan lalu pilih OK. Jangan masukkan parameter apa pun. Tombol Buat akan diaktifkan.
Pilih OK lalu pilih Buat.
Buat langganan Event Grid
Buat langganan Event Grid melalui portal Microsoft Azure.
Buka brankas kunci Anda dan pilih tab Acara.
Pilih tombolLangganan Acara.
Buat nama deskriptif untuk langganan.
Pilih Skema Event Grid.
Sumber Daya Topik harus menjadi brankas kunci yang ingin Anda pantau untuk perubahan status.
Untuk Filter ke Jenis Acara, biarkan semua opsi dipilih (9 dipilih).
Untuk Jenis Titik Akhir, pilih Webhook.
Pilih Pilih titik akhir. Di panel konteks baru, tempel URL webhook dari langkah Buat webhook ke bidang Titik Akhir Pelanggan.
Pilih Konfirmasi Pilihan pada panel konteks.
Pilih Buat.
Menguji dan memverifikasi
Verifikasi bahwa langganan Event Grid Anda dikonfigurasi dengan benar. Tes ini mengasumsikan Anda telah berlangganan pemberitahuan "Versi Baru Rahasia Dibuat" di Buat langganan Event Grid, dan bahwa Anda memiliki izin yang diperlukan untuk membuat versi baru rahasia dalam brankas kunci.
Buka brankas kunci Anda di portal Microsoft Azure.
Membuat rahasia baru. Untuk tujuan pengujian, set kedaluwarsa hingga tanggal ini ke hari berikutnya.
Pada tab Acara di brankas kunci Anda, pilih langganan Event Grid yang Anda buat.
Di bawah Metrik, periksa apakah peristiwa telah diambil. Dua peristiwa diharapkan: SecretNewVersion dan SecretNearExpiry. Peristiwa ini memvalidasi bahwa Event Grid berhasil mengambil perubahan status rahasia di brankas kunci Anda.
Buka akun Automasi Anda.
Pilih tab Runbooks, lalu pilih runbook yang Anda buat.
Pilih tab Webhooks dan konfirmasikan bahwa stempel waktu "terakhir dipicu" dalam waktu 60 detik saat Anda membuat rahasia baru. Hasil ini mengkonfirmasi bahwa Event Grid membuat POST ke webhook dengan detail peristiwa perubahan status di brankas kunci Anda dan bahwa webhook dipicu.
Kembali ke runbook Anda dan pilih tab Ringkasan Umum.
Lihatlah daftar Pekerjaan Terbaru. Anda akan melihat bahwa pekerjaan telah dibuat dan bahwa status selesai. Ini menegaskan bahwa webhook memicu runbook untuk mulai mengeksekusi skripnya.
Pilih pekerjaan terbaru dan lihat permintaan POST yang dikirim dari Event Grid ke webhook. Periksa JSON dan pastikan parameter untuk brankas kunci dan jenis peristiwa Anda sudah benar. Jika parameter "jenis peristiwa" di objek JSON cocok dengan peristiwa yang terjadi di brankas kunci (dalam contoh ini, Microsoft.KeyVault.SecretNearExpiry), pengujian berhasil.
Pemecahan Masalah
Anda tidak bisa membuat langganan acara
Daftar ulang Event Grid dan penyedia brankas kunci di penyedia sumber daya langganan Azure Anda. Lihat Penyedia dan jenis sumber daya Azure.
Langkah berikutnya
Selamat! Jika Anda telah mengikuti semua langkah ini dengan benar, Anda sekarang siap untuk secara terprogram menanggapi perubahan status rahasia yang disimpan di brankas kunci Anda.
Jika Anda telah menggunakan sistem berbasis polling untuk mencari perubahan status rahasia di brankas kunci Anda, Anda sekarang dapat mulai menggunakan fitur pemberitahuan ini. Anda juga dapat mengganti skrip pengujian di runbook Anda dengan kode untuk memperbarui rahasia Anda secara terprogram saat akan kedaluwarsa.
Selengkapnya: