Поделиться через


Использование сертификатов 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 из Key Vault или использовать локальный файл сертификата.

Импорт сертификата из Key Vault

Перед импортом сертификата необходимо предоставить Azure Spring Apps доступ к хранилищу ключей.

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

Чтобы предоставить доступ, выполните следующие действия.

  1. Войдите на портал Azure.

  2. Выберите хранилища ключей, а затем выберите хранилище ключей, из который вы импортируете сертификат.

  3. В области навигации выберите политики доступа, а затем нажмите кнопку "Создать".

  4. Щелкните Разрешения сертификатов, а затем Получить и Список.

    Снимок экрана: портал Azure, на которой показана страница

  5. В разделе "Субъект" выберите поставщик ресурсов Azure Spring Cloud.

    Снимок экрана: портал Azure, на котором показана вкладка

  6. Выберите Проверка и создание, а затем нажмите Создать.

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

  1. Перейдите к экземпляру службы.

  2. На странице экземпляра в области навигации слева выберите Параметры TLS/SSL.

  3. Выберите Импорт сертификата Key Vault в разделе Сертификаты открытых ключей.

  4. Выберите хранилище ключей в разделе "Хранилища ключей ", выберите сертификат в разделе "Сертификат " и нажмите кнопку "Выбрать".

  5. Укажите значение для имени сертификата, при необходимости выберите "Включить автоматическую синхронизацию " и нажмите кнопку "Применить". Дополнительные сведения см. в разделе сертификата автоматической синхронизации для сопоставления существующего личного домена с Azure Spring Apps.

После успешного импорта сертификата вы увидите его в списке сертификатов открытого ключа.

Примечание.

Экземпляры Azure Key Vault и Azure Spring Apps должны находиться в одном клиенте.

Импорт локального файла сертификата

Чтобы импортировать хранящийся локально файл сертификата, можно выполнить следующие действия:

  1. Перейдите к экземпляру службы.
  2. На странице экземпляра в области навигации слева выберите Параметры TLS/SSL.
  3. Выберите Отправка общедоступного сертификата в разделе Сертификаты открытых ключей.

После успешного импорта сертификата вы увидите его в списке сертификатов открытого ключа.

Загрузка сертификата

Чтобы загрузить сертификат в приложение в Azure Spring Apps, для начала выполните следующие действия:

  1. Перейдите в экземпляр приложения.
  2. На странице приложения в области навигации слева выберите Управление сертификатами.
  3. Щелкните Добавить сертификат, чтобы выбрать доступные для приложения сертификаты.

Снимок экрана: портал Azure, на котором показана страница управления сертификатом с выделенной кнопкой

Загрузка сертификата из кода

Загруженные сертификаты доступны в папке /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>

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