Mau*_*kom 5 docker azure-functions azure-functions-runtime
我正在 Docker 容器中使用 Http 触发的 Azure 函数。到目前为止,我在设置此设置时找到的所有教程和指南都将 Azure 函数配置authLevel"为anonymous.
仔细阅读此博客后,似乎也可以(虽然棘手)配置其他身份验证级别。不幸的是,承诺的后续博客文章尚未(尚未)编写。
谁能帮我澄清一下我将如何进行设置?
为了控制功能主机在启动时使用的主密钥 - 而不是生成随机密钥 - 准备我们自己的host_secrets.json文件,如
{
"masterKey": {
"name": "master",
"value": "asGmO6TCW/t42krL9CljNod3uG9aji4mJsQ7==",
"encrypted": false
},
"functionKeys": [{
"name": "default",
"value": "asGmO6TCW/t42krL9CljNod3uG9aji4mJsQ7==",
"encrypted": false
}]
}
Run Code Online (Sandbox Code Playgroud)
然后将此文件输入到 Function 主机 ( Dockerfile)的指定 secrets 文件夹中:
对于 V1 函数(假设您的运行时根目录是 C:\WebHost):
...
ADD host_secrets.json C:\\WebHost\\SiteExtensions\\Functions\\App_Data\\Secrets\\host.json
...
Run Code Online (Sandbox Code Playgroud)
对于 V2 函数(假设您的运行时根目录是 C:\runtime):
...
ADD host_secret.json C:\\runtime\\Secrets\\host.json
USER ContainerAdministrator
RUN icacls "c:\runtime\secrets" /t /grant Users:M
USER ContainerUser
ENV AzureWebJobsSecretStorageType=files
...
Run Code Online (Sandbox Code Playgroud)
功能键可用于调用受保护的功能,如.../api/myfunction?code=asGmO6TCW/t42krL9CljNod3uG9aji4mJsQ7==。
主密钥可用于调用 Functions Admin API和Key management API。
在我的博客中,我描述了将 V1 和更高版本的 V2 Functions 运行时引入Docker容器并在 Service Fabric 中托管它们的整个过程。
对于 Windows 上的 V3 函数:
ENV FUNCTIONS_SECRETS_PATH=C:\Secrets
ENV AzureWebJobsSecretStorageType=Files
ADD host_secrets.json C:\\Secrets\\host.json
Run Code Online (Sandbox Code Playgroud)
对于 Linux 上的 V3 函数:
RUN mkdir /etc/secrets/
ENV FUNCTIONS_SECRETS_PATH=/etc/secrets
ENV AzureWebJobsSecretStorageType=Files
ADD host_secrets.json /etc/secrets/host.json
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1542 次 |
| 最近记录: |