TL;DR
Terraform がクラウドや SaaS などの API を操作するためのプラグイン。プロバイダごとに、管理できるリソースの種類とデータソースが追加される。
なぜ必要か
公式ドキュメントによると、Terraform はプロバイダなしではインフラを何も管理できない。API を持つサービスであれば、プロバイダを通じてほぼ何でも扱える。
仕組み
プロバイダは Terraform 本体とは別に配布され、独自のバージョン番号を持つ。公開されたプロバイダの主な置き場は Terraform Registry で、作業ディレクトリを terraform init で初期化したときにインストールされる。プロバイダを変えたら、初期化し直す必要がある。
Registry では、プロバイダに保守する主体を表すバッジが付く。HashiCorp が保守する Official、技術パートナーが公開する Partner、コミュニティが公開する Community などがある。
注意点
terraform init で互換性のないバージョンが入らないよう、設定の中で使えるバージョンを制約しておく。依存関係のロックファイルは、使うプロバイダのバージョンを固定するので、バージョン管理に含める。