gpt4 book ai didi

azure - 从 azure blob 存储访问 azure key Vault(静态网站)

转载 作者:行者123 更新时间:2023-12-03 07:03:05 28 4
gpt4 key购买 nike

我有一个 blob 存储,用作网站。该 blob 具有系统分配的托管标识。

此身份将作为访问策略添加到 key 保管库中。所以实际上它应该能够访问 secret 。

但是当我尝试这样做时 microsoft documented我收到一个错误。

const getSecret = async () => {
var credential = new DefaultAzureCredential({
ManagedIdentityClientId: "<blob-id>",
} as DefaultAzureCredentialOptions)
const keyVaultName = "<key-vault-name>"
const url = "https://" + keyVaultName + ".vault.azure.net"
const client = new SecretClient(url, credential)
const secret = await client.getSecret("function-key")
}

我收到错误

Error: DefaultAzureCredential is not supported in the browser. Use InteractiveBrowserCredential instead.
at Module.60308 (defaultAzureCredential.browser.js:5:34)

这可能吗?

谢谢!

最佳答案

  • 请检查此 azure-sdk-for-js issue根据该 ,交互式凭证是recommended而不是默认的凭据。对于在浏览器中运行的客户端应用程序,InteractiveBrowserCredential 是唯一的凭据类型支持。请查看此github reference
  • 因此,对于 Node.js 的交互式凭证,如果 clientId 是前提是,Azure AD 应用程序需要配置为将“移动和桌面应用程序” 作为重定向 端点,而不是 Web。看 set up redirect uri

参见DefaultAzureCredential and examples

同时根据DefaultAzureCredential Class | Microsoft Docs如果启用以下凭据类型,将按顺序尝试:

EnvironmentCredential >ManagedIdentityCredential >SharedTokenCacheCredential > VisualStudioCredential >VisualStudioCodeCredential > AzureCliCredential>AzurePowerShellCredential >InteractiveBrowserCredential: uses browser to auth users - not enabled by default. Pass true to the DefaultAzureCredential to enable it.

关于azure - 从 azure blob 存储访问 azure key Vault(静态网站),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71982812/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com