Проверка подлинности в Azure Key Vault
Проверка подлинности с помощью Key Vault работает в сочетании с идентификатором Microsoft Entra, который отвечает за проверку подлинности удостоверений любого заданного субъекта безопасности.
Субъект безопасности — это объект, представляющий пользователя, группу, службу или приложение, которые запрашивают доступ к ресурсам Azure. Azure назначает каждому субъекту безопасности уникальный идентификатор объекта.
Субъект безопасности пользователя определяет пользователя, у которого есть профиль в идентификаторе Microsoft Entra.
Субъект безопасности группы определяет набор пользователей, созданных в идентификаторе Microsoft Entra. Все роли или разрешения, назначенные группе, предоставляются всем пользователям в этой группе.
Субъект-служба представляет собой тип субъекта безопасности, который идентифицирует приложение или службу, то есть часть кода, а не пользователя или группу. Идентификатор объекта субъекта-службы действует как имя пользователя; Секрет клиента субъекта-службы действует как пароль.
У приложений есть два способа получить субъект-службу:
Создайте для приложения управляемое удостоверение, назначаемое системой (рекомендуется).
При использовании управляемого удостоверения Azure самостоятельно управляет субъектом-службой приложения и автоматически выполняет для него проверку подлинности в других службах Azure. Управляемое удостоверение доступно для приложений, развернутых в разных службах.
Дополнительные сведения см. в статье Что такое управляемые удостоверения для ресурсов Azure? Также просмотрите статью Службы с поддержкой управляемых удостоверений для ресурсов Azure, где собраны ссылки на статьи с инструкциями по включению управляемых удостоверений для конкретных служб (Служба приложений, Функции Azure, Виртуальные машины и т. д.).
Если вы не можете использовать управляемое удостоверение, вместо этого зарегистрируйте приложение в клиенте Microsoft Entra, как описано в кратком руководстве. Регистрация приложения на платформе удостоверений Azure. Кроме того, при регистрации создается второй объект приложения, который представляет это приложение для всех клиентов.
Настройка брандмауэра Key Vault
По умолчанию Key Vault разрешает доступ к ресурсам с общедоступных IP-адресов. Чтобы повысить уровень безопасности, вы можете ограничить доступ, разрешая его только для конкретных диапазонов IP-адресов, конечных точек служб, виртуальных сетей или частных конечных точек.
Дополнительные сведения см. в статье Доступ к Azure Key Vault из-за брандмауэра.
Поток операций запроса Key Vault с проверкой подлинности
Проверка подлинности Key Vault выполняется в ходе каждой операции запроса в Key Vault. После получения маркера безопасности его можно использовать повторно для последующих вызовов. Пример потока проверки подлинности:
Например, запросы маркера для проверки подлинности с помощью идентификатора Microsoft Entra:
- ресурс Azure, например виртуальная машина или приложение «Служба приложений Azure» с управляемым удостоверением, обращается к конечной точке REST для получения маркера доступа.
- пользователь входит на портал Azure, вводя имя пользователя и пароль;
Если проверка подлинности с помощью идентификатора Microsoft Entra успешно выполнена, субъект безопасности получает маркер OAuth.
Вызов REST API Key Vault через конечную точку (URI) Key Vault.
Брандмауэр Key Vault проверяет указанные ниже условия. Если любое из них соблюдается, вызов разрешается. Иначе вызов блокируется и возвращается соответствующий ответ:
- брандмауэр отключен, то есть общедоступная конечная точка Key Vault считается доступной из общедоступного Интернета;
- вызывающий объект является доверенной службой Key Vault, то есть к нему не применяются правила брандмауэра;
- вызывающий объект указан в брандмауэре в списке разрешенных IP-адресов, виртуальных сетей или конечных точек служб;
- вызывающий объект может обращаться к Key Vault через настроенное подключение к приватному каналу.
Если брандмауэр разрешает вызов, Key Vault вызывает идентификатор Microsoft Entra для проверки маркера доступа субъекта безопасности.
Key Vault проверяет, есть ли для субъекта безопасности необходимое разрешение для запрошенной операции. Если политики нет, Key Vault возвращает ответ с запретом доступа.
Key Vault выполняет запрошенную операцию и возвращает результат.
На следующей схеме показан пример обращения приложения к интерфейсу API "Получение секрета" в Key Vault:
Примечание.
Чтобы получить секреты, сертификаты и ключи, клиенты пакета SDK для Key Vault делают дополнительный вызов хранилища ключей без маркера доступа, что приводит к ответу 401 при попытке получить сведения о клиенте. Дополнительные сведения см. в этой статье.
Проверка подлинности Key Vault в коде приложения
Key Vault SDK использует клиентскую библиотеку удостоверений Azure, которая обеспечивает единую проверку подлинности для Key Vault в разных средах с одинаковым кодом
Клиентские библиотеки Azure Identity
.NET | Python | Java | JavaScript |
---|---|---|---|
Azure Identity SDK для .NET | Azure Identity SDK для Python | Azure Identity SDK для Java | Azure Identity SDK для JavaScript |
Дополнительные сведения о рекомендациях и примерах для разработчиков см. в разделе Проверка подлинности в Key Vault в коде