Клиентская библиотека администрирования Key Vault Azure для JavaScript версии 4.5.0
Управляемый модуль HSM Azure Key Vault — это полностью управляемая высокодоступная облачная служба с одним клиентом, соответствующая стандартам, которая позволяет защищать криптографические ключи для облачных приложений с помощью модулей HSM, проверенных fiPS 140-2 уровня 3. Если вы хотите узнать больше об Управляемом устройстве HSM Azure Key Vault, ознакомьтесь со статьей Что такое azure Key Vault управляемых HSM?
Пакет @azure/keyvault-admin
обеспечивает поддержку административных Key Vault задач, таких как полное резервное копирование и восстановление, а также управление доступом на основе ролей (RBAC) на уровне ключей.
Примечание. Библиотека администрирования работает только с Управляемым устройством HSM Azure Key Vault. Функции, предназначенные для Key Vault, завершатся сбоем.
Примечание. Этот пакет нельзя использовать в браузере из-за ограничений службы Azure Key Vault. Инструкции см. в этом документе.
Основные ссылки:
Начало работы
Установка пакета
Установите клиентскую библиотеку администрирования Key Vault Azure для JavaScript и TypeScript с помощью NPM:
npm install @azure/keyvault-admin
Настройка TypeScript
Для пользователей TypeScript необходимо установить определения типов Node:
npm install @types/node
Также необходимо включить compilerOptions.allowSyntheticDefaultImports
в tsconfig.json. Обратите внимание, что если вы включили compilerOptions.esModuleInterop
, allowSyntheticDefaultImports
параметр включен по умолчанию. Дополнительные сведения см. в руководстве по параметрам компилятора TypeScript .
Поддерживаемые в настоящее время среды
Предварительные требования
- Подписка Azure
- Существующий Key Vault управляемого модуля HSM. Если вам нужно создать управляемый модуль HSM, это можно сделать с помощью Azure CLI, выполнив действия, описанные в этом документе.
Аутентификация клиента
Чтобы взаимодействовать со службой azure Key Vault, необходимо создать экземпляр KeyVaultAccessControlClient
класса или KeyVaultBackupClient
класса , а также URL-адрес хранилища (который может отображаться как DNS-имя на портале Azure) и объект учетных данных. В примерах, приведенных в этом документе, используется объект учетных данных с именем DefaultAzureCredential
, который подходит для большинства сценариев, включая локальные среды разработки и рабочие среды. Кроме того, мы рекомендуем использовать управляемое удостоверение для проверки подлинности в рабочих средах.
Дополнительные сведения о различных способах проверки подлинности и соответствующих типах учетных данных см. в документации по удостоверениям Azure.
Создание KeyVaultAccessControlClient
После проверки подлинности с помощью наиболее подходящего метода проверки подлинности можно создать KeyVaultAccessControlClient
, как показано ниже, заменив URL-адрес управляемого устройства HSM в конструкторе:
const { DefaultAzureCredential } = require("@azure/identity");
const { KeyVaultAccessControlClient } = require("@azure/keyvault-admin");
const credentials = new DefaultAzureCredential();
const client = new KeyVaultAccessControlClient(`<your Managed HSM URL>`, credentials);
Создание KeyVaultBackupClient
После проверки подлинности с помощью наиболее подходящего метода проверки подлинности можно создать KeyVaultBackupClient
, как показано ниже, заменив URL-адрес управляемого устройства HSM в конструкторе:
const { DefaultAzureCredential } = require("@azure/identity");
const { KeyVaultBackupClient } = require("@azure/keyvault-admin");
const credentials = new DefaultAzureCredential();
const client = new KeyVaultBackupClient(`<your Managed HSM URL>`, credentials);
Основные понятия
KeyVaultRoleDefinition
Определение роли — это коллекция разрешений. Определение роли определяет операции, которые можно выполнять, такие как чтение, запись и удаление. Он также может определять операции, которые исключаются из разрешенных операций.
Определения ролей можно перечислить и указать как часть KeyVaultRoleAssignment
.
KeyVaultRoleAssignment
Назначение роли — это связь определения роли с субъектом-службой. Их можно создавать, перечислять, получать по отдельности и удалять.
KeyVaultAccessControlClient
Предоставляет KeyVaultAccessControlClient
операции, позволяющие управлять определениями ролей (экземплярами KeyVaultRoleDefinition
) и назначениями ролей (экземплярами KeyVaultRoleAssignment
).
KeyVaultBackupClient
Предоставляет KeyVaultBackupClient
операции для выполнения полного резервного копирования ключей, полного восстановления ключей и выборочного восстановления ключей.
Длительные операции
Операции, выполняемые с KeyVaultBackupClient
помощью , могут занять столько времени, сколько потребуется для ресурсов Azure. Для отслеживания, сериализации и возобновления операций на протяжении жизненного цикла программ, ожидающих их завершения, потребуется клиентский уровень. Для этого используется общая абстракция пакета @azure/core-lro.
Предлагает KeyVaultBackupClient
три метода, которые выполняют длительные операции:
beginBackup
, начинает создание резервной копии управляемого модуля HSM Azure Key Vault в указанной учетной записи BLOB-объекта хранилища.beginRestore
, начинает восстановление всех материалов ключей с помощью маркера SAS, указывающего на ранее сохраненную папку резервного копирования хранилища BLOB-объектов Azure.beginSelectiveRestore
, начинает восстановление всех версий ключей заданного ключа с помощью предоставленного пользователем маркера SAS, указывающего на ранее сохраненную папку резервного копирования хранилища BLOB-объектов Azure.
Методы, которые начинают длительные операции, возвращают средство опроса, которое позволяет ждать неограниченное время, пока операция не будет завершена. Дополнительные сведения см. в приведенных ниже примерах.
Примеры
У нас есть примеры в JavaScript и TypeScript, в которых показаны функции управления доступом, резервного копирования и восстановления в этом пакете. Подробные инструкции по выполнению примеров см. в соответствующих файлах сведений.
Устранение неполадок
Дополнительные сведения о диагностике различных сценариев сбоев см. в нашем руководстве по устранению неполадок .
Включение ведения журнала может помочь выявить полезные сведения о сбоях. Чтобы просмотреть журнал HTTP-запросов и ответов, задайте для переменной среды AZURE_LOG_LEVEL
значение info
. Кроме того, ведение журнала можно включить во время выполнения, вызвав setLogLevel
в @azure/logger
:
const { setLogLevel } = require("@azure/logger");
setLogLevel("info");
Дальнейшие действия
Дополнительные примеры кода можно найти по следующим ссылкам:
- Примеры Key Vault администрирования (JavaScript)
- Примеры администрирования Key Vault (TypeScript)
- Тестовые случаи администрирования Key Vault
Участие
Если вы хотите вносить изменения в эту библиотеку, ознакомьтесь с руководством по внесению изменений, в котором содержатся сведения о создании и тестировании кода.
Azure SDK for JavaScript