Клиентская библиотека администрирования 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, необходимо создать экземпляр 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");

Дальнейшие действия

Дополнительные примеры кода можно найти по следующим ссылкам:

Участие

Если вы хотите вносить изменения в эту библиотеку, ознакомьтесь с руководством по внесению изменений, в котором содержатся сведения о создании и тестировании кода.

Просмотры