Как приложение Gatsby получает доступ к хранилищу ключей Azure
Я успешно развернул приложение Gatsby в Azure в соответствии с этими инструкциями. Это отдельный ресурс от "обычного" веб-приложения. "Обычное веб-приложение будет развернуто на ресурсе службы приложений, но для Gatsby оно развернуто в другом Reqource статической веб-страницы. Таким образом, URL-адрес теперь имеет вид https: //<сгенерированное имя>.azurestaticapps.net, где сгенерированный -name - это НЕ имя приложения. Кажется, что в инструкциях по подключению веб-службы к хранилищу ключей есть некоторые дыры, которые необходимо заполнить. Какие шаги мне нужно предпринять, чтобы подключить мое приложение Gatsby к моему хранилищу ключей Azure во время разработки и на производственной площадке?
1 ответ
Ошибка: EnvironmentCredential не поддерживается в браузере.
В вашем случае используйте ClientSecretCredential
вместо других.
Убедитесь, что вы выполнили предварительные требования, затем в своем коде используйте ClientSecretCredential
, пройти tenantId, clientId, clientSecret
вашего принципала службы, это должно быть примерно так, retrievedSecret.value
это ценность секрета.
const { ClientSecretCredential } = require("@azure/identity");
const { SecretClient } = require("@azure/keyvault-secrets");
const keyVaultName = "xxxx";
const KVUri = "https://" + keyVaultName + ".vault.azure.net";
const credential = new ClientSecretCredential(tenantId, clientId, clientSecret);
const client = new SecretClient(KVUri, credential);
const retrievedSecret = await client.getSecret(secretName);