Provisioner webhook secret'ını döndür
Merkezi dtedge install ile provisioner pod'ları arasındaki paylaşımlı HMAC secret. Sızdığında, erişimi olan bir çalışan ayrıldığında veya periyodik güvenlik review'unun parçası olarak döndür.
Admin → Settings → Provisioneraltından yapılır.
Bu secret ne işe yarar
Provisioner cluster install'u ilerledikçe (preflight done, k3s installed, stack installing, job succeeded) dtedge'e durum güncellemeleri POST eder. Her teslimat paylaşımlı secret ile HMAC imzalanır. dtedge imzayı doğrulamadan güncellemeyi kabul etmez — geçersiz imza webhook'u reddeder.
Secret sızdığında bir saldırgan sahte "job succeeded" event'leri POST'layıp dtedge'deki cluster state'i bozabilir. Rotation bunu kapatır.
Adımlar
-
Yeni secret üret (32+ karakter, yüksek entropi):
openssl rand -hex 32# → 64 karakterli hex string -
Önce dtedge'i güncelle.
Admin → Settings → Provisioner:- Mevcut secret
***olarak maskelenir. - Yeni secret'ı alana yaz. Maskelenmiş
***'i yapıştırma — bu API'ye "mevcudu koru" demek. - Save tıkla. Artık dtedge gelen webhook'ları yeni secret ile doğrular. Bu andan itibaren her mevcut provisioner pod'unun webhook post'u 3. adıma kadar başarısız olur.
- Mevcut secret
-
Her provisioner pod'unu güncelle. Her provisioner deployment'ı
WEBHOOK_SECRETenv taşır. Helm release values'ını düzenle VEYA Secret'ı doğrudan patch'le:kubectl -n provisioner edit secret provisioner-config# WEBHOOK_SECRET'i yeni değere değiştirkubectl -n provisioner rollout restart deploy/provisioner-server deploy/provisioner-workerBirden çok provisioner install'ı yönetiyorsan (edge cluster başına bir tane) cluster başına tekrar et. Provisioner pod'ları birbirleriyle konuşmaz — her biri yeni secret'a bağımsız ihtiyaç duyar.
-
Doğrula. Webhook üreten herhangi bir operation tetikle:
- Yeni edge instance oluştur (provisioner ilerleme event'leri yayar)
- Veya mevcut cluster'a node-add tetikle
Backend log'unda webhook-receive girişleri imza hatasız görünmeli. UI'nin Operations Center'ı realtime ilerleme gösterir — ilerlemeyi görüyorsan imzalar iyi.
Sırayı yanlış yaparsam ne olur?
- Önce dtedge güncellendi (amaçlanan): in-flight provisioner webhook'ları kısa süre validasyona takılır. Provisioner exponential backoff ile retry yapar; provisioner pod yeni secret ile restart edilince retry'lar başarılı olur.
- Önce provisioner güncellendi: in-flight provisioner webhook'ları yeni secret ile post atmaya başlar, dtedge hâlâ eskisini bekler. Fail olurlar. Bu yönden daha kötü — dtedge ilerleme almaz ve UI muhtemelen tamamlanmış job'ları "running" gösterir. Bu sırayı yapmaktan kaçın.
Tespit — ne zaman beklemeden döndürmeli
| Tetikleyici | Aksiyon |
|---|---|
| Secret public bir repo'ya commit edildi | Şimdi döndür |
| Helm values'a erişimi olan mühendis takımdan ayrılıyor | Sonraki sprint'te döndür |
| Provisioner pod log'u destek tickeyın'da expose oldu | İncele — secret log'da görünmemeli (redact ediyoruz), ama redact'in çalıştığını doğrula |
| Yıllık rotation politikası | Planla, sakin bir günde yap |
Bkz.
- Sistem ayarlarını yapılandır — parent ayarlar sayfası
- Provisioner tarafının webhook config'i: provisioner repo'sunun
WEBHOOK_SECRETenv var'ına bakın