如果您的 Azure 环境配置正确,您可以在 Azure 函数配置中使用“Azure Key Vault 引用”来自动导入机密或证书作为该 Azure 函数的环境变量。不幸的是,我无法以相同的方式将密钥(例如私钥)连接到 Azure 函数。
我使用了值“@Microsoft.KeyVault(SecretUri=https://xxxx.vault.azure.net/keys/TestKey/)”以及“@Microsoft.KeyVault(SecretUri=https://xxxx.vault)”。 azure.net/secrets/TestKey/)´ 来访问密钥,但这两种情况均不成功。第一个值是 Azure Key Vault 中密钥属性中可用作“密钥标识符”的值,但似乎没有像“证书”区域中那样的“秘密标识符”。不用说,这两个值都不会映射到 Azure Key Vault,而只是返回我在其中输入的字符串。
由于缺少“秘密标识符”链接,我怀疑该功能可能不受支持,但是,我找不到任何确认。我的方法是否有问题,或者只是一个不受支持的功能?
由于缺少“秘密标识符”链接,我怀疑该功能可能不受支持,但是,我找不到任何确认。我的方法是否有问题,或者只是一个不受支持的功能?
AFAIK,像我们使用
@Microsoft.KeyVault(SecretUri={Secret_identifier})
获取机密和证书那样直接从 Key Vault 获取密钥是不可行的。
您可以使用 Key Vault REST API 来获取密钥,或者您也可以使用这些库,就像我在下面使用的那样 -
from azure.identity import DefaultAzureCredential
from azure.keyvault.keys import KeyClient
credential = DefaultAzureCredential()
key_client = KeyClient(vault_url="https://{Keyvault_name}.vault.azure.net/", credential=credential)
key = key_client.get_key("{Key_name}")
print(key.name)
输出-
参考文献-