使用 terraform 进行 Azure 函数 ZIP 部署

问题描述 投票:0回答:2

我希望使用 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}"

有什么建议吗?

谢谢你!

azure function terraform azure-keyvault
2个回答
0
投票

对于此要求,您可以使用 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 角色。 这里有更多细节。


0
投票

为了获取最新版本的秘密,我删除了版本号。所以我用了网址

@Microsoft.KeyVault(SecretUri=https://myvault.vault.azure.net/secrets/mysecret/)

这总是为我提供来自密钥保管库的最新 SAS 密钥

© www.soinside.com 2019 - 2024. All rights reserved.