INTEGRITY Документация

Профили аутентификации

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

Используйте профили, чтобы переключаться между аккаунтами для разных проектов без повторного запуска wrangler login. Профили хранятся в wrangler auth.

Когда использовать профили

Используйте профили, если вы работаете с несколькими аккаунтами Cloudflare на одном компьютере:

Как работают профили

Профиль объединяет два компонента:

Порядок разрешения

Для каждой команды Wrangler выбирает профиль в следующем порядке, начиная с наивысшего приоритета:

  1. CLOUDFLARE_API_TOKEN переменная окружения. Если она задана, она переопределяет все профили.
  2. --profile флаг, который применяется только к одному запуску команды.
  3. Ближайший активированный родительский каталог. Wrangler определяет его от каталога, содержащего файл конфигурации, если вы указали --config, в противном случае из рабочего каталога.
  4. Профиль по умолчанию, которым управляет wrangler login и wrangler logout.

Выбор аккаунта

В рамках определенного профиля Wrangler выбирает целевой аккаунт в следующем порядке:

  1. account_id в вашем конфигурационный файл Wrangler, или CLOUDFLARE_ACCOUNT_ID переменную окружения.
  2. В противном случае используется учетная запись, выбранная для профиля при входе в систему.

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

Создайте профиль

Запустите wrangler auth create с именем. Wrangler запускает процесс OAuth, в котором вы выбираете, к каким аккаунтам будет иметь доступ этот профиль.

wrangler auth create work

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

Активация профиля в каталоге

Запустите wrangler auth activate чтобы привязать профиль к каталогу. Привязка применяется к этому каталогу и его подкаталогам. По умолчанию используется текущий рабочий каталог.

wrangler auth activate work ~/projects/work

Поддиректория может переопределить профиль, привязанный выше по дереву, активировав другой профиль.

Работа сразу с несколькими аккаунтами клиентов

В этом примере для агентской работы настраивается отдельный профиль на каждого клиента.

  1. Создайте профиль для первого клиента. Во время OAuth-авторизации выберите аккаунты, к которым сможет обращаться этот профиль.

    wrangler auth create client-a
  2. Привяжите профиль к каталогу проекта клиента.

    wrangler auth activate client-a ~/clients/client-a
  3. Повторите для второго клиента.

    wrangler auth create client-b
    wrangler auth activate client-b ~/clients/client-b

Команды выполняются в ~/clients/client-a теперь используют client-a профиле, а команды в ~/clients/client-b используйте client-b профиль. Для переключения между ними повторный вход не требуется.

Отдельные аккаунты для тестового и боевого окружений

Если staging и production находятся в разных аккаунтах, привяжите профиль к каталогу каждого окружения и закрепите аккаунт в конфигурации каждого проекта. account_id служит защитой от ошибок: команда не сможет развернуть проект не в тот аккаунт, даже если профиль имеет доступ к обоим.

  1. Создайте и активируйте профиль для каждого окружения.

    wrangler auth create staging
    wrangler auth activate staging ~/projects/staging
    
    wrangler auth create production
    wrangler auth activate production ~/projects/production
  2. Установите соответствующий account_id в рамках каждого проекта, в конфигурационный файл Wrangler.

    {
      "$schema": "./node_modules/wrangler/config-schema.json",
      "name": "my-worker",
      "account_id": "<PRODUCTION_ACCOUNT_ID>"
    }
    name = "my-worker"
    account_id = "<PRODUCTION_ACCOUNT_ID>"

Переключение профилей для отдельной команды

Используйте --profile флаг для запуска одной команды с определённым профилем без изменения привязки каталога.

wrangler deploy --profile staging

--profile флаг не поддерживается auth, login, logout, а также whoami команды.

Список профилей

Запустите wrangler auth list чтобы увидеть все профили и связанные с ними каталоги.

wrangler auth list

Удаление привязки или профиля

Чтобы отключить использование профиля для каталога, выполните wrangler auth deactivate в этом каталоге. Каталог возвращается к профилю, привязанному выше него, либо к профилю по умолчанию.

wrangler auth deactivate ~/projects/staging

Чтобы удалить профиль и все связанные с ним привязки к каталогам, выполните wrangler auth delete.

wrangler auth delete staging

Профили и переменные окружения

Профили удобны только для локальной машины. Они не применяются в CI, контейнерах и других автоматизированных средах, которые аутентифицируются для каждой среды с помощью CLOUDFLARE_API_TOKEN. Дополнительную информацию см. в Запуск Wrangler в CI/CD.

При наличии переменных окружения применяются два правила: