概要
HashiCorpは10月21日、Infrastructure as Codeツール「Terraform」の最新版v1.17.0をリリースした。最大の目玉は、ポリシーをコードとして定義・適用できる「Terraform Policy」機能の正式な一般提供(GA)である。これまで実験的機能として-allow-experimental-featuresフラグを付けて利用する必要があったが、v1.17.0以降はplan・apply・queryサブコマンドの-policiesフラグを特別なビルドやフラグなしで利用できるようになった。あわせて、provider requirementsブロックでの変数・ローカル値のサポートや、プラン適用を高速化する-minimal-refreshオプションも新たに追加されている。
Terraform PolicyのGAと新機能
Terraform Policyは、インフラのプランや状態に対してポリシーを適用し、意図しない変更やコンプライアンス違反を事前に検出する機能である。GA化によってクエリポリシーの機能も拡張され、listブロックで検出したリソースに対してポリシーを評価できるようになり、結果は人間が読みやすい形式またはJSON形式で出力可能になった。
provider requirementsブロックでの変数・ローカル値のサポートは、プロバイダーのバージョン指定などをより柔軟に構成できるようにするもので、大規模なモジュール構成での保守性向上に寄与する。また-minimal-refreshオプションは、変更が予定されているリソースのみをリフレッシュする仕組みで、リソース数が多い大規模なインフラにおけるplan/applyの実行時間を短縮する狙いがある。
その他の改善とバグ修正
細かな改善としては、initコマンドのログにプロバイダーのバージョン情報が追加されたほか、モックプロバイダーがephemeralリソースに対応し、loginコマンドでは組織のTTLポリシーに該当する場合に警告が表示されるようになった。バグ修正では、数学関数pow・logが非数値を生成した際にパニックしていた問題や、ephemeralリソースの更新に関する診断情報が表示されない問題、テストのクリーンアップ時のグラフ順序が非決定的だった問題などが解消されている。versionコマンドの出力には将来の仕様変更に安全に対応するためのformat_versionフィールドも追加された。
なお本リリースはGo 1.26.10でビルドされており、侵害されたeMudhra認証局に関連する脆弱性CVE-2026-111943への対応も含まれている。Terraform Policyの正式GAにより、ポリシーのコード化による統制を本番運用で安心して採用できる環境が整ったことになり、今後はエコシステム内でのポリシーテンプレートやベストプラクティスの蓄積が進むと見られる。