Gatsby 应用程序如何访问 Azure Key Vault

How does Gatsby application access Azure Key Vault

我已经按照这些 instructions 成功地将我的 Gatsby 应用程序部署到 Azure。这是与“普通”网络应用程序不同的资源。 “普通 Web 应用程序将部署到 App Service 资源,但对于 Gatsby,它将部署到不同的静态网页资源。因此 URL 现在的格式为 https://。azurestaticapps.net 其中生成的名称不是应用程序名称。因此,将 Web 服务与密钥库连接起来的说明似乎有一些漏洞需要填补。我需要采取哪些步骤来连接我的 Gatsby在开发期间和生产站点上应用到我的 Azure Key Vault?

Error: EnvironmentCredential is not supported in the browser.

在您的情况下,请使用 ClientSecretCredential 而不是其他。

确保你已经完成了 Prerequisites, then in your code, use 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);