Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Вы можете добавить цифровые сертификаты безопасности для использования в коде приложения или защитить имена пользовательской системы доменных имен (DNS) в Службе приложений Azure. Служба приложений предоставляет высокомасштабируемый веб-хостинг с автоматическим обновлением. Сертификаты в настоящее время называются сертификатами TLS. Ранее они были известны как сертификаты SSL. Эти частные или общедоступные сертификаты помогают защитить подключения к Интернету. Сертификаты шифруют данные, отправленные между браузером, веб-сайтами, которые вы посещаете, и сервером веб-сайтов.
В следующей таблице перечислены параметры добавления сертификатов в службу приложений.
Вариант | Описание |
---|---|
Создание бесплатного управляемого сертификата Службы приложений | Частный сертификат, который бесплатно и легко использовать, если необходимо улучшить безопасность личного домена в службе приложений. |
Импорт сертификата App Service | Azure управляет частным сертификатом. Он сочетает простоту автоматического управления сертификатами и гибкость возможностей продления и экспорта. |
Импорт сертификата из Azure Key Vault | Полезно использовать Key Vault для управления сертификатами PKCS12. Ознакомьтесь с требованиями к закрытым сертификатам. |
Загрузить приватный сертификат | Если у вас уже есть частный сертификат от поставщика, отличного от Майкрософт, его можно отправить. Ознакомьтесь с требованиями к закрытым сертификатам. |
Загрузите публичный сертификат | Общедоступные сертификаты не используются для защиты пользовательских доменов, но их можно загрузить в код, если им нужен доступ к удаленным ресурсам. |
Предварительные условия
Создайте приложение службы приложений. План службы приложений должен находиться на уровне "Базовый", "Стандартный", "Премиум" или "Изолированный". Чтобы обновить уровень, см. статью "Масштабирование приложения".
Убедитесь, что частный сертификат соответствует всем требованиям Службы приложений.
Только бесплатный сертификат:
- Сопоставьте домен, для которого требуется предоставить сертификат, со Службой приложений. Дополнительные сведения см. в статье Сопоставление существующего настраиваемого DNS-имени со Службой приложений Azure.
- Для корневого домена (например, contoso.com), убедитесь, что у приложения нет ограничений IP-адресов . Создание сертификата и его периодическое продление для корневого домена зависит от доступности приложения из Интернета.
Требования к закрытым сертификатам
Бесплатный управляемый сертификат службы приложений и сертификат службы приложений уже удовлетворяют требованиям службы приложений. Если вы решили передать или импортировать закрытый сертификат в Службу приложений, то этот сертификат должен соответствовать следующим требованиям. Он:
- Экспортируется в виде PFX-файла, защищенного паролем.
- Содержит все промежуточные сертификаты и корневой сертификат в цепочке сертификатов.
Если вы хотите защитить личный домен в привязке TLS, сертификат должен соответствовать следующим дополнительным требованиям:
- Содержит расширенное использование ключа для проверки подлинности сервера (OID = 1.3.6.1.5.5.7.3.1).
- Подписывается доверенным центром сертификации.
Примечание.
Сертификаты шифрования эллиптических кривых (ECC) работают со службой приложений при отправке в виде PFX, но в настоящее время нельзя импортировать из Key Vault. Они не рассматриваются этой статьей. За конкретными указаниями по созданию сертификатов ECC, обратитесь к своему центру сертификации.
После добавления частного сертификата в приложение сертификат хранится в модуле развертывания, привязанном к группе ресурсов плана службы приложений, региону и операционной системе (ОС). Внутренне это называется веб-пространством. Таким образом, сертификат доступен другим приложениям в той же группе ресурсов, регионе и сочетании ОС. Частные сертификаты, отправленные или импортированные в службу приложений, совместно используются службами приложений в одной единице развертывания.
Вы можете добавить до 1000 частных сертификатов на веб-пространство.
Создание бесплатного управляемого сертификата
Бесплатный управляемый сертификат службы приложений — это готовое решение, которое помогает защитить пользовательское DNS-имя в службе приложений. Служба приложений управляет этим сертификатом TLS/SSL-сервера без каких-либо действий.
Перед созданием бесплатного управляемого сертификата убедитесь, что выполнены необходимые условия для приложения.
DigiCert выдает бесплатные сертификаты. Для некоторых доменов необходимо явно разрешить DigiCert в качестве издателя сертификата, создав запись домена авторизации центра сертификации (CAA) со значением 0 issue digicert.com
.
Azure полностью управляет сертификатами, поэтому любой аспект управляемого сертификата, включая корневого издателя, может изменяться в любое время. Обновление сертификатов изменяет как открытую, так и закрытую часть ключа. Все эти изменения сертификата находятся вне вашего контроля. Обязательно избегайте жёстких зависимостей и привязки сертификатов практики к управляемому сертификату или любой части иерархии сертификатов. Если требуется поведение закрепления сертификатов, добавьте сертификат в личный домен с помощью любого другого доступного метода в этой статье.
Бесплатный сертификат имеет следующие ограничения:
- не поддерживает групповые сертификаты;
- Не поддерживает использование в качестве клиентского сертификата с применением отпечатков сертификатов, которые планируется сначала устареть, а затем удалить.
- не поддерживает частные службы DNS;
- не экспортируется;
- Не поддерживается в среде службы приложений.
- Поддерживает только буквенно-цифровые символы, дефисы (-) и точки (.).
- Поддерживает пользовательские домены длиной до 64 символов.
- Должен иметь запись A, указывающую на IP-адрес веб-приложения.
- Должен находиться в приложениях, которые являются общедоступными.
- Не поддерживается с корневыми доменами, интегрированными с диспетчером трафика Azure.
- Должен соответствовать всем указанным выше критериям для успешной выдачи сертификатов и продления.
На портале Azure на левой панели выберите Службы приложений><имя приложения>.
В левой области приложения выберите сертификаты. На панели управляемых сертификатов выберите "Добавить сертификат".
Выберите личный домен для бесплатного сертификата и нажмите кнопку "Проверить". После завершения проверки нажмите кнопку "Добавить". Вы можете создать только один управляемый сертификат для каждого поддерживаемого личного домена.
После завершения операции сертификат появится в списке управляемых сертификатов .
Чтобы обеспечить безопасность личного домена с этим сертификатом, необходимо создать привязку сертификата. Выполните действия, описанные в статье "Защита пользовательского DNS-имени с помощью привязки TLS/SSL в службе приложение Azure".
Импорт сертификата App Service
Чтобы импортировать сертификат Службы приложений, сначала приобретите и настройте сертификат Службы приложений, а затем выполните шаги, описанные здесь.
На портале Azure на левой панели выберите Службы приложений><имя приложения>.
В левой области приложения выберите "Сертификаты>" "Принести собственные сертификаты" (PFX)>Add certificate.
В разделе "Источник" выберите "Импорт сертификата службы приложений".
В разделе сертификат службы приложений выберите созданный сертификат.
В разделе "Понятное имя сертификата" присвойте сертификату имя в приложении.
Выберите Проверить. После успешной проверки нажмите кнопку "Добавить".
После завершения операции сертификат появится в списке "Принести собственные сертификаты" (PFX).
Чтобы защитить личный домен с помощью этого сертификата, необходимо создать привязку сертификата. Выполните действия, описанные в статье "Защита пользовательского DNS-имени с помощью привязки TLS/SSL в службе приложение Azure".
Импорт сертификата из Key Vault
Если вы используете Key Vault для управления сертификатами, вы можете импортировать сертификат PKCS12 в службу приложений из Key Vault, если вы соответствуете требованиям.
Авторизуйте службу приложений для чтения данных из хранилища
По умолчанию поставщик ресурсов Службы приложений не имеет доступ к хранилищу ключей. Чтобы использовать хранилище ключей для развертывания сертификата, необходимо авторизовать доступ на чтение для поставщика ресурсов (Служба приложений) в хранилище ключей. Вы можете предоставить доступ с помощью политики доступа или управления доступом на основе ролей (RBAC).
Поставщик ресурсов | Идентификатор приложения Service Principal / назначаемый пользователь | Роль управления доступом к хранилищу ключей (RBAC) |
---|---|---|
Служба приложений Azure или Microsoft.Azure.WebSites |
-
abfa0a7c-a6b6-4736-8310-5855508787cd для облачных служб Azure - 6a02c803-dafd-4136-b4c3-5a6f318b4714 для облачных служб Azure для государственных организаций |
Пользователь сертификата |
Идентификатор приложения служебного принципала или значение исполнителя — это идентификатор Службы приложений как поставщика ресурсов. При предоставлении доступа с помощью RBAC соответствующий идентификатор объекта идентификатора приложения основного пользователя службы специфичен для арендатора. Сведения о том, как авторизовать разрешения Key Vault для поставщика ресурсов службы приложений с помощью политики доступа, см. в статье Предоставление доступа к ключам Key Vault, сертификатам и секретам с помощью управления доступом на основе ролей Azure.
az role assignment create --role "Key Vault Certificate User" --assignee "abfa0a7c-a6b6-4736-8310-5855508787cd" --scope "/subscriptions/{subscriptionid}/resourcegroups/{resource-group-name}/providers/Microsoft.KeyVault/vaults/{key-vault-name}"
Импорт сертификата из хранилища в приложение
На портале Azure на левой панели выберите Службы приложений><имя приложения>.
В левой области приложения выберите "Сертификаты>" "Принести собственные сертификаты" (PFX)>Add certificate.
В разделе "Источник" выберите "Импорт из Key Vault".
Выберите сертификат хранилища ключей.
Чтобы воспользоваться помощью в выборе сертификата, используйте следующую таблицу:
Настройка Описание Подписка Подписка, связанная с хранилищем ключей. Хранилище ключей Хранилище ключей с сертификатом, который необходимо импортировать. Сертификат В этом списке выберите сертификат PKCS12, который находится в хранилище. Все сертификаты PKCS12 в хранилище перечислены с их отпечатками, но не все из них поддерживаются в службе приложений. После того как вы закончите выбор, нажмите Выбрать>, Проверить, а затем выберите Добавить.
После завершения операции сертификат появится в списке "Принести собственные сертификаты" (PFX). Если импорт завершается ошибкой, сертификат не соответствует требованиям для Службы приложений.
Если вы обновляете сертификат в Key Vault, используя новый сертификат, Служба приложений автоматически синхронизирует его в течение 24 часов.
Чтобы защитить личный домен с помощью этого сертификата, необходимо создать привязку сертификата. Выполните действия, описанные в статье "Защита пользовательского DNS-имени с помощью привязки TLS/SSL в службе приложение Azure".
Загрузить приватный сертификат
Получив сертификат от поставщика сертификатов, подготовьте его к использованию в Службе приложений, выполнив действия, описанные в этом разделе.
Объединение промежуточных сертификатов
Если центр сертификации предоставляет несколько сертификатов в цепочке сертификатов, необходимо объединить сертификаты, выполнив один и тот же порядок.
В текстовом редакторе откройте каждый полученный сертификат.
Чтобы сохранить объединенный сертификат, создайте файл с именем mergedcertificate.crt.
Скопируйте содержимое каждого сертификата в этот файл. Обязательно следуйте последовательности сертификатов, указанной цепочкой сертификатов. Начните с сертификата и заканчивайтесь корневым сертификатом, например:
-----BEGIN CERTIFICATE----- <your entire Base64 encoded SSL certificate> -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- <The entire Base64 encoded intermediate certificate 1> -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- <The entire Base64 encoded intermediate certificate 2> -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- <The entire Base64 encoded root certificate> -----END CERTIFICATE-----
Экспорт объединенного закрытого сертификата в .pfx
Теперь экспортируйте объединенный сертификат TLS/SSL с закрытым ключом, который использовался для создания запроса на сертификат. Если вы создали запрос сертификата с помощью OpenSSL, создайте файл закрытого ключа.
OpenSSL версии 3 изменил шифр по умолчанию с 3DES на AES256. Используйте командную строку -keypbe PBE-SHA1-3DES -certpbe PBE-SHA1-3DES -macalg SHA1
для переопределения изменения.
OpenSSL версии 1 использует 3DES в качестве значения по умолчанию, поэтому созданные PFX-файлы поддерживаются без каких-либо специальных изменений.
Чтобы экспортировать сертификат в PFX-файл, выполните следующую команду. Замените заполнители <private-key-file> и <merged-certificate-file> путями к закрытому ключу и объединенному файлу сертификатов.
openssl pkcs12 -export -out myserver.pfx -inkey <private-key-file> -in <merged-certificate-file>
При появлении запроса укажите пароль для операции экспорта. При отправке TLS/SSL-сертификата в Служба приложений позже необходимо указать этот пароль.
Если вы использовали IIS или Certreq.exe для создания запроса на сертификат, установите сертификат на локальный компьютер, а затем экспортируйте его в файл .pfx.
Отправка сертификата в Служба приложений
Теперь вы готовы отправить сертификат в службу приложений.
На портале Azure на левой панели выберите Службы приложений><имя приложения>.
В левой области приложения выберите " Сертификаты>", чтобы добавить собственные сертификаты (PFX)>Upload certificate (PFX).
Чтобы помочь загрузить PFX-сертификат, используйте следующую таблицу:
Настройка Описание PFX-файл сертификата Выберите PFX-файл. Пароль сертификата Введите пароль, созданный при экспорте PFX-файла. Удобное имя сертификата Имя сертификата, отображаемое в веб-приложении. После того как вы закончите выбор, нажмите Выбрать>, Проверить, а затем выберите Добавить.
После завершения операции сертификат появится в списке "Принести собственные сертификаты" (PFX).
Чтобы обеспечить безопасность личного домена с этим сертификатом, необходимо создать привязку сертификата. Выполните действия, описанные в статье "Защита пользовательского DNS-имени с помощью привязки TLS/SSL в службе приложение Azure".
Загрузите публичный сертификат
Поддерживаются открытые сертификаты в формате CER.
После отправки общедоступного сертификата в приложение он доступен только приложением, в которое оно отправлено. Общедоступные сертификаты должны быть отправлены в каждое отдельное веб-приложение, которому требуется доступ. Сценарии, относящиеся к среде службы приложений, см. в документации по сертификатам и среде службы приложений.
Вы можете отправить до 1000 общедоступных сертификатов на план службы приложений.
На портале Azure на левой панели выберите Службы приложений><имя приложения>.
В левой области приложения выберите сертификаты>открытого ключа (.cer)>Добавить сертификат.
Для помощи в загрузке сертификата .cer используйте следующую таблицу:
Настройка Описание файл сертификата .cer Выберите файл .cer. Удобное имя сертификата Имя сертификата, отображаемое в веб-приложении. После завершения нажмите кнопку "Добавить".
После отправки сертификата скопируйте отпечаток сертификата и ознакомьтесь с разделом Открытие доступа к сертификату.
Продление срока действия сертификата
До истечения срока действия сертификата обязательно добавьте обновленный сертификат в службу приложений. Обновите все привязки сертификатов, в которых процесс зависит от типа сертификата. Например, сертификат, импортированный из Key Vault, включая сертификат Службы приложений, автоматически синхронизируется со Службой приложений каждые 24 часа и обновляет привязку TLS/SSL при продлении сертификата.
Для переданного сертификата не выполняется автоматическое обновление привязки. В зависимости от сценария просмотрите соответствующий раздел:
- Продление переданного сертификата
- Продление сертификата Службы приложений
- Продление сертификата, импортированного из Azure Key Vault
Продление переданного сертификата
При замене истекающего сертификата обновление привязки сертификата на новый может негативно повлиять на взаимодействие с пользователем. Например, ваш входящий IP-адрес может измениться при удалении привязки, даже если эта привязка основана на IP-адресе. Этот результат особенно эффективен при продлении сертификата, который уже находится в привязке на основе IP-адресов.
Чтобы избежать изменения IP-адреса приложения и избежать простоя приложения из-за ошибок HTTPS, выполните следующие действия.
Перейдите на страницу "Личные домены " для приложения, нажмите кнопку ... , а затем нажмите кнопку "Обновить привязку".
Выберите новый сертификат и нажмите кнопку "Обновить".
Удалите существующий сертификат.
Продление сертификата, импортированного из Azure Key Vault
Чтобы обновить сертификат Служба приложений, см. раздел "Продление сертификата Служба приложений".
Чтобы обновить сертификат, импортированный в службу приложений из Key Vault, см. раздел "Продление сертификата Azure Key Vault".
После продления сертификата в хранилище ключей Служба приложений автоматически синхронизирует новый сертификат и обновляет любую соответствующую привязку сертификата в течение 24 часов. Чтобы синхронизировать вручную, выполните следующие действия:
Перейдите на страницу сертификата приложения.
В разделе "Перенос собственных сертификатов ( PFX)" нажмите кнопку ... для импортированного сертификата хранилища ключей и нажмите кнопку "Синхронизация".
Часто задаваемые вопросы
Как автоматизировать процесс добавления собственного сертификата в приложение?
- Azure CLI: привязка пользовательского СЕРТИФИКАТА TLS/SSL к веб-приложению
- Azure PowerShell: привязка пользовательского СЕРТИФИКАТА TLS/SSL к веб-приложению с помощью PowerShell
Можно ли использовать частный сертификат ЦС для входящего TLS в приложении?
Сертификат частного центра сертификации (ЦС) можно использовать для входящего TLS в среде службы приложений версии 3. Это действие невозможно в службе приложений (мультитенант). Дополнительные сведения о мультитенантной и одноарендной службе приложений см. статью "Среда службы приложений версии 3 и сравнение общедоступных мультитенантных служб приложений".
Можно ли выполнять исходящие вызовы с помощью клиентского сертификата частного центра сертификации в моем приложении?
Эта возможность поддерживается только для приложений контейнеров Windows в мультитенантной службе приложений. Исходящие вызовы можно выполнять с помощью частного сертификата клиента ЦС с приложениями на основе кода и контейнерами в среде службы приложений версии 3. Дополнительные сведения о мультитенантной и одноарендной службе приложений см. статью "Среда службы приложений версии 3 и сравнение общедоступных мультитенантных служб приложений".
Можно ли загрузить частный сертификат ЦС в доверенном корневом хранилище службы приложений?
Вы можете загрузить собственный сертификат ЦС в доверенное корневое хранилище в среде службы приложений версии 3. Невозможно изменить список доверенных корневых сертификатов в службе приложений (мультитенант). Дополнительные сведения о мультитенантной и одноарендной службе приложений см. статью "Среда службы приложений версии 3 и сравнение общедоступных мультитенантных служб приложений".
Можно ли использовать сертификаты службы приложений для других служб?
Да. Вы можете экспортировать и использовать сертификаты службы приложений с помощью шлюза приложений Azure или других служб. Дополнительные сведения см. в статье блога о создании локальной копии PFX-сертификата службы приложений.