Сведения о секретах Azure Key Vault

Key Vault обеспечивает безопасное хранение общих секретов, таких как пароли и строки подключения к базам данных.

С точки зрения разработчика, API Key Vault принимают и возвращают значения секретов в виде строк. На внутреннем уровне Key Vault хранит секреты и управляет ими в виде последовательности октетов (8 бит) максимальным размером 25 килобайтов каждый. Служба Key Vault не предоставляет семантику для секретов. Он просто принимает данные, шифрует его, сохраняет его и возвращает секретный идентификатор (id). Этот идентификатор можно использовать позже для получения секрета.

Для высокочувствительных данных клиенты должны учитывать дополнительные уровни защиты данных. Шифрование данных с помощью отдельного ключа защиты перед помещением в хранилище в Key Vault является одним из примеров.

Также Key Vault поддерживает поле contentType для секретов. Клиенты могут указать тип контента секрета для интерпретации секретных данных при получении. Максимальная длина этого поля составляет 255 символов. Предлагаемое использование помогает правильно интерпретировать данные секрета. Например, приложение может хранить пароли и сертификаты в виде секретов и различать их по значению этого поля. Предопределенные значения отсутствуют.

Шифрование

Все секреты в Key Vault хранятся в зашифрованном виде. Azure Key Vault шифрует секреты при хранении с помощью иерархии ключей шифрования, при этом все ключи в этой иерархии защищаются модулями, совместимыми с FIPS 140-2. Это шифрование является прозрачным и не требует вмешательства пользователя. Служба Azure Key Vault шифрует секреты при их добавлении и автоматически расшифровывает их при считывании.

Конечный ключ шифрования иерархии ключей уникален для каждого хранилища ключей. Корневой ключ шифрования иерархии ключей уникален для всей системы безопасности. Уровень его защиты зависит от региона:

  • Китай: корневой ключ защищен модулем, который проверяется на предмет соответствия FIPS 140-2 уровня 1.
  • Другие регионы: корневой ключ защищен модулем, который проверяется на предмет соответствия FIPS 140-2 уровня 2 или выше.

Атрибуты секретов

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

  • exp. Необязательный атрибут со значением в формате IntDate, значение по умолчанию — forever. Атрибут exp (время окончания срока действия) определяет срок действия, в течение или после которого данные секрета НЕ ДОЛЖНЫ быть получены, за исключением определенных ситуаций. Это поле предназначено для информационных целей только потому, что оно информирует пользователей службы хранилища ключей, что конкретный секрет не может использоваться. Нужно указать число, содержащее значение IntDate.
  • nbf. Необязательный атрибут со значением в формате IntDate, значение по умолчанию — now. Атрибут nbf (не ранее) определяет время, до которого данные секрета НЕ ДОЛЖНЫ быть получены, за исключением определенных ситуаций. Это поле предназначено только для информационных целей. Нужно указать число, содержащее значение IntDate.
  • enabled. Необязательный атрибут с логическим значением, по умолчанию — true. Этот атрибут указывает, можно ли извлечь данные секрета. Атрибут включено используется с nbf и exp, если операция возникает между nbf и exp, она будет разрешена только в том случае, если включено значение true. Операции вне окон nbf и exp автоматически запрещаются, за исключением определенных ситуаций.

Существуют более доступные только для чтения атрибуты, включенные в любой ответ, включающий секретные атрибуты:

  • created. Необязательный атрибут со значением в формате IntDate. Атрибут created указывает, когда была создана эта версия секрета. Это значение равно NULL для секретов, созданных перед добавлением данного атрибута. Нужно указать число, содержащее значение IntDate.
  • updated. Необязательный атрибут со значением в формате IntDate. Атрибут updated указывает, когда была обновлена эта версия секрета. Это значение равно NULL для секретов, которые в последний раз обновлялись перед добавлением данного атрибута. Нужно указать число, содержащее значение IntDate.

Сведения об общих атрибутах для каждого типа объектов хранилища ключей см. в статье Общие сведения о ключах, секретах и сертификатах Azure Key Vault.

Операции, зависящие от даты и времени

Операцию получения секрета можно применять для еще не проверенных секретов и просроченных секретов за пределами окна nbf / exp. Вызов операции секрета get для еще не проверенных секретов может использоваться для тестирования. Извлечение (получение) просроченного секрета может использоваться в операциях восстановления.

Контроль доступа к секретам

Контроль доступа к секретам, управляемым в Key Vault, предоставляется на уровне Key Vault, который содержит эти секреты. Политика управления доступом для секретов отличается от политики управления доступом для ключей в том же Key Vault. Пользователи могут создать одно или несколько хранилищ для хранения секретов и должны поддерживать соответствующую сценарию сегментацию и управление секретами.

Следующие разрешения могут использоваться на уровне субъекта в записи управления доступом к секретам в хранилище. Они практически точно отражают операции, разрешенные в объекте секрета.

  • Разрешения для операций управления секретами

    • get. Чтение секрета.
    • list. Вывод списка секретов или их версий, хранимых в Key Vault.
    • set. Создание секрета.
    • delete. Удаление секрета.
    • recover. Восстановление удаленного секрета.
    • backup. Архивация секрета в хранилище ключей.
    • restore. Восстановление заархивированного секрета в хранилище ключей.
  • Разрешения для привилегированных операций

    • purge. Очистка (удаление без возможности восстановления) удаленных секретов.

Дополнительные сведения о работе с секретами см. в справочнике по работе с Azure Key Vault с помощью REST API. Сведения об установке разрешений см. в статьях Vaults — Create Or Update (Хранилища. Создание или обновление) и Vaults — Update Access Policy (Хранилища. Обновление политики доступа).

Руководства по управлению доступом в Key Vault:

Теги секретов

Можно указать дополнительные метаданные, относящиеся к приложению, в виде тегов. Key Vault поддерживает до 15 тегов, каждый из которых может иметь 512 символьное имя и 512 символьное значение.

Примечание.

Теги могут быть прочитаны вызывающим объектом, если у него есть права list или get.

Сценарии использования

Когда использовать Примеры
Безопасное хранение, управление жизненным циклом и мониторинг учетных данных для взаимодействия между службами, таких как пароли, ключи доступа, секреты клиента субъекта-службы. - Использование Azure Key Vault с виртуальной машиной
- Использование Azure Key Vault в веб-приложении Azure

Следующие шаги