Après un apply, le state n’est pas une liste d’adresses. C’est une copie des attributs que le provider a lus ou écrits : mot de passe de base, secret d’un identifiant IAM access key, token d’un webhook, chaîne de connexion. HashiCorp le dit sans détour : traitez le state comme un secret.
sensitive = true sur une variable ou un output rédige la valeur dans le terminal, dans certaines UIs, dans les diffs de plan affichés. Ça n’empêche pas Terraform d’écrire la valeur dans le state. Un terraform state pull la rend. Un bucket S3 public ou un state commité dans Git la rend.
Tient :
state pull ;Théâtre : mettre sensitive et croire le problème clos ; masquer un output tout en le passant à dix modules qui le recopient.
Les valeurs éphémères (Terraform récent) visent précisément à ne pas persister certains secrets dans le state. Les citer montre que vous suivez HashiCorp au-delà du blog de 2019. Elles ne dispensent pas de chiffrer le backend : tout le reste y reste.
La phrase « sensitive, c’est de l’affichage, pas du stockage ». Si vous confondez les deux, la suite de l’entretien sécurité (CI, logs, artefacts de plan) part mal.
« Le plan sauvegardé est-il sensible ? »
Oui. Un fichier de plan binaire peut contenir des valeurs prévues. On le stocke comme un artefact privé, on ne le pose pas sur un job public.