[英]how to authenticate azure key vault using client id and secret?
我有一個 azure 密鑰保管庫,我正試圖從該保管庫中獲取秘密並在 node.js 的控制台中打印它。這是我從文檔中獲得的代碼,
const { DefaultAzureCredential} = require("@azure/identity");
const { SecretClient } = require("@azure/keyvault-secrets");
const credential = new DefaultAzureCredential();
// Build the URL to reach your key vault
const vaultName = "web-designer";
const url = `https://${vaultName}.vault.azure.net`;
// Lastly, create our secrets client and connect to the service
const client = new SecretClient(url, credential);
const secretName = "web-designer-secret";
client.getSecret(secretName).then((res)=>{
console.log(res);
}).catch((err)=>{
console.log("error",err);
})
他們在這里使用 DefaultAzurecredential 來驗證帳戶。 但是我不想使用客戶端 ID 和客戶端密碼來驗證我的密鑰庫。 沒有 DefaultAzureCredential 如何做到這一點?
我試過 ManagedIdentityCredential 但沒有用。
從我這端復制后,我可以按照以下代碼使用ClientSecretCredential
實現身份驗證。
const { ClientSecretCredential } = require("@azure/identity");
const { SecretClient } = require("@azure/keyvault-secrets");
const credential = new ClientSecretCredential("<TENANTID>","<CLIENTID>","<CLIENTSECRET>");
const vaultName = "<VAULTNAME>";
const url = `https://${vaultName}.vault.azure.net`;
const client = new SecretClient(url, credential);
const secretName = "<SECRETNAME>";
client.getSecret(secretName).then((res)=>{
console.log(res);
}).catch((err)=>{
console.log("error",err);
})
結果:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.