我希望使用 Terraform 部署 Azure 函数,与 Ms 文档中提到的方式相同。 https://learn.microsoft.com/en-us/azure/azure-functions/deployment-zip-push
我需要将 SAS 密钥存储和存储到 Key Vault。我见过一些例子,我们可以使用下面的设置,但如果不存储到 Key Vault,我就无法使用 sas 密钥。
WEBSITE_RUN_FROM_ZIP = "https://${azurerm_storage_account.this.name}.blob.core.windows.net/${azurerm_storage_container.this.name}/${azurerm_storage_blob.this.name}${data.azurerm_storage_account_sas.this.sas}"
有什么建议吗?
谢谢你!
对于此要求,您可以使用 Key Vault 参考来获取 Azure Function 的机密,如下所示:
@Microsoft.KeyVault(SecretUri=https://myvault.vault.azure.net/secrets/mysecret/ec96f02080254f109c51a1f14cdb1931)
或者
@Microsoft.KeyVault(VaultName=myvault;SecretName=mysecret;SecretVersion=ec96f02080254f109c51a1f14cdb1931)
但这意味着仅支持系统分配的托管身份。因此,您需要启用系统分配的托管标识并为其分配正确的 Key Vault 角色。 这里有更多细节。
为了获取最新版本的秘密,我删除了版本号。所以我用了网址
@Microsoft.KeyVault(SecretUri=https://myvault.vault.azure.net/secrets/mysecret/)
这总是为我提供来自密钥保管库的最新 SAS 密钥