Значение хранилища ключей не обновляется, если значение изменяется в секрете, поскольку оно генерирует новую версию для секрета - PullRequest
0 голосов
/ 03 апреля 2019

Ниже приведена проблема с хранилищем ключей, с которой я сталкиваюсь.У меня есть Key-Vault, в котором хранятся некоторые ключи, которые используются в веб-приложении, и функции, использующие @ Microsoft.KeyVault (SecretUri =). Значение секрета будет меняться каждые три дня с помощью автоматизации.Это также изменит номер версии (GUID), а затем значение настройки приложения (по крайней мере, одно в случае основного и дополнительного) станет недействительным.Можно ли как-то ссылаться на последнее значение из KeyVault в настройках приложения.Обновление настроек приложения на всех веб-сайтах будет утомительным процессом.

Ответы [ 2 ]

2 голосов
/ 03 апреля 2019

Ссылки хранилища ключей в настоящее время находятся в режиме предварительного просмотра.

Ссылка хранилища ключей имеет вид @ Microsoft.KeyVault ({referenceString}), где {referenceString} заменяется одним из следующих параметров:

  1. SecretUri = secretUri

где SecretUri должен быть полным URI плоскости данных секрета в хранилище ключей,включая версию, например, https://myvault.vault.azure.net/secrets/mysecret/ec96f02080254f109c51a1f14cdb1931

VaultName = vaultName; SecretName = secretName; SecretVersion = secretVersion

, где VaultName - имя ресурса хранилища ключей.SecretName должно быть именем целевого секрета.SecretVersion должна быть версией используемого секрета.

Например, полная ссылка будет выглядеть следующим образом:

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

В качестве альтернативы:

@Microsoft.KeyVault (VaultName = myvault; SecretName = mysecret; SecretVersion = ec96f02080254f109c51a1f14cdb1931)

в текущемДля предварительного просмотра требуется versions. При вращении secrets вам потребуется обновить версию в конфигурации вашего приложения.

0 голосов
/ 03 апреля 2019

С помощью Azure Python SDK вы можете сделать что-то вроде этого:

kv_client.get_secret("https://%kvname%.vault.azure.net/", name, KeyVaultId.version_none)
# or this
kv_client.get_secret("https://%kvname%.vault.azure.net/", name, "")

и то, и другое извлечет последнюю версию секрета.поэтому я предполагаю, что выполнение этого в коде на c # будет более или менее идентичным (или, по крайней мере, возможным).Не уверен насчет настроек приложений веб-приложений = \.

Возможно, вы можете использовать какую-то автоматизацию (например, powershell) для их обновления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...