Azure

是否可以使用 Terraform 和 Azure Key Vault 防火牆,而無需在每次我想要進行更改時指定我的 IP 地址?

  • May 4, 2022

我的 Azure 環境中有多個 VM,每個 VM 都有一個關聯的加密密鑰。加密密鑰儲存在 Azure Key Vault 中。所有這些都是我的 Terraform 腳本中的資源。在 Azure Key Vault 中,我打開了防火牆,並且我的 Azure AD 使用者在訪問策略中。我正在使用 Vault Policy/Firewall vs. RBAC,這樣我就可以將專用端點添加到密鑰庫中,以獲取到上述 VM 的專用連結。

問題:當我對 Azure 環境中的任何更改執行“terraform apply”時(無論是針對 VM 還是完全其他),我的 IP 地址必須在 network_acl 中。沒有它,Terraform 就不會“看到”我的密鑰保管庫並想銷毀我的虛擬機。每次我想進行更改時,我寧願不必從 ACL 中添加然後刪除我的 IP 地址。我應該注意到我的 Terraform 結構非常平坦/簡單。在計劃/應用時檢查/更新一切的狀態。

有沒有其他方法可以繞過這個 IP 要求並保留我的私有端點?

如果您啟用了 Key Vault 防火牆,那麼任何需要與其通信的機器都需要在該防火牆中被允許,如果不是這種情況,這將是一個非常糟糕的防火牆。有幾種方法可以使用它:

  1. 將您的機器 IP 永久添加到防火牆中,可能作為 Terraform 部署的一部分
  2. 從另一台機器(如建構代理)執行您的 Terraform 管道,並允許此 IP。為 Terraform 使用 CI/CD 工具在其他方面也將是有益的
  3. 如上所述,使用建構代理,但不是使用將其外部 IP 添加到 KV 防火牆,而是使用私有端點來允許通過私有網路進行訪問。這要求電腦位於 Azure 中,或通過 VPN/ExpressRoute 連接到 Azure

引用自:https://serverfault.com/questions/1086356