Ein Azure-Dienst, der eine hybride Multi-Cloud-Verwaltungsplattform für APIs bereitstellt
Hallo Dirk,
Eure Diagnose trifft den Kern des Problems genau, und Eure Vermutung ist korrekt. Hier sind direkte Antworten auf Eure zwei Zusatzfragen. Bitte teilen Sie mir in den Kommentaren mit, ob es hilfreich ist.
F1: Ignoriert Azure APIM ein hochgeladenes PFX, wenn Fingerprint und Seriennummer identisch sind?
Dieses Verhalten ist von Microsoft nicht explizit dokumentiert, ist aber die logische Konsequenz daraus, wie APIM Zertifikat-Identitäten behandelt. Die ARM-Ressourcenschicht verwaltet Zertifikate anhand ihres Thumbprints — wenn ein PFX mit demselben Fingerprint hochgeladen wird, erkennt die Control Plane keine Zustandsänderung und gibt keinen neuen Propagations-Befehl an die Gateway-Nodes aus. Das deckt sich mit Euren Monitoring-Daten, bei denen das Intermediate nur sporadisch aus dem Cache auftaucht — nicht weil das neue PFX tatsächlich übernommen wurde.
Hinzu kommt der zeitliche Zusammenhang: Der Azure-Incident am 16. März hat wahrscheinlich dazu geführt, dass einige Nodes ihren TLS-Zustand neu aus dem gespeicherten PFX (dem ursprünglichen Leaf-only-File) geladen haben, während andere Nodes weiterhin eine gecachte In-Memory-Chain mit Intermediate ausgeliefert haben. Euer Re-Upload mit identischem Fingerprint hat diesen Split-Zustand nicht behoben, weil kein Rollout ausgelöst wurde.
F2: Gibt es einen Mechanismus, um einen Rollout auch bei identischem Fingerprint zu erzwingen?
Bei direktem PFX-Upload gibt es keinen dokumentierten Weg, eine erneute Propagation zu erzwingen, wenn der Fingerprint unverändert ist. Folgende Optionen stehen zur Verfügung:
Option A — Zertifikatseintrag löschen und neu anlegen (schnellste Abhilfe): Löscht das Zertifikat unter Sicherheit > Zertifikate im Portal und fügt es neu hinzu. Selbst mit demselben PFX zwingt das Löschen des Zertifikat-Objekts APIM dazu, es als neuen Eintrag zu behandeln. Die Propagation der Zertifikatszuweisung kann je nach Deployment-Größe 15 Minuten oder länger dauern. Dieser Schritt sollte alle Nodes zum Neuladen der vollständigen Chain veranlassen.
Option B — Temporäres Ersatzzertifikat verwenden: Ladet ein beliebiges gültiges PFX mit einem anderen Fingerprint hoch (z. B. ein kurzlebiges Self-Signed-Zertifikat für dieselbe Domain), speichert die Custom-Domain-Bindung darauf, wartet auf die Propagation und wechselt dann zurück zum echten Zertifikat. Beide Speichervorgänge lösen jeweils eine vollständige Propagation aus.
Option C — Migration zu Key Vault (die nachhaltige Lösung): Microsoft empfiehlt Key-Vault-Zertifikate, da Updates in API Management automatisch innerhalb von vier Stunden rotiert werden und zusätzlich jederzeit manuell über das Azure-Portal oder die Management-REST-API sofort aktualisiert werden können. Mit Key Vault lässt sich ein sofortiger erzwungener Refresh ohne Wartezeit über die REST API auslösen:
http
POST https://management.azure.com/subscriptions/{sub}/resourceGroups/{rg}/providers/
Microsoft.ApiManagement/service/{apim}/certificates/{certId}/refreshSecret
?api-version=2024-05-01
Dieser Endpunkt löst eine sofortige Aktualisierung des Key-Vault-gesicherten Zertifikats im gesamten Service aus. Wichtig: Stellt beim Einrichten der Key-Vault-Referenz sicher, dass der Secret-Identifier keine Version enthält — andernfalls funktioniert die automatische Rotation nicht und es wird dauerhaft nur die zum Zeitpunkt der Einrichtung hinterlegte Version verwendet.
Empfohlene Sofortmaßnahmen:
- Löscht den aktuellen Zertifikatseintrag unter Sicherheit > Zertifikate im Azure-Portal
- Fügt dasselbe PFX erneut hinzu (mit vollständiger Chain: Leaf + Intermediate)
- Speichert die Custom-Domain-Bindung neu, sodass sie auf das neu hinzugefügte Zertifikat verweist
- Überwacht den Zustand mit Eurem
openssl-Loop — innerhalb von ~15–20 Minuten sollten 100 % der Verbindungen eine vollständige Chain liefern - Eröffnet ein Support-Ticket bei Microsoft mit Verweis auf den ARM-Incident vom 16. März — der Support kann bestätigen, ob der Node-Neustart den Split-Chain-Zustand verursacht hat, und kann ggf. eine plattformseitige Neusynchronisierung erzwingen, falls Option A das Problem nicht vollständig behebt
Referenzen:
- Zertifikate in API Management – Microsoft Learn
- Certificate: Refresh Secret REST API
- Benutzerdefinierte Domäne für APIM konfigurieren
Hinweis: Diese Antwort wurde mithilfe von KI-Systemen erstellt.