Что дает подключение
Подключение вашей собственной учетной записи Azure Static Web Apps позволяет публиковать статический сайт в вашу учетную запись Azure Static Web Apps из вашей панели управления Zinn®. Проект и счета принадлежат вам; мы берем на себя развертывание, собственный домен и DNS-записи.
Перед началом работы
Подписка Azure, группа ресурсов для сайтов и подключенная учетная запись GitHub, GitLab или Bitbucket, содержащая код, — Azure Static Web Apps выполняет сборку из репозитория. Бесплатный тарифный план Azure допускает коммерческое использование и два собственных домена на приложение.
1. Создайте ключ в Azure Static Web Apps
В Azure это называется service principal (субъект-служба). В центре администрирования Microsoft Entra откройте Entra ID → App registrations → New registration, укажите имя и нажмите Register. На странице обзора приложения скопируйте Application (client) ID и Directory (tenant) ID. Затем откройте Certificates & secrets → Client secrets → New client secret, выберите срок действия и нажмите Add — сразу же скопируйте значение секрета, Azure показывает его только один раз.
На портале Azure откройте группу ресурсов, которую вы хотите предоставить для нашего использования, затем перейдите в Access control (IAM) → Add → Add role assignment. Выберите роль Contributor, назначьте ее для User, group, or service principal, найдите приложение по имени и нажмите Review + assign. Запишите имя группы ресурсов и Subscription ID, к которому она относится (найдите Subscriptions на портале).
2. Подключите ее здесь
Откройте раздел Интеграции в вашей панели управления и выберите Подключить учетную запись. Выберите Статический хостинг (Netlify, Vercel) в качестве группы и Azure Static Web Apps в качестве учетной записи, заполните поля Client ID, Client secret, Tenant ID, Subscription ID и Resource group, затем нажмите Подключить учетную запись.
Мы тестируем вставленные вами данные перед сохранением. Неработающий ключ никогда не сохраняется, а в ответе указывается, что именно с ним было не так. Работающий ключ хранится в зашифрованном виде в нашем хранилище секретов — ни в коем случае не в нашей базе данных — и больше никогда не отображается, даже вам.
Что происходит дальше
- При создании или перемещении статического сайта эта учетная запись появляется в качестве целевой платформы для
развертывания. Azure Static Web Apps выполняет сборку из репозитория — загрузить готовую сборку напрямую невозможно — поэтому код сайта должен поступать из подключенного репозитория GitHub, GitLab или Bitbucket. Сначала подключите один из них, если вы этого еще не сделали.
- Мы создаем службу в вашей учетной записи, привязываем ее к репозиторию, подключаем ваш собственный домен
и запускаем развертывания. На странице домена отображаются все DNS-записи, необходимые для Azure Static Web Apps.
- Использование и выставление счетов осуществляются в вашей учетной записи и отображаются в панели управления поставщика.
- Домен верхнего уровня (apex) подтверждается с помощью TXT-записи, а поддомен — с помощью CNAME; на странице домена
указано, какая именно запись требуется для вашего домена.
Если подключение не удается
Azure отклонил субъект-службу (service principal). Либо истек срок действия секрета клиента — они всегда истекают по прошествии выбранного вами срока, — либо у приложения больше нет роли Contributor для группы ресурсов. Эти два сообщения похожи, поэтому проверьте назначение ролей перед созданием нового секрета.
Ничего не найдено. Убедитесь, что Subscription ID и Resource group совпадают с теми, для которых вы назначили роль, а Tenant ID соответствует каталогу, в котором зарегистрировано приложение.
Сообщается, что ключ был отклонен. Почти всегда причина в одном из трех факторов: скопированный вместе с ним пробел или перенос строки, истекший срок действия ключа либо ключ, который был отозван или сгенерирован заново после копирования. Создайте новый ключ и вставьте его еще раз.
Подключение выполняется, но позже происходит сбой. Ключ проходит аутентификацию, но у него нет разрешения, необходимого для этого действия. Создайте новый ключ с указанными выше разрешениями, затем отключите старое соединение и подключите новый ключ.
Отключение
Откройте раздел Интеграции, найдите учетную запись и нажмите Отключить. Это действие сразу же удалит сохраненный ключ. Все процессы, которые его использовали, остановятся при следующем действии, а экраны, зависевшие от него, сообщат об этом вместо тихого сбоя.
Отключение не отменяет того, что уже было сделано: записи, развертывания или настройки, измененные нами в вашей учетной записи, останутся без изменений. Если вы считаете, что произошла утечка самого ключа, также отзовите его на стороне поставщика; отключение удаляет нашу копию, но не их.