我正在使用敏感度為 true 的變數,即使狀態檔案存盤 ID 和密碼。任何如何避免它?
variable "rs_master_pass" {
type = string
sensitive = true
}
在狀態檔案中,
"master_password": 'password'
即使手動從狀態中取出,也會在每次應用中回傳。
uj5u.com熱心網友回復:
沒有“簡單”的方法可以避免這種情況。您不能簡單地對 TF 檔案中的值進行硬編碼。sensitive = true如您所見,設定并不能防止以純文本形式保存機密。
在 TF 中正確處理機密的一般方法是:
- 使用專門的外部保管庫,例如 Terraform Vault、AWS Parameter Store 或 AWS Secret Manger。它們必須單獨設定,以便再次在 TF 狀態檔案中不提供它們的秘密。
- 用于
local-exec設定TF 之外的秘密。無論您做什么,local-exec都不會存盤在 TF 狀態檔案中。這樣做通常是為了將 TF 代碼(例如 RDS 密碼)中可能需要的虛擬秘密更改為 TF 知識之外的實際值。 - 如果無法訪問上述解決方案,那么您必須保護您的狀態檔案(無論如何都是很好的做法)。這通常是通過在嚴格的訪問策略下將其遠程存盤在 S3 中來完成的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/331396.html
標籤:亚马逊网络服务 地形 terraform-provider-aws
