Использование сертификатов TLS или SSL в приложении в Azure Spring Apps
Примечание.
Azure Spring Apps — это новое название службы Azure Spring Cloud. Старое название будет еще некоторое время встречаться в наших материалах, пока мы не обновим ресурсы, такие как снимки экрана, видео и схемы.
Эта статья относится к: ✔️ Basic/Standard ✔️ Enterprise
В этой статье показано, как использовать для приложения общедоступные сертификаты в Azure Spring Apps. Приложение может выступать в качестве клиента и получить доступ к внешней службе, требующей проверки подлинности сертификата, или может потребоваться выполнить криптографические задачи.
Доверив Azure Spring Apps управление сертификатами TLS или SSL, вы сможете отдельно управлять сертификатами и кодом приложения, защитив таким образом конфиденциальные данные. Из кода приложения возможен доступ к общедоступным сертификатам, добавленным в экземпляр Azure Spring Apps.
Необходимые компоненты
- Развернутое в Azure Spring Apps приложение. См. статью Краткое руководство. Развертывание первого приложения в Azure Spring Apps или используйте существующее приложение.
- Файл сертификата с расширением CRT, CER, PEM или DER, либо развернутый экземпляр Azure Key Vault с частным сертификатом.
Импорт сертификата
Можно импортировать сертификат в экземпляр Azure Spring Apps из Key Vault или использовать локальный файл сертификата.
Импорт сертификата из Key Vault
Перед импортом сертификата необходимо предоставить Azure Spring Apps доступ к хранилищу ключей.
Azure Key Vault предлагает две системы авторизации: управление доступом на основе ролей Azure (Azure RBAC), которая работает на уровнях управления Azure и плоскостях данных, а также модель политики доступа, которая работает только на плоскости данных.
Чтобы предоставить доступ, выполните следующие действия.
Войдите на портал Azure.
Выберите хранилища ключей, а затем выберите хранилище ключей, из который вы импортируете сертификат.
В области навигации выберите политики доступа, а затем нажмите кнопку "Создать".
Щелкните Разрешения сертификатов, а затем Получить и Список.
В разделе "Субъект" выберите поставщик ресурсов Azure Spring Cloud.
Выберите Проверка и создание, а затем нажмите Создать.
После предоставления доступа к хранилищу ключей вы можете импортировать сертификат, выполнив следующие действия.
Перейдите к экземпляру службы.
На странице экземпляра в области навигации слева выберите Параметры TLS/SSL.
Выберите Импорт сертификата Key Vault в разделе Сертификаты открытых ключей.
Выберите хранилище ключей в разделе "Хранилища ключей ", выберите сертификат в разделе "Сертификат " и нажмите кнопку "Выбрать".
Укажите значение для имени сертификата, при необходимости выберите "Включить автоматическую синхронизацию " и нажмите кнопку "Применить". Дополнительные сведения см. в разделе сертификата автоматической синхронизации для сопоставления существующего личного домена с Azure Spring Apps.
После успешного импорта сертификата вы увидите его в списке сертификатов открытого ключа.
Примечание.
Экземпляры Azure Key Vault и Azure Spring Apps должны находиться в одном клиенте.
Импорт локального файла сертификата
Чтобы импортировать хранящийся локально файл сертификата, можно выполнить следующие действия:
- Перейдите к экземпляру службы.
- На странице экземпляра в области навигации слева выберите Параметры TLS/SSL.
- Выберите Отправка общедоступного сертификата в разделе Сертификаты открытых ключей.
После успешного импорта сертификата вы увидите его в списке сертификатов открытого ключа.
Загрузка сертификата
Чтобы загрузить сертификат в приложение в Azure Spring Apps, для начала выполните следующие действия:
- Перейдите в экземпляр приложения.
- На странице приложения в области навигации слева выберите Управление сертификатами.
- Щелкните Добавить сертификат, чтобы выбрать доступные для приложения сертификаты.
Загрузка сертификата из кода
Загруженные сертификаты доступны в папке /etc/azure-spring-cloud/certs/public. Чтобы загрузить общедоступный сертификат в приложение в Azure Spring Apps, используйте следующий код Java.
CertificateFactory factory = CertificateFactory.getInstance("X509");
FileInputStream is = new FileInputStream("/etc/azure-spring-cloud/certs/public/<certificate name>");
X509Certificate cert = (X509Certificate) factory.generateCertificate(is);
// use the loaded certificate
Загрузка сертификата в хранилище доверия
В приложении Java для выбранного сертификата можно щелкнуть Загрузить в хранилище доверия. Сертификат автоматически добавляется в Хранилище доверия Java по умолчанию для проверки подлинности сервера в проверке подлинности TLS/SSL.
В следующем журнале приложения демонстрируется, что сертификат был успешно загружен.
Load certificate from specific path. alias = <certificate alias>, thumbprint = <certificate thumbprint>, file = <certificate name>