我有一個用作網站的 blob 存盤。此 Blob 具有系統分配的托管標識。
此身份作為訪問策略添加到密鑰保管庫。所以實際上它應該能夠訪問這些秘密。
但是當我按照微軟記錄的方式嘗試它時,我得到了一個錯誤。
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)
這甚至可能嗎?
謝謝!
uj5u.com熱心網友回復:
- 請檢查此azure-sdk-for-js 問題,根據該問題,建議使用互動式憑據而不是默認憑據。對于在瀏覽器中運行的客戶端應用程式,這
InteractiveBrowserCredential是唯一受支持的憑據型別。請查看此github 參考 - 因此,對于 Node.js 的互動式憑據,如果提供了 clientId,則需要將 Azure AD 應用配置為具有
"Mobile and desktop applications"asredirect端點而不是 Web。請參閱 設定重定向 uri
請參閱DefaultAzureCredential 和示例
同樣根據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.
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/465023.html
標籤:天蓝色 网络 天蓝色 blob 存储 身份 天蓝色密钥库
下一篇:顫動中的下拉選單
