Das Update des Providers verlagert den Fokus von Komfort auf Vorhersehbarkeit des Verhaltens. Dies ist kritisch, wenn Terraform zur Source of Truth für die Observability-Konfiguration wird.
Das Problem zeigt sich auf der Ebene des State Managements. In großen Installationen muss Terraform den Zugriff und die Integrationen deterministisch steuern. In früheren Versionen konnte das Verhalten der Berechtigungen für Monitore unklar sein, insbesondere bei Updates. Parallel dazu war die AWS-Integration in mehrere Ressourcen aufgeteilt, was die Verwaltung erschwerte und die Wahrscheinlichkeit einer Desynchronisation erhöhte. Ein separates Risiko betraf den Umgang mit Application Keys: Es gab Wege, über die Schlüssel mittels Terraform extrahiert werden konnten.
Die Lösung in v4 ist die Verschärfung von Verträgen (Contracts). Die Berechtigungen für Monitore werden „sticky“: Wenn Einschränkungen festgelegt sind, bleiben sie bis zu einer expliziten Änderung bestehen. Dies beseitigt implizite Nebenwirkungen beim Apply. Für AWS wird eine einheitliche Ressource datadog_integration_aws_account anstelle von vier separaten eingeführt. Im Bereich Sicherheit wurden Mechanismen entfernt, die das Lesen existierender Application Keys über eine Data Source ermöglichten. Dies ist ein Kompromiss: weniger Flexibilität, aber höhere Vorhersehbarkeit und Kontrolle.
Die Implementierung betrifft mehrere Ebenen.
- restricted_roles erfordert nun eine explizite Nullsetzung ([]), um Einschränkungen aufzuheben.
- die Zugriffssteuerung wird über die restriction_policy standardisiert; das Feld locked wurde entfernt.
- die gleichzeitige Verwendung von restricted_roles und restriction_policy kann Konflikte verursachen – dies muss bei der Migration berücksichtigt werden.
- AWS-Integrationen werden in einer einzigen Ressource konsolidiert, wobei die APIs gleich bleiben, was das Risiko auf Backend-Ebene verringert.
- die Data Source datadog_application_key und der Import bestehender Schlüssel wurden entfernt – dies verändert Pipelines, in denen Schlüssel von extern bezogen wurden.
- der Provider wechselt zum Terraform Plugin Framework (Protocol v6), was die Weiterentwicklung von Schemata und Validierungen vereinfacht.
Das Ergebnis ist ein strengeres und vorhersehbareres Verwaltungsmodell. Terraform behält seine Rolle als Source of Truth für Zugriffsrechte und Integrationen besser bei. Die Struktur der AWS-Konfiguration wird vereinfacht. Die Sicherheit beim Umgang mit Schlüsseln wird erhöht, indem die Kanäle zu deren Auslesen reduziert werden. Quantitative Metriken für die Verbesserungen werden nicht genannt, aber die Änderungen zielen darauf ab, Konfigurationsfehler und implizite Änderungen beim Deployment zu reduzieren.
Terraform, Datadog, Infrastructure as Code, IaC, State Management, AWS-Integration, Cybersicherheit, Observability