Подключение LabEx к вашей учётной записи Cloudflare

CloudflareBeginner
Практиковаться сейчас

Введение

Перед началом этой работы и запуском её VM обязательно прочитайте Подготовка учебной учётной записи Cloudflare и подготовьте учётную запись в браузере. Для этой обязательной подготовки VM LabEx не нужна. Продолжайте, только когда адрес электронной почты подтверждён, вы можете выбрать собственную отдельную учебную учётную запись, её текущий тариф — Workers Free и в ней открывается Workers & Pages. Запомните название; LabEx Learning — рекомендуемый вариант. Если учётная запись уже готова, всё равно прочитайте руководство и проверьте эти условия.

Вы подготовили учебную учётную запись Cloudflare. Теперь подключите к ней среду Linux LabEx с помощью Wrangler — инструмента командной строки Cloudflare. Браузер подтверждает вашу личность, а Wrangler сохраняет авторизацию внутри этой виртуальной машины. Одного входа в Dashboard недостаточно для подключения терминала.

Используйте собственную учётную запись с подтверждённым адресом электронной почты и тарифом Workers Free, как описано в разделе Подготовка учебной учётной записи Cloudflare. Запомните её название; мы рекомендуем LabEx Learning. В этой лабораторной работе запрашивается доступ только для чтения к данным пользователя и учётной записи. Развёртывание приложений, домен и платные сервисы не требуются.

Лабораторная работа автоматически устанавливает Node.js 22.22.0 и Wrangler 4.131.1. Вы будете использовать стандартные команды Wrangler и его конфигурацию проекта — они также работают на вашем собственном компьютере. Вы самостоятельно авторизуете подключение, проверите результат и в конце выполните выход. Для каждой новой виртуальной машины требуется новая авторизация.

Авторизация Wrangler через браузер

На этом шаге вы авторизуете Wrangler в виртуальной машине LabEx с помощью собственной учётной записи Cloudflare.

Перед началом этой работы и запуском её VM обязательно прочитайте Подготовка учебной учётной записи Cloudflare и подготовьте учётную запись в браузере. Для этой обязательной подготовки VM LabEx не нужна. Продолжайте, только когда адрес электронной почты подтверждён, вы можете выбрать собственную отдельную учебную учётную запись, её текущий тариф — Workers Free и в ней открывается Workers & Pages. Запомните название; LabEx Learning — рекомендуемый вариант. Если учётная запись уже готова, всё равно прочитайте руководство и проверьте эти условия.

Откройте терминал LabEx и перейдите в подготовленный каталог проекта. Команда cd изменяет текущий рабочий каталог; последующие команды будут выполняться в нём.

cd /home/labex/project/cloudflare-connect

Wrangler установлен локально в этом проекте как зависимость для разработки. Команда npx wrangler запускает именно эту установленную версию. Node.js и зависимости проекта уже установлены, поэтому повторно устанавливать их не нужно. Проверьте версию:

npx wrangler --version

Ожидается версия 4.131.1. В файле package.json закреплена именно эта версия, а package-lock.json содержит зафиксированные версии разрешённых зависимостей. На собственном компьютере после установки Node.js вы можете добавить Wrangler в проект командой npm install --save-dev --save-exact wrangler@4.131.1. Это пояснение, а не дополнительная команда для запуска в подготовленной лабораторной среде. При воспроизведении существующего проекта с добавленным в репозиторий lock-файлом используйте npm ci.

Локальная установка проекта позволяет использовать независимую версию инструмента в каждом проекте. См. рекомендации Cloudflare по установке.

Теперь запустите авторизацию устройства. Параметр --device связывает подтверждение в браузере с этим удалённым терминалом без обратного вызова на localhost. Параметр --browser=false не позволяет Wrangler пытаться открыть браузер внутри виртуальной машины. Две области доступа запрашивают доступ для чтения к учётной записи и данным пользователя. Cloudflare также включает обязательную область Background Access, чтобы Wrangler мог сохранять авторизацию. Разрешение на запись в Worker не запрашивается.

npx wrangler login --device --browser=false --scopes account:read user:read

Wrangler выведет URL для подтверждения и короткий код. Не завершайте выполнение этой команды. Откройте показанный URL Cloudflare в собственном браузере, введите код из текущего терминала и продолжите. Если код уже включён в URL, сравните его с кодом в терминале. Не используйте код со снимка экрана или из сеанса другого пользователя.

Форма авторизации устройства Cloudflare с пустым полем для кода

Скопируйте код непосредственно из терминала, чтобы не перепутать похожие символы. Нажмите Continue. Если Cloudflare не может проверить код, проверьте символы и убедитесь, что текущая команда входа всё ещё ожидает подтверждения.

При необходимости войдите в систему. На странице согласия убедитесь, что приложением является Wrangler, просмотрите запрошенные разрешения и выберите только свою учебную учётную запись, если предлагается выбрать учётную запись. На странице согласия область Account Read находится в группе Account & Billing; раскройте эту группу, чтобы просмотреть её содержимое. Области User Read и Background Access отображаются в разделе Required.

Разрешения согласия Wrangler: User Read, Background Access и Account Read

Проверьте название учётной записи рядом с пунктом Edit. Если это не ваша учебная учётная запись, нажмите Edit, выберите нужную учётную запись и вернитесь к странице согласия. На расположенном ниже обрезанном снимке экрана показаны выбранная учётная запись и кнопка Authorize; в полной версии страницы над этой областью отображается ваша личность для входа.

Выбранная учётная запись LabEx Learning с элементами Edit и Authorize

Просмотрите отображаемую информацию о конфиденциальности, а затем после проверки этих сведений нажмите Authorize. Вернитесь в терминал и дождитесь сообщения Successfully logged in., прежде чем продолжить. Подтверждение в браузере и завершение работы в терминале — отдельные этапы проверки.

Cloudflare подтверждает предоставление авторизации Wrangler

На странице успешного завершения приведены общие рекомендации по разработке. Устанавливать инструменты для агентов или копировать предложенную команду не нужно. Общее сообщение о развёртывании не расширяет разрешения на чтение, используемые в этой лабораторной работе.

Код действителен недолго. Если срок его действия истёк или вы отклонили запрос, дождитесь завершения команды либо нажмите Ctrl+C, а затем снова выполните ту же команду, чтобы получить новый код. Если вы случайно запустили обычный вход и увидели недоступную страницу localhost, остановите эту команду и используйте приведённую выше команду авторизации устройства.

Проверьте сохранённый вход с помощью самого Wrangler:

npx wrangler whoami --json

Найдите "loggedIn": true, "authType": "OAuth Token" и массив accounts, содержащий вашу учебную учётную запись. Каждый объект учётной записи содержит поля name и id. Флаг --json возвращает структурированные данные вместо удобочитаемого отчёта; разбираться в остальных настройках учётной записи не требуется. Одной страницы успешного подтверждения в браузере недостаточно, если виртуальная машина не получила авторизацию. Если Wrangler сообщает, что вы не авторизованы, повторите авторизацию устройства.

Нажмите кнопку проверки этого шага. LabEx независимо проверит, что сохранённый OAuth-вход этой виртуальной машины может читать доступные учётные записи.

Wrangler хранит учётные данные в пользовательской конфигурации виртуальной машины. Не выводите и не копируйте файлы с учётными данными и не запускайте команды, отображающие токены. Описание процесса авторизации устройства приведено в официальной документации Wrangler по входу.

Выбор и проверка учебной учётной записи

На этом шаге вы определите свою учебную учётную запись и сохраните её идентификатор в стандартной конфигурации проекта Wrangler.

Один вход может предоставлять доступ к нескольким учётным записям. Выполните ту же команду идентификации, чтобы увидеть их названия и идентификаторы в массиве accounts:

npx wrangler whoami --json

Найдите объект, поле name которого соответствует вашей учебной учётной записи. Если отображается только одна учётная запись, всё равно проверьте её название. Если отображается несколько учётных записей, используйте переключатель учётных записей в Dashboard, чтобы подтвердить, какая из них является учебной. Не выбирайте учётную запись только потому, что она отображается первой. Если нужная учётная запись отсутствует, повторите авторизацию и выберите её в браузере.

Скопируйте 32-символьный id из объекта этой учётной записи. Название учётной записи — это отображаемая метка, а идентификатор указывает на фактическую учётную запись. Параметр account_id в Wrangler явно задаёт целевую учётную запись проекта, в том числе когда ваш вход предоставляет доступ к нескольким учётным записям.

Создайте файл wrangler.jsonc. Перед запуском блока замените YOUR_ACCOUNT_ID ниже на только что скопированный идентификатор. Кавычки сохраняйте. Here-документ записывает в файл всё содержимое между разделителями CONFIG; оператор > заменяет существующее содержимое файла.

cat > wrangler.jsonc <<'CONFIG'
{
  "account_id": "YOUR_ACCOUNT_ID"
}
CONFIG

Проверьте сохранённую конфигурацию:

cat wrangler.jsonc

Убедитесь, что значение account_id совпадает с объектом учебной учётной записи в выводе whoami --json, а заполнитель отсутствует. Этот файл содержит идентификатор, а не пароль или OAuth-токен. JSON без комментариев является допустимым JSONC; в этой лабораторной работе используйте показанный формат. В следующих лабораторных работах в этот же стандартный файл конфигурации будут добавлены параметры Worker. См. раздел Конфигурация Wrangler.

Нажмите кнопку проверки этого шага до выхода из системы. Серверная часть прочитает вашу конфигурацию и выполнит аутентифицированный запрос к учётной записи только для чтения. Она проверит, что Cloudflare подтверждает доступ именно к этой учётной записи; одного сохранённого файла недостаточно. При ошибке проверьте скопированный идентификатор, авторизацию и подключение. Дополнительную команду в терминале выполнять не нужно.

Эта проверка подтверждает доступ для чтения учётной записи. В следующих лабораторных работах для развёртывания будут запрошены дополнительные разрешения.

Отключение этой виртуальной машины

На этом шаге вы удалите вход Wrangler из этой виртуальной машины и проверите, что аутентификация больше не действует.

Сначала завершите проверку предыдущего шага. Выход из системы удаляет авторизацию, необходимую для выполняемой сервером проверки API. В этой лабораторной работе облачные ресурсы не создавались, поэтому удалять приложения или учётные записи не нужно.

Выполните команду выхода Wrangler:

npx wrangler logout

Затем подтвердите явное состояние без аутентификации:

npx wrangler whoami --json

Найдите "loggedIn": false в структурированном выводе. В этой версии Wrangler команда также завершается с ненулевым кодом после выхода; в данном случае это ожидаемое поведение. Одна только ошибка сети без этого явного состояния не подтверждает выход. Нажмите кнопку проверки шага, чтобы независимо подтвердить результат.

Также можно просмотреть разрешение приложения в Dashboard: My Profile → Access Management → Connected Applications. Ссылка на этот раздел есть на странице согласия. Здесь Cloudflare позволяет управлять доступом приложения или отзывать его. Отзывайте только то разрешение, которое действительно хотите удалить: та же программа может использоваться в другой среде.

Выход из Wrangler не удаляет вашу учебную учётную запись Cloudflare и не выполняет выход из Dashboard в браузере. Сохраните эту учётную запись для следующих уроков. Файл wrangler.jsonc содержит идентификатор, а не учётные данные, но сам по себе не авторизует новую виртуальную машину. Следующая лабораторная работа начнётся в новой среде и будет содержать собственные шаги подключения.

Если после этого вы повторно запустите проверку предыдущего шага, ошибка аутентификации будет ожидаемой. Повторно авторизуйтесь только в том случае, если хотите пройти упражнение ещё раз, и после завершения снова выполните выход.

Итоги

Вы авторизовали удалённую виртуальную машину LabEx с помощью процесса авторизации устройства Cloudflare, выбрали собственную учебную учётную запись и проверили доступ к учётной записи через независимый процесс. Затем вы вышли из Wrangler и проверили его явное состояние без аутентификации.

Ваша учебная учётная запись по-прежнему доступна для курса. Вход в браузере, авторизация виртуальной машины и выбранная учётная запись — отдельные части подключения. При запуске новой среды проверяйте все три компонента.