Для управления главным ключом, который узел функции использует при запуске - вместо генерации случайных ключей - подготовьте наш собственный файл host_secrets.json
, такой как
{
"masterKey": {
"name": "master",
"value": "asGmO6TCW/t42krL9CljNod3uG9aji4mJsQ7==",
"encrypted": false
},
"functionKeys": [
{
"name": "default",
"value": "asGmO6TCW/t42krL9CljNod3uG9aji4mJsQ7==",
"encrypted": false
}
]
}
и затем подайте этот файл в назначенную папку секретов на узле Function (Dockerfile
):
для функций V1 (при условии, что корнем среды выполнения является C: \ WebHost):
...
ADD host_secrets.json C:\\WebHost\\SiteExtensions\\Functions\\App_Data\\Secrets\\host.json
...
для функций 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
...
Функциональные клавиши могут использоваться для вызова защищенных функций, таких как .../api/myfunction?code=asGmO6TCW/t42krL9CljNod3uG9aji4mJsQ7==
.
Главный ключ может использоваться для вызова функций API администратора и API управления ключами .
В моем блоге Я описываю весь путь доставки среды выполнения функций V1 и более поздних версий V2 в Docker
контейнеры и размещения их в Service Fabric.