安全是平台属性,而非流水线步骤 笔记

安全是平台属性,而非流水线步骤

几周前,我禁用了用于 Terraform 状态管理的 Azure 存储账户的密钥身份验证。这是 Microsoft Defender for Cloud 中的关键安全建议之一。仅使用基于角色的访问控制(RBAC)权限、对基础设施团队强制实施特权身份管理(PIM)审批,并避免在可能发生泄露的配置文件中存储静态凭据,这种做法对于包含整个云环境密钥的状态文件而言正是所需的控制措施。然而,我忽略了 azurerm 后端配置中的一行重要内容。如果未显式设置 use_azuread_auth = true,则提供程序默认使用基于密钥的身份验证。由于密钥身份验证已被禁用,terraform init 失败,导致流水线中断。实际修复很简单,但找出问题所在却并非易事。