Hel*_*und 1 azure azure-keyvault python-3.6 azure-functions
我已经设置了一个单独的测试环境来尝试从 azure 密钥保管库中检索应用程序机密。当测试函数运行以返回环境变量时,应用程序设置中的 @Microsoft.KeyVault(...) 引用未解析为引用的机密或文本。
按照此文档创建应用服务并根据密钥保管库对其进行身份验证,我为我的函数创建了一个托管标识,将其添加到 AAD,为此托管标识创建了一个特定的访问策略,并在我的密钥保管库中使用 Get Secret 范围,并尝试使用/不使用应用程序作为用户启用读取范围。
运行诊断工具来解析函数应用应用程序设置引用不会产生任何错误。输入应用程序设置为@Microsoft.KeyVault(SecretUri=SecretUri)
或者
@Microsoft.KeyVault(VaultName=myvault;SecretName=mysecret;SecretVersion={version})
Run Code Online (Sandbox Code Playgroud)
似乎没有改变任何东西。我等待了长达半小时的设置更改以在 Azure 中复制并确保我所做的更改是持久的。
这是我返回环境变量的函数应用程序(用python编写):
import json
import logging
import os
import azure.functions as func
def main(req=None) -> func.HttpResponse:
logging.info('Python HTTP trigger function processed a request.')
try:
name = [os.environ["CLIENTID"]]
except:
name=dict()
for d in os.environ:
name[d]=os.environ[d]
if name:
return func.HttpResponse("Params\n{}".format(json.dumps(name, sort_keys=True, indent=4)))
else:
return func.HttpResponse(
"Please pass a name on the query string or in the request body",
status_code=400
)
Run Code Online (Sandbox Code Playgroud)
我希望能够提取环境变量 CLIENTID。相反,获取该变量失败并返回所有环境变量。如果我无法返回单一变量,我会故意返回所有环境变量,因为我想确保在变量重命名或存在键入/区分大小写问题时捕获了它。
归档时间: |
|
查看次数: |
5249 次 |
最近记录: |