Начало работы с секретами Azure Key Vault в JavaScript
В этой статье показано, как подключиться к Azure Key Vault с помощью клиентской библиотеки секретов Azure Key Vault для JavaScript. После подключения код может работать с секретами и свойствами секретов в хранилище.
Примеры | исходного кода | библиотеки с справочником | по API (npm) | Дают отзыв
Необходимые компоненты
- Подписка Azure — создайте бесплатную учетную запись.
- Экземпляр Azure Key Vault . Просмотрите политики доступа в Key Vault, чтобы включить разрешения, необходимые для конкретных задач, выполняемых в коде.
- Node.js версии LTS
Настройка проекта
Откройте командную строку и перейдите в папку проекта. Измените
YOUR-DIRECTORY
имя папки:cd YOUR-DIRECTORY
Если у вас в каталоге еще нет файла
package.json
, инициализируйте проект, чтобы создать файл:npm init -y
Установите клиентскую библиотеку секретов Azure Key Vault для JavaScript:
npm install @azure/keyvault-secrets
Если вы хотите использовать бессерверные подключения с помощью идентификатора Microsoft Entra, установите клиентскую библиотеку удостоверений Azure для JavaScript:
npm install @azure/identity
Авторизация доступа и подключение к Key Vault
Идентификатор Microsoft Entra предоставляет наиболее безопасное подключение, управляя удостоверением подключения (управляемым удостоверением). Эта функция без пароля позволяет разрабатывать приложение, которое не требует каких-либо секретов (ключей или строка подключения), хранящихся в коде.
Перед программной проверкой подлинности в Azure для использования секретов Azure Key Vault убедитесь, что вы настроили среду.
Разработчик должен установить Azure CLI и войти в интерактивном режиме с помощью команды az login , чтобы войти в Azure, прежде чем использовать DefaultAzureCredential в коде.
az login
Сборка приложения
При создании приложения код взаимодействует с двумя типами ресурсов:
- KeyVaultSecret, который включает:
- Имя секрета, строковое значение.
- Значение секрета, представляющее собой строку секрета. Вы предоставляете сериализацию и десериализацию значения секрета в строку и из нее по мере необходимости.
- Свойства секрета.
- SecretProperties, в том числе метаданные секрета, такие как имя, версия, теги, данные окончания срока действия и включена ли она.
Если вам нужно значение KeyVaultSecret, используйте методы, возвращающие KeyVaultSecret:
Остальные методы возвращают объект SecretProperties или другую форму таких свойств, как:
Создание объекта SecretClient
Объект SecretClient — это верхний объект в пакете SDK. Этот клиент позволяет управлять секретами.
После настройки ролей доступа к Azure Key Vault и локальной среды создайте файл JavaScript, который включает пакет @azure/удостоверений . Создайте учетные данные, такие как DefaultAzureCredential, для реализации бессерверных подключений к хранилищу. Используйте эти учетные данные для проверки подлинности с помощью объекта SecretClient .
// Include required dependencies
import { DefaultAzureCredential } from '@azure/identity';
import { SecretClient } from '@azure/keyvault-secrets';
// Authenticate to Azure
const credential = new DefaultAzureCredential();
// Create SecretClient
const vaultName = '<your-vault-name>';
const url = `https://${vaultName}.vault.azure.net`;
const client = new SecretClient(url, credential);
// Get secret
const secret = await client.getSecret("MySecretName");