Основные понятия об Azure Key Vault

Azure Key Vault — это облачная служба для безопасного хранения и доступа к секретам. Секрет — это то, к чему необходимо строго контролировать доступ, например ключи API, пароли или криптографические ключи. Служба Key Vault поддерживает два типа контейнеров: хранилища и пулы управляемых аппаратных модулей безопасности (HSM). Хранилища обеспечивают хранение программного обеспечения и ключей, секретов и сертификатов с поддержкой HSM. Управляемые пулы HSM поддерживают только ключи с поддержкой HSM. Подробные сведения см. в статье Обзор Azure Key Vault REST API.

Ниже приведены другие важные термины.

  • Клиент. Это организация, которая владеет и управляет определенным экземпляром облачных служб Майкрософт. Это определение наиболее часто используется для обозначения набора служб Azure и Microsoft 365 для организации.

  • Владелец хранилища. Он может создать хранилище ключей, получить полный доступ и контроль над ним. Владелец хранилища имеет доступ к секретам и ключам, а также может настроить аудит журнала. Администраторы могут управлять жизненным циклом ключей. Он может откатить ключ до новой версии, создать ее резервную копию и выполнять другие связанные задачи.

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

  • Администраторы управляемых HSM: пользователи, которым назначена роль администратора, имеют полный контроль над управляемым пулом HSM. Они могут создавать дополнительные назначения ролей, чтобы предоставлять контролируемый доступ другим пользователям.

  • Администратор системы шифрования/пользователь управляемого HSM: встроенные роли, которые обычно назначаются для пользователей или субъектов-служб, которые будут выполнять криптографические операции с использованием ключей в управляемом HSM. Администратор системы шифрования может создавать новые ключи, но не может удалять ключи.

  • Пользователь службы шифрования управляемого HSM: встроенная роль, которая обычно назначается для удостоверения управляемой службы учетных записей служб (например, учетной записи хранения) для шифрования данных в состоянии хранения с использованием ключа, управляемого клиентом.

  • Ресурс. Это управляемый элемент, доступный в Azure. Распространенными примерами являются виртуальная машина, учетная запись хранения, веб-приложение, база данных и виртуальная сеть. На самом деле их намного больше.

  • Группа ресурсов. Это контейнер, содержащий связанные ресурсы для решения Azure. В группу ресурсов могут входить все ресурсы приложения или только те, которыми необходимо управлять совместно. Пользователи могут выбрать оптимальный для своей организации способ распределения ресурсов в группах ресурсов.

  • Субъект безопасности: субъект безопасности Azure является удостоверением безопасности, которое пользовательские приложения, службы и средства автоматизации используют для доступа к определенным ресурсам Azure. Это можно назвать удостоверением пользователя (имя пользователя и пароль или сертификат) с определенной ролью и строго контролируемыми разрешениями. Субъект безопасности должен выполнять только определенные действия, в отличие от общего удостоверения пользователя. Он повышает безопасность, если предоставлен только минимальный уровень разрешений, необходимый для выполнения задач управления. Субъект безопасности, используемый с приложением или службой, называется субъектом-службой.

  • Azure Active Directory (Azure AD). Это служба Active Directory для клиента. Каждый каталог содержит один или несколько доменов. Каталог может иметь много подписок, связанных с ним, но только один клиент.

  • Идентификатор клиента Azure. Это уникальный способ идентификации экземпляра Azure AD в пределах подписки Azure.

  • Управляемые удостоверения: позволяют обеспечить безопасное хранение учетных данных, а также других ключей и секретов в Azure Key Vault, но для их получения код должен пройти проверку подлинности в этом хранилище. Управляемое удостоверение упрощает решение этой задачи, предоставляя службам Azure автоматически управляемое удостоверение в Azure AD. Это удостоверение можно использовать для аутентификации хранилища ключей или любой службы, которая поддерживает аутентификацию Azure AD, не храня какие-либо учетные данные в коде. Дополнительные сведения см. на следующем изображении и в обзоре управляемых удостоверений для ресурсов Azure.

Аутентификация

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

  • Управляемые удостоверения для ресурсов Azure: при развертывании приложения на виртуальной машине в Azure можно назначить удостоверение для своей виртуальной машины, которая имеет доступ к хранилищу ключей. Также можно назначить удостоверения для других ресурсов Azure. Преимущество этого подхода в том, что приложение или служба не управляет сменой первого секрета. Azure автоматически меняет удостоверение. Настоятельно рекомендуем использовать этот подход.
  • Субъект-служба и сертификат: можно использовать субъект-службу и связанный сертификат с доступом к хранилищу ключей. Этот подход не рекомендуется использовать, поскольку владелец приложения или разработчик должен заменить сертификат.
  • Субъект-служба и секрет: несмотря на то, что можно использовать субъект-службу и секрет для проверки подлинности в хранилище ключей, этого делать не рекомендуется. Трудно автоматически заменить секрет начальной загрузки, который используется для проверки подлинности в хранилище ключей.

Шифрование передаваемых данных

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

Полная безопасность пересылки (PFS) позволяет защитить подключения между клиентскими системами заказчиков и облачными службами Майкрософт с помощью уникальных ключей. Соединения также используют ключи шифрования на 2048 бит на основе RSA. Благодаря такому сочетанию усложняется перехват данных и доступ к ним во время передачи.

Роли Key Vault

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

Роль Проблема Решение с помощью хранилища ключей Azure
Разработчик приложения Azure "Я хочу написать приложение для Azure, которое использует ключи для подписи и шифрования. Но нужно, чтобы эти ключи были внешними по отношению к моему приложению, чтобы решение подходило для географически распределенного приложения.

Необходимо, чтобы эти ключи и секреты были защищены и не нужно было писать код самостоятельно, Также требуется, чтобы эти ключи и секреты можно было легко использовать в моих приложениях с гарантией оптимальной производительности".
√ Ключи хранятся в хранилище, и при необходимости их можно вызывать с помощью URI.

√ Azure защищает ключи с использованием стандартных отраслевых алгоритмов, методов управления длиной ключей и аппаратных модулей безопасности.

√ Ключи обрабатываются в аппаратных модулях безопасности, которые находятся в тех же центрах обработки данных Azure, что и приложения. Это обеспечивает более высокую надежность и менее длительную задержку, чем при расположении ключей в другом месте, например в локальной среде.
Разработчик программного обеспечения как услуги (SaaS) "Я не хочу заниматься управлением ключами и секретами клиентов моих заказчиков и нести ответственность за это.

Мне нужно, чтобы заказчики владели и управляли своими ключами, а мне можно было полностью сосредоточиться на своей основной работе, а именно – предоставлением базовых функций программного обеспечения".
√ Клиенты могут импортировать свои ключи в Azure и управлять ими. Если приложению SaaS необходимо выполнять операции шифрования, используя ключи клиентов, то хранилище ключей выполняет эти операции от имени приложения. Приложение не видит ключи клиентов.
Руководитель службы безопасности "Мне необходимо знать, что наши приложения соответствуют стандарту HSM FIPS 140-2 уровня 2 или FIPS 140-2 уровня 3 для безопасного управления ключами.

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

Кроме того, хотя мы используем множество служб и ресурсов Azure, необходимо, чтобы ключами можно было управлять из одного расположения в Azure".
√ Выберите хранилища, соответствующие стандарту FIPS 140-2 уровня 2, с поддержкой HSM.
√ Выберите управляемые пулы HSM, соответствующие стандарту FIPS 140-2 уровня 2, с поддержкой HSM.

√ Хранилище ключей разработано таким образом, чтобы сотрудники Майкрософт не могли видеть или извлекать ваши ключи.
√ Использование ключа протоколируется почти в реальном времени.

√ Хранилище предоставляет единый интерфейс, независимо от количества хранилищ в Azure, поддерживаемых регионов и использующих их приложений.

Хранилища ключей может создавать и использовать любой пользователь, у которого есть подписка Azure. Несмотря на то, что хранилище ключей предоставляет ряд преимуществ разработчикам и администраторам безопасности, оно может быть реализовано и управляться администратором организации, который управляет другими службами Azure. Например, этот администратор может войти в систему по подписке Azure, создать хранилище для организации, в котором будут храниться ключи, а затем будет отвечать за выполнение следующих операционных задач:

  • создание или импорт ключа или секрета;
  • отзыв или удаление ключа или секрета;
  • авторизация пользователей или приложений для доступа к хранилищу ключей с целью управления ключами и секретами или их использования;
  • настройка использования ключей (например, подписи и шифрования);
  • мониторинг использования ключей.

Этот администратор предоставляет разработчикам универсальные коды ресурсов (URI) для вызова из приложений. Этот администратор также передает информацию из журнала использования ключей администратору безопасности.

Overview of how Azure Key Vault works

Разработчики также могут управлять ключами напрямую с помощью API. Дополнительные сведения см. в статье Руководство разработчика хранилища ключей Azure.

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

Хранилище ключей Azure доступно в большинстве регионов. Дополнительные сведения см. на странице цен на хранилище ключей.