在前端开发过程中,从云服务中获取数据或进行身份验证是非常常见的任务。Azure Key Vault 提供了一种安全存储敏感信息(如证书、密码)的方法,同时实现了对云资源的访问控制。Azure Key Vault 可以集成到我们的前端应用程序中,从而使我们的应用程序能够安全地访问Azure中的资源和服务。
本文将详细介绍如何使用npm 包 azure-keyvault,帮助读者从基础到实践快速掌握如何在前端中使用 Azure Key Vault。
前提条件
在开始使用Azure Key Vault之前,需要确保满足以下条件:
- Azure 订阅。
- Azure Key Vault实例:可以通过 Azure 门户或 Azure CLI 创建。
- Azure Active Directory (AD) 应用程序:AD 应用程序表示连接到 Azure Key Vault 的身份验证身份,并授予访问权限。可以通过 Azure CLI 创建。
安装 azure-keyvault 包
在使用 azure-keyvault 之前,需要安装该包。为此,可以使用以下命令:
npm install azure-keyvault --save
配置 Azure Key Vault
- 创建 Azure AD 应用程序
使用 Azure CLI 在Azure Active Directory中创建新的应用程序
az ad app create --display-name "{App Name}" --password "{strong password}" --public-client
- 给 Azure_ KeyVault_ Secrets_ User 权限
给新应用程序授予对密钥保管库的权限
az keyvault set-policy --name "{key vault name}" --object-id "{application object id}" --secret-permissions backup delete get list purge recover restore set
- 配置 azure-keyvault 包
在获取秘密值之前,需要配置 azure-keyvault 包:
const { DefaultAzureCredential } = require("@azure/identity"); const { SecretClient } = require("@azure/keyvault-secrets"); //使用 Azure Active Directory 登录凭据 const credential = new DefaultAzureCredential(); //创建秘密客户端来访问具有给定 URI 的机密存储区 const client = new SecretClient("https://{keyvaultname}.vault.azure.net", credential);
在 App 构建之前,应将上面的代码添加到应用的顶层。
使用 Azure Key Vault
使用 azure-keyvault 包获取秘密值需要以下步骤:
- 使用 client.getSecret 获取秘密实例
//获取密文字符串值 const secretId = await client.getSecret("{secret name}");
- 通过调用secret.value获取机密值
const secret = await client.getSecret("{secret name}"); //获取机密值。 const secretValue = secret.value;
下面是一些示例代码:
-- -------------------- ---- ------- ----- - ---------------------- - - --------------------------- ----- - ------------ - - ----------------------------------- ----- ---------- - --- ------------------------- ----- ------ - --- ----------------------------------------------------- ------------ ----- --------- - ----- -- -- - ----- ------ - ----- ---------------------------------- ------------------- -- -------- ------ ------------------- -- ------------展开代码
结论
通过本文,读者了解了如何使用azure-keyvault 包在前端应用程序中访问 Azure Key Vault。Azure Key Vault 提供了一种安全的存储和管理机密的方法,使我们的应用程序能够安全地连接和使用Azure中的资源和服务。同时,azure-keyvault 包提供了一种方便、易用的方式来获得对 Azure Key Vault 的访问权限,因此可以使开发工作更加简便和高效。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5f510d278250f93ef89003a1